This series refactors how information about fields is managed at compile
time, making it more flexible via a new "extract-ofp-fields" program. It
uses that flexibility to centralize all knowledge of how OXM and NXM works
in nx-match (from being split across nx-match, meta-flow, ofp-util, and
elsewhere). Then it takes advantage to implement OF1.5 (draft) Set-Field
(EXT-314), experimenter OXM, and the OF1.5 (draft) actset_output field.
The final patch is not ready for full review. I believe that the rest of
the series is.
Ben Pfaff (17):
extract-ofp-msgs: Correct some user messages.
ovs-ofctl: Correct typo in documentation.
nx-match: Reject bad wildcard combinations.
ofp-actions, nx-match: Use mf_oxm_header() instead of explicit
constants.
nx-match: Encode dp_hash and recirc_id in OXM also.
meta-flow: Autogenerate mf_field data structures.
util: New function bitwise_scan().
nx-match: Move all knowledge of OXM/NXM here.
ovs-ofctl: Encode cookies in OXM-compliant manner.
ofp-actions: Better support OXM in Copy-Field action.
ofp-actions: Support OF1.5 (draft) masked Set-Field, merge with
reg_load.
nx-match: Use nx_put_header() internally for encoding flow matches.
nx-match: Speak of 'class' instead of 'vendor' for OXM/NXM.
util: Make hexits_value() support 64-bit integers too.
nx-match: Add support for experimenter OXM.
ofp-actions: Support experimenter OXMs in Nicira extensions.
[RFC] flow: Support OF1.5+ (draft) actset_output field.
NEWS | 1 +
build-aux/extract-ofp-fields | 500 +++++++++++++
build-aux/extract-ofp-msgs | 4 +-
include/openflow/nicira-ext.h | 496 +------------
include/openflow/openflow-1.0.h | 7 +-
include/openflow/openflow-1.2.h | 139 ----
lib/automake.mk | 11 +-
lib/bundle.c | 5 +
lib/flow.c | 10 +-
lib/flow.h | 10 +-
lib/json.c | 5 +-
lib/learn.c | 30 +-
lib/match.c | 15 +-
lib/match.h | 1 +
lib/meta-flow.c | 1038 ++-------------------------
lib/meta-flow.h | 1464 +++++++++++++++++++++++++++++++++++----
lib/multipath.c | 4 +
lib/nx-match.c | 1393 +++++++++++++++++++++++++------------
lib/nx-match.h | 46 +-
lib/odp-util.h | 2 +-
lib/ofp-actions.c | 693 ++++++++++++------
lib/ofp-actions.h | 16 +-
lib/ofp-errors.h | 3 +-
lib/ofp-parse.c | 1 +
lib/ofp-util.c | 107 +--
lib/util.c | 49 +-
lib/util.h | 4 +-
ofproto/ofproto-dpif-xlate.c | 26 +-
ofproto/ofproto.c | 20 +-
tests/dpif-netdev.at | 2 +-
tests/ofp-actions.at | 34 +-
tests/ofp-print.at | 14 +
tests/ofproto-dpif.at | 4 +-
tests/ofproto.at | 3 +-
tests/ovs-ofctl.at | 249 ++++---
utilities/ovs-ofctl.8.in | 41 +-
utilities/ovs-ofctl.c | 5 +
vswitchd/bridge.c | 1 +
38 files changed, 3734 insertions(+), 2719 deletions(-)
create mode 100755 build-aux/extract-ofp-fields
--
1.9.1
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev