NetworkConfiguration / dhcpcd

DHCP / IPv4LL / IPv6RA / DHCPv6 client.
https://roy.marples.name/projects/dhcpcd
BSD 2-Clause "Simplified" License
337 stars 109 forks source link

Exposing advertisments/offers via dhcpcd-run-hooks #304

Open rmarioe opened 6 months ago

rmarioe commented 6 months ago

I would like to have visibility of all the DHCP servers that offered/advertised a lease in the network to the client through my user defined hook script. It could be handled by adding a reason to run the hooks script (i.e. OFFER/ADVERTISE). Before sending out a PR I would like to know if something like this could be an acceptable enhancement to dhcpcd?

rsmarples commented 6 months ago

dhcpcd currently works on a one to one basis and reacts to the first OFFER/ADVERTISE it gets and then discards the others it receives while it's in the next phase.

What is your use case for this?

rmarioe commented 6 months ago

I want to get configuration data/vendor options of all servers into the hooks environment.

RFC2131 does not mandate this kind of behavior but does allow it:

  1. The client receives one or more DHCPOFFER messages from one or more servers. The client may choose to wait for multiple responses. The client chooses one server from which to request configuration parameters, based on the configuration parameters offered in the DHCPOFFER messages.

RFC8415:

Having all the info in the environment is enough for me.

If we would go the way of choosing the server in might be trickier.

We could restart the server until the client chooses the correct one in the existing algorithm? It is first come - first serve currently?

Another way could be for the client to wait for user input on what to choose if the client registered for this hook.