summaryrefslogtreecommitdiffstats
path: root/zebra
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2015-01-22 19:03:53 +0100
committerDonald Sharp <sharpd@cumulusnetwroks.com>2016-05-26 02:38:31 +0200
commitb8a969154838b6875799f6a1851b7df9d78b3cf9 (patch)
tree71c30a15963ba0308a162563538e18f88521ea2d /zebra
parentzebra: mrib: static route support (diff)
downloadfrr-b8a969154838b6875799f6a1851b7df9d78b3cf9.tar.xz
frr-b8a969154838b6875799f6a1851b7df9d78b3cf9.zip
zebra: fix optional distance on static mrib route
Unfortunately, the quagga CLI parser doesn't support [<1-255>]. Fix by working around with an alias. Replaces the following commits: - zebra: mrib: [no] ip mroute - require distance. - zebra: mrib: [no] ip mroute - make distance optional. (Rewritten as alias) Cc: Everton Marques <everton.marques@gmail.com> Cc: Balaji G <balajig81@gmail.com> Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'zebra')
-rw-r--r--zebra/zebra_vty.c37
1 files changed, 29 insertions, 8 deletions
diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c
index 14025e7f3..597476296 100644
--- a/zebra/zebra_vty.c
+++ b/zebra/zebra_vty.c
@@ -167,9 +167,9 @@ zebra_static_ipv4 (struct vty *vty, safi_t safi, int add_cmd,
}
/* Static unicast routes for multicast RPF lookup. */
-DEFUN (ip_mroute,
- ip_mroute_cmd,
- "ip mroute A.B.C.D/M (A.B.C.D|INTERFACE) [<1-255>]",
+DEFUN (ip_mroute_dist,
+ ip_mroute_dist_cmd,
+ "ip mroute A.B.C.D/M (A.B.C.D|INTERFACE) <1-255>",
IP_STR
"Configure static unicast route into MRIB for multicast RPF lookup\n"
"IP destination prefix (e.g. 10.0.0.0/8)\n"
@@ -177,12 +177,21 @@ DEFUN (ip_mroute,
"Nexthop interface name\n"
"Distance\n")
{
- return zebra_static_ipv4 (vty, SAFI_MULTICAST, 1, argv[0], NULL, argv[1], NULL, NULL, argv[2], NULL);
+ return zebra_static_ipv4 (vty, SAFI_MULTICAST, 1, argv[0], NULL, argv[1], NULL, NULL, argc > 2 ? argv[2] : NULL, NULL);
}
-DEFUN (no_ip_mroute,
- no_ip_mroute_cmd,
- "no ip mroute A.B.C.D/M (A.B.C.D|INTERFACE) [<1-255>]",
+ALIAS (ip_mroute_dist,
+ ip_mroute_cmd,
+ "ip mroute A.B.C.D/M (A.B.C.D|INTERFACE)",
+ IP_STR
+ "Configure static unicast route into MRIB for multicast RPF lookup\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "Nexthop address\n"
+ "Nexthop interface name\n")
+
+DEFUN (no_ip_mroute_dist,
+ no_ip_mroute_dist_cmd,
+ "no ip mroute A.B.C.D/M (A.B.C.D|INTERFACE) <1-255>",
IP_STR
"Configure static unicast route into MRIB for multicast RPF lookup\n"
"IP destination prefix (e.g. 10.0.0.0/8)\n"
@@ -190,9 +199,19 @@ DEFUN (no_ip_mroute,
"Nexthop interface name\n"
"Distance\n")
{
- return zebra_static_ipv4 (vty, SAFI_MULTICAST, 0, argv[0], NULL, argv[1], NULL, NULL, argv[2], NULL);
+ return zebra_static_ipv4 (vty, SAFI_MULTICAST, 0, argv[0], NULL, argv[1], NULL, NULL, argc > 2 ? argv[2] : NULL, NULL);
}
+ALIAS (no_ip_mroute_dist,
+ no_ip_mroute_cmd,
+ "no ip mroute A.B.C.D/M (A.B.C.D|INTERFACE)",
+ NO_STR
+ IP_STR
+ "Configure static unicast route into MRIB for multicast RPF lookup\n"
+ "IP destination prefix (e.g. 10.0.0.0/8)\n"
+ "Nexthop address\n"
+ "Nexthop interface name\n")
+
DEFUN (show_ip_rpf,
show_ip_rpf_cmd,
"show ip rpf",
@@ -5827,7 +5846,9 @@ zebra_vty_init (void)
install_element (CONFIG_NODE, &allow_external_route_update_cmd);
install_element (CONFIG_NODE, &no_allow_external_route_update_cmd);
install_element (CONFIG_NODE, &ip_mroute_cmd);
+ install_element (CONFIG_NODE, &ip_mroute_dist_cmd);
install_element (CONFIG_NODE, &no_ip_mroute_cmd);
+ install_element (CONFIG_NODE, &no_ip_mroute_dist_cmd);
install_element (CONFIG_NODE, &ip_route_cmd);
install_element (CONFIG_NODE, &ip_route_tag_cmd);
install_element (CONFIG_NODE, &ip_route_flags_cmd);