All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
@ 2015-08-25  2:25 Bin Meng
  2015-08-25  3:42 ` Joe Hershberger
  2015-08-25  7:12 ` Pavel Machek
  0 siblings, 2 replies; 20+ messages in thread
From: Bin Meng @ 2015-08-25  2:25 UTC (permalink / raw)
  To: u-boot

Hi,

With latest u-boot/master, TFTP is seriously broken.

=> tftp 100000 bzImage
Speed: 100, full duplex
Using pch_gbe device
TFTP from server 10.10.0.8; our IP address is 10.10.0.100; sending
through gateway 10.10.0.1
Filename 'bzImage'.
Load address: 0x100000
Loading: T
TFTP error: 'Unsupported option(s) requested' (8)
Starting again

git bisect shows the following commit broke the TFTP

commit 620776d734e4b126c407f636bda825a594a17723
Author: Pavel Machek <pavel@denx.de>
Date:   Tue Aug 18 14:34:26 2015 +0200

    tftp: adjust settings to be suitable for 100Mbit ethernet

    Adjust timouts and retry counts to be suitable for loaded ethernet
    network. With 5 seconds timeout, 10 retries maximum, tftp is
    impossible even on local network with single full-speed TCP
    connection.

    100msec timeout should be suitable for most networks tftp is used on,
    that is local ethernets. Timeout count really needs to be way higher,
    as lost packets are normal when TCP is running over the same network.

    Enforce 10msec minimum.

    Signed-off-by: Pavel Machek <pavel@denx.de>
    Acked-by: Joe Hershberger <joe.hershberger@ni.com>

Can we get this fixed ASAP? Thanks,

Regards,
Bin

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25  2:25 [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8) Bin Meng
@ 2015-08-25  3:42 ` Joe Hershberger
  2015-08-25  4:05   ` Bin Meng
  2015-08-25  7:12 ` Pavel Machek
  1 sibling, 1 reply; 20+ messages in thread
From: Joe Hershberger @ 2015-08-25  3:42 UTC (permalink / raw)
  To: u-boot

Hi Bin,

On Mon, Aug 24, 2015 at 9:25 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
> Hi,
>
> With latest u-boot/master, TFTP is seriously broken.
>
> => tftp 100000 bzImage
> Speed: 100, full duplex
> Using pch_gbe device
> TFTP from server 10.10.0.8; our IP address is 10.10.0.100; sending
> through gateway 10.10.0.1
> Filename 'bzImage'.
> Load address: 0x100000
> Loading: T
> TFTP error: 'Unsupported option(s) requested' (8)
> Starting again

I'm guessing you are having an issue that the TFTP server you are
using for some reason does not allow a timeout as small as 10 ms. What
server are you testing against? Can you experiment and find the lowest
that it accepts? Maybe there is a compromise we can reach that still
works with most (all?) servers and also improves the behavior in a
lossy environment.

> git bisect shows the following commit broke the TFTP
>
> commit 620776d734e4b126c407f636bda825a594a17723
> Author: Pavel Machek <pavel@denx.de>
> Date:   Tue Aug 18 14:34:26 2015 +0200
>
>     tftp: adjust settings to be suitable for 100Mbit ethernet
>
>     Adjust timouts and retry counts to be suitable for loaded ethernet
>     network. With 5 seconds timeout, 10 retries maximum, tftp is
>     impossible even on local network with single full-speed TCP
>     connection.
>
>     100msec timeout should be suitable for most networks tftp is used on,
>     that is local ethernets. Timeout count really needs to be way higher,
>     as lost packets are normal when TCP is running over the same network.
>
>     Enforce 10msec minimum.
>
>     Signed-off-by: Pavel Machek <pavel@denx.de>
>     Acked-by: Joe Hershberger <joe.hershberger@ni.com>
>
> Can we get this fixed ASAP? Thanks,

Hopefully with a little more information about your case we can get
this resolved quickly.

-Joe

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25  3:42 ` Joe Hershberger
@ 2015-08-25  4:05   ` Bin Meng
  2015-08-25  4:24     ` Joe Hershberger
  0 siblings, 1 reply; 20+ messages in thread
From: Bin Meng @ 2015-08-25  4:05 UTC (permalink / raw)
  To: u-boot

Hi Joe,

On Tue, Aug 25, 2015 at 11:42 AM, Joe Hershberger
<joe.hershberger@gmail.com> wrote:
> Hi Bin,
>
> On Mon, Aug 24, 2015 at 9:25 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Hi,
>>
>> With latest u-boot/master, TFTP is seriously broken.
>>
>> => tftp 100000 bzImage
>> Speed: 100, full duplex
>> Using pch_gbe device
>> TFTP from server 10.10.0.8; our IP address is 10.10.0.100; sending
>> through gateway 10.10.0.1
>> Filename 'bzImage'.
>> Load address: 0x100000
>> Loading: T
>> TFTP error: 'Unsupported option(s) requested' (8)
>> Starting again
>
> I'm guessing you are having an issue that the TFTP server you are
> using for some reason does not allow a timeout as small as 10 ms. What
> server are you testing against? Can you experiment and find the lowest
> that it accepts? Maybe there is a compromise we can reach that still
> works with most (all?) servers and also improves the behavior in a
> lossy environment.

I am using a CentOS server, with /etc/xinetd.d/tftp configuration below.

service tftp
{
        socket_type             = dgram
        protocol                = udp
        wait                    = yes
        user                    = root
        server                  = /usr/sbin/in.tftpd
        server_args             = -s /tftpboot
        disable                 = no
        per_source              = 11
        cps                     = 100 2
        flags                   = IPv4
}

