From: Sean Edmond <seanedmond@linux.microsoft.com>
To: Peter Robinson <pbrobinson@gmail.com>
Cc: u-boot@lists.denx.de, joe.hershberger@ni.com, rfried.dev@gmail.com
Subject: Re: [PATCH 0/3] BOOTP/DHCPv4 enhancements
Date: Tue, 3 Oct 2023 11:14:41 -0700 [thread overview]
Message-ID: <c23340ce-5704-992b-e9c6-9642b98180b7@linux.microsoft.com> (raw)
In-Reply-To: <CALeDE9OAdJ0cidcKNprH=Ghteafmb1fWksW3m5bc6zw+cocegQ@mail.gmail.com>
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
>>
prev parent reply other threads:[~2023-10-03 18:14 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-09-25 20:29 [PATCH 0/3] BOOTP/DHCPv4 enhancements seanedmond
2023-09-25 20:29 ` [PATCH 1/3] net: Get pxe config file from dhcp option 209 seanedmond
2023-09-25 20:29 ` [PATCH 2/3] net: bootp: BOOTP/DHCPv4 retransmission improvements seanedmond
2023-09-27 4:11 ` Lothar Waßmann
2023-10-03 18:15 ` Sean Edmond
2023-09-25 20:29 ` [PATCH 3/3] net: bootp: add config option BOOTP_RANDOM_XID seanedmond
2023-09-26 16:45 ` [PATCH 0/3] BOOTP/DHCPv4 enhancements Peter Robinson
2023-10-03 18:14 ` Sean Edmond [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=c23340ce-5704-992b-e9c6-9642b98180b7@linux.microsoft.com \
--to=seanedmond@linux.microsoft.com \
--cc=joe.hershberger@ni.com \
--cc=pbrobinson@gmail.com \
--cc=rfried.dev@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox