aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xexamples/var_service/dhcp_if/convert2ipconf21
1 files changed, 13 insertions, 8 deletions
diff --git a/examples/var_service/dhcp_if/convert2ipconf b/examples/var_service/dhcp_if/convert2ipconf
index 038b1f7f1..31e3c7fde 100755
--- a/examples/var_service/dhcp_if/convert2ipconf
+++ b/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.