On FreeBSD, you can use devd to trigger scripts that react to device state changes. For instance, you plug/remove a device, or you connect/disconnect an Ethernet cable.
I had to use this kind of rule to restart a service when an interface is reconnected. However the rule would not trigger when the cable was reconnected.
The reason was that default rules in /etc/devd.conf
were failing, hence stopping the execution of the next rules. In particular service dhclient quietstart $subsystem"
.
The solution was either to comment these lines in devd.conf
or give my custom devd configuration a higher priority.