aboutsummaryrefslogtreecommitdiffstats
path: root/net/openvswitch/vport-internal_dev.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/openvswitch/vport-internal_dev.c')
-rw-r--r--net/openvswitch/vport-internal_dev.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/net/openvswitch/vport-internal_dev.c b/net/openvswitch/vport-internal_dev.c
index b6b1d7daa3cb..4061b9ee07f7 100644
--- a/net/openvswitch/vport-internal_dev.c
+++ b/net/openvswitch/vport-internal_dev.c
@@ -1,5 +1,5 @@
1/* 1/*
2 * Copyright (c) 2007-2011 Nicira Networks. 2 * Copyright (c) 2007-2012 Nicira, Inc.
3 * 3 *
4 * This program is free software; you can redistribute it and/or 4 * This program is free software; you can redistribute it and/or
5 * modify it under the terms of version 2 of the GNU General Public 5 * modify it under the terms of version 2 of the GNU General Public
@@ -24,6 +24,9 @@
24#include <linux/ethtool.h> 24#include <linux/ethtool.h>
25#include <linux/skbuff.h> 25#include <linux/skbuff.h>
26 26
27#include <net/dst.h>
28#include <net/xfrm.h>
29
27#include "datapath.h" 30#include "datapath.h"
28#include "vport-internal_dev.h" 31#include "vport-internal_dev.h"
29#include "vport-netdev.h" 32#include "vport-netdev.h"
@@ -209,6 +212,11 @@ static int internal_dev_recv(struct vport *vport, struct sk_buff *skb)
209 int len; 212 int len;
210 213
211 len = skb->len; 214 len = skb->len;
215
216 skb_dst_drop(skb);
217 nf_reset(skb);
218 secpath_reset(skb);
219
212 skb->dev = netdev; 220 skb->dev = netdev;
213 skb->pkt_type = PACKET_HOST; 221 skb->pkt_type = PACKET_HOST;
214 skb->protocol = eth_type_trans(skb, netdev); 222 skb->protocol = eth_type_trans(skb, netdev);