mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-08 01:15:12 +00:00
lib: avoid default vrf name memory allocation at startup
If default VRF is used, with standard naming convention, memory allocation can be avoided. Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
This commit is contained in:
parent
dd1147028a
commit
eb6934d5c5
@ -473,10 +473,7 @@ void vrf_init(int (*create)(struct vrf *), int (*enable)(struct vrf *),
|
|||||||
int ((*update)(struct vrf *)))
|
int ((*update)(struct vrf *)))
|
||||||
{
|
{
|
||||||
struct vrf *default_vrf;
|
struct vrf *default_vrf;
|
||||||
char *local_ptr = (char *)VRF_DEFAULT_NAME;
|
|
||||||
|
|
||||||
if (local_ptr)
|
|
||||||
vrf_default_name = XSTRDUP(MTYPE_VRF, local_ptr);
|
|
||||||
/* initialise NS, in case VRF backend if NETNS */
|
/* initialise NS, in case VRF backend if NETNS */
|
||||||
ns_init();
|
ns_init();
|
||||||
if (debug_vrf)
|
if (debug_vrf)
|
||||||
@ -490,7 +487,7 @@ void vrf_init(int (*create)(struct vrf *), int (*enable)(struct vrf *),
|
|||||||
vrf_master.vrf_update_name_hook = update;
|
vrf_master.vrf_update_name_hook = update;
|
||||||
|
|
||||||
/* The default VRF always exists. */
|
/* The default VRF always exists. */
|
||||||
default_vrf = vrf_get(VRF_DEFAULT, vrf_default_name);
|
default_vrf = vrf_get(VRF_DEFAULT, VRF_DEFAULT_NAME);
|
||||||
if (!default_vrf) {
|
if (!default_vrf) {
|
||||||
flog_err(LIB_ERR_VRF_START,
|
flog_err(LIB_ERR_VRF_START,
|
||||||
"vrf_init: failed to create the default VRF!");
|
"vrf_init: failed to create the default VRF!");
|
||||||
@ -498,7 +495,7 @@ void vrf_init(int (*create)(struct vrf *), int (*enable)(struct vrf *),
|
|||||||
}
|
}
|
||||||
if (vrf_is_backend_netns())
|
if (vrf_is_backend_netns())
|
||||||
strlcpy(default_vrf->data.l.netns_name,
|
strlcpy(default_vrf->data.l.netns_name,
|
||||||
vrf_default_name, NS_NAMSIZ);
|
VRF_DEFAULT_NAME, NS_NAMSIZ);
|
||||||
|
|
||||||
/* Enable the default VRF. */
|
/* Enable the default VRF. */
|
||||||
if (!vrf_enable(default_vrf)) {
|
if (!vrf_enable(default_vrf)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user