summaryrefslogtreecommitdiffstats
path: root/src/conntrack/copy.c
diff options
context:
space:
mode:
authorPablo Neira Ayuso <pablo@netfilter.org>2010-10-23 17:35:57 +0200
committerPablo Neira Ayuso <pablo@netfilter.org>2011-02-17 00:57:54 +0100
commit2217eb4c53a54eabbc09e043209181c483e2eace (patch)
treeb8f0b8da65e53b562993f6a373fb71826ec0cbf9 /src/conntrack/copy.c
parentc2ddcf3225edcc13699131820f90b063161ff2ca (diff)
conntrack: add timestamp support
This patch adds the connection tracking extension that allows conntrack timestamping. This requires a Linux kernel >= 2.6.38. We have now 65 attributes, we need 96 bits to store what attributes are set in the objects. Signed-off-by: Pablo Neira Ayuso <pablo@netfilter.org>
Diffstat (limited to 'src/conntrack/copy.c')
-rw-r--r--src/conntrack/copy.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/conntrack/copy.c b/src/conntrack/copy.c
index 9148640..591dde1 100644
--- a/src/conntrack/copy.c
+++ b/src/conntrack/copy.c
@@ -423,6 +423,18 @@ static void copy_attr_secctx(struct nf_conntrack *dest,
dest->secctx = strdup(orig->secctx);
}
+static void copy_attr_timestamp_start(struct nf_conntrack *dest,
+ const struct nf_conntrack *orig)
+{
+ dest->timestamp.start = orig->timestamp.start;
+}
+
+static void copy_attr_timestamp_stop(struct nf_conntrack *dest,
+ const struct nf_conntrack *orig)
+{
+ dest->timestamp.stop = orig->timestamp.stop;
+}
+
const copy_attr copy_attr_array[ATTR_MAX] = {
[ATTR_ORIG_IPV4_SRC] = copy_attr_orig_ipv4_src,
[ATTR_ORIG_IPV4_DST] = copy_attr_orig_ipv4_dst,
@@ -487,4 +499,6 @@ const copy_attr copy_attr_array[ATTR_MAX] = {
[ATTR_TCP_WSCALE_REPL] = copy_attr_tcp_wscale_repl,
[ATTR_ZONE] = copy_attr_zone,
[ATTR_SECCTX] = copy_attr_secctx,
+ [ATTR_TIMESTAMP_START] = copy_attr_timestamp_start,
+ [ATTR_TIMESTAMP_STOP] = copy_attr_timestamp_stop,
};