]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
network: enumerate nexthops before routes
authorYu Watanabe <watanabe.yu+github@gmail.com>
Sun, 14 Feb 2021 18:29:55 +0000 (03:29 +0900)
committerLennart Poettering <lennart@poettering.net>
Wed, 17 Feb 2021 18:40:02 +0000 (19:40 +0100)
Preparation for the later commits.
Routes may have RTA_NH_ID attribute. To resolve the nexthop ID, all
nexthops must be enumerated earlier.

src/network/networkd-manager.c

index debd9f1ecc98da34a49c15d92d20e5d527adb071..70c5c30b30eababd768db5fe8ad7c92b1ac6c4fb 100644 (file)
@@ -1099,6 +1099,10 @@ int manager_enumerate(Manager *m) {
         if (r < 0)
                 return log_error_errno(r, "Could not enumerate neighbors: %m");
 
+        r = manager_enumerate_nexthop(m);
+        if (r < 0)
+                return log_error_errno(r, "Could not enumerate nexthop rules: %m");
+
         r = manager_enumerate_routes(m);
         if (r < 0)
                 return log_error_errno(r, "Could not enumerate routes: %m");
@@ -1107,10 +1111,6 @@ int manager_enumerate(Manager *m) {
         if (r < 0)
                 return log_error_errno(r, "Could not enumerate routing policy rules: %m");
 
-        r = manager_enumerate_nexthop(m);
-        if (r < 0)
-                return log_error_errno(r, "Could not enumerate nexthop rules: %m");
-
         return 0;
 }