Fix ip4 address formatting in the show ip fib ouptut 33/933/2
authorDamjan Marion <damarion@cisco.com>
Fri, 29 Apr 2016 12:51:57 +0000 (14:51 +0200)
committerDave Barach <openvpp@barachs.net>
Fri, 29 Apr 2016 13:29:27 +0000 (13:29 +0000)
Change-Id: I3ffb2e3cef63cbc9f2abc81bbdedabb34b9b3408
Signed-off-by: Damjan Marion <damarion@cisco.com>
vnet/vnet/ip/ip4_forward.c
vnet/vnet/ip/ip6_packet.h

index 720450f..bf101bb 100644 (file)
@@ -974,6 +974,7 @@ void ip4_adjacency_set_interface_route (vnet_main_t * vnm,
       node_index = ip4_arp_node.index;
       adj->if_address_index = if_address_index;
       adj->arp.next_hop.ip4.as_u32 = 0;
+      ip46_address_reset(&adj->arp.next_hop);
       packet_type = VNET_L3_PACKET_TYPE_ARP;
     }
   else
index 7fbcab1..876ffac 100644 (file)
@@ -64,10 +64,12 @@ typedef CLIB_PACKED (union {
     ip4_address_t ip4;
   };
   ip6_address_t ip6;
+  u64 as_u64[2];
 }) ip46_address_t;
-#define ip46_address_is_ip4(ip46) (((ip46)->pad[0] | (ip46)->pad[1] | (ip46)->pad[2]) == 0)
-#define ip46_address_mask_ip4(ip46) ((ip46)->pad[0] = (ip46)->pad[1] = (ip46)->pad[2] = 0)
-#define ip46_address_set_ip4(ip46, ip) (ip46_address_mask_ip4(ip46), (ip46)->ip4 = (ip)[0])
+#define ip46_address_is_ip4(ip46)      (((ip46)->pad[0] | (ip46)->pad[1] | (ip46)->pad[2]) == 0)
+#define ip46_address_mask_ip4(ip46)    ((ip46)->pad[0] = (ip46)->pad[1] = (ip46)->pad[2] = 0)
+#define ip46_address_set_ip4(ip46, ip) (ip46_address_mask_ip4(ip46), (ip46)->ip4 = (ip)[0])
+#define ip46_address_reset(ip46)       ((ip46)->as_u64[0] = (ip46)->as_u64[1] = 0)
 
 always_inline void
 ip6_addr_fib_init (ip6_address_fib_t * addr_fib, ip6_address_t * address,