summaryrefslogtreecommitdiffstats
path: root/src/conntrack/parse.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/conntrack/parse.c')
-rw-r--r--src/conntrack/parse.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/conntrack/parse.c b/src/conntrack/parse.c
index 3eb8b81..b52454b 100644
--- a/src/conntrack/parse.c
+++ b/src/conntrack/parse.c
@@ -189,6 +189,18 @@ void __parse_tuple(const struct nfattr *attr,
__parse_ip(tb[CTA_TUPLE_IP-1], tuple, dir, set);
if (tb[CTA_TUPLE_PROTO-1])
__parse_proto(tb[CTA_TUPLE_PROTO-1], tuple, dir, set);
+
+ if (tb[CTA_TUPLE_ZONE-1]) {
+ tuple->zone = ntohs(*(uint16_t *)NFA_DATA(tb[CTA_TUPLE_ZONE-1]));
+ switch(dir) {
+ case __DIR_ORIG:
+ set_bit(ATTR_ORIG_ZONE, set);
+ break;
+ case __DIR_REPL:
+ set_bit(ATTR_REPL_ZONE, set);
+ break;
+ }
+ }
}
static void __parse_protoinfo_tcp(const struct nfattr *attr,