#include "stream.h"
#include "prefix.h"
#include "table.h"
+#include "qobj.h"
#include "isisd/dict.h"
#include "isisd/include-netbsd/iso.h"
struct isis *isis = NULL;
+DEFINE_QOBJ_TYPE(isis)
+DEFINE_QOBJ_TYPE(isis_area)
+
/*
* Prototypes.
*/
*/
/* isis->debugs = 0xFFFF; */
isisMplsTE.status = disable; /* Only support TE metric */
+ QOBJ_REG (isis, isis);
}
struct isis_area *
listnode_add (isis->area_list, area);
area->isis = isis;
+ QOBJ_REG (area, isis_area);
+
return area;
}
if (area)
{
- vty->node = ISIS_NODE;
- vty->index = area;
+ VTY_PUSH_CONTEXT (ISIS_NODE, area);
return CMD_SUCCESS;
}
if (isis->debugs & DEBUG_EVENTS)
zlog_debug ("New IS-IS area instance %s", area->area_tag);
- vty->node = ISIS_NODE;
- vty->index = area;
+ VTY_PUSH_CONTEXT (ISIS_NODE, area);
return CMD_SUCCESS;
}
return CMD_ERR_NO_MATCH;
}
+ QOBJ_UNREG (area);
+
if (area->circuit_list)
{
for (ALL_LIST_ELEMENTS (area->circuit_list, node, nnode, circuit))
int
area_net_title (struct vty *vty, const char *net_title)
{
- struct isis_area *area;
+ VTY_DECLVAR_CONTEXT (isis_area, area);
struct area_addr *addr;
struct area_addr *addrp;
struct listnode *node;
u_char buff[255];
- area = vty->index;
if (!area)
{
int
area_clear_net_title (struct vty *vty, const char *net_title)
{
- struct isis_area *area;
+ VTY_DECLVAR_CONTEXT (isis_area, area);
struct area_addr addr, *addrp = NULL;
struct listnode *node;
u_char buff[255];
- area = vty->index;
if (!area)
{
vty_out (vty, "Can't find ISIS instance %s", VTY_NEWLINE);
"log-adjacency-changes",
"Log changes in adjacency state\n")
{
- struct isis_area *area;
-
- area = vty->index;
- assert (area);
+ VTY_DECLVAR_CONTEXT (isis_area, area);
area->log_adj_changes = 1;
"no log-adjacency-changes",
"Stop logging changes in adjacency state\n")
{
- struct isis_area *area;
-
- area = vty->index;
- assert (area);
+ VTY_DECLVAR_CONTEXT (isis_area, area);
area->log_adj_changes = 0;
"Optional param 3\n"
"Topology\n")
{
- struct isis_area *area;
-
- area = vty->index;
- assert (area);
+ VTY_DECLVAR_CONTEXT (isis_area, area);
if (!spgrid_check_params (vty, argc, argv))
{
"XXXX.XXXX.XXXX Network entity title (NET)\n")
{
int idx_word = 2;
- struct isis_area *area;
u_char buff[ISIS_SYS_ID_LEN];
-
- area = vty->index;
- assert (area);
+ VTY_DECLVAR_CONTEXT (isis_area, area);
if (sysid2buff (buff, argv[idx_word]->arg))
sysid2buff (area->topology_baseis, argv[idx_word]->arg);
"A Network IS Base for this topology\n"
"XXXX.XXXX.XXXX Network entity title (NET)\n")
{
- struct isis_area *area;
-
- area = vty->index;
- assert (area);
+ VTY_DECLVAR_CONTEXT (isis_area, area);
memcpy (area->topology_baseis, DEFAULT_TOPOLOGY_BASEIS, ISIS_SYS_ID_LEN);
return CMD_SUCCESS;
"Dynamic hostname base\n")
{
int idx_word = 2;
- struct isis_area *area;
-
- area = vty->index;
- assert (area);
+ VTY_DECLVAR_CONTEXT (isis_area, area);
/* I hope that it's enough. */
area->topology_basedynh = strndup (argv[idx_word]->arg, 16);
install_element (VIEW_NODE, &show_database_detail_cmd);
install_element (VIEW_NODE, &show_database_detail_arg_cmd);
- install_element (ENABLE_NODE, &show_isis_summary_cmd);
-
- install_element (ENABLE_NODE, &show_isis_interface_cmd);
- install_element (ENABLE_NODE, &show_isis_interface_detail_cmd);
- install_element (ENABLE_NODE, &show_isis_interface_arg_cmd);
-
- install_element (ENABLE_NODE, &show_isis_neighbor_cmd);
- install_element (ENABLE_NODE, &show_isis_neighbor_detail_cmd);
- install_element (ENABLE_NODE, &show_isis_neighbor_arg_cmd);
- install_element (ENABLE_NODE, &clear_isis_neighbor_cmd);
- install_element (ENABLE_NODE, &clear_isis_neighbor_arg_cmd);
-
- install_element (ENABLE_NODE, &show_hostname_cmd);
- install_element (ENABLE_NODE, &show_database_cmd);
- install_element (ENABLE_NODE, &show_database_arg_cmd);
- install_element (ENABLE_NODE, &show_database_arg_detail_cmd);
- install_element (ENABLE_NODE, &show_database_detail_cmd);
- install_element (ENABLE_NODE, &show_database_detail_arg_cmd);
install_element (ENABLE_NODE, &show_debugging_isis_cmd);
install_node (&debug_node, config_write_debug);
install_element (ISIS_NODE, &topology_basedynh_cmd);
install_element (ISIS_NODE, &no_topology_baseis_cmd);
install_element (VIEW_NODE, &show_isis_generated_topology_cmd);
- install_element (ENABLE_NODE, &show_isis_generated_topology_cmd);
#endif /* TOPOLOGY_GENERATE */
}