]> git.puffer.fish Git - mirror/frr.git/commitdiff
pimd: fix `show ip msdp...` NPD when vrf unknown
authorQuentin Young <qlyoung@cumulusnetworks.com>
Wed, 19 Jul 2017 19:02:35 +0000 (15:02 -0400)
committerDonald Sharp <sharpd@cumulusnetworks.com>
Fri, 28 Jul 2017 12:11:28 +0000 (08:11 -0400)
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
pimd/pim_cmd.c

index 9cd73cbbf4b9f5340ea7b012c8c40a43405f1d24..06ca834b1ffa48d90537d1d93e337a7ddcec6517 100644 (file)
@@ -7900,11 +7900,18 @@ DEFUN (show_ip_msdp_peer_detail,
        u_char uj = use_json(argc, argv);
        int idx = 2;
        struct vrf *vrf = pim_cmd_lookup_vrf(vty, argv, argc, &idx);
-       if (uj)
-               argc--;
 
-       if (argv_find(argv, argc, "detail", &idx)
-           || argv_find(argv, argc, "A.B.C.D", &idx))
+       if (!vrf)
+               return CMD_WARNING;
+
+       char *arg = NULL;
+
+       if (argv_find(argv, argc, "detail", &idx))
+               arg = argv[idx]->text;
+       else if (argv_find(argv, argc, "A.B.C.D", &idx))
+               arg = argv[idx]->arg;
+
+       if (arg)
                ip_msdp_show_peers_detail(vrf->info, vty, argv[idx]->arg, uj);
        else
                ip_msdp_show_peers(vrf->info, vty, uj);