There are two hooks called for bridge, ethernet and bond interfaces if the link-state changes up -> down or down -> up. The helpers are:
- /etc/netplug/linkdown.d/dhclient
- /etc/netplug/linkup.d/dhclient
As those helpers use Linux actions to start/restart the dhclient process in Perl it's time to rewrite it. First goal is to get rid of all Perl code and the second is that we now have a Proper Python library.
Instead of checking if the process is running the then restarting it without even systemd noticing (yeah we might get two processes beeing alive) we should:
- Add a Python helper that can be used for both up and down (see man 8 netplugd FILES section)
- Query the VyOS CLI config if the interface in question has DHCP(v6) configured and is not disabled
- Call the VyOS op-mode command to restart the dhclient processes
MAN page: https://linux.die.net/man/8/netplugd