datapath: Do not clear key in ovs_match_init()
authorJesse Gross <jesse@nicira.com>
Mon, 24 Jun 2013 19:21:29 +0000 (12:21 -0700)
committerJesse Gross <jesse@nicira.com>
Mon, 24 Jun 2013 19:30:35 +0000 (12:30 -0700)
commit46d4c97ff75b647474f59cb141623a89a75388cd
tree3ed5102f9524753194ab8ba5de83b637265c0a9e
parent501948203fd12718a2372ebfb78e79f33419e10f
datapath: Do not clear key in ovs_match_init()

When executing packets sent from userspace, the majority of the
flow information is extracted from the packet itself and a small
amount of metadata supplied by userspace is added. However, when
adding this metadata, the extracted flow information is currently
being cleared.

This manifests in a problem when executing actions as elements of key are
used when verifying some actions. For example a dec_ttl action verifies the
proto of the flow. An example of a flow that fails as a result of this
problem is:

        ovs-ofctl add-flow br0 "ip actions=dec_ttl,normal"

This is a regression added by "datapath: Mega flow implementation",
a1c564be1e2ffc31f8da09ab654c8ed987907fe5.

CC: Andy Zhou <azhou@nicira.com>
Reported-by: Simon Horman <horms@verge.net.au>
Signed-off-by: Jesse Gross <jesse@nicira.com>
datapath/flow.c