aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2007-12-05 02:40:05 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 17:56:02 -0500
commit5859034d7eb8793d3d78d3af515c4175e7b9d03a (patch)
treefbd0efe0424d9ef9dbe2a57b905bcd413c4cb0bc /include
parentcb76c6a597350534d211ba79d92da1f9771f8226 (diff)
[NETFILTER]: x_tables: add RATEEST target
Add new rate estimator target (using gen_estimator). In combination with the rateest match (next patch) this can be used for load-based multipath routing. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/linux/netfilter/Kbuild1
-rw-r--r--include/linux/netfilter/xt_RATEEST.h11
-rw-r--r--include/net/netfilter/xt_rateest.h17
3 files changed, 29 insertions, 0 deletions
diff --git a/include/linux/netfilter/Kbuild b/include/linux/netfilter/Kbuild
index 1e6900278318..707a15854430 100644
--- a/include/linux/netfilter/Kbuild
+++ b/include/linux/netfilter/Kbuild
@@ -10,6 +10,7 @@ header-y += xt_DSCP.h
10header-y += xt_MARK.h 10header-y += xt_MARK.h
11header-y += xt_NFLOG.h 11header-y += xt_NFLOG.h
12header-y += xt_NFQUEUE.h 12header-y += xt_NFQUEUE.h
13header-y += xt_RATEEST.h
13header-y += xt_SECMARK.h 14header-y += xt_SECMARK.h
14header-y += xt_TCPMSS.h 15header-y += xt_TCPMSS.h
15header-y += xt_comment.h 16header-y += xt_comment.h
diff --git a/include/linux/netfilter/xt_RATEEST.h b/include/linux/netfilter/xt_RATEEST.h
new file mode 100644
index 000000000000..670f2e49d4fb
--- /dev/null
+++ b/include/linux/netfilter/xt_RATEEST.h
@@ -0,0 +1,11 @@
1#ifndef _XT_RATEEST_TARGET_H
2#define _XT_RATEEST_TARGET_H
3
4struct xt_rateest_target_info {
5 char name[IFNAMSIZ];
6 int8_t interval;
7 u_int8_t ewma_log;
8 struct xt_rateest *est __attribute__((aligned(8)));
9};
10
11#endif /* _XT_RATEEST_TARGET_H */
diff --git a/include/net/netfilter/xt_rateest.h b/include/net/netfilter/xt_rateest.h
new file mode 100644
index 000000000000..65d594dffbff
--- /dev/null
+++ b/include/net/netfilter/xt_rateest.h
@@ -0,0 +1,17 @@
1#ifndef _XT_RATEEST_H
2#define _XT_RATEEST_H
3
4struct xt_rateest {
5 struct hlist_node list;
6 char name[IFNAMSIZ];
7 unsigned int refcnt;
8 spinlock_t lock;
9 struct gnet_estimator params;
10 struct gnet_stats_rate_est rstats;
11 struct gnet_stats_basic bstats;
12};
13
14extern struct xt_rateest *xt_rateest_lookup(const char *name);
15extern void xt_rateest_put(struct xt_rateest *est);
16
17#endif /* _XT_RATEEST_H */