FYI, net-next tree is currently closed.
On 03/11/2019 08:14 AM, Olga Albisser wrote:
> DUALPI2 provides extremely low latency & loss to traffic that uses a
> scalable congestion controller (e.g. L4S, DCTCP) without degrading the
> performance of 'classic' traffic (e.g. Reno, Cubic etc.). It is intended
> to be the reference implementation of the IETF's DualQ Coupled AQM.
> +
> +static int dualpi2_qdisc_enqueue(struct sk_buff *skb, struct Qdisc *sch,
> + struct sk_buff **to_free)
> +{
> + struct dualpi2_sched_data *q = qdisc_priv(sch);
> + u32 ecn = get_ecn_field(skb);
> + int err;
> +
> + /* set to the time the HTQ packet is in the Q */
> + __net_timestamp(skb);
> +
You can not do that in a qdisc ( blindly overwriting skb->tstamp )
EDT model was adopted in TCP in linux-4.20
You will need to use part of skb->cb instead.
BTW, prefer CLOCK_MONOTONIC, this can avoid all sort of surprises...