mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-09 01:31:24 +00:00
zebra: Allow the zvrf to know it's vrf when allocing
Signed-off-by: Donald Sharp <sharpd@nvidia.com>
This commit is contained in:
parent
6038682d46
commit
ec64a634c2
@ -103,9 +103,7 @@ static int zebra_vrf_new(struct vrf *vrf)
|
|||||||
if (IS_ZEBRA_DEBUG_EVENT)
|
if (IS_ZEBRA_DEBUG_EVENT)
|
||||||
zlog_debug("VRF %s created, id %u", vrf->name, vrf->vrf_id);
|
zlog_debug("VRF %s created, id %u", vrf->name, vrf->vrf_id);
|
||||||
|
|
||||||
zvrf = zebra_vrf_alloc();
|
zvrf = zebra_vrf_alloc(vrf);
|
||||||
vrf->info = zvrf;
|
|
||||||
zvrf->vrf = vrf;
|
|
||||||
if (!vrf_is_backend_netns())
|
if (!vrf_is_backend_netns())
|
||||||
zvrf->zns = zebra_ns_lookup(NS_DEFAULT);
|
zvrf->zns = zebra_ns_lookup(NS_DEFAULT);
|
||||||
|
|
||||||
@ -427,12 +425,15 @@ static void zebra_vrf_table_create(struct zebra_vrf *zvrf, afi_t afi,
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Allocate new zebra VRF. */
|
/* Allocate new zebra VRF. */
|
||||||
struct zebra_vrf *zebra_vrf_alloc(void)
|
struct zebra_vrf *zebra_vrf_alloc(struct vrf *vrf)
|
||||||
{
|
{
|
||||||
struct zebra_vrf *zvrf;
|
struct zebra_vrf *zvrf;
|
||||||
|
|
||||||
zvrf = XCALLOC(MTYPE_ZEBRA_VRF, sizeof(struct zebra_vrf));
|
zvrf = XCALLOC(MTYPE_ZEBRA_VRF, sizeof(struct zebra_vrf));
|
||||||
|
|
||||||
|
zvrf->vrf = vrf;
|
||||||
|
vrf->info = zvrf;
|
||||||
|
|
||||||
zebra_vxlan_init_tables(zvrf);
|
zebra_vxlan_init_tables(zvrf);
|
||||||
zebra_mpls_init_tables(zvrf);
|
zebra_mpls_init_tables(zvrf);
|
||||||
zebra_pw_init(zvrf);
|
zebra_pw_init(zvrf);
|
||||||
|
@ -251,7 +251,7 @@ extern struct route_table *zebra_vrf_get_table_with_table_id(afi_t afi,
|
|||||||
extern void zebra_vrf_update_all(struct zserv *client);
|
extern void zebra_vrf_update_all(struct zserv *client);
|
||||||
extern struct zebra_vrf *zebra_vrf_lookup_by_id(vrf_id_t vrf_id);
|
extern struct zebra_vrf *zebra_vrf_lookup_by_id(vrf_id_t vrf_id);
|
||||||
extern struct zebra_vrf *zebra_vrf_lookup_by_name(const char *);
|
extern struct zebra_vrf *zebra_vrf_lookup_by_name(const char *);
|
||||||
extern struct zebra_vrf *zebra_vrf_alloc(void);
|
extern struct zebra_vrf *zebra_vrf_alloc(struct vrf *vrf);
|
||||||
extern struct route_table *zebra_vrf_table(afi_t, safi_t, vrf_id_t);
|
extern struct route_table *zebra_vrf_table(afi_t, safi_t, vrf_id_t);
|
||||||
|
|
||||||
extern void zebra_vrf_init(void);
|
extern void zebra_vrf_init(void);
|
||||||
|
Loading…
Reference in New Issue
Block a user