Remove fake MAP domain 0 entry. 08/17808/2
authorJon Loeliger <jdl@netgate.com>
Thu, 21 Feb 2019 19:29:51 +0000 (13:29 -0600)
committerOle Trøan <otroan@employees.org>
Tue, 26 Feb 2019 09:29:45 +0000 (09:29 +0000)
Problematic:
    - It didn't have its counters initialized, so vpp crashed
      during a "show map stat"
    - Not all the tests for "are there any domains" actually
      accounted for the fake entry at pool slot 0.
    - Dump details happily returned its bogus entry.

Change-Id: I57aaa9f63917686334fd4a9fa7bc80044bf1718c
Signed-off-by: Jon Loeliger <jdl@netgate.com>
src/plugins/map/map.c

index 47af894..2f13336 100644 (file)
@@ -1048,7 +1048,7 @@ show_map_stats_command_fn (vlib_main_t * vm, unformat_input_t * input,
   map_main_t *mm = &map_main;
   map_domain_t *d;
   int domains = 0, rules = 0, domaincount = 0, rulecount = 0;
-  if (pool_elts (mm->domains) <= 1)
+  if (pool_elts (mm->domains) == 0)
     {
       vlib_cli_output (vm, "No MAP domains are configured...");
       return 0;
@@ -2245,12 +2245,6 @@ map_init (vlib_main_t * vm)
   fib_node_register_type (FIB_NODE_TYPE_MAP_E, &map_vft);
 #endif
 
-  /* Create empty domain that's used in case of error */
-  map_domain_t *d;
-  pool_get_aligned (mm->domains, d, CLIB_CACHE_LINE_BYTES);
-  memset (d, 0, sizeof (*d));
-  d->ip6_src_len = 64;
-
   /* LPM lookup tables */
   mm->ip4_prefix_tbl = lpm_table_init (LPM_TYPE_KEY32);
   mm->ip6_prefix_tbl = lpm_table_init (LPM_TYPE_KEY128);