aboutsummaryrefslogtreecommitdiff
path: root/tests/test-classifier.c
diff options
context:
space:
mode:
authorBen Pfaff <blp@nicira.com>2012-06-18 14:12:52 -0700
committerBen Pfaff <blp@nicira.com>2012-09-04 11:19:15 -0700
commit851d3105c7a4166d0cd05f3f9198edea2623bcd7 (patch)
treea5b63c9ea2721e940b4deb7fad83e00866a1fb84 /tests/test-classifier.c
parent3840c40624f366f560af6165c7e36ec13fc3a51b (diff)
flow: Use bit-mask for IP protocol match, instead of FWW_* flag.
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'tests/test-classifier.c')
-rw-r--r--tests/test-classifier.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/tests/test-classifier.c b/tests/test-classifier.c
index a978afb0..2fd9b98d 100644
--- a/tests/test-classifier.c
+++ b/tests/test-classifier.c
@@ -55,7 +55,7 @@
CLS_FIELD(0, tp_dst, TP_DST) \
CLS_FIELD(0, dl_src, DL_SRC) \
CLS_FIELD(0, dl_dst, DL_DST) \
- CLS_FIELD(FWW_NW_PROTO, nw_proto, NW_PROTO) \
+ CLS_FIELD(0, nw_proto, NW_PROTO) \
CLS_FIELD(0, nw_tos, NW_DSCP)
/* Field indexes.
@@ -220,6 +220,9 @@ match(const struct cls_rule *wild, const struct flow *fixed)
} else if (f_idx == CLS_F_IDX_NW_DSCP) {
eq = !((fixed->nw_tos ^ wild->flow.nw_tos) &
(wild->wc.nw_tos_mask & IP_DSCP_MASK));
+ } else if (f_idx == CLS_F_IDX_NW_PROTO) {
+ eq = !((fixed->nw_proto ^ wild->flow.nw_proto)
+ & wild->wc.nw_proto_mask);
} else {
NOT_REACHED();
}
@@ -502,6 +505,8 @@ make_rule(int wc_fields, unsigned int priority, int value_pat)
rule->cls_rule.wc.metadata_mask = htonll(UINT64_MAX);
} else if (f_idx == CLS_F_IDX_NW_DSCP) {
rule->cls_rule.wc.nw_tos_mask |= IP_DSCP_MASK;
+ } else if (f_idx == CLS_F_IDX_NW_PROTO) {
+ rule->cls_rule.wc.nw_proto_mask = UINT8_MAX;
} else {
NOT_REACHED();
}