summaryrefslogtreecommitdiffstats
path: root/src/libct.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libct.c')
-rw-r--r--src/libct.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/libct.c b/src/libct.c
index 01307f2..16ec4db 100644
--- a/src/libct.c
+++ b/src/libct.c
@@ -134,16 +134,18 @@ static void parse_counters(struct nfattr *attr, struct ctnl_conntrack *ct,
enum ctattr_type parent)
{
struct nfattr *tb[CTA_COUNTERS_MAX];
+ int dir = (parent == CTA_COUNTERS_ORIG ? CTNL_DIR_REPLY
+ : CTNL_DIR_ORIGINAL);
memset(tb, 0, CTA_COUNTERS_MAX*sizeof(struct nfattr *));
nfnl_parse_nested(tb, CTA_COUNTERS_MAX, attr);
if (tb[CTA_COUNTERS_PACKETS-1])
- ct->counters[CTNL_DIR_ORIGINAL].packets
+ ct->counters[dir].packets
= __be64_to_cpu(*(u_int64_t *)
NFA_DATA(tb[CTA_COUNTERS_PACKETS-1]));
if (tb[CTA_COUNTERS_BYTES-1])
- ct->counters[CTNL_DIR_ORIGINAL].bytes
+ ct->counters[dir].bytes
= __be64_to_cpu(*(u_int64_t *)
NFA_DATA(tb[CTA_COUNTERS_BYTES-1]));
}