scripts/update-cmd.pl: reorder add/remove calls to better deal with dynamic changes
authorFelix Fietkau <nbd@nbd.name>
Mon, 29 Aug 2022 11:08:29 +0000 (13:08 +0200)
committerFelix Fietkau <nbd@nbd.name>
Mon, 29 Aug 2022 11:08:29 +0000 (13:08 +0200)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
scripts/update-cmd.pl

index 37d0b11360999c017c11c83cca3d221bd382a758..1456533cd571881081749d4c89ced66930fef0be 100755 (executable)
@@ -132,13 +132,13 @@ sub set_active_data_linux($$$) {
        foreach my $ip (keys %{$delete->{ipaddr}}) {
                cmd("ip a d $ip dev $ifname");
        }
-       foreach my $ip (keys %{$add->{ipaddr}}) {
-               cmd("ip a a $ip dev $ifname");
-       }
-
        foreach my $route (keys %{$delete->{route}}) {
                cmd("ip r d $route dev $ifname");
        }
+
+       foreach my $ip (keys %{$add->{ipaddr}}) {
+               cmd("ip a a $ip dev $ifname");
+       }
        foreach my $route (keys %{$add->{route}}) {
                cmd("ip r a $route dev $ifname");
        }
@@ -157,6 +157,13 @@ sub set_active_data_darwin($$$) {
                        cmd("ifconfig $ifname delete $ip");
                }
        }
+       foreach my $route (keys %{$delete->{route}}) {
+               if ($route =~ /:/)  {
+                       cmd("route delete -inet6 $route -iface $ifname");
+               } else {
+                       cmd("route delete -inet $route -iface $ifname");
+               }
+       }
        foreach my $ip (keys %{$add->{ipaddr}}) {
                my @ip = split /\//, $ip;
 
@@ -166,13 +173,6 @@ sub set_active_data_darwin($$$) {
                        cmd("ifconfig $ifname add $ip[0]/$ip[1] $ip[0]");
                }
        }
-       foreach my $route (keys %{$delete->{route}}) {
-               if ($route =~ /:/)  {
-                       cmd("route delete -inet6 $route -iface $ifname");
-               } else {
-                       cmd("route delete -inet $route -iface $ifname");
-               }
-       }
        foreach my $route (keys %{$add->{route}}) {
                if ($route =~ /:/)  {
                        cmd("route add -inet6 $route -iface $ifname");