kernel - Major bridging functionality added (bug fixes 3)
authorMatthew Dillon <dillon@apollo.backplane.com>
Wed, 23 Mar 2011 16:36:33 +0000 (09:36 -0700)
committerMatthew Dillon <dillon@apollo.backplane.com>
Wed, 23 Mar 2011 16:36:33 +0000 (09:36 -0700)
commit5c76f1ffcfa4f010040b208acf0b95d0d567c39b
treeeed0d2e63022e26631c3b59ab2768551611211a7
parenteab22b0b9e4f3d610dd0d857e9805db77caee017
kernel - Major bridging functionality added (bug fixes 3)

* When forwarding packets we do not retransmit the packet out the same
  interface it came in on, but this check was not taking into account
  bonding sets and could bounce a packet out a different interface on the
  same bonding set the packet came in on.

  This could result in loops for things like ARP broadcasts and cause
  intermediate ethernet switches to get confused as to which port a
  particular MAC is on.

* Change src_if == dst_if checks to compare MAC addresses instead, which
  solves the problem.
sys/net/bridge/if_bridge.c