I don't see an entry to change timeout settings.

>
>> git bisect shows the following commit broke the TFTP
>>
>> commit 620776d734e4b126c407f636bda825a594a17723
>> Author: Pavel Machek <pavel@denx.de>
>> Date:   Tue Aug 18 14:34:26 2015 +0200
>>
>>     tftp: adjust settings to be suitable for 100Mbit ethernet
>>
>>     Adjust timouts and retry counts to be suitable for loaded ethernet
>>     network. With 5 seconds timeout, 10 retries maximum, tftp is
>>     impossible even on local network with single full-speed TCP
>>     connection.
>>
>>     100msec timeout should be suitable for most networks tftp is used on,
>>     that is local ethernets. Timeout count really needs to be way higher,
>>     as lost packets are normal when TCP is running over the same network.
>>
>>     Enforce 10msec minimum.
>>
>>     Signed-off-by: Pavel Machek <pavel@denx.de>
>>     Acked-by: Joe Hershberger <joe.hershberger@ni.com>
>>
>> Can we get this fixed ASAP? Thanks,
>
> Hopefully with a little more information about your case we can get
> this resolved quickly.
>

Regards,
Bin

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25  4:05   ` Bin Meng
@ 2015-08-25  4:24     ` Joe Hershberger
  2015-08-25  7:40       ` Bin Meng
  0 siblings, 1 reply; 20+ messages in thread
From: Joe Hershberger @ 2015-08-25  4:24 UTC (permalink / raw)
  To: u-boot

Hi Bin,

On Mon, Aug 24, 2015 at 11:05 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
> Hi Joe,
>
> On Tue, Aug 25, 2015 at 11:42 AM, Joe Hershberger
> <joe.hershberger@gmail.com> wrote:
>> Hi Bin,
>>
>> On Mon, Aug 24, 2015 at 9:25 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
>>> Hi,
>>>
>>> With latest u-boot/master, TFTP is seriously broken.
>>>
>>> => tftp 100000 bzImage
>>> Speed: 100, full duplex
>>> Using pch_gbe device
>>> TFTP from server 10.10.0.8; our IP address is 10.10.0.100; sending
>>> through gateway 10.10.0.1
>>> Filename 'bzImage'.
>>> Load address: 0x100000
>>> Loading: T
>>> TFTP error: 'Unsupported option(s) requested' (8)
>>> Starting again
>>
>> I'm guessing you are having an issue that the TFTP server you are
>> using for some reason does not allow a timeout as small as 10 ms. What
>> server are you testing against? Can you experiment and find the lowest
>> that it accepts? Maybe there is a compromise we can reach that still
>> works with most (all?) servers and also improves the behavior in a
>> lossy environment.
>
> I am using a CentOS server, with /etc/xinetd.d/tftp configuration below.
>
> service tftp
> {
>         socket_type             = dgram
>         protocol                = udp
>         wait                    = yes
>         user                    = root
>         server                  = /usr/sbin/in.tftpd
>         server_args             = -s /tftpboot
>         disable                 = no
>         per_source              = 11
>         cps                     = 100 2
>         flags                   = IPv4
> }
>
> I don't see an entry to change timeout settings.

I didn't mean to change the server settings; I meant can you adjust
the U-Boot code until your server doesn't reject the option?

>>> git bisect shows the following commit broke the TFTP
>>>
>>> commit 620776d734e4b126c407f636bda825a594a17723
>>> Author: Pavel Machek <pavel@denx.de>
>>> Date:   Tue Aug 18 14:34:26 2015 +0200
>>>
>>>     tftp: adjust settings to be suitable for 100Mbit ethernet
>>>
>>>     Adjust timouts and retry counts to be suitable for loaded ethernet
>>>     network. With 5 seconds timeout, 10 retries maximum, tftp is
>>>     impossible even on local network with single full-speed TCP
>>>     connection.
>>>
>>>     100msec timeout should be suitable for most networks tftp is used on,
>>>     that is local ethernets. Timeout count really needs to be way higher,
>>>     as lost packets are normal when TCP is running over the same network.
>>>
>>>     Enforce 10msec minimum.
>>>
>>>     Signed-off-by: Pavel Machek <pavel@denx.de>
>>>     Acked-by: Joe Hershberger <joe.hershberger@ni.com>
>>>
>>> Can we get this fixed ASAP? Thanks,
>>
>> Hopefully with a little more information about your case we can get
>> this resolved quickly.
>>
>
> Regards,
> Bin

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25  2:25 [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8) Bin Meng
  2015-08-25  3:42 ` Joe Hershberger
@ 2015-08-25  7:12 ` Pavel Machek
  2015-08-25  8:58   ` Bin Meng
  1 sibling, 1 reply; 20+ messages in thread
From: Pavel Machek @ 2015-08-25  7:12 UTC (permalink / raw)
  To: u-boot

On Tue 2015-08-25 10:25:35, Bin Meng wrote:
> Hi,
> 
> With latest u-boot/master, TFTP is seriously broken.

Sorry about that.

> => tftp 100000 bzImage
> Speed: 100, full duplex
> Using pch_gbe device
> TFTP from server 10.10.0.8; our IP address is 10.10.0.100; sending
> through gateway 10.10.0.1
> Filename 'bzImage'.
> Load address: 0x100000
> Loading: T
> TFTP error: 'Unsupported option(s) requested' (8)
> Starting again
> 
> git bisect shows the following commit broke the TFTP

I was not intentionally changing the packets being sent.

