* [PATCH] net: tftp: Avoid sending extra ack on completion
@ 2021-02-03 8:07 Ramon Fried
2021-02-03 18:43 ` Suneel Garapati
0 siblings, 1 reply; 4+ messages in thread
From: Ramon Fried @ 2021-02-03 8:07 UTC (permalink / raw)
To: u-boot
in tftpboot, if ack was already sent previously for this
packet, don't send again.
Fixes: cc6b87ecaa96 ("net: tftp: Add client support for RFC 7440")
Reported-by: Suneel Garapati <suneelglinux@gmail.com>
Signed-off-by: Ramon Fried <rfried.dev@gmail.com>
---
net/tftp.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/net/tftp.c b/net/tftp.c
index 03079ded34..1111834f71 100644
--- a/net/tftp.c
+++ b/net/tftp.c
@@ -678,7 +678,8 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip,
}
if (len < tftp_block_size) {
- tftp_send();
+ if (tftp_cur_block != tftp_next_ack)
+ tftp_send();
tftp_complete();
}
break;
--
2.17.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* [PATCH] net: tftp: Avoid sending extra ack on completion 2021-02-03 8:07 [PATCH] net: tftp: Avoid sending extra ack on completion Ramon Fried @ 2021-02-03 18:43 ` Suneel Garapati 2021-02-03 19:25 ` Ramon Fried 0 siblings, 1 reply; 4+ messages in thread From: Suneel Garapati @ 2021-02-03 18:43 UTC (permalink / raw) To: u-boot On Wed, Feb 3, 2021 at 12:05 AM Ramon Fried <rfried.dev@gmail.com> wrote: > > in tftpboot, if ack was already sent previously for this > packet, don't send again. > > Fixes: cc6b87ecaa96 ("net: tftp: Add client support for RFC 7440") > > Reported-by: Suneel Garapati <suneelglinux@gmail.com> > Signed-off-by: Ramon Fried <rfried.dev@gmail.com> > --- > net/tftp.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/net/tftp.c b/net/tftp.c > index 03079ded34..1111834f71 100644 > --- a/net/tftp.c > +++ b/net/tftp.c > @@ -678,7 +678,8 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip, > } > > if (len < tftp_block_size) { > - tftp_send(); > + if (tftp_cur_block != tftp_next_ack) > + tftp_send(); In the 'if' block above this, next_ack is incremented by window size already, so for size 1 this condition is always true. And the extra ack is sent. > tftp_complete(); > } > break; > -- > 2.17.1 > ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] net: tftp: Avoid sending extra ack on completion 2021-02-03 18:43 ` Suneel Garapati @ 2021-02-03 19:25 ` Ramon Fried 2021-02-03 20:56 ` Suneel Garapati 0 siblings, 1 reply; 4+ messages in thread From: Ramon Fried @ 2021-02-03 19:25 UTC (permalink / raw) To: u-boot On Wed, Feb 3, 2021 at 8:43 PM Suneel Garapati <suneelglinux@gmail.com> wrote: > > On Wed, Feb 3, 2021 at 12:05 AM Ramon Fried <rfried.dev@gmail.com> wrote: > > > > in tftpboot, if ack was already sent previously for this > > packet, don't send again. > > > > Fixes: cc6b87ecaa96 ("net: tftp: Add client support for RFC 7440") > > > > Reported-by: Suneel Garapati <suneelglinux@gmail.com> > > Signed-off-by: Ramon Fried <rfried.dev@gmail.com> > > --- > > net/tftp.c | 3 ++- > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > diff --git a/net/tftp.c b/net/tftp.c > > index 03079ded34..1111834f71 100644 > > --- a/net/tftp.c > > +++ b/net/tftp.c > > @@ -678,7 +678,8 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip, > > } > > > > if (len < tftp_block_size) { > > - tftp_send(); > > + if (tftp_cur_block != tftp_next_ack) > > + tftp_send(); > In the 'if' block above this, next_ack is incremented by window size > already, so for size 1 this condition is always true. > And the extra ack is sent. > > > tftp_complete(); > > } > > break; > > -- > > 2.17.1 > > Yes, you're right, I'm not next to my setup, so I can't test it properly. Anyhow, I'm sending V2 now, I think now it's good. Can you test ? Thanks, Ramon. ^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] net: tftp: Avoid sending extra ack on completion 2021-02-03 19:25 ` Ramon Fried @ 2021-02-03 20:56 ` Suneel Garapati 0 siblings, 0 replies; 4+ messages in thread From: Suneel Garapati @ 2021-02-03 20:56 UTC (permalink / raw) To: u-boot On Wed, Feb 3, 2021 at 11:26 AM Ramon Fried <rfried.dev@gmail.com> wrote: > > On Wed, Feb 3, 2021 at 8:43 PM Suneel Garapati <suneelglinux@gmail.com> wrote: > > > > On Wed, Feb 3, 2021 at 12:05 AM Ramon Fried <rfried.dev@gmail.com> wrote: > > > > > > in tftpboot, if ack was already sent previously for this > > > packet, don't send again. > > > > > > Fixes: cc6b87ecaa96 ("net: tftp: Add client support for RFC 7440") > > > > > > Reported-by: Suneel Garapati <suneelglinux@gmail.com> > > > Signed-off-by: Ramon Fried <rfried.dev@gmail.com> > > > --- > > > net/tftp.c | 3 ++- > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > diff --git a/net/tftp.c b/net/tftp.c > > > index 03079ded34..1111834f71 100644 > > > --- a/net/tftp.c > > > +++ b/net/tftp.c > > > @@ -678,7 +678,8 @@ static void tftp_handler(uchar *pkt, unsigned dest, struct in_addr sip, > > > } > > > > > > if (len < tftp_block_size) { > > > - tftp_send(); > > > + if (tftp_cur_block != tftp_next_ack) > > > + tftp_send(); > > In the 'if' block above this, next_ack is incremented by window size > > already, so for size 1 this condition is always true. > > And the extra ack is sent. > > > > > tftp_complete(); > > > } > > > break; > > > -- > > > 2.17.1 > > > > Yes, you're right, I'm not next to my setup, so I can't test it properly. > Anyhow, I'm sending V2 now, I think now it's good. Can you test ? > Thanks, > Ramon. Tested without issues for window size 1. Thanks, Suneel ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-02-03 20:56 UTC | newest] Thread overview: 4+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2021-02-03 8:07 [PATCH] net: tftp: Avoid sending extra ack on completion Ramon Fried 2021-02-03 18:43 ` Suneel Garapati 2021-02-03 19:25 ` Ramon Fried 2021-02-03 20:56 ` Suneel Garapati
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox