]> git.proxmox.com Git - mirror_frr.git/commitdiff
bgpd: Add the no form of some dump bgp commands
authorDonald Sharp <sharpd@cumulusnetwroks.com>
Mon, 1 Aug 2016 17:38:05 +0000 (13:38 -0400)
committerDonald Sharp <sharpd@cumulusnetwroks.com>
Mon, 1 Aug 2016 19:15:34 +0000 (15:15 -0400)
Ticket: CM-9432
Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Reviewed-by:

bgpd/bgp_dump.c

index ea292f59314bdaf4063a2d87c88c4abd40deec0b..59bb2f8a13ac5386f260187df38ea309b4376b37 100644 (file)
@@ -771,15 +771,41 @@ DEFUN (dump_bgp_all,
 
 DEFUN (no_dump_bgp_all,
        no_dump_bgp_all_cmd,
-       "no dump bgp (all|updates|routes-mrt) [PATH] [INTERVAL]",
+       "no dump bgp (all|all-et|updates|updates-et|routes-mrt) [PATH] [INTERVAL]",
        NO_STR
        "Stop dump packet\n"
        "Stop BGP packet dump\n"
-       "Stop dump process all/all-et\n"
-       "Stop dump process updates/updates-et\n"
+       "Stop dump process all\n"
+       "Stop dump process all-et\n"
+       "Stop dump process updates\n"
+       "Stop dump process updates-et\n"
        "Stop dump process route-mrt\n")
 {
-  return bgp_dump_unset (vty, &bgp_dump_all);
+  int bgp_dump_type = 0;
+  const struct bgp_dump_type_map *map = NULL;
+  struct bgp_dump *bgp_dump_struct = NULL;
+
+  for (map = bgp_dump_type_map; map->str; map++)
+    if (strcmp(argv[0], map->str) == 0)
+      bgp_dump_type = map->type;
+
+  switch (bgp_dump_type)
+    {
+    case BGP_DUMP_ALL:
+    case BGP_DUMP_ALL_ET:
+      bgp_dump_struct = &bgp_dump_all;
+      break;
+    case BGP_DUMP_UPDATES:
+    case BGP_DUMP_UPDATES_ET:
+      bgp_dump_struct = &bgp_dump_updates;
+      break;
+    case BGP_DUMP_ROUTES:
+    default:
+      bgp_dump_struct = &bgp_dump_routes;
+      break;
+    }
+
+  return bgp_dump_unset (vty, bgp_dump_struct);
 }
 
 /* BGP node structure. */