On Wed, Nov 25, 2015 at 6:42 AM, Pravin B Shelar <pshe...@nicira.com> wrote: > diff --git a/datapath/linux/compat/geneve.c b/datapath/linux/compat/geneve.c > index 85cf95f..ee61537 100644 > --- a/datapath/linux/compat/geneve.c > +++ b/datapath/linux/compat/geneve.c > +static int geneve_build_skb(struct rtable *rt, struct sk_buff *skb, > + __be16 tun_flags, u8 vni[3], u8 opt_len, u8 *opt, > + bool csum) [...] > + skb = udp_tunnel_handle_offloads(skb, csum, 0, false); > + if (IS_ERR(skb)) { > + err = PTR_ERR(skb); > + goto free_rt; > + } > + > + skb = vlan_hwaccel_push_inside(skb); > + if (!skb) { > + err = -ENOMEM; > + goto free_rt; > + }
I think that vlan_hwaccel_push_inside() needs to go before udp_tunnel_handle_offloads(). Otherwise, we will set the inner offsets and then change at least the MAC header location. _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev