return NULL;
}
-/* Create new vrf structure. */
-struct vrf *
-vrf_create (const char *name)
-{
- struct vrf *vrfp;
-
- vrfp = XCALLOC (MTYPE_VRF, sizeof (struct vrf));
-
- assert (name);
-
- zlog_debug ("Vrf_create: %s", name);
- strncpy (vrfp->name, name, VRF_NAMSIZ);
- vrfp->name[VRF_NAMSIZ] = '\0';
-
- if (vrf_list_lookup_by_name (vrfp->name) == NULL)
- listnode_add_sort (vrf_list, vrfp);
- else
- zlog_err("vrf_create(%s): corruption detected -- vrf with this "
- "name exists already with vrf-id %u!", vrfp->name, vrfp->vrf_id);
-
- UNSET_FLAG(vrfp->status, VRF_ACTIVE);
-
- if (vrf_master.vrf_new_hook)
- (*vrf_master.vrf_new_hook) (0, name, &vrfp->info);
-
- return vrfp;
-}
-
-struct vrf *
-vrf_get_by_name (const char *name)
-{
- struct vrf *vrfp;
-
- return ((vrfp = vrf_list_lookup_by_name (name)) != NULL) ? vrfp :
- vrf_create (name);
-}
-
/* Build the table key */
static void
vrf_build_key (vrf_id_t vrf_id, struct prefix *p)
/* The default VRF ID */
#define VRF_DEFAULT 0
+#define VRF_UNKNOWN UINT16_MAX
/* Pending: May need to refine this. */
#ifndef IFLA_VRF_MAX
extern struct vrf *vrf_lookup (vrf_id_t);
extern struct vrf *vrf_lookup_by_name (const char *);
extern struct vrf *vrf_list_lookup_by_name (const char *);
-extern struct vrf *vrf_get_by_name (const char *);
extern struct vrf *vrf_get (vrf_id_t, const char *);
-extern struct vrf *vrf_create (const char *);
extern void vrf_delete (struct vrf *);
extern int vrf_enable (struct vrf *);
extern vrf_id_t vrf_name_to_id (const char *);
while processing the deletion. Each client daemon is responsible
for setting vrf-id to IFINDEX_INTERNAL after processing the
interface deletion message. */
- vrfp->vrf_id = 0;
+ vrfp->vrf_id = VRF_UNKNOWN;
}