[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