[ovs-dev] [generic tci mask 0/8] Support general masking of VLAN TCI field

Ben Pfaff blp at nicira.com
Wed Nov 10 15:37:55 PST 2010


The commit that implemented the Nicira Extended Match claimed in
nicira-ext.h that arbitrary masks were supported on the
NXM_OF_VLAN_TCI field, but in fact this was not the case--only
OpenFlow 1.0-compatible masks were supported.  This patch series
actually implements the arbitrary masks and, furthermore, it is
a substantial cleanup of OpenFlow and VLAN handling, in my opinion.

This follows the "cleanups" patch series, which in turn follows the
"match" patch series.

Ben Pfaff (8):
  classifier: New function cls_rule_equal().
  ofp-print: Avoid converting flow to ofp_match just to format it.
  flow: New function flow_wildcards_is_exact().
  flow: Move functions for dealing with wildcard bit counts to
    ofp-util.
  flow: Remove flow_to/from_match() in favor of
    cls_rule_to/from_match().
  flow: Fully separate flow_wildcards from OpenFlow wildcard bits.
  ofp-util: Make make_flow_mod() take cls_rule instead of struct flow.
  nx-match: Implement support for arbitrary VLAN TCI masks.

 include/openvswitch/types.h |    2 +
 lib/classifier.c            |  213 +++++++++++++++++-------------------
 lib/classifier.h            |   10 +-
 lib/flow.c                  |  239 ++++++++++------------------------------
 lib/flow.h                  |   78 +++++--------
 lib/learning-switch.c       |   21 ++--
 lib/nx-match.c              |  141 ++++++++++-------------
 lib/nx-match.def            |   50 ++++----
 lib/odp-util.c              |   17 +---
 lib/ofp-parse.c             |   33 +++---
 lib/ofp-print.c             |    5 +-
 lib/ofp-util.c              |  259 ++++++++++++++++++++++++++++++++++++++-----
 lib/ofp-util.h              |   26 +++-
 lib/packets.h               |   10 ++
 ofproto/ofproto-sflow.c     |    4 +-
 ofproto/ofproto.c           |   44 ++++----
 tests/ovs-ofctl.at          |   11 +-
 tests/test-classifier.c     |  138 ++++++++++-------------
 tests/test-flows.c          |    6 +-
 utilities/ovs-ofctl.c       |    6 +-
 vswitchd/bridge.c           |   38 +++----
 21 files changed, 694 insertions(+), 657 deletions(-)





More information about the dev mailing list