On 2023-09-26 9:45 a.m., Peter Robinson wrote:
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

I'm aware of the LWIP addition but haven't made any attempt to characterize the retransmission behavior.

My understanding is that LWIP doesn't support DHCPv6 or TFTP with IPv6 yet.  Our preference would be to stick with the u-boot networking stack for now until LWIP adds full support for IPv6.

Given the importance of the retransmission behavior is for our use-case (36000+ clients pers server), we would have to qualify/validate LWIP before transitioning.



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

Reply via email to