Re: A TLP implementation question

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


pgpH7d3iugR3C.pgp
Description: PGP signature


Re: A TLP implementation question

2018-02-13 Thread Yuchung Cheng
On Tue, Feb 13, 2018 at 4:27 PM, hiren panchasara
 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


A TLP implementation question

2018-02-13 Thread hiren panchasara
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


pgp7U7jyT87HJ.pgp
Description: PGP signature