datapath: Account for "udptunnels: Call handle_offloads after inserting vlan tag."
authorJesse Gross <jesse@nicira.com>
Tue, 7 Apr 2015 23:11:23 +0000 (16:11 -0700)
committerJesse Gross <jesse@nicira.com>
Thu, 9 Apr 2015 21:34:51 +0000 (14:34 -0700)
commitb13c9440d4e5e561ec4df011f1d62fffec5a8a66
treef193674eab75afd377a6ccd955dd4104d712a7a4
parente62d903bca43235e5c92ded0753b1c13096e790a
datapath: Account for "udptunnels: Call handle_offloads after inserting vlan tag."

Upstream commit:
    udptunnels: Call handle_offloads after inserting vlan tag.

    handle_offloads() calls skb_reset_inner_headers() to store
    the layer pointers to the encapsulated packet. However, we
    currently push the vlag tag (if there is one) onto the packet
    afterwards. This changes the MAC header for the encapsulated
    packet but it is not reflected in skb->inner_mac_header, which
    breaks GSO and drivers which attempt to use this for encapsulation
    offloads.

    Fixes: b736a623 ("vxlan: Add tx-vlan offload support.")
Signed-off-by: Jesse Gross <jesse@nicira.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Upstream: 4aac884d ("udptunnels: Call handle_offloads after inserting vlan tag.")
Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Pravin B Shelar <pshelar@nicira.com>
datapath/linux/compat/geneve.c
datapath/linux/compat/vxlan.c