mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-07-09 09:16:17 +00: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!");
|
"vrf_init: failed to create the default VRF!");
|
||||||
exit(1);
|
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. */
|
/* Enable the default VRF. */
|
||||||
if (!vrf_enable(default_vrf)) {
|
if (!vrf_enable(default_vrf)) {
|
||||||
|
@ -98,6 +98,14 @@ static int zebra_vrf_new(struct vrf *vrf)
|
|||||||
zvrf = zebra_vrf_alloc(vrf);
|
zvrf = zebra_vrf_alloc(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);
|
||||||
|
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);
|
otable_init(&zvrf->other_tables);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user