diff options
Diffstat (limited to 'net/ethernet')
-rw-r--r-- | net/ethernet/eth.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ethernet/eth.c b/net/ethernet/eth.c index a87a171d9914..280352aba403 100644 --- a/net/ethernet/eth.c +++ b/net/ethernet/eth.c | |||
@@ -165,8 +165,8 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev) | |||
165 | skb_pull(skb, ETH_HLEN); | 165 | skb_pull(skb, ETH_HLEN); |
166 | eth = eth_hdr(skb); | 166 | eth = eth_hdr(skb); |
167 | 167 | ||
168 | if (is_multicast_ether_addr(eth->h_dest)) { | 168 | if (unlikely(is_multicast_ether_addr(eth->h_dest))) { |
169 | if (!compare_ether_addr(eth->h_dest, dev->broadcast)) | 169 | if (!compare_ether_addr_64bits(eth->h_dest, dev->broadcast)) |
170 | skb->pkt_type = PACKET_BROADCAST; | 170 | skb->pkt_type = PACKET_BROADCAST; |
171 | else | 171 | else |
172 | skb->pkt_type = PACKET_MULTICAST; | 172 | skb->pkt_type = PACKET_MULTICAST; |
@@ -181,7 +181,7 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev) | |||
181 | */ | 181 | */ |
182 | 182 | ||
183 | else if (1 /*dev->flags&IFF_PROMISC */ ) { | 183 | else if (1 /*dev->flags&IFF_PROMISC */ ) { |
184 | if (unlikely(compare_ether_addr(eth->h_dest, dev->dev_addr))) | 184 | if (unlikely(compare_ether_addr_64bits(eth->h_dest, dev->dev_addr))) |
185 | skb->pkt_type = PACKET_OTHERHOST; | 185 | skb->pkt_type = PACKET_OTHERHOST; |
186 | } | 186 | } |
187 | 187 | ||