lsp_init();
mt_init();
- /* create the global 'isis' instance */
- isis_global_instance_create(VRF_DEFAULT_NAME);
-
isis_zebra_init(master, instance);
isis_bfd_init(master);
isis_ldp_sync_init();
return NB_OK;
vrf_name = yang_dnode_get_string(args->dnode, "./vrf");
area_tag = yang_dnode_get_string(args->dnode, "./area-tag");
- isis_global_instance_create(vrf_name);
+
area = isis_area_lookup_by_vrf(area_tag, vrf_name);
if (area)
return NB_ERR_INCONSISTENCY;
im->master = master;
}
-void isis_global_instance_create(const char *vrf_name)
-{
- struct isis *isis;
-
- isis = isis_lookup_by_vrfname(vrf_name);
- if (isis == NULL)
- isis_new(vrf_name);
-}
-
struct isis *isis_new(const char *vrf_name)
{
struct vrf *vrf;
area_mt_finish(area);
if (listcount(area->isis->area_list) == 0) {
- memset(area->isis->sysid, 0, ISIS_SYS_ID_LEN);
- area->isis->sysid_set = 0;
+ isis_finish(area->isis);
}
XFREE(MTYPE_ISIS_AREA, area);
#define F_LEVEL1_ONLY 0x08
#define F_LEVEL2_ONLY 0x10
-static struct isis *isis;
-
static void test_run_spf(struct vty *vty, const struct isis_topology *topology,
const struct isis_test_node *root,
struct isis_area *area, struct lspdb_head *lspdb,
uint8_t fail_id[ISIS_SYS_ID_LEN] = {};
/* Init topology. */
- memcpy(isis->sysid, root->sysid, sizeof(isis->sysid));
area = isis_area_create("1", NULL);
+ memcpy(area->isis->sysid, root->sysid, sizeof(area->isis->sysid));
area->is_type = IS_LEVEL_1_AND_2;
area->srdb.enabled = true;
if (test_topology_load(topology, area, area->lspdb) != 0) {
{
printf("\nend.\n");
- isis_finish(isis);
cmd_terminate();
vty_terminate();
yang_terminate();
/* IS-IS inits. */
yang_module_load("frr-isisd");
- isis = isis_new(VRF_DEFAULT_NAME);
SET_FLAG(im->options, F_ISIS_UNIT_TEST);
debug_spf_events |= DEBUG_SPF_EVENTS;
debug_lfa |= DEBUG_LFA;