Lines Matching refs:ct

57 	const struct nf_conn *ct;  in nft_ct_get_eval()  local
63 ct = nf_ct_get(pkt->skb, &ctinfo); in nft_ct_get_eval()
67 if (ct) in nft_ct_get_eval()
79 if (ct == NULL) in nft_ct_get_eval()
87 *dest = ct->status; in nft_ct_get_eval()
91 *dest = READ_ONCE(ct->mark); in nft_ct_get_eval()
96 *dest = ct->secmark; in nft_ct_get_eval()
100 *dest = jiffies_to_msecs(nf_ct_expires(ct)); in nft_ct_get_eval()
103 if (ct->master == NULL) in nft_ct_get_eval()
105 help = nfct_help(ct->master); in nft_ct_get_eval()
115 struct nf_conn_labels *labels = nf_ct_labels_find(ct); in nft_ct_get_eval()
126 const struct nf_conn_acct *acct = nf_conn_acct_find(ct); in nft_ct_get_eval()
136 const struct nf_conn_acct *acct = nf_conn_acct_find(ct); in nft_ct_get_eval()
152 nft_reg_store8(dest, nf_ct_l3num(ct)); in nft_ct_get_eval()
155 nft_reg_store8(dest, nf_ct_protonum(ct)); in nft_ct_get_eval()
159 const struct nf_conntrack_zone *zone = nf_ct_zone(ct); in nft_ct_get_eval()
172 *dest = nf_ct_get_id(ct); in nft_ct_get_eval()
178 tuple = &ct->tuplehash[priv->dir].tuple; in nft_ct_get_eval()
182 nf_ct_l3num(ct) == NFPROTO_IPV4 ? 4 : 16); in nft_ct_get_eval()
186 nf_ct_l3num(ct) == NFPROTO_IPV4 ? 4 : 16); in nft_ct_get_eval()
195 if (nf_ct_l3num(ct) != NFPROTO_IPV4) in nft_ct_get_eval()
200 if (nf_ct_l3num(ct) != NFPROTO_IPV4) in nft_ct_get_eval()
205 if (nf_ct_l3num(ct) != NFPROTO_IPV6) in nft_ct_get_eval()
210 if (nf_ct_l3num(ct) != NFPROTO_IPV6) in nft_ct_get_eval()
232 struct nf_conn *ct; in nft_ct_set_zone_eval() local
234 ct = nf_ct_get(skb, &ctinfo); in nft_ct_set_zone_eval()
235 if (ct) /* already tracked */ in nft_ct_set_zone_eval()
251 ct = this_cpu_read(nft_ct_pcpu_template); in nft_ct_set_zone_eval()
253 if (likely(refcount_read(&ct->ct_general.use) == 1)) { in nft_ct_set_zone_eval()
254 refcount_inc(&ct->ct_general.use); in nft_ct_set_zone_eval()
255 nf_ct_zone_add(ct, &zone); in nft_ct_set_zone_eval()
260 ct = nf_ct_tmpl_alloc(nft_net(pkt), &zone, GFP_ATOMIC); in nft_ct_set_zone_eval()
261 if (!ct) { in nft_ct_set_zone_eval()
265 __set_bit(IPS_CONFIRMED_BIT, &ct->status); in nft_ct_set_zone_eval()
268 nf_ct_set(skb, ct, IP_CT_NEW); in nft_ct_set_zone_eval()
282 struct nf_conn *ct; in nft_ct_set_eval() local
284 ct = nf_ct_get(skb, &ctinfo); in nft_ct_set_eval()
285 if (ct == NULL || nf_ct_is_template(ct)) in nft_ct_set_eval()
291 if (READ_ONCE(ct->mark) != value) { in nft_ct_set_eval()
292 WRITE_ONCE(ct->mark, value); in nft_ct_set_eval()
293 nf_conntrack_event_cache(IPCT_MARK, ct); in nft_ct_set_eval()
299 if (ct->secmark != value) { in nft_ct_set_eval()
300 ct->secmark = value; in nft_ct_set_eval()
301 nf_conntrack_event_cache(IPCT_SECMARK, ct); in nft_ct_set_eval()
307 nf_connlabels_replace(ct, in nft_ct_set_eval()
315 struct nf_conntrack_ecache *e = nf_ct_ecache_find(ct); in nft_ct_set_eval()
324 if (ctmask && !nf_ct_is_confirmed(ct)) in nft_ct_set_eval()
325 nf_ct_ecache_ext_add(ct, ctmask, 0, GFP_ATOMIC); in nft_ct_set_eval()
344 struct nf_conn *ct; in nft_ct_tmpl_put_pcpu() local
348 ct = per_cpu(nft_ct_pcpu_template, cpu); in nft_ct_tmpl_put_pcpu()
349 if (!ct) in nft_ct_tmpl_put_pcpu()
351 nf_ct_put(ct); in nft_ct_tmpl_put_pcpu()
683 const struct nft_ct *ct; in nft_ct_get_reduce() local
690 ct = nft_expr_priv(track->regs[priv->dreg].selector); in nft_ct_get_reduce()
691 if (priv->key != ct->key) { in nft_ct_get_reduce()
842 struct nf_conn *ct; in nft_notrack_eval() local
844 ct = nf_ct_get(pkt->skb, &ctinfo); in nft_notrack_eval()
846 if (ct || ctinfo == IP_CT_UNTRACKED) in nft_notrack_eval()
849 nf_ct_set(skb, ct, IP_CT_UNTRACKED); in nft_notrack_eval()
906 struct nf_conn *ct = (struct nf_conn *)skb_nfct(pkt->skb); in nft_ct_timeout_obj_eval() local
913 if (!ct || nf_ct_is_template(ct) || nf_ct_is_confirmed(ct)) in nft_ct_timeout_obj_eval()
916 timeout = nf_ct_timeout_find(ct); in nft_ct_timeout_obj_eval()
918 timeout = nf_ct_timeout_ext_add(ct, priv->timeout, GFP_ATOMIC); in nft_ct_timeout_obj_eval()
932 nf_ct_refresh(ct, pkt->skb, values[0]); in nft_ct_timeout_obj_eval()
1142 struct nf_conn *ct = (struct nf_conn *)skb_nfct(pkt->skb); in nft_ct_helper_obj_eval() local
1146 if (!ct || in nft_ct_helper_obj_eval()
1147 nf_ct_is_confirmed(ct) || in nft_ct_helper_obj_eval()
1148 nf_ct_is_template(ct) || in nft_ct_helper_obj_eval()
1149 priv->l4proto != nf_ct_protonum(ct)) in nft_ct_helper_obj_eval()
1152 switch (nf_ct_l3num(ct)) { in nft_ct_helper_obj_eval()
1167 if (test_bit(IPS_HELPER_BIT, &ct->status)) in nft_ct_helper_obj_eval()
1170 help = nf_ct_helper_ext_add(ct, GFP_ATOMIC); in nft_ct_helper_obj_eval()
1173 set_bit(IPS_HELPER_BIT, &ct->status); in nft_ct_helper_obj_eval()
1318 struct nf_conn *ct; in nft_ct_expect_obj_eval() local
1320 ct = nf_ct_get(pkt->skb, &ctinfo); in nft_ct_expect_obj_eval()
1321 if (!ct || nf_ct_is_confirmed(ct) || nf_ct_is_template(ct)) { in nft_ct_expect_obj_eval()
1327 help = nfct_help(ct); in nft_ct_expect_obj_eval()
1329 help = nf_ct_helper_ext_add(ct, GFP_ATOMIC); in nft_ct_expect_obj_eval()
1340 l3num = nf_ct_l3num(ct); in nft_ct_expect_obj_eval()
1342 exp = nf_ct_expect_alloc(ct); in nft_ct_expect_obj_eval()
1348 &ct->tuplehash[!dir].tuple.src.u3, in nft_ct_expect_obj_eval()
1349 &ct->tuplehash[!dir].tuple.dst.u3, in nft_ct_expect_obj_eval()