[PATCH] examples/udhcp/simple.script: use ip to delete routes, fix bashism

Radoslav Kolev radoslav.kolev at suse.com
Thu Jul 14 14:00:17 UTC 2022


The script depended on the route command being available to set the
default route. It also used a Bash extension for incrementing the
metric value.

Signed-off-by: Radoslav Kolev <radoslav.kolev at suse.com>
---
 examples/udhcp/simple.script | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/examples/udhcp/simple.script b/examples/udhcp/simple.script
index f079ec8b8..0963f7665 100755
--- a/examples/udhcp/simple.script
+++ b/examples/udhcp/simple.script
@@ -35,7 +35,13 @@ case "$1" in
 
 		if [ -n "$router" ] ; then
 			echo "Deleting routers"
-			while route del default gw 0.0.0.0 dev $interface ; do
+			while
+				if command -v ip >/dev/null; then
+					ip route del default dev $interface
+				else
+					route del default gw 0.0.0.0 dev $interface
+				fi
+			do
 				:
 			done
 
@@ -49,7 +55,12 @@ case "$1" in
 	# Used in datacenters, avoids the need for private ip-addresses between two hops.
 					ip route add $i dev $interface
 				fi
-				route add default gw $i dev $interface metric $((metric++))
+				if command -v ip >/dev/null; then
+					ip route add default via $i dev $interface metric $metric
+				else
+					route add default gw $i dev $interface metric $metric
+				fi
+				metric=$((metric + 1))
 			done
 		fi
 
-- 
2.26.2



More information about the busybox mailing list