summaryrefslogtreecommitdiffstats
path: root/src/conntrack
diff options
context:
space:
mode:
Diffstat (limited to 'src/conntrack')
-rw-r--r--src/conntrack/getter.c6
-rw-r--r--src/conntrack/parse_mnl.c10
2 files changed, 16 insertions, 0 deletions
diff --git a/src/conntrack/getter.c b/src/conntrack/getter.c
index d1f9a5a..c9615d5 100644
--- a/src/conntrack/getter.c
+++ b/src/conntrack/getter.c
@@ -384,6 +384,11 @@ static const void *get_attr_synproxy_tsoff(const struct nf_conntrack *ct)
return &ct->synproxy.tsoff;
}
+static const void *get_attr_timestamp_event(const struct nf_conntrack *ct)
+{
+ return &ct->timestamp_event;
+}
+
const get_attr get_attr_array[ATTR_MAX] = {
[ATTR_ORIG_IPV4_SRC] = get_attr_orig_ipv4_src,
[ATTR_ORIG_IPV4_DST] = get_attr_orig_ipv4_dst,
@@ -460,4 +465,5 @@ const get_attr get_attr_array[ATTR_MAX] = {
[ATTR_SYNPROXY_ISN] = get_attr_synproxy_isn,
[ATTR_SYNPROXY_ITS] = get_attr_synproxy_its,
[ATTR_SYNPROXY_TSOFF] = get_attr_synproxy_tsoff,
+ [ATTR_TIMESTAMP_EVENT] = get_attr_timestamp_event,
};
diff --git a/src/conntrack/parse_mnl.c b/src/conntrack/parse_mnl.c
index 3cbfc6a..0f87f69 100644
--- a/src/conntrack/parse_mnl.c
+++ b/src/conntrack/parse_mnl.c
@@ -897,6 +897,10 @@ nfct_parse_conntrack_attr_cb(const struct nlattr *attr, void *data)
case CTA_NAT_DST:
/* deprecated */
break;
+ case CTA_TIMESTAMP_EVENT:
+ if (mnl_attr_validate(attr, MNL_TYPE_U64) < 0)
+ abi_breakage();
+ break;
}
tb[type] = attr;
return MNL_CB_OK;
@@ -1029,6 +1033,12 @@ nfct_payload_parse(const void *payload, size_t payload_len,
return -1;
}
+ if (tb[CTA_TIMESTAMP_EVENT]) {
+ set_bit(ATTR_TIMESTAMP_EVENT, ct->head.set);
+ ct->timestamp_event =
+ be64toh(mnl_attr_get_u64(tb[CTA_TIMESTAMP_EVENT]));
+ }
+
return 0;
}