1
From: Adam Gandelman <adamg@canonical.com>
2
Author: Jesse Gross <jesse@nicira.com>
3
Date: Fri Sep 7 12:10:58 PDT 2012
4
Bug-Ubuntu: https://bugs.launchpad.net/quantum/+bug/1044318
5
X-Git-Url: http://openvswitch.org/cgi-bin/gitweb.cgi?p=openvswitch;a=commitdiff_plain;h=53e6421bc83918ac2d00ba5516f205fa7e394140
6
Subject: datapath: Reset upper layer protocol info on internal devices.
8
datapath: Reset upper layer protocol info on internal devices.
10
It's possible that packets that are sent on internal devices (from
11
the OVS perspective) have already traversed the local IP stack.
12
After they go through the internal device, they will again travel
13
through the IP stack which may get confused by the presence of
14
existing information in the skb. The problem can be observed
15
when switching between namespaces. This clears out that information
16
to avoid problems but deliberately leaves other metadata alone.
17
This is to provide maximum flexibility in chaining together OVS
18
and other Linux components.
22
Signed-off-by: Jesse Gross <jesse@nicira.com>
23
Acked-by: Ben Pfaff <blp@nicira.com>
27
Index: openvswitch/datapath/vport-internal_dev.c
28
===================================================================
29
--- openvswitch.orig/datapath/vport-internal_dev.c 2012-09-07 12:06:26.436795000 -0700
30
+++ openvswitch/datapath/vport-internal_dev.c 2012-09-07 12:09:09.223267544 -0700
32
#include <linux/skbuff.h>
33
#include <linux/version.h>
36
+#include <net/xfrm.h>
51
skb->pkt_type = PACKET_HOST;
52
skb->protocol = eth_type_trans(skb, netdev);