summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
author/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org>2008-04-09 15:25:59 +0000
committer/C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org </C=EU/ST=EU/CN=Pablo Neira Ayuso/emailAddress=pablo@netfilter.org>2008-04-09 15:25:59 +0000
commit5e5d8cdb3cfed98f1af3f3e265220c90df684674 (patch)
tree7515c853a8462a4ed13b788c20c231c53c0e651c /include
parent92701a6b224c533346f233061226bee5bb29a5dd (diff)
improve netlink overrun handling
Diffstat (limited to 'include')
-rw-r--r--include/conntrackd.h8
-rw-r--r--include/netlink.h4
2 files changed, 11 insertions, 1 deletions
diff --git a/include/conntrackd.h b/include/conntrackd.h
index 69c1303..57ac7e4 100644
--- a/include/conntrackd.h
+++ b/include/conntrackd.h
@@ -3,6 +3,7 @@
#include "mcast.h"
#include "local.h"
+#include "alarm.h"
#include <stdint.h>
#include <stdio.h>
@@ -104,6 +105,8 @@ struct ct_general_state {
struct nfct_handle *event; /* event handler */
struct nfct_handle *dump; /* dump handler */
+ struct nfct_handle *overrun; /* overrun handler */
+ struct alarm_block overrun_alarm;
struct fds *fds;
@@ -158,7 +161,10 @@ struct ct_mode {
int (*local)(int fd, int type, void *data);
void (*kill)(void);
void (*dump)(struct nf_conntrack *ct);
- void (*overrun)(void);
+ int (*overrun)(enum nf_conntrack_msg_type type,
+ struct nf_conntrack *ct,
+ void *data);
+ int (*purge)(void);
void (*event_new)(struct nf_conntrack *ct);
void (*event_upd)(struct nf_conntrack *ct);
int (*event_dst)(struct nf_conntrack *ct);
diff --git a/include/netlink.h b/include/netlink.h
index d345656..a46fe11 100644
--- a/include/netlink.h
+++ b/include/netlink.h
@@ -10,6 +10,10 @@ int nl_init_event_handler(void);
int nl_init_dump_handler(void);
+int nl_init_overrun_handler(void);
+
+int nl_overrun_request_resync(void);
+
void nl_resize_socket_buffer(struct nfct_handle *h);
int nl_dump_conntrack_table(void);