On Mon, Nov 25, 2024 at 04:28:11PM +0100, Stefano Brivio wrote: > I'm trying to speed up and simplify IP address acquisition in muvm. > > Signed-off-by: Stefano Brivio Reviewed-by: David Gibson > --- > dhcp.c | 11 +++++++++-- > 1 file changed, 9 insertions(+), 2 deletions(-) > > diff --git a/dhcp.c b/dhcp.c > index 57f69a5..90bb534 100644 > --- a/dhcp.c > +++ b/dhcp.c > @@ -342,9 +342,16 @@ int dhcp(const struct ctx *c, const struct pool *p) > opt_off += *olen + 2; > } > > + opts[80].slen = -1; > if (opts[53].c[0] == DHCPDISCOVER) { > - info("DHCP: offer to discover"); > - opts[53].s[0] = DHCPOFFER; > + if (opts[80].clen == -1) { > + info("DHCP: offer to discover"); > + opts[53].s[0] = DHCPOFFER; > + } else { > + info("DHCP: ack to discover (Rapid Commit)"); > + opts[53].s[0] = DHCPACK; > + opts[80].slen = 0; > + } > } else if (opts[53].c[0] == DHCPREQUEST || opts[53].clen <= 0) { > info("%s: ack to request", /* DHCP needs a valid message type */ > (opts[53].clen <= 0) ? "DHCP" : "BOOTP"); -- David Gibson (he or they) | 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