From be14cc98e9fd5416cc8f86799913fd3c52dc720e Mon Sep 17 00:00:00 2001 From: dingtianhong Date: Fri, 7 Mar 2014 18:45:31 +0800 Subject: [PATCH] vlan: use use ether_addr_equal_64bits to instead of ether_addr_equal Ether_addr_equal_64bits is more efficient than ether_addr_equal, and can be used when each argument is an array within a structure that contains at least two bytes of data beyond the array, so it is safe to use it for vlan, and make sense for fast path. Cc: Joe Perches Cc: Patrick McHardy Cc: David S. Miller Signed-off-by: Ding Tianhong Signed-off-by: David S. Miller --- net/8021q/vlan_core.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c index 97815ec69161..35b3c192d7b9 100644 --- a/net/8021q/vlan_core.c +++ b/net/8021q/vlan_core.c @@ -26,7 +26,7 @@ bool vlan_do_receive(struct sk_buff **skbp) /* Our lower layer thinks this is not local, let's make sure. * This allows the VLAN to have a different MAC than the * underlying device, and still route correctly. */ - if (ether_addr_equal(eth_hdr(skb)->h_dest, vlan_dev->dev_addr)) + if (ether_addr_equal_64bits(eth_hdr(skb)->h_dest, vlan_dev->dev_addr)) skb->pkt_type = PACKET_HOST; }