Could you try to capture tcpdump, including contents of packet,
ideally in both working and broken sessions?

Could you try setting

-#define TIMEOUT                5000UL
+#define TIMEOUT                100UL

in net/tftp.c to something like 1000UL?

Thanks,
									Pavel
									
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25  4:24     ` Joe Hershberger
@ 2015-08-25  7:40       ` Bin Meng
  2015-08-25 12:13         ` Hannes Schmelzer
  0 siblings, 1 reply; 20+ messages in thread
From: Bin Meng @ 2015-08-25  7:40 UTC (permalink / raw)
  To: u-boot

Hi Joe,

On Tue, Aug 25, 2015 at 12:24 PM, Joe Hershberger
<joe.hershberger@gmail.com> wrote:
> Hi Bin,
>
> On Mon, Aug 24, 2015 at 11:05 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
>> Hi Joe,
>>
>> On Tue, Aug 25, 2015 at 11:42 AM, Joe Hershberger
>> <joe.hershberger@gmail.com> wrote:
>>> Hi Bin,
>>>
>>> On Mon, Aug 24, 2015 at 9:25 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
>>>> Hi,
>>>>
>>>> With latest u-boot/master, TFTP is seriously broken.
>>>>
>>>> => tftp 100000 bzImage
>>>> Speed: 100, full duplex
>>>> Using pch_gbe device
>>>> TFTP from server 10.10.0.8; our IP address is 10.10.0.100; sending
>>>> through gateway 10.10.0.1
>>>> Filename 'bzImage'.
>>>> Load address: 0x100000
>>>> Loading: T
>>>> TFTP error: 'Unsupported option(s) requested' (8)
>>>> Starting again
>>>
>>> I'm guessing you are having an issue that the TFTP server you are
>>> using for some reason does not allow a timeout as small as 10 ms. What
>>> server are you testing against? Can you experiment and find the lowest
>>> that it accepts? Maybe there is a compromise we can reach that still
>>> works with most (all?) servers and also improves the behavior in a
>>> lossy environment.
>>
>> I am using a CentOS server, with /etc/xinetd.d/tftp configuration below.
>>
>> service tftp
>> {
>>         socket_type             = dgram
>>         protocol                = udp
>>         wait                    = yes
>>         user                    = root
>>         server                  = /usr/sbin/in.tftpd
>>         server_args             = -s /tftpboot
>>         disable                 = no
>>         per_source              = 11
>>         cps                     = 100 2
>>         flags                   = IPv4
>> }
>>
>> I don't see an entry to change timeout settings.
>
> I didn't mean to change the server settings; I meant can you adjust
> the U-Boot code until your server doesn't reject the option?
>

I would like to revert this commit before we find a solution. Even if
I find a proper value to get tftp work again in my network
environment, we don't know if this commit breaks someone else's board.
After all, this timeout value has been there for years (?), and I
believe it is a safe value for all the boards that are actively
maintained.

[snip]

Regards,
Bin

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25  7:12 ` Pavel Machek
@ 2015-08-25  8:58   ` Bin Meng
  2015-08-25  9:22     ` Bin Meng
                       ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Bin Meng @ 2015-08-25  8:58 UTC (permalink / raw)
  To: u-boot

Hi Pavel,

On Tue, Aug 25, 2015 at 3:12 PM, Pavel Machek <pavel@denx.de> wrote:
> On Tue 2015-08-25 10:25:35, Bin Meng wrote:
>> Hi,
>>
>> With latest u-boot/master, TFTP is seriously broken.
>
> Sorry about that.
>
>> => tftp 100000 bzImage
>> Speed: 100, full duplex
>> Using pch_gbe device
>> TFTP from server 10.10.0.8; our IP address is 10.10.0.100; sending
>> through gateway 10.10.0.1
>> Filename 'bzImage'.
>> Load address: 0x100000
>> Loading: T
>> TFTP error: 'Unsupported option(s) requested' (8)
>> Starting again
>>
>> git bisect shows the following commit broke the TFTP
>
> I was not intentionally changing the packets being sent.
>
> Could you try to capture tcpdump, including contents of packet,
> ideally in both working and broken sessions?
>

