|
@@ -179,12 +179,13 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev)
|
|
|
* variants has been configured on the receiving interface,
|
|
|
* and if so, set skb->protocol without looking at the packet.
|
|
|
*/
|
|
|
- if (netdev_uses_dsa_tags(dev))
|
|
|
+ if (unlikely(netdev_uses_dsa_tags(dev)))
|
|
|
return htons(ETH_P_DSA);
|
|
|
- if (netdev_uses_trailer_tags(dev))
|
|
|
+
|
|
|
+ if (unlikely(netdev_uses_trailer_tags(dev)))
|
|
|
return htons(ETH_P_TRAILER);
|
|
|
|
|
|
- if (ntohs(eth->h_proto) >= ETH_P_802_3_MIN)
|
|
|
+ if (likely(ntohs(eth->h_proto) >= ETH_P_802_3_MIN))
|
|
|
return eth->h_proto;
|
|
|
|
|
|
/*
|
|
@@ -193,7 +194,7 @@ __be16 eth_type_trans(struct sk_buff *skb, struct net_device *dev)
|
|
|
* layer. We look for FFFF which isn't a used 802.2 SSAP/DSAP. This
|
|
|
* won't work for fault tolerant netware but does for the rest.
|
|
|
*/
|
|
|
- if (skb->len >= 2 && *(unsigned short *)(skb->data) == 0xFFFF)
|
|
|
+ if (unlikely(skb->len >= 2 && *(unsigned short *)(skb->data) == 0xFFFF))
|
|
|
return htons(ETH_P_802_3);
|
|
|
|
|
|
/*
|