Fix ARP show exception when not ARP entries as found. 12/312/1
authorKeith Wiles <keith.wiles@intel.com>
Fri, 12 Feb 2016 01:21:10 +0000 (19:21 -0600)
committerKeith Wiles <keith.wiles@intel.com>
Fri, 12 Feb 2016 19:23:28 +0000 (13:23 -0600)
The fix tests if the ARP table exist before attempting to
interate over the entries.

Change-Id: I22cad5ba3a01c3fba1feac33745a29ff1f7f8fe1
Signed-off-by: Keith Wiles <keith.wiles@intel.com>
vnet/vnet/ethernet/arp.c

index 79ff44f..3548831 100644 (file)
@@ -1138,14 +1138,17 @@ show_ip4_arp (vlib_main_t * vm,
 
   es = 0;
   pool_foreach (e, am->ip4_entry_pool, ({ vec_add1 (es, e[0]); }));
-  vec_sort_with_function (es, ip4_arp_entry_sort);
-  vlib_cli_output (vm, "%U", format_ethernet_arp_ip4_entry, vnm, 0);
-  vec_foreach (e, es) {
-    if (sw_if_index != ~0 && e->key.sw_if_index != sw_if_index)
-      continue;
-    vlib_cli_output (vm, "%U", format_ethernet_arp_ip4_entry, vnm, e);
-  }
-  vec_free (es);
+  if ( es )
+    {
+      vec_sort_with_function (es, ip4_arp_entry_sort);
+      vlib_cli_output (vm, "%U", format_ethernet_arp_ip4_entry, vnm, 0);
+      vec_foreach (e, es) {
+        if (sw_if_index != ~0 && e->key.sw_if_index != sw_if_index)
+          continue;
+        vlib_cli_output (vm, "%U", format_ethernet_arp_ip4_entry, vnm, e);
+      }
+      vec_free (es);
+    }
 
   if (vec_len (am->proxy_arps))
     {