datapath: collect mega flow mask stats
[sliver-openvswitch.git] / datapath / vport-lisp.c
index b1581ef..e4e603f 100644 (file)
@@ -393,7 +393,6 @@ static void handle_offloads(struct sk_buff *skb)
 
 static int lisp_send(struct vport *vport, struct sk_buff *skb)
 {
-       struct net *net = ovs_dp_get_net(vport->dp);
        int network_offset = skb_network_offset(skb);
        struct rtable *rt;
        int min_headroom;
@@ -438,8 +437,11 @@ static int lisp_send(struct vport *vport, struct sk_buff *skb)
                        goto err_free_rt;
        }
 
+       /* Reset l2 headers. */
        skb_pull(skb, network_offset);
        skb_reset_mac_header(skb);
+       vlan_set_tci(skb, 0);
+
        skb_reset_inner_headers(skb);
 
        __skb_push(skb, LISP_HLEN);
@@ -453,7 +455,7 @@ static int lisp_send(struct vport *vport, struct sk_buff *skb)
 
        df = OVS_CB(skb)->tun_key->tun_flags &
                                  TUNNEL_DONT_FRAGMENT ?  htons(IP_DF) : 0;
-       sent_len = iptunnel_xmit(net, rt, skb,
+       sent_len = iptunnel_xmit(rt, skb,
                             saddr, OVS_CB(skb)->tun_key->ipv4_dst,
                             IPPROTO_UDP, OVS_CB(skb)->tun_key->ipv4_tos,
                             OVS_CB(skb)->tun_key->ipv4_ttl, df);