On Tue, Jun 11, 2019 at 12:16 PM David Miller <da...@davemloft.net> wrote:
>
> From: Eric Dumazet <eduma...@google.com>
> Date: Mon, 10 Jun 2019 20:03:34 -0700
>
> > This patchs adds TCP_TX_DELAY socket option, to set a delay in
> > usec units.
> >
> >   unsigned int tx_delay = 10000; /* 10 msec */
> >
> >   setsockopt(fd, SOL_TCP, TCP_TX_DELAY, &tx_delay, sizeof(tx_delay));
>
> I'm trying to think about what the implications are for allowing
> arbitrary users to do this.
>
> It allows a user to stuff a TCP cloned SKB in the queues for a certain
> amount of time, and then multiply this by how big a send window the
> user can create (this ramp up takes no time, as the TCP_TX_DELAY
> option can be intentionally set only after the window is maxxed out)
> and how many TCP flows the user can create.
>
> Is this something worth considering?

Absolutely worth.

Note the issue is already there since eBPF hooks can already
manipulate skb->tstamp
to implement pacing (without going through HTB)

We are working on implementing a max horizon in FQ.

The idea is to add a max_horizon parameter, that could be set by
default to 5 or 10 seconds,
but could be tuned if some people want to test TCP to communicate to Mars :)

(Name comes from Carousel paper :
https://www.cc.gatech.edu/~amsmti3/files/carousel-sigcomm17.pdf)

Reply via email to