On Thu, Dec 14, 2023 at 4:55 PM Kuniyuki Iwashima <kuniyu@xxxxxxxxxx> wrote: > > We will support arbitrary SYN Cookie with BPF. > > When BPF prog validates ACK and kfunc allocates a reqsk, we need > to call tcp_ns_to_ts() to calculate an offset of TSval for later > use: > > time > t0 : Send SYN+ACK > -> tsval = Initial TSval (Random Number) > > t1 : Recv ACK of 3WHS > -> tsoff = TSecr - tcp_ns_to_ts(usec_ts_ok, tcp_clock_ns()) > = Initial TSval - t1 > > t2 : Send ACK > -> tsval = t2 + tsoff > = Initial TSval + (t2 - t1) > = Initial TSval + Time Delta (x) > > (x) Note that the time delta does not include the initial RTT > from t0 to t1. > > Let's move tcp_ns_to_ts() to tcp.h. > > Signed-off-by: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx> Reviewed-by: Eric Dumazet <edumazet@xxxxxxxxxx>