On Tue, Feb 13, 2018 at 4:27 PM, hiren panchasara <hi...@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