summaryrefslogtreecommitdiff
path: root/zebra/rtadv.c
diff options
context:
space:
mode:
Diffstat (limited to 'zebra/rtadv.c')
-rw-r--r--zebra/rtadv.c35
1 files changed, 11 insertions, 24 deletions
diff --git a/zebra/rtadv.c b/zebra/rtadv.c
index ee19c19aa5..38e4a38209 100644
--- a/zebra/rtadv.c
+++ b/zebra/rtadv.c
@@ -1762,35 +1762,23 @@ DEFPY_YANG (ipv6_nd_managed_config_flag,
return nb_cli_apply_changes(vty, NULL);
}
-DEFUN (ipv6_nd_homeagent_config_flag,
+DEFPY_YANG (ipv6_nd_homeagent_config_flag,
ipv6_nd_homeagent_config_flag_cmd,
- "ipv6 nd home-agent-config-flag",
- "Interface IPv6 config commands\n"
- "Neighbor discovery\n"
- "Home Agent configuration flag\n")
-{
- VTY_DECLVAR_CONTEXT(interface, ifp);
- struct zebra_if *zif = ifp->info;
-
- zif->rtadv.AdvHomeAgentFlag = 1;
-
- return CMD_SUCCESS;
-}
-
-DEFUN (no_ipv6_nd_homeagent_config_flag,
- no_ipv6_nd_homeagent_config_flag_cmd,
- "no ipv6 nd home-agent-config-flag",
+ "[no] ipv6 nd home-agent-config-flag",
NO_STR
"Interface IPv6 config commands\n"
"Neighbor discovery\n"
"Home Agent configuration flag\n")
{
- VTY_DECLVAR_CONTEXT(interface, ifp);
- struct zebra_if *zif = ifp->info;
-
- zif->rtadv.AdvHomeAgentFlag = 0;
-
- return CMD_SUCCESS;
+ if (!no)
+ nb_cli_enqueue_change(vty,
+ "./frr-zebra:zebra/ipv6-router-advertisements/home-agent-flag",
+ NB_OP_MODIFY, "true");
+ else
+ nb_cli_enqueue_change(vty,
+ "./frr-zebra:zebra/ipv6-router-advertisements/home-agent-flag",
+ NB_OP_DESTROY, NULL);
+ return nb_cli_apply_changes(vty, NULL);
}
DEFUN (ipv6_nd_adv_interval_config_option,
@@ -2697,7 +2685,6 @@ void rtadv_cmd_init(void)
install_element(INTERFACE_NODE, &ipv6_nd_managed_config_flag_cmd);
install_element(INTERFACE_NODE, &ipv6_nd_other_config_flag_cmd);
install_element(INTERFACE_NODE, &ipv6_nd_homeagent_config_flag_cmd);
- install_element(INTERFACE_NODE, &no_ipv6_nd_homeagent_config_flag_cmd);
install_element(INTERFACE_NODE, &ipv6_nd_homeagent_preference_cmd);
install_element(INTERFACE_NODE, &no_ipv6_nd_homeagent_preference_cmd);
install_element(INTERFACE_NODE, &ipv6_nd_homeagent_lifetime_cmd);