Re: udhcpc: throttled down data transmission

2024-02-15 Thread Alexander Wilhelm
Am Thu, Feb 15, 2024 at 12:23:06PM + schrieb Laurent Bercot:
> > I'm using 'udhcpc' on my ARM64 platform with the following scenario: I have 
> > one
> > 'eth0' interface that has a static ip address and the 'udhcpc' client on the
> > same interface. That leads to low data transmission performace on that
> > interface.
> 
>  Most people use udhcpc when they *don't* have a static IP address on
> an interface, the point of DHCP being to assign an IP address. In that
> common use case, it is impossible to use UDP, since IPv4 is not
> configured yet! Listening on a raw socket is the only option.
> 
>  Your use case is pretty niche, already having IPv4 configured on your
> interface before you use udhcpc. It's not surprising that udhcpc isn't
> optimized for it: it's a small client after all.
> 
>  I suppose it could be patched to add an option to use UDP when the
> interface already has an address, but it would mean effort, and more code
> in busybox, which is probably not worth the trade-off.
> 
> --
>  Laurent
> 

Thank you for the clear explanation. I'm going to disable the 'udhcpc' client
when the interface 'eth0' has already an static IP address.


Best regards
Alexander Wilhelm
___
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox


Re: udhcpc: throttled down data transmission

2024-02-15 Thread Laurent Bercot

I'm using 'udhcpc' on my ARM64 platform with the following scenario: I have one
'eth0' interface that has a static ip address and the 'udhcpc' client on the
same interface. That leads to low data transmission performace on that
interface.


 Most people use udhcpc when they *don't* have a static IP address on
an interface, the point of DHCP being to assign an IP address. In that
common use case, it is impossible to use UDP, since IPv4 is not
configured yet! Listening on a raw socket is the only option.

 Your use case is pretty niche, already having IPv4 configured on your
interface before you use udhcpc. It's not surprising that udhcpc isn't
optimized for it: it's a small client after all.

 I suppose it could be patched to add an option to use UDP when the
interface already has an address, but it would mean effort, and more 
code

in busybox, which is probably not worth the trade-off.

--
 Laurent

___
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox


udhcpc: throttled down data transmission

2024-02-14 Thread Alexander Wilhelm


Hello devs,

I'm using 'udhcpc' on my ARM64 platform with the following scenario: I have one
'eth0' interface that has a static ip address and the 'udhcpc' client on the
same interface. That leads to low data transmission performace on that
interface.

I analyzed a code a little and found out, that the 'udhcpc' client has an
internal state machine. For the setting of file descriptors to use with polling
the tool uses either UDP sockets or RAW sockets. As it seems it uses in it's
beginning state (INIT_SELECTING) the LISTEN_RAW mode. Thus all IPv4 packets are
monitored by 'udhcpc' until DHCPOFFER is received which leads to low performace
on 'eth0'.

Is it a design desicion or a configurable option? How can I change it, if
possible?


Best regards
Alexander Wilhelm
___
busybox mailing list
busybox@busybox.net
http://lists.busybox.net/mailman/listinfo/busybox