]> git.puffer.fish Git - matthieu/frr.git/commitdiff
lib: avoid default vrf name memory allocation at startup
authorPhilippe Guibert <philippe.guibert@6wind.com>
Wed, 4 Jul 2018 15:30:14 +0000 (17:30 +0200)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Tue, 28 Aug 2018 14:23:50 +0000 (16:23 +0200)
If default VRF is used, with standard naming convention,
memory allocation can be avoided.

Signed-off-by: Philippe Guibert <philippe.guibert@6wind.com>
lib/vrf.c

index f74e233877027227cb2d4b0c66adaf0a333439f8..1fb1b786c7d4d26d92cb3bf32b4acb14b06952b1 100644 (file)
--- 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)) {