As some of you might recall, we had converged on adding the vrf option in
BGP commands just they way it has for a view. I have made the necessary
changes and (painfully n boringly) adjusted the argument indexes. As for
the pending work, view option isn't available for all the commands, so that
work is coming soon too.
I have a relevant question/comment:
For all the zebra commands that were modified by VRF lib, 'vrf <arg>' is
the last option there.
Wouldn't it make sense to be consistent and add vrf hierarchically around
the same location in a command?
for example:
'show ip bgp vrf <name> neighbor ..'
and
'show ip route vrf <name> A.B.C.D/M'
instead of ..
'show ip route A.B.C.D/M vrf <name>' // this is how we it in the
current VRF lib
thanks,
Vipin
-- here is how it is for BGP and zebra for now --
bgp_route.c: "show ip bgp (view|vrf) WORD {json}",
bgp_route.c: vty_out (vty, "Can't find BGP (view|vrf) %s%s", argv[1],
VTY_NEWLINE);
bgp_route.c: "show ip bgp (view|vrf) WORD A.B.C.D {json}",
bgp_route.c: "show ip bgp (view|vrf) WORD A.B.C.D/M {json}",
bgp_route.c: "show bgp (view|vrf) WORD {json}",
bgp_route.c: vty_out (vty, "Can't find BGP (view|vrf) %s%s", argv[1],
VTY_NEWLINE);
bgp_route.c: "show bgp (view|vrf) WORD ipv6 {json}",
bgp_route.c: "show bgp (view|vrf) WORD X:X::X:X {json}",
bgp_route.c: "show bgp (view|vrf) WORD ipv6 X:X::X:X {json}",
bgp_route.c: "show bgp (view|vrf) WORD X:X::X:X/M {json}",
bgp_route.c: "show bgp (view|vrf) WORD ipv6 X:X::X:X/M {json}",
bgp_route.c: "show bgp (view|vrf) WORD (ipv4|ipv6)
(unicast|multicast) community",
bgp_route.c: "show bgp (view|vrf) WORD ipv4 (unicast|multicast)
community",
bgp_route.c: "show bgp (view|vrf) WORD (ipv4|ipv6)
(unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export)",
bgp_route.c: "show bgp (view|vrf) WORD ipv4 (unicast|multicast)
community (AA:NN|local-AS|no-advertise|no-export)",
bgp_route.c: "show bgp (view|vrf) WORD (ipv4|ipv6)
(unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)",
bgp_route.c: "show bgp (view|vrf) WORD ipv4 (unicast|multicast)
community (AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)",
bgp_route.c: "show bgp (view|vrf) WORD (ipv4|ipv6)
(unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)",
bgp_route.c: "show bgp (view|vrf) WORD ipv4 (unicast|multicast)
community (AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)",
bgp_route.c: "show bgp (view|vrf) WORD (ipv4|ipv6)
(unicast|multicast) community (AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)",
bgp_route.c: "show bgp (view|vrf) WORD ipv4 (unicast|multicast)
community (AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)
(AA:NN|local-AS|no-advertise|no-export)",
bgp_route.c: "show bgp (view|vrf) WORD (ipv4|ipv6)
(unicast|multicast) statistics",
bgp_route.c: "show bgp (view|vrf) WORD (ipv4) (vpnv4) statistics",
bgp_route.c: "show ip bgp (view|vrf) WORD neighbors
(A.B.C.D|X:X::X:X|WORD) advertised-routes {json}",
bgp_route.c: "show bgp (view|vrf) WORD neighbors
(A.B.C.D|X:X::X:X|WORD) advertised-routes {json}",
bgp_route.c: "show bgp (view|vrf) WORD ipv6 neighbors
(A.B.C.D|X:X::X:X|WORD) advertised-routes {json}",
bgp_route.c: "show bgp (view|vrf) WORD neighbors
(A.B.C.D|X:X::X:X|WORD) received-routes {json}",
bgp_route.c: "show ip bgp (view|vrf) WORD neighbors
(A.B.C.D|X:X::X:X|WORD) received-routes {json}",
bgp_route.c: "show bgp (view|vrf) WORD ipv6 neighbors
(A.B.C.D|X:X::X:X|WORD) received-routes {json}",
bgp_route.c: "show bgp (view|vrf) WORD (ipv4|ipv6)
(unicast|multicast) neighbors (A.B.C.D|X:X::X:X|WORD)
(advertised-routes|received-routes) {json}",
bgp_route.c: "show bgp (view|vrf) WORD ipv4 (unicast|multicast)
neighbors (A.B.C.D|X:X::X:X|WORD) (advertised-routes|received-routes)
{json}",
bgp_route.c: "show bgp (view|vrf) WORD neighbors
(A.B.C.D|X:X::X:X|WORD) received prefix-filter {json}",
bgp_route.c: "show bgp (view|vrf) WORD ipv6 neighbors
(A.B.C.D|X:X::X:X|WORD) received prefix-filter {json}",
bgp_route.c: "show bgp (view|vrf) WORD neighbors
(A.B.C.D|X:X::X:X|WORD) routes {json}",
bgp_route.c: "show bgp (view|vrf) WORD ipv6 neighbors
(A.B.C.D|X:X::X:X|WORD) routes {json}",
bgp_route.c: "show bgp (view|vrf) WORD neighbors
(A.B.C.D|X:X::X:X|WORD) dampened-routes {json}",
bgp_route.c: "show bgp (view|vrf) WORD ipv6 neighbors
(A.B.C.D|X:X::X:X|WORD) dampened-routes {json}",
bgp_route.c: "show bgp (view|vrf) WORD neighbors
(A.B.C.D|X:X::X:X|WORD) flap-statistics {json}",
bgp_route.c: "show bgp (view|vrf) WORD ipv6 neighbors
(A.B.C.D|X:X::X:X|WORD) flap-statistics {json}",
bgp_vty.c: "router bgp " CMD_AS_RANGE " (view|vrf) WORD",
bgp_vty.c: "no router bgp " CMD_AS_RANGE " (view|vrf) WORD",
bgp_vty.c: "clear ip bgp (view|vrf) WORD *",
bgp_vty.c: "clear bgp (view|vrf) WORD *",
bgp_vty.c: "clear ip bgp (view|vrf) WORD * soft out",
bgp_vty.c: "clear ip bgp (view|vrf) WORD * ipv4 (unicast|multicast)
soft out",
bgp_vty.c: "clear bgp (view|vrf) WORD * soft out",
bgp_vty.c: "clear ip bgp (view|vrf) WORD * soft in",
bgp_vty.c: "clear ip bgp (view|vrf) WORD * in prefix-filter",
bgp_vty.c: "clear ip bgp (view|vrf) WORD * ipv4 (unicast|multicast)
soft in",
bgp_vty.c: "clear ip bgp (view|vrf) WORD * ipv4 (unicast|multicast)
in prefix-filter",
bgp_vty.c: "clear bgp (view|vrf) WORD * soft in",
bgp_vty.c: "clear ip bgp (view|vrf) WORD * soft",
bgp_vty.c: "clear ip bgp (view|vrf) WORD * ipv4 (unicast|multicast)
soft",
bgp_vty.c: "clear bgp (view|vrf) WORD * soft",
bgp_vty.c: "show ip bgp (view|vrf) WORD summary {json}",
bgp_vty.c: "show bgp (view|vrf) WORD summary {json}",
bgp_vty.c: "show bgp (view|vrf) WORD ipv6 summary {json}",
bgp_vty.c: "show bgp (view|vrf) WORD ipv6 (unicast|multicast) summary
{json}",
bgp_vty.c: "show ip bgp (view|vrf) WORD neighbors {json}",
bgp_vty.c: "show bgp (view|vrf) WORD neighbors {json}",
bgp_vty.c: "show bgp (view|vrf) WORD ipv6 neighbors {json}",
bgp_vty.c: "show ip bgp (view|vrf) WORD neighbors
(A.B.C.D|X:X::X:X|WORD) {json}",
bgp_vty.c: "show bgp (view|vrf) WORD neighbors
(A.B.C.D|X:X::X:X|WORD) {json}",
bgp_vty.c: "show bgp (view|vrf) WORD ipv6 neighbors
(A.B.C.D|X:X::X:X|WORD) {json}",
bgp_vty.c: "show ip bgp (view|vrf) WORD peer-group",
bgp_vty.c: "show ip bgp (view|vrf) WORD peer-group WORD",
interface.c: "interface IFNAME " VRF_CMD_STR,
interface.c: "show interface " VRF_CMD_STR,
interface.c: "show interface IFNAME " VRF_CMD_STR,
interface.c: "show interface description " VRF_CMD_STR,
router-id.c: "router-id A.B.C.D " VRF_CMD_STR,
router-id.c: "no router-id A.B.C.D " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) "
VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag
<1-65535> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (A.B.C.D|INTERFACE)
(reject|blackhole) " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (A.B.C.D|INTERFACE)
(reject|blackhole) tag <1-65535> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (reject|blackhole) " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (reject|blackhole) tag <1-65535> "
VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) "
VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag
<1-65535> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE)
(reject|blackhole) " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE)
(reject|blackhole) tag <1-65535> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (reject|blackhole) "
VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (reject|blackhole) tag
<1-65535> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) <1-255> "
VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag
<1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (A.B.C.D|INTERFACE)
(reject|blackhole) <1-255> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (A.B.C.D|INTERFACE)
(reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (reject|blackhole) <1-255> "
VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D/M (reject|blackhole) tag <1-65535>
<1-255> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0)
<1-255> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) tag
<1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE)
(reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE)
(reject|blackhole) <1-255> " VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (reject|blackhole) <1-255> "
VRF_CMD_STR,
zebra_vty.c: "ip route A.B.C.D A.B.C.D (reject|blackhole) tag
<1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) "
VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (A.B.C.D|INTERFACE)
(reject|blackhole) " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag
<1-65535> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (A.B.C.D|INTERFACE)
(reject|blackhole) tag <1-65535> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (reject|blackhole) " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (reject|blackhole) tag <1-65535>
" VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0) "
VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE)
(reject|blackhole) " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0)
tag <1-65535> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE)
(reject|blackhole) tag <1-65535> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (reject|blackhole) "
VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (reject|blackhole) tag
<1-65535> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) <1-255>
" VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (A.B.C.D|INTERFACE|null0) tag
<1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (A.B.C.D|INTERFACE)
(reject|blackhole) <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (A.B.C.D|INTERFACE)
(reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (reject|blackhole) <1-255> "
VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D/M (reject|blackhole) tag <1-65535>
<1-255> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0)
<1-255> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE|null0)
tag <1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE)
(reject|blackhole) <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (A.B.C.D|INTERFACE)
(reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (reject|blackhole) <1-255>
" VRF_CMD_STR,
zebra_vty.c: "no ip route A.B.C.D A.B.C.D (reject|blackhole) tag
<1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "show ip route " VRF_CMD_STR,
zebra_vty.c: "show ip route A.B.C.D/M longer-prefixes " VRF_CMD_STR,
zebra_vty.c: "show ip route supernets-only " VRF_CMD_STR,
zebra_vty.c: "show ip route " QUAGGA_IP_REDIST_STR_ZEBRA " "
VRF_CMD_STR,
zebra_vty.c: "show ip route A.B.C.D " VRF_CMD_STR,
zebra_vty.c: "show ip route A.B.C.D/M " VRF_CMD_STR,
zebra_vty.c: "show ip route summary " VRF_CMD_STR,
zebra_vty.c: "show ip route summary prefix " VRF_CMD_STR,
zebra_vty.c: "show ip mroute " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) "
VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag
<1-65535> " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE)
(reject|blackhole) " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE)
(reject|blackhole) tag <1-65535> " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M X:X::X:X INTERFACE " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535>
" VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M X:X::X:X INTERFACE
(reject|blackhole) " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M X:X::X:X INTERFACE
(reject|blackhole) tag <1-65535> " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) <1-255> "
VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag
<1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE)
(reject|blackhole) <1-255> " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE)
(reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M X:X::X:X INTERFACE <1-255> "
VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag <1-65535>
<1-255> " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M X:X::X:X INTERFACE
(reject|blackhole) <1-255> " VRF_CMD_STR,
zebra_vty.c: "ipv6 route X:X::X:X/M X:X::X:X INTERFACE
(reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) "
VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag
<1-65535> " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE)
(reject|blackhole) " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE)
(reject|blackhole) tag <1-65535> " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE "
VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag
<1-65535> " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE
(reject|blackhole) " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE
(reject|blackhole) tag <1-65535> " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) <1-255> "
VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE) tag
<1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE)
(reject|blackhole) <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M (X:X::X:X|INTERFACE)
(reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE <1-255> "
VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE tag
<1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE
(reject|blackhole) <1-255> " VRF_CMD_STR,
zebra_vty.c: "no ipv6 route X:X::X:X/M X:X::X:X INTERFACE
(reject|blackhole) tag <1-65535> <1-255> " VRF_CMD_STR,
zebra_vty.c: "show ipv6 route " VRF_CMD_STR,
zebra_vty.c: "show ipv6 route X:X::X:X/M longer-prefixes "
VRF_CMD_STR,
zebra_vty.c: "show ipv6 route " QUAGGA_IP6_REDIST_STR_ZEBRA " "
VRF_CMD_STR,
zebra_vty.c: "show ipv6 route X:X::X:X " VRF_CMD_STR,
zebra_vty.c: "show ipv6 route X:X::X:X/M " VRF_CMD_STR,
zebra_vty.c: "show ipv6 route summary " VRF_CMD_STR,
zebra_vty.c: "show ipv6 route summary prefix " VRF_CMD_STR,
zebra_vty.c: "show ipv6 mroute " VRF_CMD_STR,
_______________________________________________
Quagga-dev mailing list
[email protected]
https://lists.quagga.net/mailman/listinfo/quagga-dev