From eb6934d5c5a1937ab2d8ecab5dd5b8242f1fda3f Mon Sep 17 00:00:00 2001 From: Philippe Guibert Date: Wed, 4 Jul 2018 17:30:14 +0200 Subject: [PATCH] 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 --- lib/vrf.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/lib/vrf.c b/lib/vrf.c index f74e233877..1fb1b786c7 100644 --- a/lib/vrf.c +++ b/lib/vrf.c @@ -473,10 +473,7 @@ void vrf_init(int (*create)(struct vrf *), int (*enable)(struct vrf *), int ((*update)(struct 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 */ ns_init(); 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; /* 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) { flog_err(LIB_ERR_VRF_START, "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()) strlcpy(default_vrf->data.l.netns_name, - vrf_default_name, NS_NAMSIZ); + VRF_DEFAULT_NAME, NS_NAMSIZ); /* Enable the default VRF. */ if (!vrf_enable(default_vrf)) { -- 2.39.5