diff options
Diffstat (limited to 'examples/var_service/dhcp_if')
-rwxr-xr-x | examples/var_service/dhcp_if/convert2ipconf | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/examples/var_service/dhcp_if/convert2ipconf b/examples/var_service/dhcp_if/convert2ipconf index 038b1f7..31e3c7f 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. |