summaryrefslogtreecommitdiff
path: root/pimd/pim_cmd.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_cmd.c')
-rw-r--r--pimd/pim_cmd.c488
1 files changed, 302 insertions, 186 deletions
diff --git a/pimd/pim_cmd.c b/pimd/pim_cmd.c
index 501d69dbf5..c0401b83ce 100644
--- a/pimd/pim_cmd.c
+++ b/pimd/pim_cmd.c
@@ -501,14 +501,14 @@ static void igmp_show_interfaces(struct pim_instance *pim, struct vty *vty,
FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp;
struct listnode *sock_node;
- struct igmp_sock *igmp;
+ struct gm_sock *igmp;
pim_ifp = ifp->info;
if (!pim_ifp)
continue;
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_socket_list, sock_node,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_socket_list, sock_node,
igmp)) {
char uptime[10];
char query_hhmmss[10];
@@ -575,7 +575,7 @@ static void igmp_show_interfaces_single(struct pim_instance *pim,
struct vty *vty, const char *ifname,
bool uj)
{
- struct igmp_sock *igmp;
+ struct gm_sock *igmp;
struct interface *ifp;
struct listnode *sock_node;
struct pim_interface *pim_ifp;
@@ -610,7 +610,7 @@ static void igmp_show_interfaces_single(struct pim_instance *pim,
if (strcmp(ifname, "detail") && strcmp(ifname, ifp->name))
continue;
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_socket_list, sock_node,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_socket_list, sock_node,
igmp)) {
found_ifname = 1;
pim_time_uptime(uptime, sizeof(uptime),
@@ -625,35 +625,34 @@ static void igmp_show_interfaces_single(struct pim_instance *pim,
gmi_msec = PIM_IGMP_GMI_MSEC(
igmp->querier_robustness_variable,
igmp->querier_query_interval,
- pim_ifp->igmp_query_max_response_time_dsec);
+ pim_ifp->gm_query_max_response_time_dsec);
- sqi = PIM_IGMP_SQI(
- pim_ifp->igmp_default_query_interval);
+ sqi = PIM_IGMP_SQI(pim_ifp->gm_default_query_interval);
oqpi_msec = PIM_IGMP_OQPI_MSEC(
igmp->querier_robustness_variable,
igmp->querier_query_interval,
- pim_ifp->igmp_query_max_response_time_dsec);
+ pim_ifp->gm_query_max_response_time_dsec);
lmqt_msec = PIM_IGMP_LMQT_MSEC(
- pim_ifp->igmp_specific_query_max_response_time_dsec,
- pim_ifp->igmp_last_member_query_count);
+ pim_ifp->gm_specific_query_max_response_time_dsec,
+ pim_ifp->gm_last_member_query_count);
ohpi_msec =
PIM_IGMP_OHPI_DSEC(
igmp->querier_robustness_variable,
igmp->querier_query_interval,
- pim_ifp->igmp_query_max_response_time_dsec)
- * 100;
+ pim_ifp->gm_query_max_response_time_dsec) *
+ 100;
- qri_msec = pim_ifp->igmp_query_max_response_time_dsec
- * 100;
+ qri_msec =
+ pim_ifp->gm_query_max_response_time_dsec * 100;
if (pim_ifp->pim_sock_fd >= 0)
mloop = pim_socket_mcastloop_get(
pim_ifp->pim_sock_fd);
else
mloop = 0;
- lmqc = pim_ifp->igmp_last_member_query_count;
+ lmqc = pim_ifp->gm_last_member_query_count;
if (uj) {
json_row = json_object_new_object();
@@ -824,7 +823,7 @@ static void igmp_show_interface_join(struct pim_instance *pim, struct vty *vty,
FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp;
struct listnode *join_node;
- struct igmp_join *ij;
+ struct gm_join *ij;
struct in_addr pri_addr;
char pri_addr_str[INET_ADDRSTRLEN];
@@ -833,14 +832,14 @@ static void igmp_show_interface_join(struct pim_instance *pim, struct vty *vty,
if (!pim_ifp)
continue;
- if (!pim_ifp->igmp_join_list)
+ if (!pim_ifp->gm_join_list)
continue;
pri_addr = pim_find_primary_addr(ifp);
pim_inet4_dump("<pri?>", pri_addr, pri_addr_str,
sizeof(pri_addr_str));
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_join_list, join_node,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_join_list, join_node,
ij)) {
char group_str[INET_ADDRSTRLEN];
char source_str[INET_ADDRSTRLEN];
@@ -887,7 +886,7 @@ static void igmp_show_interface_join(struct pim_instance *pim, struct vty *vty,
ifp->name, pri_addr_str, source_str,
group_str, ij->sock_fd, uptime);
}
- } /* for (pim_ifp->igmp_join_list) */
+ } /* for (pim_ifp->gm_join_list) */
} /* for (iflist) */
@@ -1330,7 +1329,7 @@ static void igmp_show_statistics(struct pim_instance *pim, struct vty *vty,
FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp;
struct listnode *sock_node;
- struct igmp_sock *igmp;
+ struct gm_sock *igmp;
pim_ifp = ifp->info;
@@ -1340,7 +1339,7 @@ static void igmp_show_statistics(struct pim_instance *pim, struct vty *vty,
if (ifname && strcmp(ifname, ifp->name))
continue;
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_socket_list, sock_node,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_socket_list, sock_node,
igmp)) {
igmp_stats_add(&rx_stats, &igmp->rx_stats);
}
@@ -1741,7 +1740,7 @@ static void pim_show_join_helper(struct vty *vty, struct pim_interface *pim_ifp,
}
static void pim_show_join(struct pim_instance *pim, struct vty *vty,
- struct prefix_sg *sg, bool uj)
+ pim_sgaddr *sg, bool uj)
{
struct pim_interface *pim_ifp;
struct pim_ifchannel *ch;
@@ -2439,7 +2438,7 @@ static const char *pim_reg_state2brief_str(enum pim_reg_state reg_state,
}
static void pim_show_upstream(struct pim_instance *pim, struct vty *vty,
- struct prefix_sg *sg, bool uj)
+ pim_sgaddr *sg, bool uj)
{
struct pim_upstream *up;
time_t now;
@@ -3423,13 +3422,13 @@ static void igmp_show_groups(struct pim_instance *pim, struct vty *vty, bool uj)
FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp = ifp->info;
struct listnode *grpnode;
- struct igmp_group *grp;
+ struct gm_group *grp;
if (!pim_ifp)
continue;
/* scan igmp groups */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grpnode,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grpnode,
grp)) {
char group_str[INET_ADDRSTRLEN];
char hhmmss[10];
@@ -3517,18 +3516,18 @@ static void igmp_show_group_retransmission(struct pim_instance *pim,
FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp = ifp->info;
struct listnode *grpnode;
- struct igmp_group *grp;
+ struct gm_group *grp;
if (!pim_ifp)
continue;
/* scan igmp groups */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grpnode,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grpnode,
grp)) {
char group_str[INET_ADDRSTRLEN];
char grp_retr_mmss[10];
struct listnode *src_node;
- struct igmp_source *src;
+ struct gm_source *src;
int grp_retr_sources = 0;
pim_inet4_dump("<group?>", grp->group_addr, group_str,
@@ -3570,17 +3569,17 @@ static void igmp_show_sources(struct pim_instance *pim, struct vty *vty)
FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp = ifp->info;
struct listnode *grpnode;
- struct igmp_group *grp;
+ struct gm_group *grp;
if (!pim_ifp)
continue;
/* scan igmp groups */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grpnode,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grpnode,
grp)) {
char group_str[INET_ADDRSTRLEN];
struct listnode *srcnode;
- struct igmp_source *src;
+ struct gm_source *src;
pim_inet4_dump("<group?>", grp->group_addr, group_str,
sizeof(group_str));
@@ -3610,7 +3609,7 @@ static void igmp_show_sources(struct pim_instance *pim, struct vty *vty)
uptime);
} /* scan group sources */
- } /* scan igmp groups */
+ } /* scan igmp groups */
} /* scan interfaces */
}
@@ -3626,17 +3625,17 @@ static void igmp_show_source_retransmission(struct pim_instance *pim,
FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp = ifp->info;
struct listnode *grpnode;
- struct igmp_group *grp;
+ struct gm_group *grp;
if (!pim_ifp)
continue;
/* scan igmp groups */
- for (ALL_LIST_ELEMENTS_RO(pim_ifp->igmp_group_list, grpnode,
+ for (ALL_LIST_ELEMENTS_RO(pim_ifp->gm_group_list, grpnode,
grp)) {
char group_str[INET_ADDRSTRLEN];
struct listnode *srcnode;
- struct igmp_source *src;
+ struct gm_source *src;
pim_inet4_dump("<group?>", grp->group_addr, group_str,
sizeof(group_str));
@@ -3654,7 +3653,7 @@ static void igmp_show_source_retransmission(struct pim_instance *pim,
src->source_query_retransmit_count);
} /* scan group sources */
- } /* scan igmp groups */
+ } /* scan igmp groups */
} /* scan interfaces */
}
@@ -3794,6 +3793,7 @@ static const char *pim_cli_get_vrf_name(struct vty *vty)
return yang_dnode_get_string(vrf_node, "./name");
}
+#if PIM_IPV != 6
/**
* Compatibility function to keep the legacy mesh group CLI behavior:
* Delete group when there are no more configurations in it.
@@ -3815,7 +3815,7 @@ static void pim_cli_legacy_mesh_group_behavior(struct vty *vty,
/* Get mesh group base XPath. */
snprintf(xpath_value, sizeof(xpath_value),
- FRR_PIM_AF_XPATH "/msdp-mesh-groups[name='%s']",
+ FRR_PIM_VRF_XPATH "/msdp-mesh-groups[name='%s']",
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4", gname);
/* Group must exists, otherwise just quit. */
if (!yang_dnode_exists(vty->candidate_config->dnode, xpath_value))
@@ -3841,6 +3841,7 @@ static void pim_cli_legacy_mesh_group_behavior(struct vty *vty,
/* No configurations found: delete it. */
nb_cli_enqueue_change(vty, xpath_value, NB_OP_DESTROY, NULL);
}
+#endif /* PIM_IPV != 6 */
DEFUN (clear_ip_interfaces,
clear_ip_interfaces_cmd,
@@ -3908,7 +3909,7 @@ static void clear_mroute(struct pim_instance *pim)
/* scan interfaces */
FOR_ALL_INTERFACES (pim->vrf, ifp) {
struct pim_interface *pim_ifp = ifp->info;
- struct igmp_group *grp;
+ struct gm_group *grp;
struct pim_ifchannel *ch;
if (!pim_ifp)
@@ -3923,9 +3924,9 @@ static void clear_mroute(struct pim_instance *pim)
/* clean up all igmp groups */
- if (pim_ifp->igmp_group_list) {
- while (pim_ifp->igmp_group_list->count) {
- grp = listnode_head(pim_ifp->igmp_group_list);
+ if (pim_ifp->gm_group_list) {
+ while (pim_ifp->gm_group_list->count) {
+ grp = listnode_head(pim_ifp->gm_group_list);
igmp_group_delete(grp);
}
}
@@ -4603,7 +4604,7 @@ DEFPY (show_ip_pim_join,
"The Group\n"
JSON_STR)
{
- struct prefix_sg sg = {0};
+ pim_sgaddr sg = {0};
struct vrf *v;
bool uj = !!json;
struct pim_instance *pim;
@@ -4644,7 +4645,7 @@ DEFUN (show_ip_pim_join_vrf_all,
"PIM interface join information\n"
JSON_STR)
{
- struct prefix_sg sg = {0};
+ pim_sgaddr sg = {0};
bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -5223,7 +5224,7 @@ DEFPY (show_ip_pim_upstream,
"The Group\n"
JSON_STR)
{
- struct prefix_sg sg = {0};
+ pim_sgaddr sg = {0};
struct vrf *v;
bool uj = !!json;
struct pim_instance *pim;
@@ -5263,7 +5264,7 @@ DEFUN (show_ip_pim_upstream_vrf_all,
"PIM upstream information\n"
JSON_STR)
{
- struct prefix_sg sg = {0};
+ pim_sgaddr sg = {0};
bool uj = use_json(argc, argv);
struct vrf *vrf;
bool first = true;
@@ -5888,7 +5889,7 @@ DEFUN(show_ip_multicast_count_vrf_all,
}
static void show_mroute(struct pim_instance *pim, struct vty *vty,
- struct prefix_sg *sg, bool fill, bool uj)
+ pim_sgaddr *sg, bool fill, bool uj)
{
struct listnode *node;
struct channel_oil *c_oil;
@@ -6273,7 +6274,7 @@ DEFPY (show_ip_mroute,
"Fill in Assumed data\n"
JSON_STR)
{
- struct prefix_sg sg = {0};
+ pim_sgaddr sg = {0};
struct pim_instance *pim;
struct vrf *v;
@@ -6311,7 +6312,7 @@ DEFUN (show_ip_mroute_vrf_all,
"Fill in Assumed data\n"
JSON_STR)
{
- struct prefix_sg sg = {0};
+ pim_sgaddr sg = {0};
bool uj = use_json(argc, argv);
int idx = 4;
struct vrf *vrf;
@@ -6791,13 +6792,13 @@ DEFUN (ip_pim_spt_switchover_infinity,
return CMD_WARNING_CONFIG_FAILED;
snprintf(spt_plist_xpath, sizeof(spt_plist_xpath),
- FRR_PIM_AF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
"frr-routing:ipv4");
strlcat(spt_plist_xpath, "/spt-switchover/spt-infinity-prefix-list",
sizeof(spt_plist_xpath));
snprintf(spt_action_xpath, sizeof(spt_action_xpath),
- FRR_PIM_AF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
"frr-routing:ipv4");
strlcat(spt_action_xpath, "/spt-switchover/spt-action",
sizeof(spt_action_xpath));
@@ -6830,13 +6831,13 @@ DEFUN (ip_pim_spt_switchover_infinity_plist,
return CMD_WARNING_CONFIG_FAILED;
snprintf(spt_plist_xpath, sizeof(spt_plist_xpath),
- FRR_PIM_AF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
"frr-routing:ipv4");
strlcat(spt_plist_xpath, "/spt-switchover/spt-infinity-prefix-list",
sizeof(spt_plist_xpath));
snprintf(spt_action_xpath, sizeof(spt_action_xpath),
- FRR_PIM_AF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
"frr-routing:ipv4");
strlcat(spt_action_xpath, "/spt-switchover/spt-action",
sizeof(spt_action_xpath));
@@ -6867,13 +6868,13 @@ DEFUN (no_ip_pim_spt_switchover_infinity,
return CMD_WARNING_CONFIG_FAILED;
snprintf(spt_plist_xpath, sizeof(spt_plist_xpath),
- FRR_PIM_AF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
"frr-routing:ipv4");
strlcat(spt_plist_xpath, "/spt-switchover/spt-infinity-prefix-list",
sizeof(spt_plist_xpath));
snprintf(spt_action_xpath, sizeof(spt_action_xpath),
- FRR_PIM_AF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
"frr-routing:ipv4");
strlcat(spt_action_xpath, "/spt-switchover/spt-action",
sizeof(spt_action_xpath));
@@ -6905,13 +6906,13 @@ DEFUN (no_ip_pim_spt_switchover_infinity_plist,
return CMD_WARNING_CONFIG_FAILED;
snprintf(spt_plist_xpath, sizeof(spt_plist_xpath),
- FRR_PIM_AF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
"frr-routing:ipv4");
strlcat(spt_plist_xpath, "/spt-switchover/spt-infinity-prefix-list",
sizeof(spt_plist_xpath));
snprintf(spt_action_xpath, sizeof(spt_action_xpath),
- FRR_PIM_AF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
"frr-routing:ipv4");
strlcat(spt_action_xpath, "/spt-switchover/spt-action",
sizeof(spt_action_xpath));
@@ -6940,7 +6941,7 @@ DEFPY (pim_register_accept_list,
return CMD_WARNING_CONFIG_FAILED;
snprintf(reg_alist_xpath, sizeof(reg_alist_xpath),
- FRR_PIM_AF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
"frr-routing:ipv4");
strlcat(reg_alist_xpath, "/register-accept-list",
sizeof(reg_alist_xpath));
@@ -6963,8 +6964,13 @@ DEFUN (ip_pim_joinprune_time,
"Join Prune Send Interval\n"
"Seconds\n")
{
- nb_cli_enqueue_change(vty, "/frr-pim:pim/join-prune-interval",
- NB_OP_MODIFY, argv[3]->arg);
+ char xpath[XPATH_MAXLEN];
+
+ snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
+ "frr-routing:ipv4");
+ strlcat(xpath, "/join-prune-interval", sizeof(xpath));
+
+ nb_cli_enqueue_change(vty, xpath, NB_OP_MODIFY, argv[3]->arg);
return nb_cli_apply_changes(vty, NULL);
}
@@ -6978,8 +6984,13 @@ DEFUN (no_ip_pim_joinprune_time,
"Join Prune Send Interval\n"
IGNORED_IN_NO_STR)
{
- nb_cli_enqueue_change(vty, "/frr-pim:pim/join-prune-interval",
- NB_OP_DESTROY, NULL);
+ char xpath[XPATH_MAXLEN];
+
+ snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
+ "frr-routing:ipv4");
+ strlcat(xpath, "/join-prune-interval", sizeof(xpath));
+
+ nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);
return nb_cli_apply_changes(vty, NULL);
}
@@ -6992,8 +7003,13 @@ DEFUN (ip_pim_register_suppress,
"Register Suppress Timer\n"
"Seconds\n")
{
- nb_cli_enqueue_change(vty, "/frr-pim:pim/register-suppress-time",
- NB_OP_MODIFY, argv[3]->arg);
+ char xpath[XPATH_MAXLEN];
+
+ snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
+ "frr-routing:ipv4");
+ strlcat(xpath, "/register-suppress-time", sizeof(xpath));
+
+ nb_cli_enqueue_change(vty, xpath, NB_OP_MODIFY, argv[3]->arg);
return nb_cli_apply_changes(vty, NULL);
}
@@ -7007,8 +7023,13 @@ DEFUN (no_ip_pim_register_suppress,
"Register Suppress Timer\n"
IGNORED_IN_NO_STR)
{
- nb_cli_enqueue_change(vty, "/frr-pim:pim/register-suppress-time",
- NB_OP_DESTROY, NULL);
+ char xpath[XPATH_MAXLEN];
+
+ snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
+ "frr-routing:ipv4");
+ strlcat(xpath, "/register-suppress-time", sizeof(xpath));
+
+ nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);
return nb_cli_apply_changes(vty, NULL);
}
@@ -7030,7 +7051,8 @@ DEFUN (ip_pim_rp_keep_alive,
return CMD_WARNING_CONFIG_FAILED;
snprintf(rp_ka_timer_xpath, sizeof(rp_ka_timer_xpath),
- FRR_PIM_XPATH, "frr-pim:pimd", "pim", vrfname);
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ "frr-routing:ipv4");
strlcat(rp_ka_timer_xpath, "/rp-keep-alive-timer",
sizeof(rp_ka_timer_xpath));
@@ -7054,10 +7076,16 @@ DEFUN (no_ip_pim_rp_keep_alive,
char rp_ka_timer[6];
char rp_ka_timer_xpath[XPATH_MAXLEN];
uint v;
+ char rs_timer_xpath[XPATH_MAXLEN];
+
+ snprintf(rs_timer_xpath, sizeof(rs_timer_xpath),
+ FRR_PIM_ROUTER_XPATH, "frr-routing:ipv4");
+ strlcat(rs_timer_xpath, "/register-suppress-time",
+ sizeof(rs_timer_xpath));
/* RFC4601 */
v = yang_dnode_get_uint16(vty->candidate_config->dnode,
- "/frr-pim:pim/register-suppress-time");
+ rs_timer_xpath);
v = 3 * v + PIM_REGISTER_PROBE_TIME_DEFAULT;
if (v > UINT16_MAX)
v = UINT16_MAX;
@@ -7068,7 +7096,8 @@ DEFUN (no_ip_pim_rp_keep_alive,
return CMD_WARNING_CONFIG_FAILED;
snprintf(rp_ka_timer_xpath, sizeof(rp_ka_timer_xpath),
- FRR_PIM_XPATH, "frr-pim:pimd", "pim", vrfname);
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ "frr-routing:ipv4");
strlcat(rp_ka_timer_xpath, "/rp-keep-alive-timer",
sizeof(rp_ka_timer_xpath));
@@ -7093,8 +7122,8 @@ DEFUN (ip_pim_keep_alive,
if (vrfname == NULL)
return CMD_WARNING_CONFIG_FAILED;
- snprintf(ka_timer_xpath, sizeof(ka_timer_xpath), FRR_PIM_XPATH,
- "frr-pim:pimd", "pim", vrfname);
+ snprintf(ka_timer_xpath, sizeof(ka_timer_xpath), FRR_PIM_VRF_XPATH,
+ "frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ka_timer_xpath, "/keep-alive-timer", sizeof(ka_timer_xpath));
nb_cli_enqueue_change(vty, ka_timer_xpath, NB_OP_MODIFY,
@@ -7119,8 +7148,8 @@ DEFUN (no_ip_pim_keep_alive,
if (vrfname == NULL)
return CMD_WARNING_CONFIG_FAILED;
- snprintf(ka_timer_xpath, sizeof(ka_timer_xpath), FRR_PIM_XPATH,
- "frr-pim:pimd", "pim", vrfname);
+ snprintf(ka_timer_xpath, sizeof(ka_timer_xpath), FRR_PIM_VRF_XPATH,
+ "frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ka_timer_xpath, "/keep-alive-timer", sizeof(ka_timer_xpath));
nb_cli_enqueue_change(vty, ka_timer_xpath, NB_OP_DESTROY, NULL);
@@ -7136,8 +7165,13 @@ DEFUN (ip_pim_packets,
"packets to process at one time per fd\n"
"Number of packets\n")
{
- nb_cli_enqueue_change(vty, "/frr-pim:pim/packets", NB_OP_MODIFY,
- argv[3]->arg);
+ char xpath[XPATH_MAXLEN];
+
+ snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
+ "frr-routing:ipv4");
+ strlcat(xpath, "/packets", sizeof(xpath));
+
+ nb_cli_enqueue_change(vty, xpath, NB_OP_MODIFY, argv[3]->arg);
return nb_cli_apply_changes(vty, NULL);
}
@@ -7151,7 +7185,13 @@ DEFUN (no_ip_pim_packets,
"packets to process at one time per fd\n"
IGNORED_IN_NO_STR)
{
- nb_cli_enqueue_change(vty, "/frr-pim:pim/packets", NB_OP_DESTROY, NULL);
+ char xpath[XPATH_MAXLEN];
+
+ snprintf(xpath, sizeof(xpath), FRR_PIM_ROUTER_XPATH,
+ "frr-routing:ipv4");
+ strlcat(xpath, "/packets", sizeof(xpath));
+
+ nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);
return nb_cli_apply_changes(vty, NULL);
}
@@ -7200,7 +7240,7 @@ DEFUN (ip_pim_v6_secondary,
return CMD_WARNING_CONFIG_FAILED;
snprintf(send_v6_secondary_xpath, sizeof(send_v6_secondary_xpath),
- FRR_PIM_AF_XPATH,
+ FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(send_v6_secondary_xpath, "/send-v6-secondary",
sizeof(send_v6_secondary_xpath));
@@ -7227,7 +7267,7 @@ DEFUN (no_ip_pim_v6_secondary,
return CMD_WARNING_CONFIG_FAILED;
snprintf(send_v6_secondary_xpath, sizeof(send_v6_secondary_xpath),
- FRR_PIM_AF_XPATH,
+ FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(send_v6_secondary_xpath, "/send-v6-secondary",
sizeof(send_v6_secondary_xpath));
@@ -7441,7 +7481,7 @@ DEFUN (ip_pim_ssm_prefix_list,
if (vrfname == NULL)
return CMD_WARNING_CONFIG_FAILED;
- snprintf(ssm_plist_xpath, sizeof(ssm_plist_xpath), FRR_PIM_AF_XPATH,
+ snprintf(ssm_plist_xpath, sizeof(ssm_plist_xpath), FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ssm_plist_xpath, "/ssm-prefix-list", sizeof(ssm_plist_xpath));
@@ -7467,7 +7507,7 @@ DEFUN (no_ip_pim_ssm_prefix_list,
return CMD_WARNING_CONFIG_FAILED;
snprintf(ssm_plist_xpath, sizeof(ssm_plist_xpath),
- FRR_PIM_AF_XPATH,
+ FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ssm_plist_xpath, "/ssm-prefix-list", sizeof(ssm_plist_xpath));
@@ -7496,7 +7536,7 @@ DEFUN (no_ip_pim_ssm_prefix_list_name,
return CMD_WARNING_CONFIG_FAILED;
snprintf(ssm_plist_xpath, sizeof(ssm_plist_xpath),
- FRR_PIM_AF_XPATH,
+ FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ssm_plist_xpath, "/ssm-prefix-list", sizeof(ssm_plist_xpath));
ssm_plist_dnode = yang_dnode_get(vty->candidate_config->dnode,
@@ -7655,7 +7695,7 @@ DEFUN (ip_ssmpingd,
return CMD_WARNING_CONFIG_FAILED;
snprintf(ssmpingd_ip_xpath, sizeof(ssmpingd_ip_xpath),
- FRR_PIM_AF_XPATH,
+ FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ssmpingd_ip_xpath, "/ssm-pingd-source-ip",
sizeof(ssmpingd_ip_xpath));
@@ -7684,7 +7724,7 @@ DEFUN (no_ip_ssmpingd,
return CMD_WARNING_CONFIG_FAILED;
snprintf(ssmpingd_ip_xpath, sizeof(ssmpingd_ip_xpath),
- FRR_PIM_AF_XPATH,
+ FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ssmpingd_ip_xpath, "/ssm-pingd-source-ip",
sizeof(ssmpingd_ip_xpath));
@@ -7709,8 +7749,8 @@ DEFUN (ip_pim_ecmp,
if (vrfname == NULL)
return CMD_WARNING_CONFIG_FAILED;
- snprintf(ecmp_xpath, sizeof(ecmp_xpath), FRR_PIM_XPATH,
- "frr-pim:pimd", "pim", vrfname);
+ snprintf(ecmp_xpath, sizeof(ecmp_xpath), FRR_PIM_VRF_XPATH,
+ "frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ecmp_xpath, "/ecmp", sizeof(ecmp_xpath));
nb_cli_enqueue_change(vty, ecmp_xpath, NB_OP_MODIFY, "true");
@@ -7732,8 +7772,8 @@ DEFUN (no_ip_pim_ecmp,
if (vrfname == NULL)
return CMD_WARNING_CONFIG_FAILED;
- snprintf(ecmp_xpath, sizeof(ecmp_xpath), FRR_PIM_XPATH,
- "frr-pim:pimd", "pim", vrfname);
+ snprintf(ecmp_xpath, sizeof(ecmp_xpath), FRR_PIM_VRF_XPATH,
+ "frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ecmp_xpath, "/ecmp", sizeof(ecmp_xpath));
nb_cli_enqueue_change(vty, ecmp_xpath, NB_OP_MODIFY, "false");
@@ -7757,12 +7797,12 @@ DEFUN (ip_pim_ecmp_rebalance,
if (vrfname == NULL)
return CMD_WARNING_CONFIG_FAILED;
- snprintf(ecmp_xpath, sizeof(ecmp_xpath), FRR_PIM_XPATH,
- "frr-pim:pimd", "pim", vrfname);
+ snprintf(ecmp_xpath, sizeof(ecmp_xpath), FRR_PIM_VRF_XPATH,
+ "frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ecmp_xpath, "/ecmp", sizeof(ecmp_xpath));
snprintf(ecmp_rebalance_xpath, sizeof(ecmp_rebalance_xpath),
- FRR_PIM_XPATH,
- "frr-pim:pimd", "pim", vrfname);
+ FRR_PIM_VRF_XPATH,
+ "frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ecmp_rebalance_xpath, "/ecmp-rebalance",
sizeof(ecmp_rebalance_xpath));
@@ -7789,8 +7829,8 @@ DEFUN (no_ip_pim_ecmp_rebalance,
return CMD_WARNING_CONFIG_FAILED;
snprintf(ecmp_rebalance_xpath, sizeof(ecmp_rebalance_xpath),
- FRR_PIM_XPATH,
- "frr-pim:pimd", "pim", vrfname);
+ FRR_PIM_VRF_XPATH,
+ "frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
strlcat(ecmp_rebalance_xpath, "/ecmp-rebalance",
sizeof(ecmp_rebalance_xpath));
@@ -7805,9 +7845,10 @@ DEFUN (interface_ip_igmp,
IP_STR
IFACE_IGMP_STR)
{
- nb_cli_enqueue_change(vty, "./igmp-enable", NB_OP_MODIFY, "true");
+ nb_cli_enqueue_change(vty, "./enable", NB_OP_MODIFY, "true");
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_no_ip_igmp,
@@ -7821,10 +7862,12 @@ DEFUN (interface_no_ip_igmp,
char pim_if_xpath[XPATH_MAXLEN + 20];
snprintf(pim_if_xpath, sizeof(pim_if_xpath),
- "%s/frr-pim:pim", VTY_CURR_XPATH);
+ "%s/frr-pim:pim/address-family[address-family='%s']",
+ VTY_CURR_XPATH, "frr-routing:ipv4");
pim_enable_dnode = yang_dnode_getf(vty->candidate_config->dnode,
- "%s/pim-enable", pim_if_xpath);
+ FRR_PIM_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!pim_enable_dnode) {
nb_cli_enqueue_change(vty, pim_if_xpath, NB_OP_DESTROY, NULL);
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -7834,11 +7877,12 @@ DEFUN (interface_no_ip_igmp,
NULL);
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
} else
- nb_cli_enqueue_change(vty, "./igmp-enable",
+ nb_cli_enqueue_change(vty, "./enable",
NB_OP_MODIFY, "false");
}
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_ip_igmp_join,
@@ -7866,7 +7910,7 @@ DEFUN (interface_ip_igmp_join,
} else
source_str = "0.0.0.0";
- snprintf(xpath, sizeof(xpath), FRR_IGMP_JOIN_XPATH,
+ snprintf(xpath, sizeof(xpath), FRR_GMP_JOIN_XPATH,
"frr-routing:ipv4", argv[idx_group]->arg, source_str);
nb_cli_enqueue_change(vty, xpath, NB_OP_CREATE, NULL);
@@ -7900,7 +7944,7 @@ DEFUN (interface_no_ip_igmp_join,
} else
source_str = "0.0.0.0";
- snprintf(xpath, sizeof(xpath), FRR_IGMP_JOIN_XPATH,
+ snprintf(xpath, sizeof(xpath), FRR_GMP_JOIN_XPATH,
"frr-routing:ipv4", argv[idx_group]->arg, source_str);
nb_cli_enqueue_change(vty, xpath, NB_OP_DESTROY, NULL);
@@ -7920,20 +7964,22 @@ DEFUN (interface_ip_igmp_query_interval,
pim_enable_dnode =
yang_dnode_getf(vty->candidate_config->dnode,
- "%s/frr-pim:pim/pim-enable", VTY_CURR_XPATH);
+ FRR_PIM_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!pim_enable_dnode) {
- nb_cli_enqueue_change(vty, "./igmp-enable", NB_OP_MODIFY,
+ nb_cli_enqueue_change(vty, "./enable", NB_OP_MODIFY,
"true");
} else {
if (!yang_dnode_get_bool(pim_enable_dnode, "."))
- nb_cli_enqueue_change(vty, "./igmp-enable",
+ nb_cli_enqueue_change(vty, "./enable",
NB_OP_MODIFY, "true");
}
nb_cli_enqueue_change(vty, "./query-interval", NB_OP_MODIFY,
argv[3]->arg);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_no_ip_igmp_query_interval,
@@ -7947,7 +7993,8 @@ DEFUN (interface_no_ip_igmp_query_interval,
{
nb_cli_enqueue_change(vty, "./query-interval", NB_OP_DESTROY, NULL);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_ip_igmp_version,
@@ -7958,11 +8005,13 @@ DEFUN (interface_ip_igmp_version,
"IGMP version\n"
"IGMP version number\n")
{
- nb_cli_enqueue_change(vty, "./igmp-enable", NB_OP_MODIFY,
+ nb_cli_enqueue_change(vty, "./enable", NB_OP_MODIFY,
"true");
- nb_cli_enqueue_change(vty, "./version", NB_OP_MODIFY, argv[3]->arg);
+ nb_cli_enqueue_change(vty, "./igmp-version", NB_OP_MODIFY,
+ argv[3]->arg);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_no_ip_igmp_version,
@@ -7974,9 +8023,10 @@ DEFUN (interface_no_ip_igmp_version,
"IGMP version\n"
"IGMP version number\n")
{
- nb_cli_enqueue_change(vty, "./version", NB_OP_DESTROY, NULL);
+ nb_cli_enqueue_change(vty, "./igmp-version", NB_OP_DESTROY, NULL);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_ip_igmp_query_max_response_time,
@@ -7991,21 +8041,23 @@ DEFUN (interface_ip_igmp_query_max_response_time,
pim_enable_dnode =
yang_dnode_getf(vty->candidate_config->dnode,
- "%s/frr-pim:pim/pim-enable", VTY_CURR_XPATH);
+ FRR_PIM_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!pim_enable_dnode) {
- nb_cli_enqueue_change(vty, "./igmp-enable", NB_OP_MODIFY,
+ nb_cli_enqueue_change(vty, "./enable", NB_OP_MODIFY,
"true");
} else {
if (!yang_dnode_get_bool(pim_enable_dnode, "."))
- nb_cli_enqueue_change(vty, "./igmp-enable",
+ nb_cli_enqueue_change(vty, "./enable",
NB_OP_MODIFY, "true");
}
nb_cli_enqueue_change(vty, "./query-max-response-time", NB_OP_MODIFY,
argv[3]->arg);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_no_ip_igmp_query_max_response_time,
@@ -8019,7 +8071,8 @@ DEFUN (interface_no_ip_igmp_query_max_response_time,
{
nb_cli_enqueue_change(vty, "./query-max-response-time", NB_OP_DESTROY,
NULL);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN_HIDDEN (interface_ip_igmp_query_max_response_time_dsec,
@@ -8034,20 +8087,22 @@ DEFUN_HIDDEN (interface_ip_igmp_query_max_response_time_dsec,
pim_enable_dnode =
yang_dnode_getf(vty->candidate_config->dnode,
- "%s/frr-pim:pim/pim-enable", VTY_CURR_XPATH);
+ FRR_PIM_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!pim_enable_dnode) {
- nb_cli_enqueue_change(vty, "./igmp-enable", NB_OP_MODIFY,
+ nb_cli_enqueue_change(vty, "./enable", NB_OP_MODIFY,
"true");
} else {
if (!yang_dnode_get_bool(pim_enable_dnode, "."))
- nb_cli_enqueue_change(vty, "./igmp-enable",
+ nb_cli_enqueue_change(vty, "./enable",
NB_OP_MODIFY, "true");
}
nb_cli_enqueue_change(vty, "./query-max-response-time", NB_OP_MODIFY,
argv[3]->arg);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN_HIDDEN (interface_no_ip_igmp_query_max_response_time_dsec,
@@ -8062,7 +8117,8 @@ DEFUN_HIDDEN (interface_no_ip_igmp_query_max_response_time_dsec,
nb_cli_enqueue_change(vty, "./query-max-response-time", NB_OP_DESTROY,
NULL);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_ip_igmp_last_member_query_count,
@@ -8077,20 +8133,22 @@ DEFUN (interface_ip_igmp_last_member_query_count,
pim_enable_dnode =
yang_dnode_getf(vty->candidate_config->dnode,
- "%s/frr-pim:pim/pim-enable", VTY_CURR_XPATH);
+ FRR_PIM_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!pim_enable_dnode) {
- nb_cli_enqueue_change(vty, "./igmp-enable", NB_OP_MODIFY,
+ nb_cli_enqueue_change(vty, "./enable", NB_OP_MODIFY,
"true");
} else {
if (!yang_dnode_get_bool(pim_enable_dnode, "."))
- nb_cli_enqueue_change(vty, "./igmp-enable",
+ nb_cli_enqueue_change(vty, "./enable",
NB_OP_MODIFY, "true");
}
nb_cli_enqueue_change(vty, "./robustness-variable", NB_OP_MODIFY,
argv[3]->arg);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_no_ip_igmp_last_member_query_count,
@@ -8105,7 +8163,8 @@ DEFUN (interface_no_ip_igmp_last_member_query_count,
nb_cli_enqueue_change(vty, "./robustness-variable", NB_OP_DESTROY,
NULL);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_ip_igmp_last_member_query_interval,
@@ -8120,20 +8179,22 @@ DEFUN (interface_ip_igmp_last_member_query_interval,
pim_enable_dnode =
yang_dnode_getf(vty->candidate_config->dnode,
- "%s/frr-pim:pim/pim-enable", VTY_CURR_XPATH);
+ FRR_PIM_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!pim_enable_dnode) {
- nb_cli_enqueue_change(vty, "./igmp-enable", NB_OP_MODIFY,
+ nb_cli_enqueue_change(vty, "./enable", NB_OP_MODIFY,
"true");
} else {
if (!yang_dnode_get_bool(pim_enable_dnode, "."))
- nb_cli_enqueue_change(vty, "./igmp-enable",
+ nb_cli_enqueue_change(vty, "./enable",
NB_OP_MODIFY, "true");
}
nb_cli_enqueue_change(vty, "./last-member-query-interval", NB_OP_MODIFY,
argv[3]->arg);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_no_ip_igmp_last_member_query_interval,
@@ -8148,7 +8209,8 @@ DEFUN (interface_no_ip_igmp_last_member_query_interval,
nb_cli_enqueue_change(vty, "./last-member-query-interval",
NB_OP_DESTROY, NULL);
- return nb_cli_apply_changes(vty, "./frr-igmp:igmp");
+ return nb_cli_apply_changes(vty, FRR_GMP_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_ip_pim_drprio,
@@ -8164,7 +8226,8 @@ DEFUN (interface_ip_pim_drprio,
nb_cli_enqueue_change(vty, "./dr-priority", NB_OP_MODIFY,
argv[idx_number]->arg);
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_no_ip_pim_drprio,
@@ -8178,7 +8241,8 @@ DEFUN (interface_no_ip_pim_drprio,
{
nb_cli_enqueue_change(vty, "./dr-priority", NB_OP_DESTROY, NULL);
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFPY_HIDDEN (interface_ip_igmp_query_generate,
@@ -8219,7 +8283,7 @@ DEFPY_HIDDEN (pim_test_sg_keepalive,
{
struct pim_upstream *up;
struct pim_instance *pim;
- struct prefix_sg sg;
+ pim_sgaddr sg;
sg.src = source;
sg.grp = group;
@@ -8276,7 +8340,9 @@ DEFPY (interface_ip_pim_activeactive,
"true");
}
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN_HIDDEN (interface_ip_pim_ssm,
@@ -8290,7 +8356,9 @@ DEFUN_HIDDEN (interface_ip_pim_ssm,
nb_cli_enqueue_change(vty, "./pim-enable", NB_OP_MODIFY, "true");
- ret = nb_cli_apply_changes(vty, "./frr-pim:pim");
+ ret = nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
if (ret != NB_OK)
return ret;
@@ -8310,7 +8378,9 @@ DEFUN_HIDDEN (interface_ip_pim_sm,
{
nb_cli_enqueue_change(vty, "./pim-enable", NB_OP_MODIFY, "true");
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_ip_pim,
@@ -8321,7 +8391,10 @@ DEFUN (interface_ip_pim,
{
nb_cli_enqueue_change(vty, "./pim-enable", NB_OP_MODIFY, "true");
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
+
}
DEFUN_HIDDEN (interface_no_ip_pim_ssm,
@@ -8336,10 +8409,12 @@ DEFUN_HIDDEN (interface_no_ip_pim_ssm,
char igmp_if_xpath[XPATH_MAXLEN + 20];
snprintf(igmp_if_xpath, sizeof(igmp_if_xpath),
- "%s/frr-igmp:igmp", VTY_CURR_XPATH);
+ "%s/frr-gmp:gmp/address-family[address-family='%s']",
+ VTY_CURR_XPATH, "frr-routing:ipv4");
igmp_enable_dnode = yang_dnode_getf(vty->candidate_config->dnode,
- "%s/igmp-enable", igmp_if_xpath);
-
+ FRR_GMP_ENABLE_XPATH,
+ VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!igmp_enable_dnode) {
nb_cli_enqueue_change(vty, igmp_if_xpath, NB_OP_DESTROY, NULL);
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
@@ -8353,7 +8428,8 @@ DEFUN_HIDDEN (interface_no_ip_pim_ssm,
"false");
}
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN_HIDDEN (interface_no_ip_pim_sm,
@@ -8368,9 +8444,12 @@ DEFUN_HIDDEN (interface_no_ip_pim_sm,
char igmp_if_xpath[XPATH_MAXLEN + 20];
snprintf(igmp_if_xpath, sizeof(igmp_if_xpath),
- "%s/frr-igmp:igmp", VTY_CURR_XPATH);
- igmp_enable_dnode = yang_dnode_getf(vty->candidate_config->dnode,
- "%s/igmp-enable", igmp_if_xpath);
+ "%s/frr-gmp:gmp/address-family[address-family='%s']",
+ VTY_CURR_XPATH, "frr-routing:ipv4");
+ igmp_enable_dnode =
+ yang_dnode_getf(vty->candidate_config->dnode,
+ FRR_GMP_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!igmp_enable_dnode) {
nb_cli_enqueue_change(vty, igmp_if_xpath, NB_OP_DESTROY, NULL);
@@ -8385,7 +8464,9 @@ DEFUN_HIDDEN (interface_no_ip_pim_sm,
"false");
}
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_no_ip_pim,
@@ -8399,9 +8480,12 @@ DEFUN (interface_no_ip_pim,
char igmp_if_xpath[XPATH_MAXLEN + 20];
snprintf(igmp_if_xpath, sizeof(igmp_if_xpath),
- "%s/frr-igmp:igmp", VTY_CURR_XPATH);
- igmp_enable_dnode = yang_dnode_getf(vty->candidate_config->dnode,
- "%s/igmp-enable", igmp_if_xpath);
+ "%s/frr-gmp:gmp/address-family[address-family='%s']",
+ VTY_CURR_XPATH, "frr-routing:ipv4");
+ igmp_enable_dnode =
+ yang_dnode_getf(vty->candidate_config->dnode,
+ FRR_GMP_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!igmp_enable_dnode) {
nb_cli_enqueue_change(vty, igmp_if_xpath, NB_OP_DESTROY, NULL);
@@ -8416,7 +8500,9 @@ DEFUN (interface_no_ip_pim,
"false");
}
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
/* boundaries */
@@ -8433,7 +8519,7 @@ DEFUN(interface_ip_pim_boundary_oil,
argv[4]->arg);
return nb_cli_apply_changes(vty,
- "./frr-pim:pim/address-family[address-family='%s']",
+ FRR_PIM_INTERFACE_XPATH,
"frr-routing:ipv4");
}
@@ -8452,7 +8538,7 @@ DEFUN(interface_no_ip_pim_boundary_oil,
NULL);
return nb_cli_apply_changes(vty,
- "./frr-pim:pim/address-family[address-family='%s']",
+ FRR_PIM_INTERFACE_XPATH,
"frr-routing:ipv4");
}
@@ -8478,7 +8564,7 @@ DEFUN (interface_ip_mroute,
argv[idx_interface]->arg);
return nb_cli_apply_changes(vty,
- "./frr-pim:pim/address-family[address-family='%s']/mroute[source-addr='%s'][group-addr='%s']",
+ FRR_PIM_MROUTE_XPATH,
"frr-routing:ipv4", source_str,
argv[idx_ipv4]->arg);
}
@@ -8504,7 +8590,7 @@ DEFUN (interface_no_ip_mroute,
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
return nb_cli_apply_changes(vty,
- "./frr-pim:pim/address-family[address-family='%s']/mroute[source-addr='%s'][group-addr='%s']",
+ FRR_PIM_MROUTE_XPATH,
"frr-routing:ipv4", source_str,
argv[idx_ipv4]->arg);
}
@@ -8524,7 +8610,8 @@ DEFUN (interface_ip_pim_hello,
igmp_enable_dnode =
yang_dnode_getf(vty->candidate_config->dnode,
- "%s/frr-igmp:igmp/igmp-enable", VTY_CURR_XPATH);
+ FRR_GMP_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!igmp_enable_dnode) {
nb_cli_enqueue_change(vty, "./pim-enable", NB_OP_MODIFY,
"true");
@@ -8541,7 +8628,9 @@ DEFUN (interface_ip_pim_hello,
nb_cli_enqueue_change(vty, "./hello-holdtime", NB_OP_MODIFY,
argv[idx_hold]->arg);
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (interface_no_ip_pim_hello,
@@ -8557,7 +8646,9 @@ DEFUN (interface_no_ip_pim_hello,
nb_cli_enqueue_change(vty, "./hello-interval", NB_OP_DESTROY, NULL);
nb_cli_enqueue_change(vty, "./hello-holdtime", NB_OP_DESTROY, NULL);
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (debug_igmp,
@@ -9205,7 +9296,7 @@ DEFUN (interface_pim_use_source,
nb_cli_enqueue_change(vty, "./use-source", NB_OP_MODIFY, argv[3]->arg);
return nb_cli_apply_changes(vty,
- "./frr-pim:pim/address-family[address-family='%s']",
+ FRR_PIM_INTERFACE_XPATH,
"frr-routing:ipv4");
}
@@ -9221,7 +9312,7 @@ DEFUN (interface_no_pim_use_source,
nb_cli_enqueue_change(vty, "./use-source", NB_OP_MODIFY, "0.0.0.0");
return nb_cli_apply_changes(vty,
- "./frr-pim:pim/address-family[address-family='%s']",
+ FRR_PIM_INTERFACE_XPATH,
"frr-routing:ipv4");
}
@@ -9238,7 +9329,8 @@ DEFPY (ip_pim_bfd,
igmp_enable_dnode =
yang_dnode_getf(vty->candidate_config->dnode,
- "%s/frr-igmp:igmp/igmp-enable", VTY_CURR_XPATH);
+ FRR_GMP_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!igmp_enable_dnode)
nb_cli_enqueue_change(vty, "./pim-enable", NB_OP_MODIFY,
"true");
@@ -9252,7 +9344,9 @@ DEFPY (ip_pim_bfd,
if (prof)
nb_cli_enqueue_change(vty, "./bfd/profile", NB_OP_MODIFY, prof);
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFPY(no_ip_pim_bfd_profile, no_ip_pim_bfd_profile_cmd,
@@ -9266,7 +9360,9 @@ DEFPY(no_ip_pim_bfd_profile, no_ip_pim_bfd_profile_cmd,
{
nb_cli_enqueue_change(vty, "./bfd/profile", NB_OP_DESTROY, NULL);
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (no_ip_pim_bfd,
@@ -9279,7 +9375,9 @@ DEFUN (no_ip_pim_bfd,
{
nb_cli_enqueue_change(vty, "./bfd", NB_OP_DESTROY, NULL);
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH,
+ "frr-routing:ipv4");
}
DEFUN (ip_pim_bsm,
@@ -9293,7 +9391,8 @@ DEFUN (ip_pim_bsm,
igmp_enable_dnode =
yang_dnode_getf(vty->candidate_config->dnode,
- "%s/frr-igmp:igmp/igmp-enable", VTY_CURR_XPATH);
+ FRR_GMP_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!igmp_enable_dnode)
nb_cli_enqueue_change(vty, "./pim-enable", NB_OP_MODIFY,
"true");
@@ -9305,7 +9404,8 @@ DEFUN (ip_pim_bsm,
nb_cli_enqueue_change(vty, "./bsm", NB_OP_MODIFY, "true");
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH, "frr-routing:ipv4");
}
DEFUN (no_ip_pim_bsm,
@@ -9318,7 +9418,8 @@ DEFUN (no_ip_pim_bsm,
{
nb_cli_enqueue_change(vty, "./bsm", NB_OP_MODIFY, "false");
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH, "frr-routing:ipv4");
}
DEFUN (ip_pim_ucast_bsm,
@@ -9332,7 +9433,8 @@ DEFUN (ip_pim_ucast_bsm,
igmp_enable_dnode =
yang_dnode_getf(vty->candidate_config->dnode,
- "%s/frr-igmp:igmp/igmp-enable", VTY_CURR_XPATH);
+ FRR_GMP_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!igmp_enable_dnode)
nb_cli_enqueue_change(vty, "./pim-enable", NB_OP_MODIFY,
"true");
@@ -9344,7 +9446,9 @@ DEFUN (ip_pim_ucast_bsm,
nb_cli_enqueue_change(vty, "./unicast-bsm", NB_OP_MODIFY, "true");
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH, "frr-routing:ipv4");
+
}
DEFUN (no_ip_pim_ucast_bsm,
@@ -9357,7 +9461,8 @@ DEFUN (no_ip_pim_ucast_bsm,
{
nb_cli_enqueue_change(vty, "./unicast-bsm", NB_OP_MODIFY, "false");
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH, "frr-routing:ipv4");
}
#if HAVE_BFDD > 0
@@ -9391,7 +9496,8 @@ DEFUN_HIDDEN (
igmp_enable_dnode =
yang_dnode_getf(vty->candidate_config->dnode,
- "%s/frr-igmp:igmp/igmp-enable", VTY_CURR_XPATH);
+ FRR_GMP_ENABLE_XPATH, VTY_CURR_XPATH,
+ "frr-routing:ipv4");
if (!igmp_enable_dnode)
nb_cli_enqueue_change(vty, "./pim-enable", NB_OP_MODIFY,
"true");
@@ -9409,7 +9515,8 @@ DEFUN_HIDDEN (
nb_cli_enqueue_change(vty, "./bfd/detect_mult", NB_OP_MODIFY,
argv[idx_number]->arg);
- return nb_cli_apply_changes(vty, "./frr-pim:pim");
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH, "frr-routing:ipv4");
}
#if HAVE_BFDD == 0
@@ -9424,6 +9531,7 @@ ALIAS(no_ip_pim_bfd, no_ip_pim_bfd_param_cmd,
"Desired min transmit interval\n")
#endif /* !HAVE_BFDD */
+#if PIM_IPV != 6
DEFPY(ip_msdp_peer, ip_msdp_peer_cmd,
"ip msdp peer A.B.C.D$peer source A.B.C.D$source",
IP_STR
@@ -9442,7 +9550,7 @@ DEFPY(ip_msdp_peer, ip_msdp_peer_cmd,
return CMD_WARNING_CONFIG_FAILED;
snprintf(msdp_peer_source_xpath, sizeof(msdp_peer_source_xpath),
- FRR_PIM_AF_XPATH, "frr-pim:pimd", "pim", vrfname,
+ FRR_PIM_VRF_XPATH, "frr-pim:pimd", "pim", vrfname,
"frr-routing:ipv4");
snprintf(temp_xpath, sizeof(temp_xpath),
"/msdp-peer[peer-ip='%s']/source-ip", peer_str);
@@ -9452,7 +9560,8 @@ DEFPY(ip_msdp_peer, ip_msdp_peer_cmd,
nb_cli_enqueue_change(vty, msdp_peer_source_xpath, NB_OP_MODIFY,
source_str);
- return nb_cli_apply_changes(vty, NULL);
+ return nb_cli_apply_changes(vty,
+ FRR_PIM_INTERFACE_XPATH, "frr-routing:ipv4");
}
DEFPY(ip_msdp_timers, ip_msdp_timers_cmd,
@@ -9534,7 +9643,7 @@ DEFUN (no_ip_msdp_peer,
return CMD_WARNING_CONFIG_FAILED;
snprintf(msdp_peer_xpath, sizeof(msdp_peer_xpath),
- FRR_PIM_AF_XPATH,
+ FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4");
snprintf(temp_xpath, sizeof(temp_xpath),
"/msdp-peer[peer-ip='%s']",
@@ -9566,7 +9675,7 @@ DEFPY(ip_msdp_mesh_group_member,
/* Create mesh group. */
snprintf(xpath_value, sizeof(xpath_value),
- FRR_PIM_AF_XPATH "/msdp-mesh-groups[name='%s']",
+ FRR_PIM_VRF_XPATH "/msdp-mesh-groups[name='%s']",
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4", gname);
nb_cli_enqueue_change(vty, xpath_value, NB_OP_CREATE, NULL);
@@ -9600,7 +9709,7 @@ DEFPY(no_ip_msdp_mesh_group_member,
/* Get mesh group base XPath. */
snprintf(xpath_value, sizeof(xpath_value),
- FRR_PIM_AF_XPATH "/msdp-mesh-groups[name='%s']",
+ FRR_PIM_VRF_XPATH "/msdp-mesh-groups[name='%s']",
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4", gname);
if (!yang_dnode_exists(vty->candidate_config->dnode, xpath_value)) {
@@ -9650,7 +9759,7 @@ DEFPY(ip_msdp_mesh_group_source,
/* Create mesh group. */
snprintf(xpath_value, sizeof(xpath_value),
- FRR_PIM_AF_XPATH "/msdp-mesh-groups[name='%s']",
+ FRR_PIM_VRF_XPATH "/msdp-mesh-groups[name='%s']",
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4", gname);
nb_cli_enqueue_change(vty, xpath_value, NB_OP_CREATE, NULL);
@@ -9681,7 +9790,7 @@ DEFPY(no_ip_msdp_mesh_group_source,
/* Get mesh group base XPath. */
snprintf(xpath_value, sizeof(xpath_value),
- FRR_PIM_AF_XPATH "/msdp-mesh-groups[name='%s']",
+ FRR_PIM_VRF_XPATH "/msdp-mesh-groups[name='%s']",
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4", gname);
nb_cli_enqueue_change(vty, xpath_value, NB_OP_CREATE, NULL);
@@ -9716,7 +9825,7 @@ DEFPY(no_ip_msdp_mesh_group,
/* Get mesh group base XPath. */
snprintf(xpath_value, sizeof(xpath_value),
- FRR_PIM_AF_XPATH "/msdp-mesh-groups[name='%s']",
+ FRR_PIM_VRF_XPATH "/msdp-mesh-groups[name='%s']",
"frr-pim:pimd", "pim", vrfname, "frr-routing:ipv4", gname);
if (!yang_dnode_exists(vty->candidate_config->dnode, xpath_value))
return CMD_SUCCESS;
@@ -10465,6 +10574,7 @@ DEFUN (show_ip_msdp_sa_sg_vrf_all,
return CMD_SUCCESS;
}
+#endif /* PIM_IPV != 6 */
struct pim_sg_cache_walk_data {
struct vty *vty;
@@ -10596,7 +10706,7 @@ static void pim_show_vxlan_sg_one(struct pim_instance *pim,
bool uj)
{
json_object *json = NULL;
- struct prefix_sg sg;
+ pim_sgaddr sg;
int result = 0;
struct pim_vxlan_sg *vxlan_sg;
const char *iif_name;
@@ -10616,8 +10726,6 @@ static void pim_show_vxlan_sg_one(struct pim_instance *pim,
return;
}
- sg.family = AF_INET;
- sg.prefixlen = IPV4_MAX_BITLEN;
if (uj)
json = json_object_new_object();
@@ -10758,7 +10866,7 @@ DEFUN_HIDDEN (no_ip_pim_mlag,
{
char mlag_xpath[XPATH_MAXLEN];
- snprintf(mlag_xpath, sizeof(mlag_xpath), FRR_PIM_AF_XPATH,
+ snprintf(mlag_xpath, sizeof(mlag_xpath), FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", "default", "frr-routing:ipv4");
strlcat(mlag_xpath, "/mlag", sizeof(mlag_xpath));
@@ -10791,7 +10899,7 @@ DEFUN_HIDDEN (ip_pim_mlag,
char mlag_reg_address_xpath[XPATH_MAXLEN];
snprintf(mlag_peerlink_rif_xpath, sizeof(mlag_peerlink_rif_xpath),
- FRR_PIM_AF_XPATH,
+ FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", "default", "frr-routing:ipv4");
strlcat(mlag_peerlink_rif_xpath, "/mlag/peerlink-rif",
sizeof(mlag_peerlink_rif_xpath));
@@ -10801,7 +10909,7 @@ DEFUN_HIDDEN (ip_pim_mlag,
argv[idx]->arg);
snprintf(mlag_my_role_xpath, sizeof(mlag_my_role_xpath),
- FRR_PIM_AF_XPATH,
+ FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", "default", "frr-routing:ipv4");
strlcat(mlag_my_role_xpath, "/mlag/my-role",
sizeof(mlag_my_role_xpath));
@@ -10821,7 +10929,7 @@ DEFUN_HIDDEN (ip_pim_mlag,
}
snprintf(mlag_peer_state_xpath, sizeof(mlag_peer_state_xpath),
- FRR_PIM_AF_XPATH,
+ FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", "default", "frr-routing:ipv4");
strlcat(mlag_peer_state_xpath, "/mlag/peer-state",
sizeof(mlag_peer_state_xpath));
@@ -10841,7 +10949,7 @@ DEFUN_HIDDEN (ip_pim_mlag,
}
snprintf(mlag_reg_address_xpath, sizeof(mlag_reg_address_xpath),
- FRR_PIM_AF_XPATH,
+ FRR_PIM_VRF_XPATH,
"frr-pim:pimd", "pim", "default", "frr-routing:ipv4");
strlcat(mlag_reg_address_xpath, "/mlag/reg-address",
sizeof(mlag_reg_address_xpath));
@@ -10908,10 +11016,12 @@ void pim_cmd_init(void)
install_element(VRF_NODE, &ip_ssmpingd_cmd);
install_element(CONFIG_NODE, &no_ip_ssmpingd_cmd);
install_element(VRF_NODE, &no_ip_ssmpingd_cmd);
+#if PIM_IPV != 6
install_element(CONFIG_NODE, &ip_msdp_peer_cmd);
install_element(VRF_NODE, &ip_msdp_peer_cmd);
install_element(CONFIG_NODE, &no_ip_msdp_peer_cmd);
install_element(VRF_NODE, &no_ip_msdp_peer_cmd);
+#endif /* PIM_IPV != 6 */
install_element(CONFIG_NODE, &ip_pim_ecmp_cmd);
install_element(VRF_NODE, &ip_pim_ecmp_cmd);
install_element(CONFIG_NODE, &no_ip_pim_ecmp_cmd);
@@ -11080,12 +11190,14 @@ void pim_cmd_init(void)
install_element(ENABLE_NODE, &no_debug_pim_mlag_cmd);
install_element(ENABLE_NODE, &debug_pim_vxlan_cmd);
install_element(ENABLE_NODE, &no_debug_pim_vxlan_cmd);
+#if PIM_IPV != 6
install_element(ENABLE_NODE, &debug_msdp_cmd);
install_element(ENABLE_NODE, &no_debug_msdp_cmd);
install_element(ENABLE_NODE, &debug_msdp_events_cmd);
install_element(ENABLE_NODE, &no_debug_msdp_events_cmd);
install_element(ENABLE_NODE, &debug_msdp_packets_cmd);
install_element(ENABLE_NODE, &no_debug_msdp_packets_cmd);
+#endif /* PIM_IPV != 6 */
install_element(ENABLE_NODE, &debug_mtrace_cmd);
install_element(ENABLE_NODE, &no_debug_mtrace_cmd);
install_element(ENABLE_NODE, &debug_bsm_cmd);
@@ -11127,17 +11239,20 @@ void pim_cmd_init(void)
install_element(CONFIG_NODE, &no_debug_pim_mlag_cmd);
install_element(CONFIG_NODE, &debug_pim_vxlan_cmd);
install_element(CONFIG_NODE, &no_debug_pim_vxlan_cmd);
+#if PIM_IPV != 6
install_element(CONFIG_NODE, &debug_msdp_cmd);
install_element(CONFIG_NODE, &no_debug_msdp_cmd);
install_element(CONFIG_NODE, &debug_msdp_events_cmd);
install_element(CONFIG_NODE, &no_debug_msdp_events_cmd);
install_element(CONFIG_NODE, &debug_msdp_packets_cmd);
install_element(CONFIG_NODE, &no_debug_msdp_packets_cmd);
+#endif /* PIM_IPV != 6 */
install_element(CONFIG_NODE, &debug_mtrace_cmd);
install_element(CONFIG_NODE, &no_debug_mtrace_cmd);
install_element(CONFIG_NODE, &debug_bsm_cmd);
install_element(CONFIG_NODE, &no_debug_bsm_cmd);
+#if PIM_IPV != 6
install_element(CONFIG_NODE, &ip_msdp_timers_cmd);
install_element(VRF_NODE, &ip_msdp_timers_cmd);
install_element(CONFIG_NODE, &no_ip_msdp_timers_cmd);
@@ -11160,6 +11275,7 @@ void pim_cmd_init(void)
install_element(VIEW_NODE, &show_ip_msdp_sa_sg_vrf_all_cmd);
install_element(VIEW_NODE, &show_ip_msdp_mesh_group_cmd);
install_element(VIEW_NODE, &show_ip_msdp_mesh_group_vrf_all_cmd);
+#endif /* PIM_IPV != 6 */
install_element(VIEW_NODE, &show_ip_pim_ssm_range_cmd);
install_element(VIEW_NODE, &show_ip_pim_group_type_cmd);
install_element(VIEW_NODE, &show_ip_pim_vxlan_sg_cmd);