diff options
| -rw-r--r-- | bgpd/bgp_mplsvpn.c | 1 | ||||
| -rw-r--r-- | bgpd/bgp_route.c | 3 | ||||
| -rw-r--r-- | bgpd/bgp_routemap.c | 2 | ||||
| -rw-r--r-- | bgpd/bgp_vty.c | 118 | ||||
| -rw-r--r-- | bgpd/rfapi/bgp_rfapi_cfg.c | 5 | ||||
| -rw-r--r-- | bgpd/rfapi/rfapi_vty.c | 2 | ||||
| -rw-r--r-- | isisd/isis_redist.c | 4 | ||||
| -rwxr-xr-x | lib/route_types.pl | 2 | ||||
| -rw-r--r-- | ospf6d/ospf6_asbr.c | 6 | ||||
| -rw-r--r-- | ospfd/ospf_vty.c | 8 | ||||
| -rw-r--r-- | pimd/pim_cmd.c | 77 | ||||
| -rw-r--r-- | ripd/rip_zebra.c | 16 | ||||
| -rw-r--r-- | ripngd/ripng_zebra.c | 10 | ||||
| -rw-r--r-- | tests/bgp_capability_test.c | 2 | ||||
| -rwxr-xr-x | vtysh/extract.pl.in | 10 | ||||
| -rw-r--r-- | vtysh/vtysh.c | 66 | ||||
| -rw-r--r-- | zebra/zebra_routemap.c | 16 | ||||
| -rw-r--r-- | zebra/zebra_vty.c | 8 |
18 files changed, 191 insertions, 165 deletions
diff --git a/bgpd/bgp_mplsvpn.c b/bgpd/bgp_mplsvpn.c index d13de9b9e6..cfdb9f3ce6 100644 --- a/bgpd/bgp_mplsvpn.c +++ b/bgpd/bgp_mplsvpn.c @@ -1001,6 +1001,7 @@ DEFUN (show_ip_bgp_vpn_rd, IP_STR BGP_STR BGP_AFI_HELP_STR + "Address Family modifier\n" "Display information for a route distinguisher\n" "VPN Route Distinguisher\n") { diff --git a/bgpd/bgp_route.c b/bgpd/bgp_route.c index ba95fd3cb9..a8217bca1e 100644 --- a/bgpd/bgp_route.c +++ b/bgpd/bgp_route.c @@ -7865,6 +7865,9 @@ bgp_show_route (struct vty *vty, struct bgp *bgp, const char *ip_str, int prefix_check, enum bgp_path_type pathtype, u_char use_json) { + if (!bgp) + bgp = bgp_get_default (); + return bgp_show_route_in_table (vty, bgp, bgp->rib[afi][safi], ip_str, afi, safi, prd, prefix_check, pathtype, use_json); diff --git a/bgpd/bgp_routemap.c b/bgpd/bgp_routemap.c index 8f2486314a..6bfb180229 100644 --- a/bgpd/bgp_routemap.c +++ b/bgpd/bgp_routemap.c @@ -3992,7 +3992,7 @@ DEFUN (set_lcommunity_delete, DEFUN (no_set_lcommunity_delete, no_set_lcommunity_delete_cmd, - "no set large-comm-list <(1-99|(100-500)|WORD)> [delete]", + "no set large-comm-list <(1-99)|(100-500)|WORD> [delete]", NO_STR SET_STR "set BGP large community list (for deletion)\n" diff --git a/bgpd/bgp_vty.c b/bgpd/bgp_vty.c index 94809d69f5..15d26af0b5 100644 --- a/bgpd/bgp_vty.c +++ b/bgpd/bgp_vty.c @@ -5573,80 +5573,68 @@ DEFUN (no_neighbor_addpath_tx_bestpath_per_as, PEER_FLAG_ADDPATH_TX_BESTPATH_PER_AS); } - -/* Address Family configuration. */ -DEFUN (address_family_ipv4, - address_family_ipv4_cmd, - "address-family ipv4", - "Enter Address Family command mode\n" - "Address Family\n") -{ - vty->node = BGP_IPV4_NODE; - return CMD_SUCCESS; -} - DEFUN (address_family_ipv4_safi, address_family_ipv4_safi_cmd, - "address-family ipv4 "BGP_SAFI_CMD_STR, + "address-family ipv4 [<unicast|multicast|vpn|encap>]", "Enter Address Family command mode\n" "Address Family\n" BGP_SAFI_HELP_STR) { int idx_safi = 2; - switch (bgp_vty_safi_from_arg(argv[idx_safi]->arg)) + if (argc == (idx_safi + 1)) { - case SAFI_MULTICAST: - vty->node = BGP_IPV4M_NODE; - break; - case SAFI_ENCAP: - vty->node = BGP_ENCAP_NODE; - break; - case SAFI_MPLS_VPN: - vty->node = BGP_VPNV4_NODE; - break; - case SAFI_UNICAST: - default: - vty->node = BGP_IPV4_NODE; - break; + switch (bgp_vty_safi_from_arg(argv[idx_safi]->arg)) + { + case SAFI_MULTICAST: + vty->node = BGP_IPV4M_NODE; + break; + case SAFI_ENCAP: + vty->node = BGP_ENCAP_NODE; + break; + case SAFI_MPLS_VPN: + vty->node = BGP_VPNV4_NODE; + break; + case SAFI_UNICAST: + default: + vty->node = BGP_IPV4_NODE; + break; + } } + else + vty->node = BGP_IPV4_NODE; return CMD_SUCCESS; } -DEFUN (address_family_ipv6, - address_family_ipv6_cmd, - "address-family ipv6", - "Enter Address Family command mode\n" - "Address Family\n") -{ - vty->node = BGP_IPV6_NODE; - return CMD_SUCCESS; -} - DEFUN (address_family_ipv6_safi, address_family_ipv6_safi_cmd, - "address-family ipv6 "BGP_SAFI_CMD_STR, + "address-family ipv6 [<unicast|multicast|vpn|encap>]", "Enter Address Family command mode\n" "Address Family\n" BGP_SAFI_HELP_STR) { int idx_safi = 2; - switch (bgp_vty_safi_from_arg(argv[idx_safi]->arg)) + if (argc == (idx_safi + 1)) { - case SAFI_MULTICAST: - vty->node = BGP_IPV6M_NODE; - break; - case SAFI_ENCAP: - vty->node = BGP_ENCAPV6_NODE; - break; - case SAFI_MPLS_VPN: - vty->node = BGP_VPNV6_NODE; - break; - case SAFI_UNICAST: - default: - vty->node = BGP_IPV6_NODE; - break; + switch (bgp_vty_safi_from_arg(argv[idx_safi]->arg)) + { + case SAFI_MULTICAST: + vty->node = BGP_IPV6M_NODE; + break; + case SAFI_ENCAP: + vty->node = BGP_ENCAPV6_NODE; + break; + case SAFI_MPLS_VPN: + vty->node = BGP_VPNV6_NODE; + break; + case SAFI_UNICAST: + default: + vty->node = BGP_IPV6_NODE; + break; + } } + else + vty->node = BGP_IPV6_NODE; return CMD_SUCCESS; } @@ -9345,7 +9333,7 @@ DEFUN (show_ip_bgp_peer_groups, DEFUN (bgp_redistribute_ipv4, bgp_redistribute_ipv4_cmd, - "redistribute <kernel|connected|static|rip|ospf|isis|pim|table>", + "redistribute " FRR_IP_REDIST_STR_BGPD, "Redistribute information from another routing protocol\n" FRR_IP_REDIST_HELP_STR_BGPD) { @@ -9365,7 +9353,7 @@ DEFUN (bgp_redistribute_ipv4, DEFUN (bgp_redistribute_ipv4_rmap, bgp_redistribute_ipv4_rmap_cmd, - "redistribute <kernel|connected|static|rip|ospf|isis|pim|table> route-map WORD", + "redistribute " FRR_IP_REDIST_STR_BGPD " route-map WORD", "Redistribute information from another routing protocol\n" FRR_IP_REDIST_HELP_STR_BGPD "Route map reference\n" @@ -9391,7 +9379,7 @@ DEFUN (bgp_redistribute_ipv4_rmap, DEFUN (bgp_redistribute_ipv4_metric, bgp_redistribute_ipv4_metric_cmd, - "redistribute <kernel|connected|static|rip|ospf|isis|pim|table> metric (0-4294967295)", + "redistribute " FRR_IP_REDIST_STR_BGPD " metric (0-4294967295)", "Redistribute information from another routing protocol\n" FRR_IP_REDIST_HELP_STR_BGPD "Metric for redistributed routes\n" @@ -9419,7 +9407,7 @@ DEFUN (bgp_redistribute_ipv4_metric, DEFUN (bgp_redistribute_ipv4_rmap_metric, bgp_redistribute_ipv4_rmap_metric_cmd, - "redistribute <kernel|connected|static|rip|ospf|isis|pim|table> route-map WORD metric (0-4294967295)", + "redistribute " FRR_IP_REDIST_STR_BGPD " route-map WORD metric (0-4294967295)", "Redistribute information from another routing protocol\n" FRR_IP_REDIST_HELP_STR_BGPD "Route map reference\n" @@ -9451,7 +9439,7 @@ DEFUN (bgp_redistribute_ipv4_rmap_metric, DEFUN (bgp_redistribute_ipv4_metric_rmap, bgp_redistribute_ipv4_metric_rmap_cmd, - "redistribute <kernel|connected|static|rip|ospf|isis|pim|table> metric (0-4294967295) route-map WORD", + "redistribute " FRR_IP_REDIST_STR_BGPD " metric (0-4294967295) route-map WORD", "Redistribute information from another routing protocol\n" FRR_IP_REDIST_HELP_STR_BGPD "Metric for redistributed routes\n" @@ -9669,7 +9657,7 @@ DEFUN (no_bgp_redistribute_ipv4_ospf, DEFUN (no_bgp_redistribute_ipv4, no_bgp_redistribute_ipv4_cmd, - "no redistribute <kernel|connected|static|rip|ospf|isis|pim|table> [metric (0-4294967295)] [route-map WORD]", + "no redistribute " FRR_IP_REDIST_STR_BGPD " [metric (0-4294967295)] [route-map WORD]", NO_STR "Redistribute information from another routing protocol\n" FRR_IP_REDIST_HELP_STR_BGPD @@ -9693,7 +9681,7 @@ DEFUN (no_bgp_redistribute_ipv4, DEFUN (bgp_redistribute_ipv6, bgp_redistribute_ipv6_cmd, - "redistribute <kernel|connected|static|ripng|ospf6|isis|table>", + "redistribute " FRR_IP6_REDIST_STR_BGPD, "Redistribute information from another routing protocol\n" FRR_IP6_REDIST_HELP_STR_BGPD) { @@ -9714,7 +9702,7 @@ DEFUN (bgp_redistribute_ipv6, DEFUN (bgp_redistribute_ipv6_rmap, bgp_redistribute_ipv6_rmap_cmd, - "redistribute <kernel|connected|static|ripng|ospf6|isis|table> route-map WORD", + "redistribute " FRR_IP6_REDIST_STR_BGPD " route-map WORD", "Redistribute information from another routing protocol\n" FRR_IP6_REDIST_HELP_STR_BGPD "Route map reference\n" @@ -9740,7 +9728,7 @@ DEFUN (bgp_redistribute_ipv6_rmap, DEFUN (bgp_redistribute_ipv6_metric, bgp_redistribute_ipv6_metric_cmd, - "redistribute <kernel|connected|static|ripng|ospf6|isis|table> metric (0-4294967295)", + "redistribute " FRR_IP6_REDIST_STR_BGPD " metric (0-4294967295)", "Redistribute information from another routing protocol\n" FRR_IP6_REDIST_HELP_STR_BGPD "Metric for redistributed routes\n" @@ -9768,7 +9756,7 @@ DEFUN (bgp_redistribute_ipv6_metric, DEFUN (bgp_redistribute_ipv6_rmap_metric, bgp_redistribute_ipv6_rmap_metric_cmd, - "redistribute <kernel|connected|static|ripng|ospf6|isis|table> route-map WORD metric (0-4294967295)", + "redistribute " FRR_IP6_REDIST_STR_BGPD " route-map WORD metric (0-4294967295)", "Redistribute information from another routing protocol\n" FRR_IP6_REDIST_HELP_STR_BGPD "Route map reference\n" @@ -9800,7 +9788,7 @@ DEFUN (bgp_redistribute_ipv6_rmap_metric, DEFUN (bgp_redistribute_ipv6_metric_rmap, bgp_redistribute_ipv6_metric_rmap_cmd, - "redistribute <kernel|connected|static|ripng|ospf6|isis|table> metric (0-4294967295) route-map WORD", + "redistribute " FRR_IP6_REDIST_STR_BGPD " metric (0-4294967295) route-map WORD", "Redistribute information from another routing protocol\n" FRR_IP6_REDIST_HELP_STR_BGPD "Metric for redistributed routes\n" @@ -9832,7 +9820,7 @@ DEFUN (bgp_redistribute_ipv6_metric_rmap, DEFUN (no_bgp_redistribute_ipv6, no_bgp_redistribute_ipv6_cmd, - "no redistribute <kernel|connected|static|ripng|ospf6|isis|table> [metric (0-4294967295)] [route-map WORD]", + "no redistribute " FRR_IP6_REDIST_STR_BGPD " [metric (0-4294967295)] [route-map WORD]", NO_STR "Redistribute information from another routing protocol\n" FRR_IP6_REDIST_HELP_STR_BGPD @@ -10814,9 +10802,7 @@ bgp_vty_init (void) install_element (BGP_ENCAPV6_NODE, &no_neighbor_allowas_in_cmd); /* address-family commands. */ - install_element (BGP_NODE, &address_family_ipv4_cmd); install_element (BGP_NODE, &address_family_ipv4_safi_cmd); - install_element (BGP_NODE, &address_family_ipv6_cmd); install_element (BGP_NODE, &address_family_ipv6_safi_cmd); #ifdef KEEP_OLD_VPN_COMMANDS install_element (BGP_NODE, &address_family_vpnv4_cmd); diff --git a/bgpd/rfapi/bgp_rfapi_cfg.c b/bgpd/rfapi/bgp_rfapi_cfg.c index 8ff28a39d7..bc268f6086 100644 --- a/bgpd/rfapi/bgp_rfapi_cfg.c +++ b/bgpd/rfapi/bgp_rfapi_cfg.c @@ -3353,6 +3353,7 @@ DEFUN (vnc_vrf_policy_label, DEFUN (vnc_vrf_policy_no_label, vnc_vrf_policy_no_label_cmd, "no label", + NO_STR "Remove VRF default label\n") { VTY_DECLVAR_CONTEXT_SUB(rfapi_nve_group_cfg, rfg); @@ -3880,7 +3881,7 @@ DEFUN (vnc_l2_group_lni, DEFUN (vnc_l2_group_labels, vnc_l2_group_labels_cmd, - "labels .LABELLIST", + "labels LABELLIST...", "Specify label values associated with group\n" "Space separated list of label values <0-1048575>\n") { @@ -3923,7 +3924,7 @@ DEFUN (vnc_l2_group_labels, DEFUN (vnc_l2_group_no_labels, vnc_l2_group_no_labels_cmd, - "no labels .LABELLIST", + "no labels LABELLIST...", NO_STR "Remove label values associated with L2 group\n" "Specify label values associated with L2 group\n" diff --git a/bgpd/rfapi/rfapi_vty.c b/bgpd/rfapi/rfapi_vty.c index 1e92cbcbf1..f7c3773fd4 100644 --- a/bgpd/rfapi/rfapi_vty.c +++ b/bgpd/rfapi/rfapi_vty.c @@ -5193,7 +5193,7 @@ DEFUN (add_vrf_prefix_rd_label_pref, "IPv6 prefix\n" "Override configured VRF Route Distinguisher\n" "<as-number>:<number> or <ip-address>:<number>\n" - "Override configured VRF label" + "Override configured VRF label\n" "Label Value <0-1048575>\n" "Set advertised local preference\n" "local preference (higher=more preferred)\n") diff --git a/isisd/isis_redist.c b/isisd/isis_redist.c index e368180699..bdf90aaa1e 100644 --- a/isisd/isis_redist.c +++ b/isisd/isis_redist.c @@ -540,7 +540,7 @@ isis_redist_area_finish(struct isis_area *area) DEFUN (isis_redistribute, isis_redistribute_cmd, - "redistribute <ipv4|ipv6> <kernel|connected|static|rip|ripng|ospf|ospf6|bgp|pim|table> <level-1|level-2> [<metric (0-16777215)|route-map WORD>]", + "redistribute " FRR_REDIST_STR_ISISD " <level-1|level-2> [<metric (0-16777215)|route-map WORD>]", REDIST_STR "Redistribute IPv4 routes\n" "Redistribute IPv6 routes\n" @@ -610,7 +610,7 @@ DEFUN (isis_redistribute, DEFUN (no_isis_redistribute, no_isis_redistribute_cmd, - "no redistribute <ipv4|ipv6> <kernel|connected|static|rip|ripng|ospf|ospf6|bgp|pim|table> <level-1|level-2>", + "no redistribute " FRR_REDIST_STR_ISISD " <level-1|level-2>", NO_STR REDIST_STR "Redistribute IPv4 routes\n" diff --git a/lib/route_types.pl b/lib/route_types.pl index 62c7417b84..27ca950787 100755 --- a/lib/route_types.pl +++ b/lib/route_types.pl @@ -149,7 +149,7 @@ sub collect { push @names, "any"; push @help, " \"Any of the above protocols\\n\""; } - return ("\"(" . join("|", @names) . ")\"", join(" \\\n", @help)); + return ("\"<" . join("|", @names) . ">\"", join(" \\\n", @help)); } for my $daemon (sort keys %daemons) { diff --git a/ospf6d/ospf6_asbr.c b/ospf6d/ospf6_asbr.c index 74c4802f2e..88cc07e1af 100644 --- a/ospf6d/ospf6_asbr.c +++ b/ospf6d/ospf6_asbr.c @@ -686,7 +686,7 @@ ospf6_asbr_redistribute_remove (int type, ifindex_t ifindex, DEFUN (ospf6_redistribute, ospf6_redistribute_cmd, - "redistribute <kernel|connected|static|ripng|isis|bgp|table>", + "redistribute " FRR_REDIST_STR_OSPF6D, "Redistribute\n" FRR_REDIST_HELP_STR_OSPF6D) { @@ -704,7 +704,7 @@ DEFUN (ospf6_redistribute, DEFUN (ospf6_redistribute_routemap, ospf6_redistribute_routemap_cmd, - "redistribute <kernel|connected|static|ripng|isis|bgp|table> route-map WORD", + "redistribute " FRR_REDIST_STR_OSPF6D " route-map WORD", "Redistribute\n" FRR_REDIST_HELP_STR_OSPF6D "Route map reference\n" @@ -727,7 +727,7 @@ DEFUN (ospf6_redistribute_routemap, DEFUN (no_ospf6_redistribute, no_ospf6_redistribute_cmd, - "no redistribute <kernel|connected|static|ripng|isis|bgp|table> [route-map WORD]", + "no redistribute " FRR_REDIST_STR_OSPF6D " [route-map WORD]", NO_STR "Redistribute\n" FRR_REDIST_HELP_STR_OSPF6D diff --git a/ospfd/ospf_vty.c b/ospfd/ospf_vty.c index 2a627f9221..62498f4c82 100644 --- a/ospfd/ospf_vty.c +++ b/ospfd/ospf_vty.c @@ -7091,7 +7091,7 @@ DEFUN (no_ip_ospf_area, DEFUN (ospf_redistribute_source, ospf_redistribute_source_cmd, - "redistribute <kernel|connected|static|rip|isis|bgp|pim|table> [<metric (0-16777214)|metric-type (1-2)|route-map WORD>]", + "redistribute " FRR_REDIST_STR_OSPFD " [<metric (0-16777214)|metric-type (1-2)|route-map WORD>]", REDIST_STR FRR_REDIST_HELP_STR_OSPFD "Metric for redistributed routes\n" @@ -7142,7 +7142,7 @@ DEFUN (ospf_redistribute_source, DEFUN (no_ospf_redistribute_source, no_ospf_redistribute_source_cmd, - "no redistribute <kernel|connected|static|rip|isis|bgp|pim|table> [<metric (0-16777214)|metric-type (1-2)|route-map WORD>]", + "no redistribute " FRR_REDIST_STR_OSPFD " [<metric (0-16777214)|metric-type (1-2)|route-map WORD>]", NO_STR REDIST_STR FRR_REDIST_HELP_STR_OSPFD @@ -7294,7 +7294,7 @@ DEFUN (no_ospf_redistribute_instance_source, DEFUN (ospf_distribute_list_out, ospf_distribute_list_out_cmd, - "distribute-list WORD out <kernel|connected|static|rip|isis|bgp|pim|table>", + "distribute-list WORD out " FRR_REDIST_STR_OSPFD, "Filter networks in routing updates\n" "Access-list name\n" OUT_STR @@ -7316,7 +7316,7 @@ DEFUN (ospf_distribute_list_out, DEFUN (no_ospf_distribute_list_out, no_ospf_distribute_list_out_cmd, - "no distribute-list WORD out <kernel|connected|static|rip|isis|bgp|pim|table>", + "no distribute-list WORD out " FRR_REDIST_STR_OSPFD, NO_STR "Filter networks in routing updates\n" "Access-list name\n" diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c index b8bb694b78..7e60232bac 100644 --- a/pimd/pim_cmd.c +++ b/pimd/pim_cmd.c @@ -2423,8 +2423,11 @@ DEFUN (show_ip_igmp_interface, "JavaScript Object Notation\n") { u_char uj = use_json(argc, argv); - if (argv[4]->arg) - igmp_show_interfaces_single(vty, argv[4]->arg, uj); + int idx = 0; + + if (argv_find(argv, argc, "detail", &idx) || + argv_find(argv, argc, "WORD", &idx)) + igmp_show_interfaces_single(vty, argv[idx]->arg, uj); else igmp_show_interfaces(vty, uj); @@ -2564,8 +2567,12 @@ DEFUN (show_ip_pim_interface, "JavaScript Object Notation\n") { u_char uj = use_json(argc, argv); - if (argv[4]->arg) - pim_show_interfaces_single(vty, argv[4]->arg, uj); + int idx = 0; + + if (argv_find(argv, argc, "WORD", &idx) || + argv_find(argv, argc, "detail", &idx)) + pim_show_interfaces_single(vty, argv[idx]->arg, uj); + else pim_show_interfaces(vty, uj); @@ -2614,8 +2621,11 @@ DEFUN (show_ip_pim_neighbor, "JavaScript Object Notation\n") { u_char uj = use_json(argc, argv); - if (argv[4]->arg) - pim_show_neighbors_single(vty, argv[4]->arg, uj); + int idx = 0; + + if (argv_find(argv, argc, "detail", &idx) || + argv_find(argv, argc, "WORD", &idx)) + pim_show_neighbors_single(vty, argv[idx]->arg, uj); else pim_show_neighbors(vty, uj); @@ -2637,7 +2647,7 @@ DEFUN (show_ip_pim_secondary, DEFUN (show_ip_pim_state, show_ip_pim_state_cmd, - "show ip pim state [A.B.C.D] [A.B.C.D] [json]", + "show ip pim state [A.B.C.D [A.B.C.D]] [json]", SHOW_STR IP_STR PIM_STR @@ -2649,9 +2659,16 @@ DEFUN (show_ip_pim_state, const char *src_or_group = NULL; const char *group = NULL; u_char uj = use_json(argc, argv); + if (uj) + argc--; - src_or_group = argv[4]->arg; - group = argv[5]->arg; + if (argc == 5) + { + src_or_group = argv[4]->arg; + group = argv[5]->arg; + } + else if (argc == 4) + src_or_group = argv[4]->arg; pim_show_state(vty, src_or_group, group, uj); @@ -3476,7 +3493,11 @@ DEFUN (ip_pim_rp, "Group Address range to cover\n") { int idx_ipv4 = 3; - return pim_rp_cmd_worker (vty, argv[idx_ipv4]->arg, argv[idx_ipv4 + 1]->arg, NULL); + + if (argc == (idx_ipv4 + 1)) + return pim_rp_cmd_worker (vty, argv[idx_ipv4]->arg, argv[idx_ipv4 + 1]->arg, NULL); + else + return pim_rp_cmd_worker (vty, argv[idx_ipv4]->arg, NULL, NULL); } DEFUN (ip_pim_rp_prefix_list, @@ -3530,7 +3551,11 @@ DEFUN (no_ip_pim_rp, "Group Address range to cover\n") { int idx_ipv4 = 4; - return pim_no_rp_cmd_worker (vty, argv[idx_ipv4]->arg, argv[idx_ipv4 + 1]->arg, NULL); + + if (argc == (idx_ipv4 + 1)) + return pim_no_rp_cmd_worker (vty, argv[idx_ipv4]->arg, argv[idx_ipv4 + 1]->arg, NULL); + else + return pim_no_rp_cmd_worker (vty, argv[idx_ipv4]->arg, NULL, NULL); } DEFUN (no_ip_pim_rp_prefix_list, @@ -3585,7 +3610,7 @@ DEFUN (ip_ssmpingd, int idx_ipv4 = 2; int result; struct in_addr source_addr; - const char *source_str = (argc > idx_ipv4) ? argv[idx_ipv4]->arg : "0.0.0.0"; + const char *source_str = (argc == idx_ipv4) ? argv[idx_ipv4]->arg : "0.0.0.0"; result = inet_pton(AF_INET, source_str, &source_addr); if (result <= 0) { @@ -3615,7 +3640,7 @@ DEFUN (no_ip_ssmpingd, int idx_ipv4 = 3; int result; struct in_addr source_addr; - const char *source_str = (argc > idx_ipv4) ? argv[idx_ipv4]->arg : "0.0.0.0"; + const char *source_str = (argc == idx_ipv4) ? argv[idx_ipv4]->arg : "0.0.0.0"; result = inet_pton(AF_INET, source_str, &source_addr); if (result <= 0) { @@ -3937,7 +3962,7 @@ DEFUN (interface_ip_igmp_query_interval, return CMD_WARNING; } - query_interval = atoi(argv[4]->arg); + query_interval = atoi(argv[3]->arg); query_interval_dsec = 10 * query_interval; /* @@ -4006,7 +4031,7 @@ DEFUN (interface_no_ip_igmp_query_interval, DEFUN (interface_ip_igmp_version, interface_ip_igmp_version_cmd, - "ip igmp version <2-3>", + "ip igmp version (2-3)", IP_STR IFACE_IGMP_STR "IGMP version\n" @@ -4034,7 +4059,7 @@ DEFUN (interface_ip_igmp_version, DEFUN (interface_no_ip_igmp_version, interface_no_ip_igmp_version_cmd, - "no ip igmp version <2-3>", + "no ip igmp version (2-3)", NO_STR IP_STR IFACE_IGMP_STR @@ -4079,7 +4104,7 @@ DEFUN (interface_ip_igmp_query_max_response_time, return CMD_WARNING; } - query_max_response_time = atoi(argv[4]->arg); + query_max_response_time = atoi(argv[3]->arg); if (query_max_response_time >= pim_ifp->igmp_default_query_interval * 10) { vty_out(vty, @@ -4096,7 +4121,7 @@ DEFUN (interface_ip_igmp_query_max_response_time, DEFUN (interface_no_ip_igmp_query_max_response_time, interface_no_ip_igmp_query_max_response_time_cmd, - "no ip igmp query-max-response-time <10-250>", + "no ip igmp query-max-response-time (10-250)", NO_STR IP_STR IFACE_IGMP_STR @@ -4576,7 +4601,7 @@ DEFUN (interface_ip_pim_hello, pim_ifp->pim_hello_period = strtol(argv[idx_time]->arg, NULL, 10); - if (argc > idx_hold) + if (argc == idx_hold) pim_ifp->pim_default_holdtime = strtol(argv[idx_hold]->arg, NULL, 10); return CMD_SUCCESS; @@ -5451,7 +5476,7 @@ DEFUN (no_ip_msdp_mesh_group_source, "mesh group source\n" "mesh group local address\n") { - if (argv[6]->arg) + if (argc == 6) return ip_no_msdp_mesh_group_cmd_worker(vty, argv[6]->arg); else return ip_no_msdp_mesh_group_source_cmd_worker(vty, argv[4]->arg); @@ -5696,7 +5721,10 @@ DEFUN (show_ip_msdp_peer_detail, "JavaScript Object Notation\n") { u_char uj = use_json(argc, argv); - if (argv[4]->arg) + if (uj) + argc--; + + if (argc == 4) ip_msdp_show_peers_detail(vty, argv[4]->arg, uj); else ip_msdp_show_peers(vty, uj); @@ -5948,9 +5976,12 @@ DEFUN (show_ip_msdp_sa_sg, "JavaScript Object Notation\n") { u_char uj = use_json(argc, argv); - if (argv[5]->arg) + if (uj) + argc--; + + if (argc == 5) ip_msdp_show_sa_sg(vty, argv[4]->arg, argv[5]->arg, uj); - else if (argv[4]->arg) + else if (argc == 4) ip_msdp_show_sa_addr(vty, argv[4]->arg, uj); else ip_msdp_show_sa(vty, uj); diff --git a/ripd/rip_zebra.c b/ripd/rip_zebra.c index 043f1c631e..7fa3baea7e 100644 --- a/ripd/rip_zebra.c +++ b/ripd/rip_zebra.c @@ -331,7 +331,7 @@ DEFUN (no_rip_redistribute_rip, DEFUN (rip_redistribute_type, rip_redistribute_type_cmd, - "redistribute <kernel|connected|static|ospf|isis|bgp|pim|table>", + "redistribute " FRR_REDIST_STR_RIPD, REDIST_STR FRR_REDIST_HELP_STR_RIPD) { @@ -356,7 +356,7 @@ DEFUN (rip_redistribute_type, DEFUN (no_rip_redistribute_type, no_rip_redistribute_type_cmd, - "no redistribute <kernel|connected|static|ospf|isis|bgp|pim|table>", + "no redistribute " FRR_REDIST_STR_RIPD, NO_STR REDIST_STR FRR_REDIST_HELP_STR_RIPD) @@ -383,7 +383,7 @@ DEFUN (no_rip_redistribute_type, DEFUN (rip_redistribute_type_routemap, rip_redistribute_type_routemap_cmd, - "redistribute <kernel|connected|static|ospf|isis|bgp|pim|table> route-map WORD", + "redistribute " FRR_REDIST_STR_RIPD " route-map WORD", REDIST_STR FRR_REDIST_HELP_STR_RIPD "Route map reference\n" @@ -410,7 +410,7 @@ DEFUN (rip_redistribute_type_routemap, DEFUN (no_rip_redistribute_type_routemap, no_rip_redistribute_type_routemap_cmd, - "no redistribute <kernel|connected|static|ospf|isis|bgp|pim|table> route-map WORD", + "no redistribute " FRR_REDIST_STR_RIPD " route-map WORD", NO_STR REDIST_STR FRR_REDIST_HELP_STR_RIPD @@ -438,7 +438,7 @@ DEFUN (no_rip_redistribute_type_routemap, DEFUN (rip_redistribute_type_metric, rip_redistribute_type_metric_cmd, - "redistribute <kernel|connected|static|ospf|isis|bgp|pim|table> metric (0-16)", + "redistribute " FRR_REDIST_STR_RIPD " metric (0-16)", REDIST_STR FRR_REDIST_HELP_STR_RIPD "Metric\n" @@ -468,7 +468,7 @@ DEFUN (rip_redistribute_type_metric, DEFUN (no_rip_redistribute_type_metric, no_rip_redistribute_type_metric_cmd, - "no redistribute <kernel|connected|static|ospf|isis|bgp|pim|table> metric (0-16)", + "no redistribute " FRR_REDIST_STR_RIPD " metric (0-16)", NO_STR REDIST_STR FRR_REDIST_HELP_STR_RIPD @@ -496,7 +496,7 @@ DEFUN (no_rip_redistribute_type_metric, DEFUN (rip_redistribute_type_metric_routemap, rip_redistribute_type_metric_routemap_cmd, - "redistribute <kernel|connected|static|ospf|isis|bgp|pim|table> metric (0-16) route-map WORD", + "redistribute " FRR_REDIST_STR_RIPD " metric (0-16) route-map WORD", REDIST_STR FRR_REDIST_HELP_STR_RIPD "Metric\n" @@ -531,7 +531,7 @@ DEFUN (rip_redistribute_type_metric_routemap, DEFUN (no_rip_redistribute_type_metric_routemap, no_rip_redistribute_type_metric_routemap_cmd, - "no redistribute <kernel|connected|static|ospf|isis|bgp|pim|table> metric (0-16) route-map WORD", + "no redistribute " FRR_REDIST_STR_RIPD " metric (0-16) route-map WORD", NO_STR REDIST_STR FRR_REDIST_HELP_STR_RIPD diff --git a/ripngd/ripng_zebra.c b/ripngd/ripng_zebra.c index bb8fed3e93..5de785a6b8 100644 --- a/ripngd/ripng_zebra.c +++ b/ripngd/ripng_zebra.c @@ -315,7 +315,7 @@ DEFUN (no_ripng_redistribute_ripng, DEFUN (ripng_redistribute_type, ripng_redistribute_type_cmd, - "redistribute <kernel|connected|static|ospf6|isis|bgp|table>", + "redistribute " FRR_REDIST_STR_RIPNGD, "Redistribute\n" FRR_REDIST_HELP_STR_RIPNGD) { @@ -336,7 +336,7 @@ DEFUN (ripng_redistribute_type, DEFUN (no_ripng_redistribute_type, no_ripng_redistribute_type_cmd, - "no redistribute <kernel|connected|static|ospf6|isis|bgp|table> [metric (0-16)] [route-map WORD]", + "no redistribute " FRR_REDIST_STR_RIPNGD " [metric (0-16)] [route-map WORD]", NO_STR "Redistribute\n" FRR_REDIST_HELP_STR_RIPNGD @@ -364,7 +364,7 @@ DEFUN (no_ripng_redistribute_type, DEFUN (ripng_redistribute_type_metric, ripng_redistribute_type_metric_cmd, - "redistribute <kernel|connected|static|ospf6|isis|bgp|table> metric (0-16)", + "redistribute " FRR_REDIST_STR_RIPNGD " metric (0-16)", "Redistribute\n" FRR_REDIST_HELP_STR_RIPNGD "Metric\n" @@ -392,7 +392,7 @@ DEFUN (ripng_redistribute_type_metric, DEFUN (ripng_redistribute_type_routemap, ripng_redistribute_type_routemap_cmd, - "redistribute <kernel|connected|static|ospf6|isis|bgp|table> route-map WORD", + "redistribute " FRR_REDIST_STR_RIPNGD " route-map WORD", "Redistribute\n" FRR_REDIST_HELP_STR_RIPNGD "Route map reference\n" @@ -418,7 +418,7 @@ DEFUN (ripng_redistribute_type_routemap, DEFUN (ripng_redistribute_type_metric_routemap, ripng_redistribute_type_metric_routemap_cmd, - "redistribute <kernel|connected|static|ospf6|isis|bgp|table> metric (0-16) route-map WORD", + "redistribute " FRR_REDIST_STR_RIPNGD " metric (0-16) route-map WORD", "Redistribute\n" FRR_REDIST_HELP_STR_RIPNGD "Metric\n" diff --git a/tests/bgp_capability_test.c b/tests/bgp_capability_test.c index 3ee6a121e4..f83dee5e1c 100644 --- a/tests/bgp_capability_test.c +++ b/tests/bgp_capability_test.c @@ -589,7 +589,7 @@ parse_test (struct peer *peer, struct test_segment *t, int type) safi_t safi; /* Convert AFI, SAFI to internal values, check. */ - if (bgp_map_afi_safi_iana2int (t->afi, t->safi, &afi, &safi)) + if (bgp_map_afi_safi_iana2int (afi_int2iana(t->afi), t->safi, &afi, &safi)) { if (t->afi_valid == VALID_AFI) failed++; diff --git a/vtysh/extract.pl.in b/vtysh/extract.pl.in index d38ea60a03..5b23b2440a 100755 --- a/vtysh/extract.pl.in +++ b/vtysh/extract.pl.in @@ -54,18 +54,14 @@ $ignore{'"router bgp [(1-4294967295) [<view|vrf> WORD]]"'} = "ignore"; $ignore{'"router isis WORD"'} = "ignore"; $ignore{'"router zebra"'} = "ignore"; $ignore{'"address-family ipv4"'} = "ignore"; -$ignore{'"address-family ipv4 <unicast|multicast>"'} = "ignore"; +$ignore{'"address-family ipv4 [<unicast|multicast|vpn|encap>]"'} = "ignore"; $ignore{'"address-family ipv6"'} = "ignore"; -$ignore{'"address-family ipv6 <unicast|multicast>"'} = "ignore"; -$ignore{'"address-family ipv4 vpn"'} = "ignore"; +$ignore{'"address-family ipv6 [<unicast|multicast|vpn|encap>]"'} = "ignore"; $ignore{'"address-family vpnv4"'} = "ignore"; $ignore{'"address-family vpnv4 unicast"'} = "ignore"; $ignore{'"address-family ipv4 vrf NAME"'} = "ignore"; $ignore{'"address-family <encap|encapv4>"'} = "ignore"; $ignore{'"address-family encapv6"'} = "ignore"; -$ignore{'"address-family ipv4 encap"'} = "ignore"; -$ignore{'"address-family ipv6 encap"'} = "ignore"; -$ignore{'"address-family ipv6 vpn"'} = "ignore"; $ignore{'"address-family vpnv6"'} = "ignore"; $ignore{'"address-family vpnv6 unicast"'} = "ignore"; $ignore{'"exit-address-family"'} = "ignore"; @@ -87,6 +83,8 @@ $ignore{'"router ospf [(1-65535)]"'} = "ignore"; $ignore{'"address-family vpnv6 [unicast]"'} = "ignore"; $ignore{'"address-family vpnv4 [unicast]"'} = "ignore"; $ignore{'"logical-router (1-65535) ns NAME"'} = "ignore"; +$ignore{'"vrf-policy NAME"' } = "ignore"; +$ignore{'"exit-vrf-policy"' } = "ignore"; my $cli_stomp = 0; diff --git a/vtysh/vtysh.c b/vtysh/vtysh.c index 51b5091c57..1db3dca352 100644 --- a/vtysh/vtysh.c +++ b/vtysh/vtysh.c @@ -1149,48 +1149,56 @@ DEFUNSH (VTYSH_BGPD, DEFUNSH (VTYSH_BGPD, address_family_ipv4_unicast, address_family_ipv4_unicast_cmd, - "address-family ipv4 unicast", + "address-family ipv4 [<unicast|multicast|vpn|encap>]", "Enter Address Family command mode\n" "Address Family\n" - "Address Family Modifier\n") + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n") { - vty->node = BGP_IPV4_NODE; - return CMD_SUCCESS; -} + int idx = 0; + + if (argv_find (argv, argc, "multicast", &idx)) + vty->node = BGP_IPV4M_NODE; + + else if (argv_find (argv, argc, "encap", &idx)) + vty->node = BGP_ENCAP_NODE; + + else if (argv_find (argv, argc, "vpn", &idx)) + vty->node = BGP_VPNV4_NODE; + + else + vty->node = BGP_IPV4_NODE; -DEFUNSH (VTYSH_BGPD, - address_family_ipv4_multicast, - address_family_ipv4_multicast_cmd, - "address-family ipv4 multicast", - "Enter Address Family command mode\n" - "Address Family\n" - "Address Family Modifier\n") -{ - vty->node = BGP_IPV4M_NODE; return CMD_SUCCESS; } DEFUNSH (VTYSH_BGPD, address_family_ipv6, address_family_ipv6_cmd, - "address-family ipv6 [unicast]", + "address-family ipv6 [<unicast|multicast|vpn|encap>]", "Enter Address Family command mode\n" "Address Family\n" - "Address Family Modifier\n") + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n" + "Address Family Modifier\n") { - vty->node = BGP_IPV6_NODE; - return CMD_SUCCESS; -} + int idx = 0; + + if (argv_find (argv, argc, "multicast", &idx)) + vty->node = BGP_IPV6M_NODE; + + else if (argv_find (argv, argc, "encap", &idx)) + vty->node = BGP_ENCAPV6_NODE; + + else if (argv_find (argv, argc, "vpn", &idx)) + vty->node = BGP_VPNV6_NODE; + + else + vty->node = BGP_IPV6_NODE; -DEFUNSH (VTYSH_BGPD, - address_family_ipv6_multicast, - address_family_ipv6_multicast_cmd, - "address-family ipv6 multicast", - "Enter Address Family command mode\n" - "Address Family\n" - "Address Family Modifier\n") -{ - vty->node = BGP_IPV6M_NODE; return CMD_SUCCESS; } @@ -3282,9 +3290,7 @@ vtysh_init_vty (void) install_element (BGP_NODE, &vnc_l2_group_cmd); #endif install_element (BGP_NODE, &address_family_ipv4_unicast_cmd); - install_element (BGP_NODE, &address_family_ipv4_multicast_cmd); install_element (BGP_NODE, &address_family_ipv6_cmd); - install_element (BGP_NODE, &address_family_ipv6_multicast_cmd); install_element (BGP_VPNV4_NODE, &exit_address_family_cmd); install_element (BGP_VPNV6_NODE, &exit_address_family_cmd); install_element (BGP_ENCAP_NODE, &exit_address_family_cmd); diff --git a/zebra/zebra_routemap.c b/zebra/zebra_routemap.c index f8f3c4318d..5fe4a7ab9d 100644 --- a/zebra/zebra_routemap.c +++ b/zebra/zebra_routemap.c @@ -443,7 +443,7 @@ DEFUN (no_zebra_route_map_timer, DEFUN (ip_protocol, ip_protocol_cmd, - "ip protocol <kernel|connected|static|rip|ospf|isis|bgp|pim|table|any> route-map ROUTE-MAP", + "ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA " route-map ROUTE-MAP", IP_STR "Filter routing info exchanged between zebra and protocol\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA @@ -482,7 +482,7 @@ DEFUN (ip_protocol, DEFUN (no_ip_protocol, no_ip_protocol_cmd, - "no ip protocol <kernel|connected|static|rip|ospf|isis|bgp|pim|table|any> [route-map ROUTE-MAP]", + "no ip protocol " FRR_IP_PROTOCOL_MAP_STR_ZEBRA " [route-map ROUTE-MAP]", NO_STR IP_STR "Stop filtering routing info between zebra and protocol\n" @@ -552,7 +552,7 @@ DEFUN (show_ip_protocol, DEFUN (ipv6_protocol, ipv6_protocol_cmd, - "ipv6 protocol <kernel|connected|static|ripng|ospf6|isis|bgp|table|any> route-map ROUTE-MAP", + "ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA " route-map ROUTE-MAP", IP6_STR "Filter IPv6 routing info exchanged between zebra and protocol\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA @@ -591,7 +591,7 @@ DEFUN (ipv6_protocol, DEFUN (no_ipv6_protocol, no_ipv6_protocol_cmd, - "no ipv6 protocol <kernel|connected|static|ripng|ospf6|isis|bgp|table|any> [route-map ROUTE-MAP]", + "no ipv6 protocol " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA " [route-map ROUTE-MAP]", NO_STR IP6_STR "Stop filtering IPv6 routing info between zebra and protocol\n" @@ -660,7 +660,7 @@ DEFUN (show_ipv6_protocol, DEFUN (ip_protocol_nht_rmap, ip_protocol_nht_rmap_cmd, - "ip nht <kernel|connected|static|rip|ospf|isis|bgp|pim|table|any> route-map ROUTE-MAP", + "ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA " route-map ROUTE-MAP", IP_STR "Filter Next Hop tracking route resolution\n" FRR_IP_PROTOCOL_MAP_HELP_STR_ZEBRA @@ -696,7 +696,7 @@ DEFUN (ip_protocol_nht_rmap, DEFUN (no_ip_protocol_nht_rmap, no_ip_protocol_nht_rmap_cmd, - "no ip nht <kernel|connected|static|rip|ospf|isis|bgp|pim|table|any> [route-map ROUTE-MAP]", + "no ip nht " FRR_IP_PROTOCOL_MAP_STR_ZEBRA " [route-map ROUTE-MAP]", NO_STR IP_STR "Filter Next Hop tracking route resolution\n" @@ -760,7 +760,7 @@ DEFUN (show_ip_protocol_nht, DEFUN (ipv6_protocol_nht_rmap, ipv6_protocol_nht_rmap_cmd, - "ipv6 nht <kernel|connected|static|ripng|ospf6|isis|bgp|table|any> route-map ROUTE-MAP", + "ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA " route-map ROUTE-MAP", IP6_STR "Filter Next Hop tracking route resolution\n" FRR_IP6_PROTOCOL_MAP_HELP_STR_ZEBRA @@ -790,7 +790,7 @@ DEFUN (ipv6_protocol_nht_rmap, DEFUN (no_ipv6_protocol_nht_rmap, no_ipv6_protocol_nht_rmap_cmd, - "no ipv6 nht <kernel|connected|static|ripng|ospf6|isis|bgp|table|any> [route-map ROUTE-MAP]", + "no ipv6 nht " FRR_IP6_PROTOCOL_MAP_STR_ZEBRA " [route-map ROUTE-MAP]", NO_STR IP6_STR "Filter Next Hop tracking route resolution\n" diff --git a/zebra/zebra_vty.c b/zebra/zebra_vty.c index 113b063913..f075677575 100644 --- a/zebra/zebra_vty.c +++ b/zebra/zebra_vty.c @@ -1468,7 +1468,7 @@ DEFUN (show_ip_route_supernets, DEFUN (show_ip_route_protocol, show_ip_route_protocol_cmd, - "show ip route [vrf NAME] <kernel|connected|static|rip|ospf|isis|bgp|pim|table>", + "show ip route [vrf NAME] " FRR_IP_REDIST_STR_ZEBRA, SHOW_STR IP_STR "IP routing table\n" @@ -2064,7 +2064,7 @@ DEFUN (show_ip_route_vrf_all_supernets, DEFUN (show_ip_route_vrf_all_protocol, show_ip_route_vrf_all_protocol_cmd, - "show ip route vrf all <kernel|connected|static|rip|ospf|isis|bgp|pim|table>", + "show ip route vrf all " FRR_IP_REDIST_STR_ZEBRA, SHOW_STR IP_STR "IP routing table\n" @@ -2958,7 +2958,7 @@ DEFUN (show_ipv6_route_prefix_longer, DEFUN (show_ipv6_route_protocol, show_ipv6_route_protocol_cmd, - "show ipv6 route [vrf NAME] <kernel|connected|static|ripng|ospf6|isis|bgp|table>", + "show ipv6 route [vrf NAME] " FRR_IP6_REDIST_STR_ZEBRA, SHOW_STR IP_STR "IP routing table\n" @@ -3354,7 +3354,7 @@ DEFUN (show_ipv6_route_vrf_all_prefix_longer, DEFUN (show_ipv6_route_vrf_all_protocol, show_ipv6_route_vrf_all_protocol_cmd, - "show ipv6 route vrf all <kernel|connected|static|ripng|ospf6|isis|bgp|table>", + "show ipv6 route vrf all " FRR_IP6_REDIST_STR_ZEBRA, SHOW_STR IP_STR "IP routing table\n" |
