datapath: Reset upper layer protocol info on internal devices.
[openvswitch] / datapath / vport-internal_dev.c
index af7fe64976dd039e47c41f7279754865ccd551fd..4dc2eb479d7024586f9d85538ace6a48e119d6f0 100644 (file)
@@ -25,6 +25,9 @@
 #include <linux/skbuff.h>
 #include <linux/version.h>
 
+#include <net/dst.h>
+#include <net/xfrm.h>
+
 #include "checksum.h"
 #include "datapath.h"
 #include "vlan.h"
@@ -289,6 +292,11 @@ static int internal_dev_recv(struct vport *vport, struct sk_buff *skb)
 #endif
 
        len = skb->len;
+
+       skb_dst_drop(skb);
+       nf_reset(skb);
+       secpath_reset(skb);
+
        skb->dev = netdev;
        skb->pkt_type = PACKET_HOST;
        skb->protocol = eth_type_trans(skb, netdev);