<div dir="ltr"><div dir="auto">Hello list,<div dir="auto"><br></div><div dir="auto">I would like to add some monitoring of the dhcp servers via the machines which request ip addresses from it (no access to the server itself) </div><div dir="auto">For the moment, we are only aware of the outage of this server when the lease expired.</div><div dir="auto"><br></div><div dir="auto">I first check if NM has a dbus api for that and didn't find one, the I use a Nagios plug-in as a standalone program (<a href="https://github.com/nagios-plugins/nagios-plugins/blob/master/plugins-root/check_dhcp.c">https://github.com/nagios-plugins/nagios-plugins/blob/master/plugins-root/check_dhcp.c</a>) but it seems to not work on all cases I have (strong firewalling among other).</div><div dir="auto"><br></div><div>I don't want to use nmap or other external tools that I didn't already have on the machines (I have strong constraint on the size available)</div><div><br></div><div>Since our machines used NM to manage ethernet , I decided to look at the code to know how the things are handled and if a can have the possibility to "ping" (just emit a DISCOVER and listen for OFFER without accepting the lease). I first came up with a solution that involves instantiating a  NMDhcpClient to use an internal dhcp mechanism. It worked but I had to patch NM code to avoid messing with the system (I don't want to read the already accepted lease or modify the current lease). Moreover my binary had to link with almost all NM code which makes it very big.</div><div><br></div><div>I finally came up with a minimal solution by mimicking what is done in  nm-dhcp-nettools.c and talking directly to the n-dhcp4 library.</div><div><br></div><div>Long story short, I'm wondering if this "ping dhcp" capability is a feature fitted to enter as a standalone binary (or a dedicated DBus endpoint) in NM code ?</div><div><br></div><div>What do you think ?</div><div><br></div><div>Thanks in advance for your insights.</div></div>
</div>