|
@@ -3580,8 +3580,15 @@ ncls:
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if (vlan_tx_nonzero_tag_present(skb))
|
|
|
|
- skb->pkt_type = PACKET_OTHERHOST;
|
|
|
|
|
|
+ if (unlikely(vlan_tx_tag_present(skb))) {
|
|
|
|
+ if (vlan_tx_tag_get_id(skb))
|
|
|
|
+ skb->pkt_type = PACKET_OTHERHOST;
|
|
|
|
+ /* Note: we might in the future use prio bits
|
|
|
|
+ * and set skb->priority like in vlan_do_receive()
|
|
|
|
+ * For the time being, just ignore Priority Code Point
|
|
|
|
+ */
|
|
|
|
+ skb->vlan_tci = 0;
|
|
|
|
+ }
|
|
|
|
|
|
/* deliver only exact match when indicated */
|
|
/* deliver only exact match when indicated */
|
|
null_or_dev = deliver_exact ? skb->dev : NULL;
|
|
null_or_dev = deliver_exact ? skb->dev : NULL;
|