diff options
Diffstat (limited to 'net/8021q')
-rw-r--r-- | net/8021q/vlan_core.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/8021q/vlan_core.c b/net/8021q/vlan_core.c index 68df12d3664b..916061f681b6 100644 --- a/net/8021q/vlan_core.c +++ b/net/8021q/vlan_core.c | |||
@@ -14,6 +14,9 @@ int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, | |||
14 | return NET_RX_DROP; | 14 | return NET_RX_DROP; |
15 | } | 15 | } |
16 | 16 | ||
17 | skb->vlan_tci = vlan_tci; | ||
18 | netif_nit_deliver(skb); | ||
19 | |||
17 | skb->dev = vlan_group_get_device(grp, vlan_tci & VLAN_VID_MASK); | 20 | skb->dev = vlan_group_get_device(grp, vlan_tci & VLAN_VID_MASK); |
18 | if (skb->dev == NULL) { | 21 | if (skb->dev == NULL) { |
19 | dev_kfree_skb_any(skb); | 22 | dev_kfree_skb_any(skb); |
@@ -22,6 +25,7 @@ int __vlan_hwaccel_rx(struct sk_buff *skb, struct vlan_group *grp, | |||
22 | return NET_RX_SUCCESS; | 25 | return NET_RX_SUCCESS; |
23 | } | 26 | } |
24 | skb->dev->last_rx = jiffies; | 27 | skb->dev->last_rx = jiffies; |
28 | skb->vlan_tci = 0; | ||
25 | 29 | ||
26 | stats = &skb->dev->stats; | 30 | stats = &skb->dev->stats; |
27 | stats->rx_packets++; | 31 | stats->rx_packets++; |