vat: fix increment_address(...) 16/26616/2
authorDave Barach <dave@barachs.net>
Tue, 21 Apr 2020 12:01:16 +0000 (08:01 -0400)
committerDave Wallace <dwallacelf@gmail.com>
Tue, 21 Apr 2020 17:16:31 +0000 (17:16 +0000)
vl_api_address_t uses a packed enum for the address family, compare
a->af directly with ADDRESS_IP4 / ADDRESS_IP6 instead of running a->af
through clib_host_to_net_u32(...) before compare.

Indirectly fixes api_ip_route_add_del(...) w/ count > 1.

Type: fix

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

src/vat/api_format.c

index e7d0b02..bea743f 100644 (file)
@@ -766,9 +766,9 @@ increment_v6_address (vl_api_ip6_address_t * i)
 static void
 increment_address (vl_api_address_t * a)
 {
-  if (clib_net_to_host_u32 (a->af) == ADDRESS_IP4)
+  if (a->af == ADDRESS_IP4)
     increment_v4_address (&a->un.ip4);
-  else if (clib_net_to_host_u32 (a->af) == ADDRESS_IP6)
+  else if (a->af == ADDRESS_IP6)
     increment_v6_address (&a->un.ip6);
 }