diff options
Diffstat (limited to 'net/openvswitch/vport-internal_dev.c')
| -rw-r--r-- | net/openvswitch/vport-internal_dev.c | 10 |
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); |
