[ovs-dev] [PATCH v2] ovs-ofctl: Remove 'ANY' as a wildcard.

Gurucharan Shetty shettyg at nicira.com
Wed Jan 9 00:35:57 UTC 2013

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 <gshetty at nicira.com>
 NEWS                     |    3 +++
 lib/meta-flow.c          |    2 +-
 utilities/ovs-ofctl.8.in |    4 ++--
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/NEWS b/NEWS
index 537d298..35f8bec 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,9 @@ 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.
+    - ovs-ofctl no longer treats 'ANY' as a wildcard in flow syntax. 'ANY' is
+      now a valid openflow port. This is backward-incompatible with earlier
+      versions.
 v1.9.0 - xx xxx xxxx
diff --git a/lib/meta-flow.c b/lib/meta-flow.c
index 4579619..7a2c6da 100644
--- a/lib/meta-flow.c
+++ b/lib/meta-flow.c
@@ -2154,7 +2154,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 906d280..c48645a 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

More information about the dev mailing list