|
@@ -24,6 +24,9 @@
|
|
#include <linux/ethtool.h>
|
|
#include <linux/ethtool.h>
|
|
#include <linux/skbuff.h>
|
|
#include <linux/skbuff.h>
|
|
|
|
|
|
|
|
+#include <net/dst.h>
|
|
|
|
+#include <net/xfrm.h>
|
|
|
|
+
|
|
#include "datapath.h"
|
|
#include "datapath.h"
|
|
#include "vport-internal_dev.h"
|
|
#include "vport-internal_dev.h"
|
|
#include "vport-netdev.h"
|
|
#include "vport-netdev.h"
|
|
@@ -209,6 +212,11 @@ static int internal_dev_recv(struct vport *vport, struct sk_buff *skb)
|
|
int len;
|
|
int len;
|
|
|
|
|
|
len = skb->len;
|
|
len = skb->len;
|
|
|
|
+
|
|
|
|
+ skb_dst_drop(skb);
|
|
|
|
+ nf_reset(skb);
|
|
|
|
+ secpath_reset(skb);
|
|
|
|
+
|
|
skb->dev = netdev;
|
|
skb->dev = netdev;
|
|
skb->pkt_type = PACKET_HOST;
|
|
skb->pkt_type = PACKET_HOST;
|
|
skb->protocol = eth_type_trans(skb, netdev);
|
|
skb->protocol = eth_type_trans(skb, netdev);
|