diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 4b9f4c639a..0a0c3bc79f 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -6612,17 +6612,21 @@ static void bgp_show_martian_nexthops(struct vty *vty, struct bgp *bgp) vty); } -DEFUN(show_bgp_martian_nexthop_db, - show_bgp_martian_nexthop_db_cmd, - "show bgp martian next-hop", - SHOW_STR - BGP_STR +DEFUN(show_bgp_martian_nexthop_db, show_bgp_martian_nexthop_db_cmd, + "show bgp [ VIEWVRFNAME] martian next-hop", + SHOW_STR BGP_STR BGP_INSTANCE_HELP_STR "martian next-hops\n" "martian next-hop database\n") { struct bgp *bgp = NULL; + int idx = 0; + + if (argv_find(argv, argc, "view", &idx) + || argv_find(argv, argc, "vrf", &idx)) + bgp = bgp_lookup_by_name(argv[idx + 1]->arg); + else + bgp = bgp_get_default(); - bgp = bgp_get_default(); if (!bgp) { vty_out(vty, "%% No BGP process is configured\n"); return CMD_WARNING;