On Wed,  8 Nov 2017 15:12:27 -0800
Dave Taht <dave.t...@gmail.com> wrote:

> --- a/net/sched/sch_netem.c
> +++ b/net/sched/sch_netem.c
> @@ -819,6 +819,8 @@ static const struct nla_policy netem_policy[TCA_NETEM_MAX 
> + 1] = {
>       [TCA_NETEM_LOSS]        = { .type = NLA_NESTED },
>       [TCA_NETEM_ECN]         = { .type = NLA_U32 },
>       [TCA_NETEM_RATE64]      = { .type = NLA_U64 },
> +     [TCA_NETEM_LATENCY64]   = { .type = NLA_S64 },
> +     [TCA_NETEM_JITTER64]    = { .type = NLA_S64 },
>  };
>  
>  static int parse_attr(struct nlattr *tb[], int maxtype, struct nlattr *nla,
> @@ -916,6 +918,12 @@ static int netem_change(struct Qdisc *sch, struct nlattr 
> *opt)
>               q->rate = max_t(u64, q->rate,
>                               nla_get_u64(tb[TCA_NETEM_RATE64]));
>  
> +     if (tb[TCA_NETEM_LATENCY64])
> +             q->latency = nla_get_s64(tb[TCA_NETEM_LATENCY64]);
> +
> +     if (tb[TCA_NETEM_JITTER64])
> +             q->jitter = nla_get_s64(tb[TCA_NETEM_JITTER64]);
> +
>       if (tb[TCA_NETEM_ECN])
>               q->ecn = nla_get_u32(tb[TCA_NETEM_ECN]);
>  

Although some of the maths use signed 64 bit.
I think the API should be unsigned 64 bit.  Or do you want to allow
negative latency?

Reply via email to