gen_new_estimator — create a new rate estimator


int gen_new_estimator (struct gnet_stats_basic_packed * bstats,
 struct gnet_stats_basic_cpu __percpu * cpu_bstats,
 struct net_rate_estimator __rcu ** rate_est,
 spinlock_t * stats_lock,
 seqcount_t * running,
 struct nlattr * opt);


struct gnet_stats_basic_packed * bstats

basic statistics

struct gnet_stats_basic_cpu __percpu * cpu_bstats

bstats per cpu

struct net_rate_estimator __rcu ** rate_est

rate estimator statistics

spinlock_t * stats_lock

statistics lock

seqcount_t * running

qdisc running seqcount

struct nlattr * opt

rate estimator configuration TLV


Creates a new rate estimator with &bstats as source and &rate_est as destination. A new timer with the interval specified in the configuration TLV is created. Upon each interval, the latest statistics will be read from &bstats and the estimated rate will be stored in &rate_est with the statistics lock grabbed during this period.

Returns 0 on success or a negative error code.