|
@@ -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;
|