[Bridge] Bridge forwards ARP packets but not forwards IP datagrams

Stephen Hemminger stephen at networkplumber.org
Sun Jan 1 18:22:22 UTC 2017

On Sun, 1 Jan 2017 18:37:49 +0300
Cihangir Akturk <cakturk at gmail.com> wrote:

> Now the problem I am experiencing is that br0 bridge forwards ARP
> packets but not IP datagrams when they are sent from the host box.
> When I say "host box", I mean the machine on which my test VM runs.
> It seems that ARP packets are forwarded no matter which host (host
> or guest box) they come from. But when it comes to IP datagrams,
> they are forwarded to tap0 as expected if I send them from the same
> host as tap0 interface (guest VM). If I send them from the host
> box (I mean the computer on which my VM runs), IP datagrams reach
> br0 bridge, but somehow they are not forwarded to tap0 interface,
> I can see this with tcpdump.
> I know the bridging functionality is independent of layer 3
> protocols, and it should forward packets according to their layer
> 2 addresses, in this case their mac addresses.

Short answer. It looks like you put an IP address on one of the devices
enslaved into the bridge.  Because of how the kernel L3 stack works you need
to only put IP addresses on the bridge device and not the underlying Ethernet
device. The only exception is if you are doing tricky things with brouting
in iptables.

More information about the Bridge mailing list