net: plip: slight optimization of addr compare
authordingtianhong <dingtianhong@huawei.com>
Mon, 30 Dec 2013 07:41:33 +0000 (15:41 +0800)
committerDavid S. Miller <davem@davemloft.net>
Tue, 31 Dec 2013 21:48:33 +0000 (16:48 -0500)
Use possibly more efficient ether_addr_equal_64bits
to instead of memcmp.

Cc: "David S. Miller" <davem@davemloft.net>
Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Ding Tianhong <dingtianhong@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/plip/plip.c

index 7b4ff35c8bf7dcb28b455fb3a578eacddb298900..040b8978d6cac54812e8f253a23f498340bc2acd 100644 (file)
@@ -547,9 +547,9 @@ static __be16 plip_type_trans(struct sk_buff *skb, struct net_device *dev)
        skb_pull(skb,dev->hard_header_len);
        eth = eth_hdr(skb);
 
-       if(*eth->h_dest&1)
+       if(is_multicast_ether_addr(eth->h_dest))
        {
-               if(memcmp(eth->h_dest,dev->broadcast, ETH_ALEN)==0)
+               if(ether_addr_equal_64bits(eth->h_dest, dev->broadcast))
                        skb->pkt_type=PACKET_BROADCAST;
                else
                        skb->pkt_type=PACKET_MULTICAST;