#!/bin/sh
IPVER=""
if echo "$reason" | grep -q '6$'; then
IPVER=6
fi
case "$reason" in
BOUND)
echo "DEVICE=$interface" >> /run/net-$interface.conf
echo "PROTO=dhcp" >> /run/net-$interface.conf
echo "IPV4PROTO=dhcp" >> /run/net-$interface.conf
echo "IPV4ADDR=$new_ip_address" >> /run/net-$interface.conf
echo "IPV4NETMASK=$new_subnet_mask" >> /run/net-$interface.conf
echo "IPV4BROADCAST=$new_broadcast_address" >> /run/net-$interface.conf
echo "IPV4GATEWAY=$new_routers" >> /run/net-$interface.conf
echo "IPV4DNS0=$new_domain_name_servers" >> /run/net-$interface.conf
echo "ROOTSERVER=$new_routers" >> /run/net-$interface.conf
if [ -n "$host_name"]; then
echo "HOSTNAME=$new_host_name" >> /run/net-$interface.conf
fi
if [ -n "$domain_name"]; then
echo "DNSDOMAIN=$new_domain_name" >> /run/net-$interface.conf
fi
if [ -n "$new_domain_search"]; then
echo "DOMAINSEARCH=$new_domain_search" >> /run/net-$interface.conf
fi
;;
BOUND6)
echo "DEVICE6=$interface" >> /run/net6-$interface.conf
echo "IPV6PROTO=dhcp6" >> /run/net6-$interface.conf
echo "IPV6ADDR=$new_ip6_address" >> /run/net6-$interface.conf
echo "IPV6NETMASK=$new_ip6_prefixlen" >> /run/net6-$interface.conf
echo "IPV6DNS0=$new_dhcp6_name_servers" >> /run/net6-$interface.conf
if [ -n "$new_dhcp6_domain_search"]; then
echo "IPV6DOMAINSEARCH=$new_dhcp6_domain_search" >> /run/net6-$interface.conf
fi
;;
esac
for prefix in '' 'cur_' 'new_' 'old_'; do
# loop over the DHCP variables passed to dhclient-script
for basevar in reason interface medium alias_ip_address \
ip_address host_name network_number subnet_mask \
broadcast_address routers static_routes \
rfc3442_classless_static_routes \
domain_name domain_search domain_name_servers \
netbios_name_servers netbios_scope \
ntp_servers \
ip6_address ip6_prefix ip6_prefixlen \
dhcp6_domain_search dhcp6_name_servers ; do
var="${prefix}${basevar}"
eval "content=\$$var"
# show only variables with values set
if [ -n "${content}" ]; then
echo "$var='${content}'" >> /run/net$IPVER-$interface.conf
fi
done
done