netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* A TLP implementation question
@ 2018-02-14  0:27 hiren panchasara
  2018-02-14  1:11 ` Yuchung Cheng
  0 siblings, 1 reply; 3+ messages in thread
From: hiren panchasara @ 2018-02-14  0:27 UTC (permalink / raw)
  To: netdev

[-- Attachment #1: Type: text/plain, Size: 641 bytes --]

Looking at current net-next to understand an aspect of TLP (tail loss
probe) implementation.

https://tools.ietf.org/html/draft-ietf-tcpm-rack-02 is the source of
truth now for TLP and 6.2.1.  Phase 1: Scheduling a loss probe
Step 1: Check conditions for scheduling a PTO. has following as one of
the conditions:
(d) The most recently transmitted data was not itself a TLP probe
(i.e. a sender MUST NOT send consecutive TLP probes)

I would appreciate if someone can help me trace how current code is
trying to enforce this requirement. How does it check/track that the
last (re)transmitted packet was a tlp probe.

Thanks in advance,
Hiren

[-- Attachment #2: Type: application/pgp-signature, Size: 603 bytes --]

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

* Re: A TLP implementation question
  2018-02-14  0:27 A TLP implementation question hiren panchasara
@ 2018-02-14  1:11 ` Yuchung Cheng
  2018-02-14  7:39   ` hiren panchasara
  0 siblings, 1 reply; 3+ messages in thread
From: Yuchung Cheng @ 2018-02-14  1:11 UTC (permalink / raw)
  To: hiren panchasara; +Cc: netdev, Neal Cardwell

On Tue, Feb 13, 2018 at 4:27 PM, hiren panchasara
<hiren@strugglingcoder.info> wrote:
>
> Looking at current net-next to understand an aspect of TLP (tail loss
> probe) implementation.
>
> https://tools.ietf.org/html/draft-ietf-tcpm-rack-02 is the source of
> truth now for TLP and 6.2.1.  Phase 1: Scheduling a loss probe
> Step 1: Check conditions for scheduling a PTO. has following as one of
> the conditions:
> (d) The most recently transmitted data was not itself a TLP probe
> (i.e. a sender MUST NOT send consecutive TLP probes)
this is done by
1) calling tcp_write_xmit(push_one==2) in tcp_send_loss_probe()
2) avoid calling tcp_schedule_loss_probe() if push_one == 2 in tcp_write_xmit()
3) abort if one TLP probe is inflight by checking tlp_high_seq in
tcp-send_loss_probe()

consequently the sender will never schedule a PTO upon sending a probe
(new or rtx) to avoid consecutive probes.

hth.

>
> I would appreciate if someone can help me trace how current code is
> trying to enforce this requirement. How does it check/track that the
> last (re)transmitted packet was a tlp probe.
>
> Thanks in advance,
> Hiren

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

* Re: A TLP implementation question
  2018-02-14  1:11 ` Yuchung Cheng
@ 2018-02-14  7:39   ` hiren panchasara
  0 siblings, 0 replies; 3+ messages in thread
From: hiren panchasara @ 2018-02-14  7:39 UTC (permalink / raw)
  To: Yuchung Cheng; +Cc: netdev, Neal Cardwell

[-- Attachment #1: Type: text/plain, Size: 1157 bytes --]

On 02/13/18 at 05:11P, Yuchung Cheng wrote:
> On Tue, Feb 13, 2018 at 4:27 PM, hiren panchasara
> <hiren@strugglingcoder.info> wrote:
> >
> > Looking at current net-next to understand an aspect of TLP (tail loss
> > probe) implementation.
> >
> > https://tools.ietf.org/html/draft-ietf-tcpm-rack-02 is the source of
> > truth now for TLP and 6.2.1.  Phase 1: Scheduling a loss probe
> > Step 1: Check conditions for scheduling a PTO. has following as one of
> > the conditions:
> > (d) The most recently transmitted data was not itself a TLP probe
> > (i.e. a sender MUST NOT send consecutive TLP probes)
> this is done by
> 1) calling tcp_write_xmit(push_one==2) in tcp_send_loss_probe()
> 2) avoid calling tcp_schedule_loss_probe() if push_one == 2 in tcp_write_xmit()
> 3) abort if one TLP probe is inflight by checking tlp_high_seq in
> tcp-send_loss_probe()
> 
> consequently the sender will never schedule a PTO upon sending a probe
> (new or rtx) to avoid consecutive probes.
> 
> hth.

Thanks a lot, Yuchung! I was missing this simple and now obvious thing
of not scheduling a pto upon sending a tlp. :-)

Cheers,
Hiren

[-- Attachment #2: Type: application/pgp-signature, Size: 603 bytes --]

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

end of thread, other threads:[~2018-02-14  7:39 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-02-14  0:27 A TLP implementation question hiren panchasara
2018-02-14  1:11 ` Yuchung Cheng
2018-02-14  7:39   ` hiren panchasara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).