nx-match: Add parsing and serialisation of OXM matches.
authorSimon Horman <horms@verge.net.au>
Mon, 11 Jun 2012 16:56:12 +0000 (09:56 -0700)
committerBen Pfaff <blp@nicira.com>
Mon, 11 Jun 2012 17:02:13 +0000 (10:02 -0700)
commitb5ae8913b20df772ee484902c7def3b42b3871f6
treee554140167ef3ae68b3bf67d8846841a5857e7c0
parenta9c34071edc8371b5a4d9eebf8256723ffe92df2
nx-match: Add parsing and serialisation of OXM matches.

This code, which leverages the existing NXM implementation,
adds parsing and serialisation of OXM matches. Test cases
have also been provided.

This patch only implements parsing and serialisation of OXM fields that
are already handled by NXM.

It should be noted that in OXM ports are 32bit whereas in NXM they
are 16 bit. This has been handled as a special case as all other field
widths are the same in both OXM and NXM.

This patch does not address differences in wildcarding between OXM and NXM.
It is planned that liberal wildcarding policy dictated by either OXM or
NXM will be implemented.

This patch also does not address any (subtle?) differences between
OXM and NXM treatment of specific fields. It is envisages that his
can be handled by subsequent patches.

Signed-off-by: Simon Horman <horms@verge.net.au>
[blp@nicira.com adjusted style, added a comment, changed in_port special
 case, enabled NXM extensions to OXM]
Signed-off-by: Ben Pfaff <blp@nicira.com>
include/openflow/openflow-1.2.h
lib/meta-flow.c
lib/nx-match.c
lib/nx-match.h
lib/ofp-util.c
tests/ovs-ofctl.at
utilities/ovs-ofctl.c