On Thu, Sep 21, 2023 at 06:50:56PM +0200, Stefano Brivio wrote: > It turns out we never used 'clen' until commit 1f24d3efb499 ("dhcp: > support BOOTP clients"), and we always ignored option 55 (Parameter > Request List), while, according to RFC 2132, we MUST try to insert > the requested options in the order requested by the client. > > The commit mentioned above made this visible because now every client > is reported as sending a DHCPREQUEST as an old BOOTP client, based on > the lack of option 53 (that is, zero length). > > Fixes: b439984641ed ("merd: ARP and DHCP handlers, connection tracking fixes") > Signed-off-by: Stefano Brivio Reviewed-by: David Gibson > --- > dhcp.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/dhcp.c b/dhcp.c > index c1ac95e..46c258e 100644 > --- a/dhcp.c > +++ b/dhcp.c > @@ -317,6 +317,7 @@ int dhcp(const struct ctx *c, const struct pool *p) > return -1; > > memcpy(&opts[*type].c, val, *olen); > + opts[*type].clen = *olen; > opt_off += *olen + 2; > } > -- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson