Index: include/libnetfilter_conntrack/libnetfilter_conntrack.h =================================================================== --- include/libnetfilter_conntrack/libnetfilter_conntrack.h (revision 6689) +++ include/libnetfilter_conntrack/libnetfilter_conntrack.h (working copy) @@ -196,6 +196,10 @@ IPS_FIXED_TIMEOUT_BIT = 10, IPS_FIXED_TIMEOUT = (1 << IPS_FIXED_TIMEOUT_BIT), + /* Connectio must change MARK */ + IPS_CHANGE_MARK_BIT = 11, + IPS_CHANGE_MARK = (1 << IPS_FIXED_CHANGE_MARK), + }; enum { Index: src/libnetfilter_conntrack.c =================================================================== --- src/libnetfilter_conntrack.c (revision 6689) +++ src/libnetfilter_conntrack.c (working copy) @@ -976,7 +976,7 @@ nfnl_addattr_l(&req->nlh, sizeof(buf), CTA_TIMEOUT, &timeout, sizeof(u_int32_t)); - if (ct->mark != 0) + if (ct->status & IPS_CHANGE_MARK) nfnl_addattr_l(&req->nlh, sizeof(buf), CTA_MARK, &mark, sizeof(u_int32_t));