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?