[Bridge] [PATCH] BRIDGE: Fix faulty check in br_stp_recalculate_bridge_id()

Stephen Hemminger shemminger at osdl.org
Tue Jan 3 10:41:57 PST 2006


One of the conversions from memcmp to compare_ether_addr is incorrect.
We need to do relative comparison to determine min MAC address to
use in bridge id. 

Signed-off-by: Stephen Hemminger <shemminger at osdl.org>

--- linux-2.6.15.orig/net/bridge/br_stp_if.c
+++ linux-2.6.15/net/bridge/br_stp_if.c
@@ -158,7 +158,7 @@ void br_stp_recalculate_bridge_id(struct
 
 	list_for_each_entry(p, &br->port_list, list) {
 		if (addr == br_mac_zero ||
-		    compare_ether_addr(p->dev->dev_addr, addr) < 0)
+		    memcmp(p->dev->dev_addr, addr, ETH_ALEN) < 0)
 			addr = p->dev->dev_addr;
 
 	}



More information about the Bridge mailing list