summaryrefslogtreecommitdiffstats
path: root/include/conntrackd.h
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>2007-07-09 19:11:53 +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>2007-07-09 19:11:53 +0000
commit96084e1a1f2e0a49c961bbddb9fffd2e03bfae3f (patch)
treec078d88b157faa7c5ce76bc4591205756f09742b /include/conntrackd.h
parent4df0be6fbf6a47905e0edf11c13b49ea0eacee5b (diff)
- conntrack-tools requires libnetfilter_conntrack >= 0.0.81
- add len field to nethdr - implement buffered send/recv to batch messages - stop using netlink format for network messages: use similar TLV-based format - reduce synchronization messages size up to 60% - introduce periodic alive messages for sync-nack protocol - timeslice alarm implementation: remove alarm pthread, remove locking - simplify debugging functions: use nfct_snprintf instead - remove major use of libnfnetlink functions: use libnetfilter_conntrack API - deprecate conntrackd -F, use conntrack -F instead - major rework of the network infrastructure: much simple, less messy
Diffstat (limited to 'include/conntrackd.h')
-rw-r--r--include/conntrackd.h21
1 files changed, 10 insertions, 11 deletions
diff --git a/include/conntrackd.h b/include/conntrackd.h
index a620400..e89fc79 100644
--- a/include/conntrackd.h
+++ b/include/conntrackd.h
@@ -10,6 +10,7 @@
#include "debug.h"
#include <signal.h>
#include "state_helper.h"
+#include "linux_list.h"
#include <libnetfilter_conntrack/libnetfilter_conntrack_tcp.h>
/* UNIX facilities */
@@ -92,11 +93,8 @@ struct ct_general_state {
struct ct_mode *mode;
struct ignore_pool *ignore_pool;
- struct nfnl_handle *event; /* event handler */
- struct nfnl_handle *dump; /* dump handler */
-
- struct nfnl_subsys_handle *subsys_event; /* events */
- struct nfnl_subsys_handle *subsys_dump; /* dump */
+ struct nfct_handle *event; /* event handler */
+ struct nfct_handle *dump; /* dump handler */
/* statistics */
u_int64_t malformed;
@@ -114,7 +112,6 @@ struct ct_sync_state {
struct mcast_sock *mcast_client; /* multicast socket: outgoing */
struct sync_mode *sync; /* sync mode */
- struct buffer *buffer;
u_int32_t last_seq_sent; /* last sequence number sent */
u_int32_t last_seq_recv; /* last sequence number recv */
@@ -141,17 +138,19 @@ extern struct ct_general_state st;
#define IPPROTO_VRRP 112
#endif
+#define STEPS_PER_SECONDS 5
+
struct ct_mode {
int (*init)(void);
int (*add_fds_to_set)(fd_set *readfds);
- void (*step)(fd_set *readfds);
+ void (*run)(fd_set *readfds, int step);
int (*local)(int fd, int type, void *data);
void (*kill)(void);
- void (*dump)(struct nf_conntrack *ct, struct nlmsghdr *nlh);
+ void (*dump)(struct nf_conntrack *ct);
void (*overrun)(void);
- void (*event_new)(struct nf_conntrack *ct, struct nlmsghdr *nlh);
- void (*event_upd)(struct nf_conntrack *ct, struct nlmsghdr *nlh);
- int (*event_dst)(struct nf_conntrack *ct, struct nlmsghdr *nlh);
+ void (*event_new)(struct nf_conntrack *ct);
+ void (*event_upd)(struct nf_conntrack *ct);
+ int (*event_dst)(struct nf_conntrack *ct);
};
/* conntrackd modes */