Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[BRIDGE]: Use ether_compare

Use compare_ether_addr in bridge code.

Signed-off-by: Stephen Hemminger <shemminger@osdl.org>
Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com>

authored by

Stephen Hemminger and committed by
Arnaldo Carvalho de Melo
6ede2463 581c1b14

+12 -11
+6 -6
net/bridge/br_fdb.c
··· 86 86 struct net_bridge_port *op; 87 87 list_for_each_entry(op, &br->port_list, list) { 88 88 if (op != p && 89 - !memcmp(op->dev->dev_addr, 90 - f->addr.addr, ETH_ALEN)) { 89 + !compare_ether_addr(op->dev->dev_addr, 90 + f->addr.addr)) { 91 91 f->dst = op; 92 92 goto insert; 93 93 } ··· 151 151 struct net_bridge_port *op; 152 152 list_for_each_entry(op, &br->port_list, list) { 153 153 if (op != p && 154 - !memcmp(op->dev->dev_addr, 155 - f->addr.addr, ETH_ALEN)) { 154 + !compare_ether_addr(op->dev->dev_addr, 155 + f->addr.addr)) { 156 156 f->dst = op; 157 157 goto skip_delete; 158 158 } ··· 174 174 struct net_bridge_fdb_entry *fdb; 175 175 176 176 hlist_for_each_entry_rcu(fdb, h, &br->hash[br_mac_hash(addr)], hlist) { 177 - if (!memcmp(fdb->addr.addr, addr, ETH_ALEN)) { 177 + if (!compare_ether_addr(fdb->addr.addr, addr)) { 178 178 if (unlikely(has_expired(br, fdb))) 179 179 break; 180 180 return fdb; ··· 264 264 struct net_bridge_fdb_entry *fdb; 265 265 266 266 hlist_for_each_entry_rcu(fdb, h, head, hlist) { 267 - if (!memcmp(fdb->addr.addr, addr, ETH_ALEN)) 267 + if (!compare_ether_addr(fdb->addr.addr, addr)) 268 268 return fdb; 269 269 } 270 270 return NULL;
+1 -1
net/bridge/br_input.c
··· 128 128 dest = eth_hdr(skb)->h_dest; 129 129 } 130 130 131 - if (!memcmp(p->br->dev->dev_addr, dest, ETH_ALEN)) 131 + if (!compare_ether_addr(p->br->dev->dev_addr, dest)) 132 132 skb->pkt_type = PACKET_HOST; 133 133 134 134 NF_HOOK(PF_BRIDGE, NF_BR_PRE_ROUTING, skb, skb->dev, NULL,
+5 -4
net/bridge/br_stp_if.c
··· 15 15 16 16 #include <linux/kernel.h> 17 17 #include <linux/smp_lock.h> 18 + #include <linux/etherdevice.h> 18 19 19 20 #include "br_private.h" 20 21 #include "br_private_stp.h" ··· 134 133 memcpy(br->dev->dev_addr, addr, ETH_ALEN); 135 134 136 135 list_for_each_entry(p, &br->port_list, list) { 137 - if (!memcmp(p->designated_bridge.addr, oldaddr, ETH_ALEN)) 136 + if (!compare_ether_addr(p->designated_bridge.addr, oldaddr)) 138 137 memcpy(p->designated_bridge.addr, addr, ETH_ALEN); 139 138 140 - if (!memcmp(p->designated_root.addr, oldaddr, ETH_ALEN)) 139 + if (!compare_ether_addr(p->designated_root.addr, oldaddr)) 141 140 memcpy(p->designated_root.addr, addr, ETH_ALEN); 142 141 143 142 } ··· 158 157 159 158 list_for_each_entry(p, &br->port_list, list) { 160 159 if (addr == br_mac_zero || 161 - memcmp(p->dev->dev_addr, addr, ETH_ALEN) < 0) 160 + compare_ether_addr(p->dev->dev_addr, addr) < 0) 162 161 addr = p->dev->dev_addr; 163 162 164 163 } 165 164 166 - if (memcmp(br->bridge_id.addr, addr, ETH_ALEN)) 165 + if (compare_ether_addr(br->bridge_id.addr, addr)) 167 166 br_stp_change_bridge_id(br, addr); 168 167 } 169 168