summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/net/gen_stats.h3
-rw-r--r--net/core/gen_estimator.c11
2 files changed, 14 insertions, 0 deletions
diff --git a/include/net/gen_stats.h b/include/net/gen_stats.h
index e3ec2ebdd62e..9a9bea508d1b 100644
--- a/include/net/gen_stats.h
+++ b/include/net/gen_stats.h
@@ -41,5 +41,8 @@ extern int gen_new_estimator(struct gnet_stats_basic *bstats,
spinlock_t *stats_lock, struct rtattr *opt);
extern void gen_kill_estimator(struct gnet_stats_basic *bstats,
struct gnet_stats_rate_est *rate_est);
+extern int gen_replace_estimator(struct gnet_stats_basic *bstats,
+ struct gnet_stats_rate_est *rate_est,
+ spinlock_t *stats_lock, struct rtattr *opt);
#endif
diff --git a/net/core/gen_estimator.c b/net/core/gen_estimator.c
index 4d65f937ece8..00e167827dd7 100644
--- a/net/core/gen_estimator.c
+++ b/net/core/gen_estimator.c
@@ -200,5 +200,16 @@ void gen_kill_estimator(struct gnet_stats_basic *bstats,
}
}
+int
+gen_replace_estimator(struct gnet_stats_basic *bstats,
+ struct gnet_stats_rate_est *rate_est, spinlock_t *stats_lock,
+ struct rtattr *opt)
+{
+ gen_kill_estimator(bstats, rate_est);
+ return gen_new_estimator(bstats, rate_est, stats_lock, opt);
+}
+
+
EXPORT_SYMBOL(gen_kill_estimator);
EXPORT_SYMBOL(gen_new_estimator);
+EXPORT_SYMBOL(gen_replace_estimator);