ovs-thread: Add per-thread data support.
[sliver-openvswitch.git] / datapath / vport-vxlan.c
index 6a9ff26..7ff51fd 100644 (file)
@@ -129,17 +129,15 @@ static int vxlan_rcv(struct sock *sk, struct sk_buff *skb)
                     vxh->vx_vni & htonl(0xff)))
                goto error;
 
-       __skb_pull(skb, VXLAN_HLEN);
-       skb_postpull_rcsum(skb, skb_transport_header(skb), VXLAN_HLEN + ETH_HLEN);
+       skb_pull_rcsum(skb, VXLAN_HLEN);
 
        key = cpu_to_be64(ntohl(vxh->vx_vni) >> 8);
 
        /* Save outer tunnel values */
        iph = ip_hdr(skb);
-       tnl_tun_key_init(&tun_key, iph, key, OVS_TNL_F_KEY);
-       OVS_CB(skb)->tun_key = &tun_key;
+       tnl_tun_key_init(&tun_key, iph, key, TUNNEL_KEY);
 
-       ovs_tnl_rcv(vport_from_priv(vxlan_vport), skb);
+       ovs_tnl_rcv(vport_from_priv(vxlan_vport), skb, &tun_key);
        goto out;
 
 error:
@@ -274,7 +272,6 @@ static const char *vxlan_get_name(const struct vport *vport)
 
 const struct vport_ops ovs_vxlan_vport_ops = {
        .type           = OVS_VPORT_TYPE_VXLAN,
-       .flags          = VPORT_F_TUN_ID,
        .create         = vxlan_tnl_create,
        .destroy        = vxlan_tnl_destroy,
        .get_name       = vxlan_get_name,