Subject: ipf on bridge
To: None <current-users@netbsd.org>
From: None <ChristophEgger@gmx.net>
List: current-users
Date: 09/17/2003 17:42:50
This is a MIME encapsulated multipart message -
please use a MIME-compliant e-mail program to open it.

Dies ist eine mehrteilige Nachricht im MIME-Format -
bitte verwenden Sie zum Lesen ein MIME-konformes Mailprogramm.

--========GMXBoundary236191063813370
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 8bit


Hi!

I have backported the ipf on bridge feature from netbsd-current to
netbsd-1-6.
The attached patches applies cleanly against netbsd-1-6 from today (as of
this writing).

On a note:

filter rules must be bounded on the network interfaces (i.e. ne2, ne3) like
this:

block in log on ne2 to ne3 all
block in log on ne3 to ne2 all

Filter rules bounded on bridge0 like this

block in log on bridge0 all

does NOT work! Packets go through as they were allowed
(On ipfstat the passed and unmatched counters increases).
I don't know, if this bug is also reproduceable in -current.

Oh, btw: the brconfig patch compiles _after_ the patched if_bridgevar.h file
has been copied to /usr/include/net/, not before.


Does my patches look good? Note, it's the first time in my life, that I
"operated"
in kernel space. I am a userspace guy.

Is there a chance that one of the NetBSD gods (= those with CVS write
access)
commit my patches into the netbsd-1-6 branch ?

-- 
CU,

Christoph Egger

+++ GMX - die erste Adresse für Mail, Message, More! +++

Getestet von Stiftung Warentest: GMX FreeMail (GUT), GMX ProMail (GUT)
(Heft 9/03 - 23 e-mail-Tarife: 6 gut, 12 befriedigend, 5 ausreichend)

Jetzt selbst kostenlos testen: http://www.gmx.net
--========GMXBoundary236191063813370
Content-Type: application/x-gzip; name="brconfig_ipf-1-6.diff.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="brconfig_ipf-1-6.diff.gz"

H4sICIBXaD8CA2JyY29uZmlnX2lwZi0xLTYuZGlmZgClVNtu4kgQfba/omSJCEIbX0hIICETzSUj
pOzsKpnZl9mRZew2tMbYqG0IsyH77VvVtrmHh0kLuenqup46Xe9gKIM0icTIE9PIdMxOKxRRpA+S
kC96q8tWoPffvvSHD48QiZj3wArmmUzT3MpkYGVDkVhVKGsdk811yXMp+FwkI5C4ZSJNwGk5Lbfl
6JQomDMwZSnZTNc0zY2j5tp227I7VtsGu91z8NfVKj/NZnNftWs5F+C4vbNO78zWb2/BvLxkHWji
9wJub3WYpyLUgknoiWjq5+MgzfI6+shyyHI5C3II0snET0I4ZSCSnEFxGYx9SaJiP21cbXjKxYSn
sze7yfLp77lormuaRr+ZhQ4H7crdy/1hzL//gD4866A9g+GHocE0zWGajRvFRgm8MAW54zqEueO6
rKtAJwssb8cCJWShbs319Yc/PnqDL39/evjKttT0JpQL9bFSg8HOstn2Xq0SGvKy6cM85KSy3chi
z4dK+cu3+3tMmKqhguio0nwhNAkF99wmFNzzs5J6mmZcD6UIR/wGQh4jYBKu6cuz7MZg2wpRPMvG
B4V+HKO8uSnHxJZFNTtRRBakcy6XZvUPrpEHXEZ+wPdCxtyXydJU2zE9bMiS+rWjQzW3O+q1tS/a
Zc3ZOH3yijdaR23I0uDnNg0Lr9uyqeSRWDR0xbaSkiIayqkv/QmoL9Jem3nosu16OQEQxf4oQ+wL
qdNB6VSKleASz2N8AVHIYOJXPWpfdlW+3XPmdFTCqI9mSR7VjVqG/1Ip8l9Qm8GYx3FKT50O0VNI
HVQXE3/hj0j6T6KQIrYUBTDKgG2EpceKeYsI6mHqIaXqBR4VBu8fPn7+fDe4R86dqCoZZOJfnkZ1
dWowsBtwTZ9nIoB1ClzKusPAmCX0QiFPYcQVHCLG1mCr/HyWGY0rOLXIQrlpKSi9UqUPNmH5UmRW
4ojSfVVSW2OzilHLoLCxF7UFYVBVTwHrK48nMLh7f+dRdd63x0+Dv+4a8A4MrhIPDeiBgSQtDsq0
sqTx9EKNoTFXjHTHZmc4090Oc7pV146C+vj1z1chdQpIieMVmlhSLcNC0Jl5Qy//J//1lErsoS9H
8+/2D2qkQkzl1Dw+e/FWjd/XyV+MpXIcU4iG3nxez6pXX8Ba5e2UIsjX9R8ovrEV8ACTTvrw326P
r45aLPtQX4WpaLKevEQQG4lxxOnxrh+t2zlUN9QWB/u+n3xBy/8B12ihlokJAAA=

--========GMXBoundary236191063813370
Content-Type: application/x-gzip; name="bridge_ipf-1-6.diff.gz"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="bridge_ipf-1-6.diff.gz"

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
AA==

--========GMXBoundary236191063813370--