classify: fix debug CLI 86/28486/2
authorDave Barach <dave@barachs.net>
Tue, 30 Jun 2020 12:28:06 +0000 (08:28 -0400)
committerAndrew Yourtchenko <ayourtch@gmail.com>
Tue, 18 Aug 2020 19:47:21 +0000 (19:47 +0000)
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
(cherry picked from commit 126c88544103d3775252f741398111875f6a62d7)

src/vnet/classify/vnet_classify.c

index d97042e..dd846cb 100755 (executable)
@@ -1037,7 +1037,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;
 
@@ -1070,6 +1070,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 _