dhcp service example: cater for servers hot giving subnet and/or router
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
779f96a24c
commit
2feaba1d8d
@ -26,6 +26,25 @@ exec 2>&1
|
|||||||
test "$interface" || exit 1
|
test "$interface" || exit 1
|
||||||
test "$ip" || exit 1
|
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
|
||||||
|
fi
|
||||||
|
|
||||||
|
# some servers do not return router option.
|
||||||
|
# assume DHCP server is the router.
|
||||||
|
if ! test "$router"; then
|
||||||
|
test "$serverid" && router="$serverid"
|
||||||
|
fi
|
||||||
|
|
||||||
{
|
{
|
||||||
echo "let cfg=cfg+1"
|
echo "let cfg=cfg+1"
|
||||||
test "$interface" && echo "if[\$cfg]='$interface'"
|
test "$interface" && echo "if[\$cfg]='$interface'"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user