]> git.proxmox.com Git - mirror_frr.git/blobdiff - zebra/zebra_netns_notify.c
zebra: Refactor kernel_rtm to be a bit smarter about how it handles options
[mirror_frr.git] / zebra / zebra_netns_notify.c
index 4d2aefa2362fd5dd5b0b5312e2d9da3ee0af156c..a4e10221482012a9204287860f7c3a92a525c57d 100644 (file)
@@ -219,7 +219,7 @@ static int zebra_ns_ready_read(struct thread *t)
                zlog_warn(
                          "NS notify : NS %s is default VRF."
                          " Updating VRF Name", basename(netnspath));
-               vrf_set_default_name(basename(netnspath));
+               vrf_set_default_name(basename(netnspath), false);
                return zebra_ns_continue_read(zns_info, 1);
        }
 
@@ -252,8 +252,6 @@ static int zebra_ns_notify_read(struct thread *t)
 
                if (!(event->mask & (IN_CREATE | IN_DELETE)))
                        continue;
-               if (event->mask & IN_DELETE)
-                       return zebra_ns_delete(event->name);
 
                if (offsetof(struct inotify_event, name) + event->len
                    >= sizeof(buf)) {
@@ -268,6 +266,9 @@ static int zebra_ns_notify_read(struct thread *t)
                        break;
                }
 
+               if (event->mask & IN_DELETE)
+                       return zebra_ns_delete(event->name);
+
                netnspath = ns_netns_pathname(NULL, event->name);
                if (!netnspath)
                        continue;
@@ -314,7 +315,7 @@ void zebra_ns_notify_parse(void)
                        zlog_warn(
                                  "NS notify : NS %s is default VRF."
                                  " Updating VRF Name", dent->d_name);
-                       vrf_set_default_name(dent->d_name);
+                       vrf_set_default_name(dent->d_name, false);
                        continue;
                }
                zebra_ns_notify_create_context_from_entry_name(dent->d_name);