ofproto-dpif: Initialize tunnel metadata in both 'flow' and 'base_flow'.
authorJesse Gross <jesse@nicira.com>
Mon, 31 Dec 2012 20:38:26 +0000 (12:38 -0800)
committerJesse Gross <jesse@nicira.com>
Mon, 31 Dec 2012 20:58:53 +0000 (12:58 -0800)
commit47d4a9db26329f9d93eb945c1fcc0e248cf2656a
treed75b7e55107540981351242b90f4ea3945491618
parent194254d7f3a902a7554e617b8ab6869de388e80b
ofproto-dpif: Initialize tunnel metadata in both 'flow' and 'base_flow'.

The datapath doesn't carry over tunnel metadata between input and
output because such an operation doesn't generally make sense.  In
order to keep the flow information in sync, userspace needs to do
this as well.  However, userspace was clearing out only the base
flow, which means that it later generated an action with the original
tunnel metadata.  If a packet is both being sent and received on a
tunnel then this will cause the output tunnel's configuration to be
overriden with incorrect information.  This was recently exposed
when the ability to interpret tunnel metadata was added to userspace.

Reported-by: Anand Krishnamurthy <krishnamurt4@wisc.edu>
Reported-by: Saul St. John <sstjohn@cs.wisc.edu>
Signed-off-by: Jesse Gross <jesse@nicira.com>
ofproto/ofproto-dpif.c