diff options
author | Ben Pfaff <blp@nicira.com> | 2012-06-18 14:12:52 -0700 |
---|---|---|
committer | Ben Pfaff <blp@nicira.com> | 2012-09-04 11:19:15 -0700 |
commit | 851d3105c7a4166d0cd05f3f9198edea2623bcd7 (patch) | |
tree | a5b63c9ea2721e940b4deb7fad83e00866a1fb84 /tests/test-classifier.c | |
parent | 3840c40624f366f560af6165c7e36ec13fc3a51b (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.c | 7 |
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(); } |