summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelix Fietkau2022-08-29 11:08:29 +0000
committerFelix Fietkau2022-08-29 11:08:29 +0000
commitb75791a6db2560f4e73d092aaf2e2601c39eee6e (patch)
tree449b70dd6a6a3c1f21fe5f5b1b0ec2fb2ed335c0
parent74a14c00abb07d2d8c79c61c459f70d28764dee6 (diff)
downloadunetd-b75791a6db2560f4e73d092aaf2e2601c39eee6e.tar.gz
scripts/update-cmd.pl: reorder add/remove calls to better deal with dynamic changes
Signed-off-by: Felix Fietkau <nbd@nbd.name>
-rwxr-xr-xscripts/update-cmd.pl22
1 files changed, 11 insertions, 11 deletions
diff --git a/scripts/update-cmd.pl b/scripts/update-cmd.pl
index 37d0b11..1456533 100755
--- a/scripts/update-cmd.pl
+++ b/scripts/update-cmd.pl
@@ -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");