[SOLVED] Detecting hotplugged Ethernet cables in OpenBSD
*BSDThis forum is for the discussion of all BSD variants.
FreeBSD, OpenBSD, NetBSD, etc.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
What is the best way to trigger a script when specific Ethernet interfaces go from status "no carrier" to status "active" and back again?
I'm aware of hotplugd(8) which can detect the status of some devices but not able to find how to make it aware of whether specific Ethernet cables are plugged in or not.
Sweet. That was hiding in plain sight. The manual pages hostname.if(5) and hotplugd(8) don't mention it at all. The example configuration is a great help though. Now I just have to work out the logic of having hot swappable egress without race conditions.
Last edited by Turbocapitalist; 10-23-2017 at 12:46 PM.
The hotplugd(8) tool is used for device additions and removals, which occur on a bus (PCI, USB, etc.) That's a little different than a state change reported through an existing NIC.
Consider the case of a USB-attached NICs. The attach/detach of the NIC to the bus would be managed by hotplug(). The state of the network cabling attached to the NIC could be managed by ifstated().
And ifstated() can be used with external scripts so that you can manage all sorts of states. Not just a NIC's media interface.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.