yang_dnode_get_string(dnode, "./time-to-learn"));
}
+/*
+ * XPath: /frr-isisd:isis/instance/purge-originator
+ */
+DEFPY(area_purge_originator, area_purge_originator_cmd, "[no] purge-originator",
+ NO_STR "Use the RFC 6232 purge-originator\n")
+{
+ nb_cli_enqueue_change(vty, "./purge-originator",
+ no ? NB_OP_DELETE : NB_OP_CREATE, NULL);
+
+ return nb_cli_apply_changes(vty, NULL);
+}
+
+void cli_show_isis_purge_origin(struct vty *vty, struct lyd_node *dnode,
+ bool show_defaults)
+{
+ vty_out(vty, " purge-originator\n");
+}
+
void isis_cli_init(void)
{
install_element(CONFIG_NODE, &router_isis_cmd);
install_element(ISIS_NODE, &no_spf_interval_cmd);
install_element(ISIS_NODE, &spf_delay_ietf_cmd);
install_element(ISIS_NODE, &no_spf_delay_ietf_cmd);
+
+ install_element(ISIS_NODE, &area_purge_originator_cmd);
}
#endif /* ifndef FABRICD */
bool show_defaults);
void cli_show_isis_spf_ietf_backoff(struct vty *vty, struct lyd_node *dnode,
bool show_defaults);
+void cli_show_isis_purge_origin(struct vty *vty, struct lyd_node *dnode,
+ bool show_defaults);
#endif /* ISISD_ISIS_CLI_H_ */
const struct lyd_node *dnode,
union nb_resource *resource)
{
- /* TODO: implement me. */
+ struct isis_area *area;
+
+ if (event != NB_EV_APPLY)
+ return NB_OK;
+
+ area = yang_dnode_get_entry(dnode, true);
+ area->purge_originator = true;
+
return NB_OK;
}
static int isis_instance_purge_originator_delete(enum nb_event event,
const struct lyd_node *dnode)
{
- /* TODO: implement me. */
+ struct isis_area *area;
+
+ if (event != NB_EV_APPLY)
+ return NB_OK;
+
+ area = yang_dnode_get_entry(dnode, true);
+ area->purge_originator = false;
+
return NB_OK;
}
.xpath = "/frr-isisd:isis/instance/purge-originator",
.cbs.create = isis_instance_purge_originator_create,
.cbs.delete = isis_instance_purge_originator_delete,
+ .cbs.cli_show = cli_show_isis_purge_origin,
},
{
.xpath = "/frr-isisd:isis/instance/lsp/mtu",
return CMD_SUCCESS;
}
-DEFUN (area_purge_originator,
- area_purge_originator_cmd,
- "[no] purge-originator",
- NO_STR
- "Use the RFC 6232 purge-originator\n")
-{
- VTY_DECLVAR_CONTEXT(isis_area, area);
-
- area->purge_originator = !!strcmp(argv[0]->text, "no");
- return CMD_SUCCESS;
-}
-
void isis_vty_init(void)
{
install_element(INTERFACE_NODE, &isis_passive_cmd);
install_element(INTERFACE_NODE, &isis_bfd_cmd);
install_element(INTERFACE_NODE, &no_isis_bfd_cmd);
- install_element(ROUTER_NODE, &area_purge_originator_cmd);
-
isis_vty_daemon_init();
}
return CMD_SUCCESS;
}
+DEFUN (area_purge_originator,
+ area_purge_originator_cmd,
+ "[no] purge-originator",
+ NO_STR
+ "Use the RFC 6232 purge-originator\n")
+{
+ VTY_DECLVAR_CONTEXT(isis_area, area);
+
+ area->purge_originator = !!strcmp(argv[0]->text, "no");
+ return CMD_SUCCESS;
+}
+
void isis_vty_daemon_init(void)
{
install_element(ROUTER_NODE, &fabric_tier_cmd);
install_element(ROUTER_NODE, &spf_delay_ietf_cmd);
install_element(ROUTER_NODE, &no_spf_delay_ietf_cmd);
+
+ install_element(ROUTER_NODE, &area_purge_originator_cmd);
}