Subject: Re: A TLP implementation question

From: hiren panchasara <[email-masked]>
Date: Tue, 13 Feb 2018 23:39:58 -0800

On 02/13/18 at 05:11P, Yuchung Cheng wrote:
> On Tue, Feb 13, 2018 at 4:27 PM, hiren panchasara
> <[email-masked]> 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