/* 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;
/* Drop non-IP inner packets */
inner_iph = (struct iphdr *)(lisph + 1);
ethh->h_source[0] = 0x02;
ethh->h_proto = protocol;
- ovs_tnl_rcv(vport_from_priv(lisp_port), skb);
+ ovs_tnl_rcv(vport_from_priv(lisp_port), skb, &tun_key);
goto out;
error:
LISP_HLEN, lisp_build_header);
return tnl_len > 0 ? tnl_len + network_offset : tnl_len;
default:
+ kfree_skb(skb);
return 0;
}
}
const struct vport_ops ovs_lisp_vport_ops = {
.type = OVS_VPORT_TYPE_LISP,
- .flags = VPORT_F_TUN_ID,
.create = lisp_tnl_create,
.destroy = lisp_tnl_destroy,
.get_name = lisp_get_name,