eval $(/usr/local/bin/readhash /var/ipfire/dns/settings)
-create_dhcpcd_info()
+dhcpcd_up()
{
set | grep "^new_" | sed "s|^new_||g" | \
sort > /var/ipfire/dhcpc/dhcpcd-$interface.info
fi
}
-remove_dhcpcd_info()
+dhcpcd_down()
{
- rm -f /var/ipfire/dhcpc/dhcpcd-$interface.info
- logger -p local0.info -t dhcpcd.exe[$$] "${interface} has been brought down"
- rm -f /var/ipfire/red/active
- run_subdir ${rc_base}/init.d/networking/red.down/
+ set | grep "^new_" | sed "s|^new_||g" | \
+ sort > /var/ipfire/dhcpc/dhcpcd-$interface.info
+ if [ "$interface" != "red0.8" ]; then
+ logger -p local0.info -t dhcpcd.exe[$$] "${interface} has been brought down"
+ rm -f /var/ipfire/red/active
+ run_subdir ${rc_base}/init.d/networking/red.down/
+ fi
}
case "$reason" in
-BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC) create_dhcpcd_info;;
-PREINIT|EXPIRE|FAIL|IPV4LL|NAK|NOCARRIER|RELEASE|STOP) remove_dhcpcd_info;;
+BOUND|INFORM|REBIND|REBOOT|RENEW|TIMEOUT|STATIC) dhcpcd_up;;
+PREINIT|EXPIRE|FAIL|IPV4LL|NAK|NOCARRIER|RELEASE|STOP) dhcpcd_down;;
esac