classify: fix debug CLI 34/27734/1
authorDave Barach <dave@barachs.net>
Tue, 30 Jun 2020 12:28:06 +0000 (08:28 -0400)
committerDave Barach <dave@barachs.net>
Tue, 30 Jun 2020 12:28:29 +0000 (08:28 -0400)
unformat_ip6_mask wasn't accounting for customized field names
when deciding if it managed to parse at least one field.

Type: fix

Signed-off-by: Dave Barach <dave@barachs.net>
Change-Id: I26cab4c6828b510e277079628af5115ac43af3ff

src/vnet/classify/vnet_classify.c

index bf03024..f4a6317 100644 (file)
@@ -1028,7 +1028,7 @@ unformat_ip6_mask (unformat_input_t * input, va_list * args)
 {
   u8 **maskp = va_arg (*args, u8 **);
   u8 *mask = 0;
-  u8 found_something = 0;
+  u8 found_something;
   ip6_header_t *ip;
   u32 ip_version_traffic_class_and_flow_label;
 
@@ -1061,6 +1061,10 @@ unformat_ip6_mask (unformat_input_t * input, va_list * args)
        break;
     }
 
+  /* Account for "special" field names */
+  found_something = version + traffic_class + flow_label
+    + src_address + dst_address + protocol;
+
 #define _(a) found_something += a;
   foreach_ip6_proto_field;
 #undef _