aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge
diff options
context:
space:
mode:
Diffstat (limited to 'net/bridge')
-rw-r--r--net/bridge/br_netfilter.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c
index e060aad8624d..6787bc5197f7 100644
--- a/net/bridge/br_netfilter.c
+++ b/net/bridge/br_netfilter.c
@@ -425,8 +425,7 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff **pskb,
425 425
426 if (skb->protocol == __constant_htons(ETH_P_8021Q)) { 426 if (skb->protocol == __constant_htons(ETH_P_8021Q)) {
427 u8 *vhdr = skb->data; 427 u8 *vhdr = skb->data;
428 skb_pull(skb, VLAN_HLEN); 428 skb_pull_rcsum(skb, VLAN_HLEN);
429 skb_postpull_rcsum(skb, vhdr, VLAN_HLEN);
430 skb->nh.raw += VLAN_HLEN; 429 skb->nh.raw += VLAN_HLEN;
431 } 430 }
432 return br_nf_pre_routing_ipv6(hook, skb, in, out, okfn); 431 return br_nf_pre_routing_ipv6(hook, skb, in, out, okfn);
@@ -444,8 +443,7 @@ static unsigned int br_nf_pre_routing(unsigned int hook, struct sk_buff **pskb,
444 443
445 if (skb->protocol == __constant_htons(ETH_P_8021Q)) { 444 if (skb->protocol == __constant_htons(ETH_P_8021Q)) {
446 u8 *vhdr = skb->data; 445 u8 *vhdr = skb->data;
447 skb_pull(skb, VLAN_HLEN); 446 skb_pull_rcsum(skb, VLAN_HLEN);
448 skb_postpull_rcsum(skb, vhdr, VLAN_HLEN);
449 skb->nh.raw += VLAN_HLEN; 447 skb->nh.raw += VLAN_HLEN;
450 } 448 }
451 449