mirror of
https://github.com/FRRouting/frr.git
synced 2025-04-30 13:37:17 +02:00
lib, zebra: move ns context intialization to zebra
vrf->ns_ctxt is only ever used in zebra, so move its initialization to zebra's callback. Ideally this pointer shouldn't even be a part of library's vrf struct, and moved to zebra-specific struct, but this is the first step. Signed-off-by: Igor Ryzhov <idryzhov@gmail.com>
This commit is contained in:
parent
4877f2f685
commit
6f214d97d1
|
@ -581,15 +581,6 @@ void vrf_init(int (*create)(struct vrf *), int (*enable)(struct vrf *),
|
|||
"vrf_init: failed to create the default VRF!");
|
||||
exit(1);
|
||||
}
|
||||
if (vrf_is_backend_netns()) {
|
||||
struct ns *ns;
|
||||
|
||||
strlcpy(default_vrf->data.l.netns_name,
|
||||
VRF_DEFAULT_NAME, NS_NAMSIZ);
|
||||
ns = ns_lookup(NS_DEFAULT);
|
||||
ns->vrf_ctxt = default_vrf;
|
||||
default_vrf->ns_ctxt = ns;
|
||||
}
|
||||
|
||||
/* Enable the default VRF. */
|
||||
if (!vrf_enable(default_vrf)) {
|
||||
|
|
|
@ -98,6 +98,14 @@ static int zebra_vrf_new(struct vrf *vrf)
|
|||
zvrf = zebra_vrf_alloc(vrf);
|
||||
if (!vrf_is_backend_netns())
|
||||
zvrf->zns = zebra_ns_lookup(NS_DEFAULT);
|
||||
else if (vrf->vrf_id == VRF_DEFAULT) {
|
||||
struct ns *ns;
|
||||
|
||||
strlcpy(vrf->data.l.netns_name, VRF_DEFAULT_NAME, NS_NAMSIZ);
|
||||
ns = ns_lookup(NS_DEFAULT);
|
||||
ns->vrf_ctxt = vrf;
|
||||
vrf->ns_ctxt = ns;
|
||||
}
|
||||
|
||||
otable_init(&zvrf->other_tables);
|
||||
|
||||
|
|
Loading…
Reference in a new issue