diff options
| author | Quentin Young <qlyoung@cumulusnetworks.com> | 2017-04-17 19:21:06 +0000 |
|---|---|---|
| committer | Quentin Young <qlyoung@cumulusnetworks.com> | 2017-04-17 19:24:28 +0000 |
| commit | 9ea49d61d2ea060c97066f445da65537f034772b (patch) | |
| tree | 06671f76704c9c2e2097f65d80c0a97e6d6adf65 | |
| parent | 529aa94e24a39e8203efebbaf2fbc9f6de69fa52 (diff) | |
pimd: fix 'show ip msdp sa ...'
Signed-off-by: Quentin Young <qlyoung@cumulusnetworks.com>
| -rw-r--r-- | pimd/pim_cmd.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index 313414159c..2401991b8c 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -6212,13 +6212,16 @@ DEFUN (show_ip_msdp_sa_sg, "JavaScript Object Notation\n") { u_char uj = use_json(argc, argv); - if (uj) - argc--; - if (argc == 5) - ip_msdp_show_sa_sg(vty, argv[4]->arg, argv[5]->arg, uj); - else if (argc == 4) - ip_msdp_show_sa_addr(vty, argv[4]->arg, uj); + int idx = 0; + char *src_ip = argv_find (argv, argc, "A.B.C.D", &idx) ? argv[idx++]->arg : NULL; + char *grp_ip = idx < argc && argv_find (argv, argc, "A.B.C.D", &idx) ? + argv[idx]->arg : NULL; + + if (src_ip && grp_ip) + ip_msdp_show_sa_sg(vty, src_ip, grp_ip, uj); + else if (src_ip) + ip_msdp_show_sa_addr(vty, src_ip, uj); else ip_msdp_show_sa(vty, uj); |
