Hi Sean, > In our datacenter application, a single DHCP server is servicing 36000+ > clients. > Improvements are required to the DHCPv4 retransmission behavior to align with > RFC and ensure less pressure is exerted on the server: > - retransmission backoff interval maximum is configurable > (environment variable bootpretransmitperiodmax) > - initial retransmission backoff interval is configurable > (environment variable bootpretransmitperiodinit) > - transaction ID is kept the same for each BOOTP/DHCPv4 request > (not recreated on each retry)
Might be also worth looking at the series adding LWIP support [1] and see what impact that may have on this too. Peter [1] https://lists.denx.de/pipermail/u-boot/2023-September/531716.html > For our application we'll use: > - bootpretransmitperiodmax=16000 > - bootpretransmitperiodinit=2000 > > A new configuration BOOTP_RANDOM_XID has been added to enable a randomized > BOOTP/DHCPv4 transaction ID. > > Add functionality for DHCPv4 sending/parsing option 209 (PXE config file). > Enabled with Kconfig BOOTP_PXE_DHCP_OPTION. Note, this patch was > submitted previously but this latest version has been enhanced to > avoid a possible double free(). > > Sean Edmond (3): > net: Get pxe config file from dhcp option 209 > net: bootp: BOOTP/DHCPv4 retransmission improvements > net: bootp: add config option BOOTP_RANDOM_XID > > cmd/Kconfig | 11 +++++++ > cmd/pxe.c | 10 +++++++ > net/bootp.c | 85 +++++++++++++++++++++++++++++++++++++++++++---------- > 3 files changed, 91 insertions(+), 15 deletions(-) > > -- > 2.40.0 >