forked from Mirror/frr
pim6d: Adding "ipv6 pim ssm" cli
This cli used to enable PIMV6 on interface. Signed-off-by: sarita patra <saritap@vmware.com>
This commit is contained in:
parent
7e01b641ae
commit
dab0ac2955
|
@ -288,6 +288,37 @@ DEFPY (interface_ipv6_pim_activeactive,
|
||||||
return pim_process_ip_pim_activeactive_cmd(vty, no);
|
return pim_process_ip_pim_activeactive_cmd(vty, no);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DEFPY_HIDDEN (interface_ipv6_pim_ssm,
|
||||||
|
interface_ipv6_pim_ssm_cmd,
|
||||||
|
"ipv6 pim ssm",
|
||||||
|
IPV6_STR
|
||||||
|
PIM_STR
|
||||||
|
IFACE_PIM_STR)
|
||||||
|
{
|
||||||
|
int ret;
|
||||||
|
|
||||||
|
ret = pim_process_ip_pim_cmd(vty);
|
||||||
|
|
||||||
|
if (ret != NB_OK)
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
vty_out(vty,
|
||||||
|
"Enabled PIM SM on interface; configure PIM SSM range if needed\n");
|
||||||
|
|
||||||
|
return NB_OK;
|
||||||
|
}
|
||||||
|
|
||||||
|
DEFPY_HIDDEN (interface_no_ipv6_pim_ssm,
|
||||||
|
interface_no_ipv6_pim_ssm_cmd,
|
||||||
|
"no ipv6 pim ssm",
|
||||||
|
NO_STR
|
||||||
|
IPV6_STR
|
||||||
|
PIM_STR
|
||||||
|
IFACE_PIM_STR)
|
||||||
|
{
|
||||||
|
return pim_process_no_ip_pim_cmd(vty);
|
||||||
|
}
|
||||||
|
|
||||||
void pim_cmd_init(void)
|
void pim_cmd_init(void)
|
||||||
{
|
{
|
||||||
if_cmd_init(pim_interface_config_write);
|
if_cmd_init(pim_interface_config_write);
|
||||||
|
@ -313,4 +344,6 @@ void pim_cmd_init(void)
|
||||||
install_element(INTERFACE_NODE, &interface_ipv6_pim_hello_cmd);
|
install_element(INTERFACE_NODE, &interface_ipv6_pim_hello_cmd);
|
||||||
install_element(INTERFACE_NODE, &interface_no_ipv6_pim_hello_cmd);
|
install_element(INTERFACE_NODE, &interface_no_ipv6_pim_hello_cmd);
|
||||||
install_element(INTERFACE_NODE, &interface_ipv6_pim_activeactive_cmd);
|
install_element(INTERFACE_NODE, &interface_ipv6_pim_activeactive_cmd);
|
||||||
|
install_element(INTERFACE_NODE, &interface_ipv6_pim_ssm_cmd);
|
||||||
|
install_element(INTERFACE_NODE, &interface_no_ipv6_pim_ssm_cmd);
|
||||||
}
|
}
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
#define IFACE_MLD_LAST_MEMBER_QUERY_INTERVAL_STR \
|
#define IFACE_MLD_LAST_MEMBER_QUERY_INTERVAL_STR \
|
||||||
"MLD last member query interval\n"
|
"MLD last member query interval\n"
|
||||||
#define IFACE_MLD_LAST_MEMBER_QUERY_COUNT_STR "MLD last member query count\n"
|
#define IFACE_MLD_LAST_MEMBER_QUERY_COUNT_STR "MLD last member query count\n"
|
||||||
|
#define IFACE_PIM_STR "Enable PIM SSM operation\n"
|
||||||
#define IFACE_PIM_HELLO_STR "Hello Interval\n"
|
#define IFACE_PIM_HELLO_STR "Hello Interval\n"
|
||||||
#define IFACE_PIM_HELLO_TIME_STR "Time in seconds for Hello Interval\n"
|
#define IFACE_PIM_HELLO_TIME_STR "Time in seconds for Hello Interval\n"
|
||||||
#define IFACE_PIM_HELLO_HOLD_STR "Time in seconds for Hold Interval\n"
|
#define IFACE_PIM_HELLO_HOLD_STR "Time in seconds for Hold Interval\n"
|
||||||
|
|
|
@ -8074,11 +8074,7 @@ DEFUN_HIDDEN (interface_ip_pim_ssm,
|
||||||
{
|
{
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
nb_cli_enqueue_change(vty, "./pim-enable", NB_OP_MODIFY, "true");
|
ret = pim_process_ip_pim_cmd(vty);
|
||||||
|
|
||||||
ret = nb_cli_apply_changes(vty,
|
|
||||||
FRR_PIM_INTERFACE_XPATH,
|
|
||||||
"frr-routing:ipv4");
|
|
||||||
|
|
||||||
if (ret != NB_OK)
|
if (ret != NB_OK)
|
||||||
return ret;
|
return ret;
|
||||||
|
@ -8120,39 +8116,7 @@ DEFUN_HIDDEN (interface_no_ip_pim_ssm,
|
||||||
PIM_STR
|
PIM_STR
|
||||||
IFACE_PIM_STR)
|
IFACE_PIM_STR)
|
||||||
{
|
{
|
||||||
const struct lyd_node *igmp_enable_dnode;
|
return pim_process_no_ip_pim_cmd(vty);
|
||||||
char igmp_if_xpath[XPATH_MAXLEN];
|
|
||||||
|
|
||||||
int printed =
|
|
||||||
snprintf(igmp_if_xpath, sizeof(igmp_if_xpath),
|
|
||||||
"%s/frr-gmp:gmp/address-family[address-family='%s']",
|
|
||||||
VTY_CURR_XPATH, "frr-routing:ipv4");
|
|
||||||
|
|
||||||
if (printed >= (int)(sizeof(igmp_if_xpath))) {
|
|
||||||
vty_out(vty, "Xpath too long (%d > %u)", printed + 1,
|
|
||||||
XPATH_MAXLEN);
|
|
||||||
return CMD_WARNING_CONFIG_FAILED;
|
|
||||||
}
|
|
||||||
|
|
||||||
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);
|
|
||||||
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
|
|
||||||
} else {
|
|
||||||
if (!yang_dnode_get_bool(igmp_enable_dnode, ".")) {
|
|
||||||
nb_cli_enqueue_change(vty, igmp_if_xpath, NB_OP_DESTROY,
|
|
||||||
NULL);
|
|
||||||
nb_cli_enqueue_change(vty, ".", NB_OP_DESTROY, NULL);
|
|
||||||
} else
|
|
||||||
nb_cli_enqueue_change(vty, "./pim-enable", NB_OP_MODIFY,
|
|
||||||
"false");
|
|
||||||
}
|
|
||||||
|
|
||||||
return nb_cli_apply_changes(vty, FRR_PIM_INTERFACE_XPATH,
|
|
||||||
"frr-routing:ipv4");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DEFUN_HIDDEN (interface_no_ip_pim_sm,
|
DEFUN_HIDDEN (interface_no_ip_pim_sm,
|
||||||
|
@ -8207,7 +8171,7 @@ DEFUN (interface_no_ip_pim,
|
||||||
IP_STR
|
IP_STR
|
||||||
PIM_STR)
|
PIM_STR)
|
||||||
{
|
{
|
||||||
pim_process_no_ip_pim_cmd(vty);
|
return pim_process_no_ip_pim_cmd(vty);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* boundaries */
|
/* boundaries */
|
||||||
|
|
Loading…
Reference in a new issue