Yep, I will do that. I also tested a tftpd Windows server
(http://tftpd32.jounin.net) and it looks that this Windows server is
immune to this commit.

> Could you try setting
>
> -#define TIMEOUT                5000UL
> +#define TIMEOUT                100UL
>
> in net/tftp.c to something like 1000UL?
>

Could you please elaborate more on what this commit is trying to fix,
or improve? From the commit message, I don't quite understand "With 5
seconds timeout, 10 retries maximum, tftp is impossible even on local
network with single full-speed TCP connection".

Regards,
Bin

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25  8:58   ` Bin Meng
@ 2015-08-25  9:22     ` Bin Meng
  2015-08-25 11:28     ` Pavel Machek
  2015-08-25 11:44     ` [U-Boot] [PATCH] Change default tftp timeout to be rfc-compliant Pavel Machek
  2 siblings, 0 replies; 20+ messages in thread
From: Bin Meng @ 2015-08-25  9:22 UTC (permalink / raw)
  To: u-boot

On Tue, Aug 25, 2015 at 4:58 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
> Hi Pavel,
>
> On Tue, Aug 25, 2015 at 3:12 PM, Pavel Machek <pavel@denx.de> wrote:
>> On Tue 2015-08-25 10:25:35, Bin Meng wrote:
>>> Hi,
>>>
>>> With latest u-boot/master, TFTP is seriously broken.
>>
>> Sorry about that.
>>
>>> => tftp 100000 bzImage
>>> Speed: 100, full duplex
>>> Using pch_gbe device
>>> TFTP from server 10.10.0.8; our IP address is 10.10.0.100; sending
>>> through gateway 10.10.0.1
>>> Filename 'bzImage'.
>>> Load address: 0x100000
>>> Loading: T
>>> TFTP error: 'Unsupported option(s) requested' (8)
>>> Starting again
>>>
>>> git bisect shows the following commit broke the TFTP
>>
>> I was not intentionally changing the packets being sent.
>>
>> Could you try to capture tcpdump, including contents of packet,
>> ideally in both working and broken sessions?
>>
>
> Yep, I will do that. I also tested a tftpd Windows server
> (http://tftpd32.jounin.net) and it looks that this Windows server is
> immune to this commit.
>
>> Could you try setting
>>
>> -#define TIMEOUT                5000UL
>> +#define TIMEOUT                100UL
>>
>> in net/tftp.c to something like 1000UL?
>>
>
> Could you please elaborate more on what this commit is trying to fix,
> or improve? From the commit message, I don't quite understand "With 5
> seconds timeout, 10 retries maximum, tftp is impossible even on local
> network with single full-speed TCP connection".
>

OK, I am now pretty sure this commit should be reverted. This commit
is a spec violation to RFC 2349 in which it defines the timeout
minimum value should be 1.

With this commit change, we set timeout to 100ms which creates a wrong
option timeout value = 0, when sending tftp read request to the
server. The Linux xinitd server strictly follows the RFC and reports
'Unsupported option(s) requested' (8) while the Windows server is
quite forgiving.

Regards,
Bin

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25  8:58   ` Bin Meng
  2015-08-25  9:22     ` Bin Meng
@ 2015-08-25 11:28     ` Pavel Machek
  2015-08-25 11:44     ` [U-Boot] [PATCH] Change default tftp timeout to be rfc-compliant Pavel Machek
  2 siblings, 0 replies; 20+ messages in thread
From: Pavel Machek @ 2015-08-25 11:28 UTC (permalink / raw)
  To: u-boot

On Tue 2015-08-25 16:58:58, Bin Meng wrote:
> Hi Pavel,
> 
> On Tue, Aug 25, 2015 at 3:12 PM, Pavel Machek <pavel@denx.de> wrote:
> > On Tue 2015-08-25 10:25:35, Bin Meng wrote:
> >> Hi,
> >>
> >> With latest u-boot/master, TFTP is seriously broken.
> >
> > Sorry about that.
> >
> >> => tftp 100000 bzImage
> >> Speed: 100, full duplex
> >> Using pch_gbe device
> >> TFTP from server 10.10.0.8; our IP address is 10.10.0.100; sending
> >> through gateway 10.10.0.1
> >> Filename 'bzImage'.
> >> Load address: 0x100000
> >> Loading: T
> >> TFTP error: 'Unsupported option(s) requested' (8)
> >> Starting again
> >>
> >> git bisect shows the following commit broke the TFTP
> >
> > I was not intentionally changing the packets being sent.
> >
> > Could you try to capture tcpdump, including contents of packet,
> > ideally in both working and broken sessions?
> >
> 
> Yep, I will do that. I also tested a tftpd Windows server
> (http://tftpd32.jounin.net) and it looks that this Windows server is
> immune to this commit.
> 
> > Could you try setting
> >
> > -#define TIMEOUT                5000UL
> > +#define TIMEOUT                100UL
> >
> > in net/tftp.c to something like 1000UL?
> >
> 
> Could you please elaborate more on what this commit is trying to fix,
> or improve? From the commit message, I don't quite understand "With 5
> seconds timeout, 10 retries maximum, tftp is impossible even on local
> network with single full-speed TCP connection".

Well, with 10 retries maximum, I get enough packet loss on local
network that tftp fails.

Now, longer timeout will make it slower, but not fail. So "max
retries" is really critical.

If rfc says minimum is 1sec, we should not really default to 100msec,
sorry about that. Can you try with 1sec if it works for you?

Thanks and best regards,
									Pavel
-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] [PATCH] Change default tftp timeout to be rfc-compliant
  2015-08-25  8:58   ` Bin Meng
  2015-08-25  9:22     ` Bin Meng
  2015-08-25 11:28     ` Pavel Machek
@ 2015-08-25 11:44     ` Pavel Machek
  2015-08-25 13:03       ` Bin Meng
  2 siblings, 1 reply; 20+ messages in thread
From: Pavel Machek @ 2015-08-25 11:44 UTC (permalink / raw)
  To: u-boot



tftp timeout of 100msec gives good performance on local ethernet, but
some servers (Centos) refuse to operate, and it is against RFC 2349.

This fixes regression caused by
620776d734e4b126c407f636bda825a594a17723 .

Signed-off-by: Pavel Machek <pavel@denx.de>

diff --git a/net/tftp.c b/net/tftp.c
index 18ce84c..e919638 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -18,8 +18,9 @@
 
 /* Well known TFTP port # */
 #define WELL_KNOWN_PORT	69
-/* Millisecs to timeout for lost pkt */
-#define TIMEOUT		100UL
+/* Millisecs to timeout for lost pkt. Anything below 1000msec is against RFC, and
+   some servers will refuse it. */
+#define TIMEOUT		1000UL
 #ifndef	CONFIG_NET_RETRY_COUNT
 /* # of timeouts before giving up */
 # define TIMEOUT_COUNT	1000

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25  7:40       ` Bin Meng
@ 2015-08-25 12:13         ` Hannes Schmelzer
  2015-08-25 12:19           ` Pavel Machek
  0 siblings, 1 reply; 20+ messages in thread
From: Hannes Schmelzer @ 2015-08-25 12:13 UTC (permalink / raw)
  To: u-boot

Hi,

i've same problem.

Running tftp-hpa on Linux Mint 17.

cat /etc/default/tftpd-hpa
# /etc/default/tftpd-hpa
RUN_DAEMON="yes"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot/tseries"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="-l -s"


best regards,
Hannes


On 25.08.2015 09:40, Bin Meng wrote:
> Hi Joe,
>
> On Tue, Aug 25, 2015 at 12:24 PM, Joe Hershberger
> <joe.hershberger@gmail.com> wrote:
>> Hi Bin,
>>
>> On Mon, Aug 24, 2015 at 11:05 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
>>> Hi Joe,
>>>
>>> On Tue, Aug 25, 2015 at 11:42 AM, Joe Hershberger
>>> <joe.hershberger@gmail.com> wrote:
>>>> Hi Bin,
>>>>
>>>> On Mon, Aug 24, 2015 at 9:25 PM, Bin Meng <bmeng.cn@gmail.com> wrote:
>>>>> Hi,
>>>>>
>>>>> With latest u-boot/master, TFTP is seriously broken.
>>>>>
>>>>> => tftp 100000 bzImage
>>>>> Speed: 100, full duplex
>>>>> Using pch_gbe device
>>>>> TFTP from server 10.10.0.8; our IP address is 10.10.0.100; sending
>>>>> through gateway 10.10.0.1
>>>>> Filename 'bzImage'.
>>>>> Load address: 0x100000
>>>>> Loading: T
>>>>> TFTP error: 'Unsupported option(s) requested' (8)
>>>>> Starting again
>>>> I'm guessing you are having an issue that the TFTP server you are
>>>> using for some reason does not allow a timeout as small as 10 ms. What
>>>> server are you testing against? Can you experiment and find the lowest
>>>> that it accepts? Maybe there is a compromise we can reach that still
>>>> works with most (all?) servers and also improves the behavior in a
>>>> lossy environment.
>>> I am using a CentOS server, with /etc/xinetd.d/tftp configuration below.
>>>
>>> service tftp
>>> {
>>>          socket_type             = dgram
>>>          protocol                = udp
>>>          wait                    = yes
>>>          user                    = root
>>>          server                  = /usr/sbin/in.tftpd
>>>          server_args             = -s /tftpboot
>>>          disable                 = no
>>>          per_source              = 11
>>>          cps                     = 100 2
>>>          flags                   = IPv4
>>> }
>>>
>>> I don't see an entry to change timeout settings.
>> I didn't mean to change the server settings; I meant can you adjust
>> the U-Boot code until your server doesn't reject the option?
>>
> I would like to revert this commit before we find a solution. Even if
> I find a proper value to get tftp work again in my network
> environment, we don't know if this commit breaks someone else's board.
> After all, this timeout value has been there for years (?), and I
> believe it is a safe value for all the boards that are actively
> maintained.
>
> [snip]
>
> Regards,
> Bin
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot
>
>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25 12:13         ` Hannes Schmelzer
@ 2015-08-25 12:19           ` Pavel Machek
  2015-08-25 12:23             ` Hannes Schmelzer
  2015-09-10 22:26             ` Alexey Brodkin
  0 siblings, 2 replies; 20+ messages in thread
From: Pavel Machek @ 2015-08-25 12:19 UTC (permalink / raw)
  To: u-boot

On Tue 2015-08-25 14:13:17, Hannes Schmelzer wrote:
> Hi,
> 
> i've same problem.
> 
> Running tftp-hpa on Linux Mint 17.
> 
> cat /etc/default/tftpd-hpa
> # /etc/default/tftpd-hpa
> RUN_DAEMON="yes"
> TFTP_USERNAME="tftp"
> TFTP_DIRECTORY="/tftpboot/tseries"
> TFTP_ADDRESS="0.0.0.0:69"
> TFTP_OPTIONS="-l -s"

Yes. Please try patch I mailed half an hour ago... it should fix
that. (Actually here it is again, without changelog).

Sorry for the trouble,
								Pavel


Date: Tue, 25 Aug 2015 13:44:25 +0200
From: Pavel Machek <pavel@denx.de>
To: Bin Meng <bmeng.cn@gmail.com>
Cc: Joe Hershberger <joe.hershberger@ni.com>, Tom Rini
<trini@konsulko.com>, U-Boot Mailing
List <u-boot@lists.denx.de>
Subject: [PATCH] Change default tftp timeout to be	rfc-compliant
	

diff --git a/net/tftp.c b/net/tftp.c
index 18ce84c..e919638 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -18,8 +18,9 @@
 
 /* Well known TFTP port # */
 #define WELL_KNOWN_PORT	69
-/* Millisecs to timeout for lost pkt */
-#define TIMEOUT		100UL
+/* Millisecs to timeout for lost pkt. Anything below 1000msec is against RFC, and
+   some servers will refuse it. */
+#define TIMEOUT		1000UL
 #ifndef	CONFIG_NET_RETRY_COUNT
 /* # of timeouts before giving up */
 # define TIMEOUT_COUNT	1000

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply related	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25 12:19           ` Pavel Machek
@ 2015-08-25 12:23             ` Hannes Schmelzer
  2015-09-10 22:26             ` Alexey Brodkin
  1 sibling, 0 replies; 20+ messages in thread
From: Hannes Schmelzer @ 2015-08-25 12:23 UTC (permalink / raw)
  To: u-boot

Hi Pavel,

this works for me.

many thanks.
I will looking for some patch coming soon.

best regards,
Hannes


On 25.08.2015 14:19, Pavel Machek wrote:
> On Tue 2015-08-25 14:13:17, Hannes Schmelzer wrote:
>> Hi,
>>
>> i've same problem.
>>
>> Running tftp-hpa on Linux Mint 17.
>>
>> cat /etc/default/tftpd-hpa
>> # /etc/default/tftpd-hpa
>> RUN_DAEMON="yes"
>> TFTP_USERNAME="tftp"
>> TFTP_DIRECTORY="/tftpboot/tseries"
>> TFTP_ADDRESS="0.0.0.0:69"
>> TFTP_OPTIONS="-l -s"
> Yes. Please try patch I mailed half an hour ago... it should fix
> that. (Actually here it is again, without changelog).
>
> Sorry for the trouble,
> 								Pavel
>
>
> Date: Tue, 25 Aug 2015 13:44:25 +0200
> From: Pavel Machek <pavel@denx.de>
> To: Bin Meng <bmeng.cn@gmail.com>
> Cc: Joe Hershberger <joe.hershberger@ni.com>, Tom Rini
> <trini@konsulko.com>, U-Boot Mailing
> List <u-boot@lists.denx.de>
> Subject: [PATCH] Change default tftp timeout to be	rfc-compliant
> 	
>
> diff --git a/net/tftp.c b/net/tftp.c
> index 18ce84c..e919638 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -18,8 +18,9 @@
>   
>   /* Well known TFTP port # */
>   #define WELL_KNOWN_PORT	69
> -/* Millisecs to timeout for lost pkt */
> -#define TIMEOUT		100UL
> +/* Millisecs to timeout for lost pkt. Anything below 1000msec is against RFC, and
> +   some servers will refuse it. */
> +#define TIMEOUT		1000UL
>   #ifndef	CONFIG_NET_RETRY_COUNT
>   /* # of timeouts before giving up */
>   # define TIMEOUT_COUNT	1000
>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] [PATCH] Change default tftp timeout to be rfc-compliant
  2015-08-25 11:44     ` [U-Boot] [PATCH] Change default tftp timeout to be rfc-compliant Pavel Machek
@ 2015-08-25 13:03       ` Bin Meng
  2015-08-25 14:32         ` Pavel Machek
  0 siblings, 1 reply; 20+ messages in thread
From: Bin Meng @ 2015-08-25 13:03 UTC (permalink / raw)
  To: u-boot

Hi Pavel, Joe,

On Tue, Aug 25, 2015 at 7:44 PM, Pavel Machek <pavel@denx.de> wrote:
>
>
> tftp timeout of 100msec gives good performance on local ethernet, but
> some servers (Centos) refuse to operate, and it is against RFC 2349.
>
> This fixes regression caused by
> 620776d734e4b126c407f636bda825a594a17723 .
>

This patch does not fix the issue properly. As the commit 620776d also
changed the "<1000" test logic to "<10", which should not be. See my
comments below.

> Signed-off-by: Pavel Machek <pavel@denx.de>
>
> diff --git a/net/tftp.c b/net/tftp.c
> index 18ce84c..e919638 100644
> --- a/net/tftp.c
> +++ b/net/tftp.c
> @@ -18,8 +18,9 @@
>
>  /* Well known TFTP port # */
>  #define WELL_KNOWN_PORT        69
> -/* Millisecs to timeout for lost pkt */
> -#define TIMEOUT                100UL
> +/* Millisecs to timeout for lost pkt. Anything below 1000msec is against RFC, and
> +   some servers will refuse it. */

Nits: please use correct multi-line comment format.

> +#define TIMEOUT                1000UL
>  #ifndef        CONFIG_NET_RETRY_COUNT
>  /* # of timeouts before giving up */
>  # define TIMEOUT_COUNT 1000
>
> --

I still would like to revert commit 620776d (IOW, apply my revert
patch @ http://patchwork.ozlabs.org/patch/510389/). Then Pavel to
submit a new patch to change only TIMEOUT_COUNT to something larger (I
am still not convinced that we need change the retry count from 10 to
1000). Perhaps with a better comment in the codes to explain why a
larger TIMEOUT_COUNT is needed.

Regards,
Bin

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] [PATCH] Change default tftp timeout to be rfc-compliant
  2015-08-25 13:03       ` Bin Meng
@ 2015-08-25 14:32         ` Pavel Machek
  2015-08-25 14:49           ` Tom Rini
  0 siblings, 1 reply; 20+ messages in thread
From: Pavel Machek @ 2015-08-25 14:32 UTC (permalink / raw)
  To: u-boot

On Tue 2015-08-25 21:03:26, Bin Meng wrote:
> Hi Pavel, Joe,
> 
> On Tue, Aug 25, 2015 at 7:44 PM, Pavel Machek <pavel@denx.de> wrote:
> >
> >
> > tftp timeout of 100msec gives good performance on local ethernet, but
> > some servers (Centos) refuse to operate, and it is against RFC 2349.
> >
> > This fixes regression caused by
> > 620776d734e4b126c407f636bda825a594a17723 .
> >
> 
> This patch does not fix the issue properly. As the commit 620776d also
> changed the "<1000" test logic to "<10", which should not be. See my
> comments below.

Yes, I know.. and I'd like the test logic to stay. Some tftp servers
can handle that, and performance is significantly better that way.

Best regards,
									Pavel

> I still would like to revert commit 620776d (IOW, apply my revert
> patch @ http://patchwork.ozlabs.org/patch/510389/). Then Pavel to
> submit a new patch to change only TIMEOUT_COUNT to something larger (I
> am still not convinced that we need change the retry count from 10 to
> 1000). Perhaps with a better comment in the codes to explain why a
> larger TIMEOUT_COUNT is needed.
> 
> Regards,
> Bin

-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] [PATCH] Change default tftp timeout to be rfc-compliant
  2015-08-25 14:32         ` Pavel Machek
@ 2015-08-25 14:49           ` Tom Rini
  2015-08-25 15:33             ` Pavel Machek
  0 siblings, 1 reply; 20+ messages in thread
From: Tom Rini @ 2015-08-25 14:49 UTC (permalink / raw)
  To: u-boot

On Tue, Aug 25, 2015 at 04:32:48PM +0200, Pavel Machek wrote:
> On Tue 2015-08-25 21:03:26, Bin Meng wrote:
> > Hi Pavel, Joe,
> > 
> > On Tue, Aug 25, 2015 at 7:44 PM, Pavel Machek <pavel@denx.de> wrote:
> > >
> > >
> > > tftp timeout of 100msec gives good performance on local ethernet, but
> > > some servers (Centos) refuse to operate, and it is against RFC 2349.
> > >
> > > This fixes regression caused by
> > > 620776d734e4b126c407f636bda825a594a17723 .
> > >
> > 
> > This patch does not fix the issue properly. As the commit 620776d also
> > changed the "<1000" test logic to "<10", which should not be. See my
> > comments below.
> 
> Yes, I know.. and I'd like the test logic to stay. Some tftp servers
> can handle that, and performance is significantly better that way.

Well, what does the RFC say we can and cannot do here?

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150825/49648c18/attachment.sig>

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] [PATCH] Change default tftp timeout to be rfc-compliant
  2015-08-25 14:49           ` Tom Rini
@ 2015-08-25 15:33             ` Pavel Machek
  0 siblings, 0 replies; 20+ messages in thread
From: Pavel Machek @ 2015-08-25 15:33 UTC (permalink / raw)
  To: u-boot

On Tue 2015-08-25 10:49:10, Tom Rini wrote:
> On Tue, Aug 25, 2015 at 04:32:48PM +0200, Pavel Machek wrote:
> > On Tue 2015-08-25 21:03:26, Bin Meng wrote:
> > > Hi Pavel, Joe,
> > > 
> > > On Tue, Aug 25, 2015 at 7:44 PM, Pavel Machek <pavel@denx.de> wrote:
> > > >
> > > >
> > > > tftp timeout of 100msec gives good performance on local ethernet, but
> > > > some servers (Centos) refuse to operate, and it is against RFC 2349.
> > > >
> > > > This fixes regression caused by
> > > > 620776d734e4b126c407f636bda825a594a17723 .
> > > >
> > > 
> > > This patch does not fix the issue properly. As the commit 620776d also
> > > changed the "<1000" test logic to "<10", which should not be. See my
> > > comments below.
> > 
> > Yes, I know.. and I'd like the test logic to stay. Some tftp servers
> > can handle that, and performance is significantly better that way.
> 
> Well, what does the RFC say we can and cannot do here?


According to RFC, we should not be putting 0 there.

Best regards,
									Pavel

http://www.rfc-base.org/txt/rfc-2349.txt

 #secs
          The number of seconds to wait before retransmitting,
          specified
	           in ASCII.  Valid values range between "1" and "255"
          seconds,
	           inclusive.  This is a NULL-terminated field.
		   



-- 
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-08-25 12:19           ` Pavel Machek
  2015-08-25 12:23             ` Hannes Schmelzer
@ 2015-09-10 22:26             ` Alexey Brodkin
  2015-09-10 22:46               ` Joe Hershberger
  2015-09-10 22:51               ` Simon Glass
  1 sibling, 2 replies; 20+ messages in thread
From: Alexey Brodkin @ 2015-09-10 22:26 UTC (permalink / raw)
  To: u-boot

Hi Pavel,

On Tue, 2015-08-25 at 14:19 +0200, Pavel Machek wrote:
> On Tue 2015-08-25 14:13:17, Hannes Schmelzer wrote:
> > Hi,
> > 
> > i've same problem.
> > 
> > Running tftp-hpa on Linux Mint 17.
> > 
> > cat /etc/default/tftpd-hpa
> > # /etc/default/tftpd-hpa
> > RUN_DAEMON="yes"
> > TFTP_USERNAME="tftp"
> > TFTP_DIRECTORY="/tftpboot/tseries"
> > TFTP_ADDRESS="0.0.0.0:69"
> > TFTP_OPTIONS="-l -s"
> 
> Yes. Please try patch I mailed half an hour ago... it should fix
> that. (Actually here it is again, without changelog).
> 
> Sorry for the trouble,
> 								Pavel

I'm wondering if there's a chance to fix that obvious regression
anytime soon?

We're approaching v2015.10 release and with today's master
all my boards fail on tftp load with mentioned:
-------------------->8-------------------
# tftp
Speed: 100, full duplex
Using ethernet at f000a000 device
TFTP from server 10.225.15.67; our IP address is 10.225.15.11
Filename 'uImage'.
Load address: 0x82000000
Loading: T T 
TFTP error: 'Unsupported option(s) requested' (8)
-------------------->8-------------------

If there's no proper fix for now then we do need to revert
http://git.denx.de/?p=u-boot.git;a=commit;h=620776d734e4b126c407f636bda825a594a17723

-Alexey

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-09-10 22:26             ` Alexey Brodkin
@ 2015-09-10 22:46               ` Joe Hershberger
  2015-09-10 22:51               ` Simon Glass
  1 sibling, 0 replies; 20+ messages in thread
From: Joe Hershberger @ 2015-09-10 22:46 UTC (permalink / raw)
  To: u-boot

Hi Alexey,

On Thu, Sep 10, 2015 at 5:26 PM, Alexey Brodkin
<Alexey.Brodkin@synopsys.com> wrote:
> Hi Pavel,
>
> On Tue, 2015-08-25 at 14:19 +0200, Pavel Machek wrote:
>> On Tue 2015-08-25 14:13:17, Hannes Schmelzer wrote:
>> > Hi,
>> >
>> > i've same problem.
>> >
>> > Running tftp-hpa on Linux Mint 17.
>> >
>> > cat /etc/default/tftpd-hpa
>> > # /etc/default/tftpd-hpa
>> > RUN_DAEMON="yes"
>> > TFTP_USERNAME="tftp"
>> > TFTP_DIRECTORY="/tftpboot/tseries"
>> > TFTP_ADDRESS="0.0.0.0:69"
>> > TFTP_OPTIONS="-l -s"
>>
>> Yes. Please try patch I mailed half an hour ago... it should fix
>> that. (Actually here it is again, without changelog).
>>
>> Sorry for the trouble,
>>                                                               Pavel
>
> I'm wondering if there's a chance to fix that obvious regression
> anytime soon?

This is already in u-boot-x86/master here:
http://git.denx.de/?p=u-boot/u-boot-x86.git;a=commit;h=527ba17bfd058bd87d5ed4c65aa6f31bebb25dfe

> We're approaching v2015.10 release and with today's master
> all my boards fail on tftp load with mentioned:

Sounds like Simon is soon sending a pull request...
http://u-boot.10912.n7.nabble.com/Any-more-patches-for-x86-td227547.html

Cheers,
-Joe

^ permalink raw reply	[flat|nested] 20+ messages in thread

* [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8)
  2015-09-10 22:26             ` Alexey Brodkin
  2015-09-10 22:46               ` Joe Hershberger
@ 2015-09-10 22:51               ` Simon Glass
  1 sibling, 0 replies; 20+ messages in thread
From: Simon Glass @ 2015-09-10 22:51 UTC (permalink / raw)
  To: u-boot

Hi,

On 10 September 2015 at 15:26, Alexey Brodkin
<Alexey.Brodkin@synopsys.com> wrote:
> Hi Pavel,
>
> On Tue, 2015-08-25 at 14:19 +0200, Pavel Machek wrote:
>> On Tue 2015-08-25 14:13:17, Hannes Schmelzer wrote:
>> > Hi,
>> >
>> > i've same problem.
>> >
>> > Running tftp-hpa on Linux Mint 17.
>> >
>> > cat /etc/default/tftpd-hpa
>> > # /etc/default/tftpd-hpa
>> > RUN_DAEMON="yes"
>> > TFTP_USERNAME="tftp"
>> > TFTP_DIRECTORY="/tftpboot/tseries"
>> > TFTP_ADDRESS="0.0.0.0:69"
>> > TFTP_OPTIONS="-l -s"
>>
>> Yes. Please try patch I mailed half an hour ago... it should fix
>> that. (Actually here it is again, without changelog).
>>
>> Sorry for the trouble,
>>                                                               Pavel
>
> I'm wondering if there's a chance to fix that obvious regression
> anytime soon?
>
> We're approaching v2015.10 release and with today's master
> all my boards fail on tftp load with mentioned:
> -------------------->8-------------------
> # tftp
> Speed: 100, full duplex
> Using ethernet at f000a000 device
> TFTP from server 10.225.15.67; our IP address is 10.225.15.11
> Filename 'uImage'.
> Load address: 0x82000000
> Loading: T T
> TFTP error: 'Unsupported option(s) requested' (8)
> -------------------->8-------------------
>
> If there's no proper fix for now then we do need to revert
> http://git.denx.de/?p=u-boot.git;a=commit;h=620776d734e4b126c407f636bda825a594a17723

Please test on u-boot-x86/master - I just sent a pull request.

Regards,
Simon

^ permalink raw reply	[flat|nested] 20+ messages in thread

end of thread, other threads:[~2015-09-10 22:51 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-08-25  2:25 [U-Boot] commit 620776d causes TFTP error: 'Unsupported option(s) requested' (8) Bin Meng
2015-08-25  3:42 ` Joe Hershberger
2015-08-25  4:05   ` Bin Meng
2015-08-25  4:24     ` Joe Hershberger
2015-08-25  7:40       ` Bin Meng
2015-08-25 12:13         ` Hannes Schmelzer
2015-08-25 12:19           ` Pavel Machek
2015-08-25 12:23             ` Hannes Schmelzer
2015-09-10 22:26             ` Alexey Brodkin
2015-09-10 22:46               ` Joe Hershberger
2015-09-10 22:51               ` Simon Glass
2015-08-25  7:12 ` Pavel Machek
2015-08-25  8:58   ` Bin Meng
2015-08-25  9:22     ` Bin Meng
2015-08-25 11:28     ` Pavel Machek
2015-08-25 11:44     ` [U-Boot] [PATCH] Change default tftp timeout to be rfc-compliant Pavel Machek
2015-08-25 13:03       ` Bin Meng
2015-08-25 14:32         ` Pavel Machek
2015-08-25 14:49           ` Tom Rini
2015-08-25 15:33             ` Pavel Machek

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.