On 5/23/19 9:45 AM, Willem de Bruijn wrote:
> The SO_TXTIME API enables packet tranmission with delayed delivery.
> This is currently supported by the ETF and FQ packet schedulers.
> 
> Evaluate the interface with both schedulers. Install the scheduler
> and send a variety of packets streams: without delay, with one
> delayed packet, with multiple ordered delays and with reordering.
> Verify that packets are released by the scheduler in expected order.
> 
> The ETF qdisc requires a timestamp in the future on every packet. It
> needs a delay on the qdisc else the packet is dropped on dequeue for
> having a delivery time in the past. The test value is experimentally
> derived. ETF requires clock_id CLOCK_TAI. It checks this base and
> drops for non-conformance.
> 
> The FQ qdisc expects clock_id CLOCK_MONOTONIC, the base used by TCP
> as of commit fb420d5d91c1 ("tcp/fq: move back to CLOCK_MONOTONIC").
> Within a flow there is an expecation of ordered delivery, as shown by
> delivery times of test 4. The FQ qdisc does not require all packets to
> have timestamps and does not drop for non-conformance.
> 
> The large (msec) delays are chosen to avoid flakiness.
> 
>       Output:
> 
>       SO_TXTIME ipv6 clock monolithic

s/monolithic/monotonic/

>       payload:a delay:33 expected:0 (us)
> 
>       SO_TXTIME ipv4 clock monolithic
>       payload:a delay:44 expected:0 (us)
> 
>       SO_TXTIME ipv6 clock monolithic
>       payload:a delay:10049 expected:10000 (us)
> 
>       SO_TXTIME ipv4 clock monolithic
>       payload:a delay:10105 expected:10000 (us)


Thanks for the test Willem.

Acked-by: Eric Dumazet <eduma...@google.com>

Reply via email to