I looked into RFC 3046(DHCP Relay Agent Information Option) and it seems it suggests the DHCP server should assign address to triplets [1]:

(client IP address,  client MAC address,  client remote ID)

I am pretty sure dnsmasq does not use any client remote id at the moment to make mac addresses from different clients independent. Not sure how much common such configurations are and whether is it desirable to implement them. That RFC is from 2001.

But it seems leasequery purpose is not obtaining just status of leased/non-leased address, but also those ids. Because they are not defined as a simple integers but variable length binary ids, processing them would not be simple task. Dnsmasq lease database code does not have easily extendable database for any new key=value pair on leases, so this would be somehow difficult.

Also I think networks where multiple circuit ids appear should not rely on dnsmasq to do DHCP for them. I think such network deserves more heavy-weight DHCP server implementation, which should have support for storing (and querying) additional parameters. It might make sense to add configurable ids into forwarded requests when acting as relay agent though.

Cheers,
Petr

[1] https://www.rfc-editor.org/rfc/rfc3046#section-4.0

On 27. 02. 23 13:46, Simon Kelley wrote:
src/rfc2131.c has all the relevant code: add code to handle DHCPLEASEQUERY to the switch in dhcp_repy();

HOWEVER. Whilst the RFC sort of makes this sound like a general query system, it's actually a hack to solve a specific problem that access concentrators don't have persistent storage, so this allows them to rely on the DHCP server to persistently store Relay Agent Information


   If the Relay Agent Information (option 82) is specified in the
   Parameter Request List, then the information contained in the most
   recent Relay Agent Information option received from the relay agent
   associated with this IP address MUST be included in the
   DHCPLEASEACTIVE message.


This is the biggest problem, since dnsmasq doesn't store that information in its lease database either. Adding that info is a large undertaking, with compatibility risks.

The quote above make it clear that, even if you application doesn't need option 82 information, an RFC-compliant implementation of LEASEQUERY does, and it's not a small job.

Simon.





On 24/02/2023 19:10, Rashi Krishna wrote:
Thanks for the update. If I want to add the code myself, do you have any pointers to where to get started from?

Thanks again,
Rashi

On Fri, 24 Feb, 2023, 16:23 Nicolas Cavallari, <nicolas.cavall...@green-communications.fr <mailto:nicolas.cavall...@green-communications.fr>> wrote:

    On 24/02/2023 10:13, Rashi Krishna wrote:
     > Hi all.
     >
     > I just wanted to know if leasequery is supported in Dnsmasq. I tried      > sending a leasequery to the server, but I couldn't get any response.

    There does not seem to be any leasequery (RFC 4388) support in dnsmasq.


_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

--
Petr Menšík
Software Engineer, RHEL
Red Hat, http://www.redhat.com/
PGP: DFCF908DB7C87E8E529925BC4931CA5B6C9FC5CB


_______________________________________________
Dnsmasq-discuss mailing list
Dnsmasq-discuss@lists.thekelleys.org.uk
https://lists.thekelleys.org.uk/cgi-bin/mailman/listinfo/dnsmasq-discuss

Reply via email to