diff options
author | Aji, Srinivas <Aji_Srinivas@emc.com> | 2007-05-10 16:35:41 -0700 |
---|---|---|
committer | Stephen Hemminger <shemminger@linux-foundation.org> | 2007-05-10 19:34:28 -0700 |
commit | 905a800c74efa1963e89422cccdad9cca3e2b4ff (patch) | |
tree | 7dad179812982b2030314a9583dca586350893de | |
parent | 358260ffcc3985847f73f0882a09406f6d388dd9 (diff) | |
download | rstp-905a800c74efa1963e89422cccdad9cca3e2b4ff.tar.gz |
RSTP testing - PATCH: source MAC address of BPDU
BPDU's were being sent out with an all zero source ethernet
address. These packets don't make it far in the receive path on
another bridge since bridge_handle_frame() checks for valid source
ethernet address and drops them if that isn't the case.
I needed to undo a change I made in rstplib/transmit.c, where I was
not setting source MAC address because the LLC layer was doing it.
TODO: We get notified when a port MAC address changes, so we should
cache it. Right now it uses SIOCGIFHWADDR each time (for each BPDU
sent) using a cached name, which is not good.
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
-rw-r--r-- | rstplib/transmit.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/rstplib/transmit.c b/rstplib/transmit.c index 9f0aeaf..bbf0ff0 100644 --- a/rstplib/transmit.c +++ b/rstplib/transmit.c @@ -99,11 +99,7 @@ build_bpdu_header (int port_index, { unsigned short len8023; -#ifdef ORIG STP_OUT_get_port_mac (port_index, bpdu_packet.mac.src_mac); -#else - /* Don't bother. LLC trasmits with correct source MAC, we don't supply it */ -#endif bpdu_packet.hdr.bpdu_type = bpdu_type; bpdu_packet.hdr.version = (BPDU_RSTP == bpdu_type) ? |