if_bridge - Fix issue where source MAC is not recorded.
authorMatthew Dillon <dillon@apollo.backplane.com>
Tue, 3 Feb 2015 03:28:32 +0000 (19:28 -0800)
committerMatthew Dillon <dillon@apollo.backplane.com>
Tue, 3 Feb 2015 03:28:32 +0000 (19:28 -0800)
commit4a3d58b6309552d8def21d966f44d62ac05951e4
tree386037b74735134a154d86579c1db76ac39217b8
parent2d4b050065408a003abd53a9dfbd5f5a4a6879af
if_bridge - Fix issue where source MAC is not recorded.

* The bridge has to record which interface the source MAC came from
  so transmissions back to that MAC can be unicast.  Otherwise transmissions
  will be broadcast to all bridge elements.

  The receive packet path case where a packet is sent to the bridge's own
  MAC address (terminating on the bridge host) from one of the member
  interfaces was not recording the MAC, resulting in duplicate packets
  (most obvious when testing with 'ping').

* Fix the code path in question so the MAC is properly recorded.
sys/net/bridge/if_bridge.c