mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-11 16:39:33 +00:00
pimd: More pim cli fixup
Found some additional issues with the pim cli. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
This commit is contained in:
parent
af155bb6d8
commit
72e81cf424
@ -2423,8 +2423,11 @@ DEFUN (show_ip_igmp_interface,
|
|||||||
"JavaScript Object Notation\n")
|
"JavaScript Object Notation\n")
|
||||||
{
|
{
|
||||||
u_char uj = use_json(argc, argv);
|
u_char uj = use_json(argc, argv);
|
||||||
if (argv[4]->arg)
|
int idx = 0;
|
||||||
igmp_show_interfaces_single(vty, argv[4]->arg, uj);
|
|
||||||
|
if (argv_find(argv, argc, "detail", &idx) ||
|
||||||
|
argv_find(argv, argc, "WORD", &idx))
|
||||||
|
igmp_show_interfaces_single(vty, argv[idx]->arg, uj);
|
||||||
else
|
else
|
||||||
igmp_show_interfaces(vty, uj);
|
igmp_show_interfaces(vty, uj);
|
||||||
|
|
||||||
@ -2564,8 +2567,12 @@ DEFUN (show_ip_pim_interface,
|
|||||||
"JavaScript Object Notation\n")
|
"JavaScript Object Notation\n")
|
||||||
{
|
{
|
||||||
u_char uj = use_json(argc, argv);
|
u_char uj = use_json(argc, argv);
|
||||||
if (argv[4]->arg)
|
int idx = 0;
|
||||||
pim_show_interfaces_single(vty, argv[4]->arg, uj);
|
|
||||||
|
if (argv_find(argv, argc, "WORD", &idx) ||
|
||||||
|
argv_find(argv, argc, "detail", &idx))
|
||||||
|
pim_show_interfaces_single(vty, argv[idx]->arg, uj);
|
||||||
|
|
||||||
else
|
else
|
||||||
pim_show_interfaces(vty, uj);
|
pim_show_interfaces(vty, uj);
|
||||||
|
|
||||||
@ -2614,8 +2621,11 @@ DEFUN (show_ip_pim_neighbor,
|
|||||||
"JavaScript Object Notation\n")
|
"JavaScript Object Notation\n")
|
||||||
{
|
{
|
||||||
u_char uj = use_json(argc, argv);
|
u_char uj = use_json(argc, argv);
|
||||||
if (argv[4]->arg)
|
int idx = 0;
|
||||||
pim_show_neighbors_single(vty, argv[4]->arg, uj);
|
|
||||||
|
if (argv_find(argv, argc, "detail", &idx) ||
|
||||||
|
argv_find(argv, argc, "WORD", &idx))
|
||||||
|
pim_show_neighbors_single(vty, argv[idx]->arg, uj);
|
||||||
else
|
else
|
||||||
pim_show_neighbors(vty, uj);
|
pim_show_neighbors(vty, uj);
|
||||||
|
|
||||||
@ -2637,7 +2647,7 @@ DEFUN (show_ip_pim_secondary,
|
|||||||
|
|
||||||
DEFUN (show_ip_pim_state,
|
DEFUN (show_ip_pim_state,
|
||||||
show_ip_pim_state_cmd,
|
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
|
SHOW_STR
|
||||||
IP_STR
|
IP_STR
|
||||||
PIM_STR
|
PIM_STR
|
||||||
@ -2649,9 +2659,16 @@ DEFUN (show_ip_pim_state,
|
|||||||
const char *src_or_group = NULL;
|
const char *src_or_group = NULL;
|
||||||
const char *group = NULL;
|
const char *group = NULL;
|
||||||
u_char uj = use_json(argc, argv);
|
u_char uj = use_json(argc, argv);
|
||||||
|
if (uj)
|
||||||
|
argc--;
|
||||||
|
|
||||||
|
if (argc == 5)
|
||||||
|
{
|
||||||
src_or_group = argv[4]->arg;
|
src_or_group = argv[4]->arg;
|
||||||
group = argv[5]->arg;
|
group = argv[5]->arg;
|
||||||
|
}
|
||||||
|
else if (argc == 4)
|
||||||
|
src_or_group = argv[4]->arg;
|
||||||
|
|
||||||
pim_show_state(vty, src_or_group, group, uj);
|
pim_show_state(vty, src_or_group, group, uj);
|
||||||
|
|
||||||
@ -3476,7 +3493,11 @@ DEFUN (ip_pim_rp,
|
|||||||
"Group Address range to cover\n")
|
"Group Address range to cover\n")
|
||||||
{
|
{
|
||||||
int idx_ipv4 = 3;
|
int idx_ipv4 = 3;
|
||||||
|
|
||||||
|
if (argc == (idx_ipv4 + 1))
|
||||||
return pim_rp_cmd_worker (vty, argv[idx_ipv4]->arg, argv[idx_ipv4 + 1]->arg, NULL);
|
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,
|
DEFUN (ip_pim_rp_prefix_list,
|
||||||
@ -3530,7 +3551,11 @@ DEFUN (no_ip_pim_rp,
|
|||||||
"Group Address range to cover\n")
|
"Group Address range to cover\n")
|
||||||
{
|
{
|
||||||
int idx_ipv4 = 4;
|
int idx_ipv4 = 4;
|
||||||
|
|
||||||
|
if (argc == (idx_ipv4 + 1))
|
||||||
return pim_no_rp_cmd_worker (vty, argv[idx_ipv4]->arg, argv[idx_ipv4 + 1]->arg, NULL);
|
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,
|
DEFUN (no_ip_pim_rp_prefix_list,
|
||||||
@ -3585,7 +3610,7 @@ DEFUN (ip_ssmpingd,
|
|||||||
int idx_ipv4 = 2;
|
int idx_ipv4 = 2;
|
||||||
int result;
|
int result;
|
||||||
struct in_addr source_addr;
|
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);
|
result = inet_pton(AF_INET, source_str, &source_addr);
|
||||||
if (result <= 0) {
|
if (result <= 0) {
|
||||||
@ -3615,7 +3640,7 @@ DEFUN (no_ip_ssmpingd,
|
|||||||
int idx_ipv4 = 3;
|
int idx_ipv4 = 3;
|
||||||
int result;
|
int result;
|
||||||
struct in_addr source_addr;
|
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);
|
result = inet_pton(AF_INET, source_str, &source_addr);
|
||||||
if (result <= 0) {
|
if (result <= 0) {
|
||||||
@ -3937,7 +3962,7 @@ DEFUN (interface_ip_igmp_query_interval,
|
|||||||
return CMD_WARNING;
|
return CMD_WARNING;
|
||||||
}
|
}
|
||||||
|
|
||||||
query_interval = atoi(argv[4]->arg);
|
query_interval = atoi(argv[3]->arg);
|
||||||
query_interval_dsec = 10 * query_interval;
|
query_interval_dsec = 10 * query_interval;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -4006,7 +4031,7 @@ DEFUN (interface_no_ip_igmp_query_interval,
|
|||||||
|
|
||||||
DEFUN (interface_ip_igmp_version,
|
DEFUN (interface_ip_igmp_version,
|
||||||
interface_ip_igmp_version_cmd,
|
interface_ip_igmp_version_cmd,
|
||||||
"ip igmp version <2-3>",
|
"ip igmp version (2-3)",
|
||||||
IP_STR
|
IP_STR
|
||||||
IFACE_IGMP_STR
|
IFACE_IGMP_STR
|
||||||
"IGMP version\n"
|
"IGMP version\n"
|
||||||
@ -4034,7 +4059,7 @@ DEFUN (interface_ip_igmp_version,
|
|||||||
|
|
||||||
DEFUN (interface_no_ip_igmp_version,
|
DEFUN (interface_no_ip_igmp_version,
|
||||||
interface_no_ip_igmp_version_cmd,
|
interface_no_ip_igmp_version_cmd,
|
||||||
"no ip igmp version <2-3>",
|
"no ip igmp version (2-3)",
|
||||||
NO_STR
|
NO_STR
|
||||||
IP_STR
|
IP_STR
|
||||||
IFACE_IGMP_STR
|
IFACE_IGMP_STR
|
||||||
@ -4079,7 +4104,7 @@ DEFUN (interface_ip_igmp_query_max_response_time,
|
|||||||
return CMD_WARNING;
|
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) {
|
if (query_max_response_time >= pim_ifp->igmp_default_query_interval * 10) {
|
||||||
vty_out(vty,
|
vty_out(vty,
|
||||||
@ -4096,7 +4121,7 @@ DEFUN (interface_ip_igmp_query_max_response_time,
|
|||||||
|
|
||||||
DEFUN (interface_no_ip_igmp_query_max_response_time,
|
DEFUN (interface_no_ip_igmp_query_max_response_time,
|
||||||
interface_no_ip_igmp_query_max_response_time_cmd,
|
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
|
NO_STR
|
||||||
IP_STR
|
IP_STR
|
||||||
IFACE_IGMP_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);
|
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);
|
pim_ifp->pim_default_holdtime = strtol(argv[idx_hold]->arg, NULL, 10);
|
||||||
|
|
||||||
return CMD_SUCCESS;
|
return CMD_SUCCESS;
|
||||||
@ -5451,7 +5476,7 @@ DEFUN (no_ip_msdp_mesh_group_source,
|
|||||||
"mesh group source\n"
|
"mesh group source\n"
|
||||||
"mesh group local address\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);
|
return ip_no_msdp_mesh_group_cmd_worker(vty, argv[6]->arg);
|
||||||
else
|
else
|
||||||
return ip_no_msdp_mesh_group_source_cmd_worker(vty, argv[4]->arg);
|
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")
|
"JavaScript Object Notation\n")
|
||||||
{
|
{
|
||||||
u_char uj = use_json(argc, argv);
|
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);
|
ip_msdp_show_peers_detail(vty, argv[4]->arg, uj);
|
||||||
else
|
else
|
||||||
ip_msdp_show_peers(vty, uj);
|
ip_msdp_show_peers(vty, uj);
|
||||||
@ -5948,9 +5976,12 @@ DEFUN (show_ip_msdp_sa_sg,
|
|||||||
"JavaScript Object Notation\n")
|
"JavaScript Object Notation\n")
|
||||||
{
|
{
|
||||||
u_char uj = use_json(argc, argv);
|
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);
|
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);
|
ip_msdp_show_sa_addr(vty, argv[4]->arg, uj);
|
||||||
else
|
else
|
||||||
ip_msdp_show_sa(vty, uj);
|
ip_msdp_show_sa(vty, uj);
|
||||||
|
Loading…
Reference in New Issue
Block a user