[PATCH 0/3] BOOTP/DHCPv4 enhancements

Sean Edmond seanedmond at linux.microsoft.com
Tue Oct 3 20:14:41 CEST 2023


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
>>


More information about the U-Boot mailing list