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:
		@@ -26,6 +26,25 @@ exec 2>&1
 | 
			
		||||
test "$interface" || 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"
 | 
			
		||||
test "$interface"	&& echo "if[\$cfg]='$interface'"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user