On Fri, 8 May 2009 19:08:06 -0600
Daniel Robbins <drobb...@funtoo.org> wrote:

> Your code in 2.6.27 works perfectly.
> 
> Let me tell you what I was doing wrong, and if you could tell me why
> it didn't work, I'd really appreciate it :) (Might also be a good
> addition to the Net:Bridge FAQ):
> 
> # brctl addbr br0
> # brctl addif br0 eth0
> # ifconfig br0 10.0.1.220 netmask 255.255.255.0
> # brctl addif br0 veth100.0
> # brctl addif br0 veth102.0
> 
> Now, the zinger:
> 
> # ifconfig br0 hw ether "12:34:56:78:90:ab"
> 
> ^^ By using a unique MAC address, this command totally disables my
> bridge, and the machine can no longer send or receive data.
> 
> If I use a MAC that is already in use by my bridge's sub-interfaces,
> however, (ie. from eth0, veth100.0 or veth102.0) then there's no
> problem, and everything works, and the MAC address is sticky as it
> should be.
> 
> So this was the mistake I was making - I was using a user-generated
> MAC for my testing rather than choosing a MAC from one of the bridge's
> interfaces.
> 
> So, my question is: why doesn't a user-generated MAC work? On the
> surface, it seems like all devices on the same LAN should have
> different MAC addresses. Yet, with Linux bridging, it appears that (at
> least in certain conditions, like if there is an IP assigned to the
> bridge,) then the bridge *must* share a MAC with one of its
> sub-interfaces in order to function properly. This is very
> counter-intuitive and a mystery to me and probably quite a few other
> bridging newbies (which is why an explanation would make a great
> addition to the Net:Bridge FAQ :)

The problem is that the bridge only thinks a packet is "local" if
it arrives with destination hw addr == incoming device address.
_______________________________________________
Bridge mailing list
Bridge@lists.linux-foundation.org
https://lists.linux-foundation.org/mailman/listinfo/bridge

Reply via email to