datapath: Reset upper layer protocol info on internal devices.
authorJesse Gross <jesse@nicira.com>
Thu, 17 May 2012 18:43:15 +0000 (11:43 -0700)
committerJesse Gross <jesse@nicira.com>
Thu, 17 May 2012 19:47:33 +0000 (12:47 -0700)
commit53e6421bc83918ac2d00ba5516f205fa7e394140
treec785b5db4164a692c2cb03b5f2e5a5a62be845d3
parent4910bbc601abcd09f762426f5b7128a4bc6d379b
datapath: Reset upper layer protocol info on internal devices.

It's possible that packets that are sent on internal devices (from
the OVS perspective) have already traversed the local IP stack.
After they go through the internal device, they will again travel
through the IP stack which may get confused by the presence of
existing information in the skb. The problem can be observed
when switching between namespaces. This clears out that information
to avoid problems but deliberately leaves other metadata alone.
This is to provide maximum flexibility in chaining together OVS
and other Linux components.

Bug #10995

Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
datapath/vport-internal_dev.c