Browse Source

dhcp service example: rewrite "private network to mask" as case statement

Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
Denys Vlasenko 5 years ago
parent
commit
5a387e26c2
1 changed files with 13 additions and 8 deletions
  1. 13 8
      examples/var_service/dhcp_if/convert2ipconf

+ 13 - 8
examples/var_service/dhcp_if/convert2ipconf

@@ -29,14 +29,19 @@ test "$ip" || exit 1
 # some servers do not return subnet option.
 # guess it for standard private networks.
 if ! test "$mask"; then
-	if test "$ip" != "${ip#192.168.}"; then
-		mask=16
-	elif test "$ip" != "${ip#172.16.}"; then
-		mask=12
-		# repeat for each in 172.17. - 172.31. range?
-	elif test "$ip" != "${ip#10.}"; then
-		mask=8
-	fi
+	case "$ip" in
+	10.*)
+		mask=8;;
+	192.168.*)
+		mask=16;;
+	#172.16-31.x.x
+	172.1[6789].*)
+		mask=12;;
+	172.2[0123456789].*)
+		mask=12;;
+	172.3[01].*)
+		mask=12;;
+	esac
 fi
 
 # some servers do not return router option.