From bedde04cf1adfe8bde736f7bbec95ea7e4f04d20 Mon Sep 17 00:00:00 2001 From: Gurucharan Shetty Date: Tue, 8 Jan 2013 15:29:44 -0800 Subject: [PATCH] ovs-ofctl: Remove 'ANY' as a wildcard. Currently we use "*" or ANY to mark a field in flow syntax as a wildcard. With ANY being a valid openflow port now, there is a conflict for in_port field. So at the least, we need to remove ANY from being considered as a wildcard for in_port. But this may cause general confusion and it may be a better idea to remove 'ANY' as a wildcard for all fields. Signed-off-by: Gurucharan Shetty --- NEWS | 5 +++++ lib/meta-flow.c | 2 +- utilities/ovs-ofctl.8.in | 4 ++-- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 537d29895..ab7ef4daf 100644 --- a/NEWS +++ b/NEWS @@ -8,6 +8,11 @@ post-v1.9.0 - The OpenFlow "dp_desc" may now be configured by setting the value of other-config:dp-desc in the Bridge table. - Path MTU discovery is no longer supported. + - Backward-incompatible changes: + - Earlier Open vSwitch versions treated ANY as a wildcard in flow + syntax. OpenFlow 1.1 adds a port named ANY, which introduces a + conflict. ANY was rarely used in flow syntax, so we chose to + retire that meaning of ANY in favor of the OpenFlow 1.1 meaning. v1.9.0 - xx xxx xxxx diff --git a/lib/meta-flow.c b/lib/meta-flow.c index 0e74d5e61..e38e15875 100644 --- a/lib/meta-flow.c +++ b/lib/meta-flow.c @@ -2155,7 +2155,7 @@ char * mf_parse(const struct mf_field *mf, const char *s, union mf_value *value, union mf_value *mask) { - if (!strcasecmp(s, "any") || !strcmp(s, "*")) { + if (!strcmp(s, "*")) { memset(value, 0, mf->n_bytes); memset(mask, 0, mf->n_bytes); return NULL; diff --git a/utilities/ovs-ofctl.8.in b/utilities/ovs-ofctl.8.in index 906d280ed..c48645af4 100644 --- a/utilities/ovs-ofctl.8.in +++ b/utilities/ovs-ofctl.8.in @@ -393,8 +393,8 @@ flows not in normal form. The following field assignments describe how a flow matches a packet. If any of these assignments is omitted from the flow syntax, the field is treated as a wildcard; thus, if all of them are omitted, the -resulting flow matches all packets. The string \fB*\fR or \fBANY\fR -may be specified to explicitly mark any of these fields as a wildcard. +resulting flow matches all packets. The string \fB*\fR may be specified +to explicitly mark any of these fields as a wildcard. (\fB*\fR should be quoted to protect it from shell expansion.) . .IP \fBin_port=\fIport\fR -- 2.47.0