]> git.puffer.fish Git - mirror/frr.git/commitdiff
zebra: do not create vrf if name already set to default vrf at startup 3615/head
authorPhilippe Guibert <philippe.guibert@6wind.com>
Fri, 28 Dec 2018 13:27:45 +0000 (14:27 +0100)
committerPhilippe Guibert <philippe.guibert@6wind.com>
Wed, 16 Jan 2019 16:02:03 +0000 (17:02 +0100)
if the default vrf name is manually set, by passing -o parameter to
zebra, then this should be detected when walking the list of netns
available in the system. If a netns called vrf0 is present, then it
should be ignored.

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

index ed9f3899d4e5a66f604b21fcf09d646453d5e383..ef31fcf45d3bbc9891cebaaf30cc663be1051cd0 100644 (file)
@@ -215,6 +215,12 @@ static int zebra_ns_ready_read(struct thread *t)
        if (err < 0)
                return zebra_ns_continue_read(zns_info, stop_retry);
 
+       /* check default name is not already set */
+       if (strmatch(VRF_DEFAULT_NAME, basename(netnspath))) {
+               zlog_warn("NS notify : NS %s is already default VRF."
+                         "Cancel VRF Creation", basename(netnspath));
+               return zebra_ns_continue_read(zns_info, 1);
+       }
        if (zebra_ns_notify_is_default_netns(basename(netnspath))) {
                zlog_warn(
                          "NS notify : NS %s is default VRF."
@@ -312,6 +318,12 @@ void zebra_ns_notify_parse(void)
                                   dent->d_name);
                        continue;
                }
+               /* check default name is not already set */
+               if (strmatch(VRF_DEFAULT_NAME, basename(dent->d_name))) {
+                       zlog_warn("NS notify : NS %s is already default VRF."
+                                 "Cancel VRF Creation", dent->d_name);
+                       continue;
+               }
                if (zebra_ns_notify_is_default_netns(dent->d_name)) {
                        zlog_warn(
                                  "NS notify : NS %s is default VRF."