CFR: bridge locking

Lars Eggert larse at ISI.EDU
Wed Aug 20 10:29:37 PDT 2003


Sam Leffler wrote:

> http://www.freebsd.org/~sam/bridge.patch
> 
> This patch adds locking and also overhauls the bridge code some to do 
> things like replace explicit numbers with #defines and cleanup the 
> debugging code.

This is only mildly related, but maybe someone feels like looking at 
this in addition to your locking changes...

I have a PR about the bridge code sitting at 
http://www.freebsd.org/cgi/query-pr.cgi?pr=kern/41632; the latest patch 
is at http://www.isi.edu/larse/software/bridge.patch

It does two things:

1. Disables bridging for IPv6. This is probably too aggressive,
    since bridging is only problematic for link-local packets, but it
    makes a routed IPv6 configuration coexist with a bridged IPv4 one.

    A much better fix would be an overhaul of the bridge code so that
    each bridge has a single link-local address, instead of one per
    physical interface. (Similar to how it should/must only have one IPv4
    address, but link-locals are auto-assigned.) Essentially, make
    a bridge set its own pseudo interface.

2. It forwards a copy of bridged packets to bpfs attached to interfaces
    in the bridge set that have no carrier. This makes dhcpd work on an
    interface of a bridge set that is unplugged.

    Again, a much better fix would be to have bridge sets show up as
    pseudo interfaces that dhcpd's bpf can then listen on.

I think you mentioned in the past that NetBSD (OpenBSD?) has bridge code 
that implements the pseudo-device approach?

Lars

PS: I needed both these changes for our Soekris-based "rent-a-subnet" 
box: http://www.isi.edu/tethernet/
-- 
Lars Eggert <larse at isi.edu>           USC Information Sciences Institute
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 3529 bytes
Desc: S/MIME Cryptographic Signature
Url : http://lists.freebsd.org/pipermail/freebsd-arch/attachments/20030820/5ecbba1c/smime.bin


More information about the freebsd-arch mailing list