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

Reply via email to