|
@@ -58,7 +58,7 @@ static int __pop_vlan_tci(struct sk_buff *skb, __be16 *current_tci)
|
|
|
|
|
|
if (skb->ip_summed == CHECKSUM_COMPLETE)
|
|
|
skb->csum = csum_sub(skb->csum, csum_partial(skb->data
|
|
|
- + ETH_HLEN, VLAN_HLEN, 0));
|
|
|
+ + (2 * ETH_ALEN), VLAN_HLEN, 0));
|
|
|
|
|
|
vhdr = (struct vlan_hdr *)(skb->data + ETH_HLEN);
|
|
|
*current_tci = vhdr->h_vlan_TCI;
|
|
@@ -115,7 +115,7 @@ static int push_vlan(struct sk_buff *skb, const struct ovs_action_push_vlan *vla
|
|
|
|
|
|
if (skb->ip_summed == CHECKSUM_COMPLETE)
|
|
|
skb->csum = csum_add(skb->csum, csum_partial(skb->data
|
|
|
- + ETH_HLEN, VLAN_HLEN, 0));
|
|
|
+ + (2 * ETH_ALEN), VLAN_HLEN, 0));
|
|
|
|
|
|
}
|
|
|
__vlan_hwaccel_put_tag(skb, ntohs(vlan->vlan_tci) & ~VLAN_TAG_PRESENT);
|