diff --git a/drivers/net/plip/plip.c b/drivers/net/plip/plip.c index 7b4ff35c8bf7..040b8978d6ca 100644 --- a/drivers/net/plip/plip.c +++ b/drivers/net/plip/plip.c @@ -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;