Lines Matching refs:ct
49 struct nf_conn *ct; member
105 static u32 ovs_ct_get_mark(const struct nf_conn *ct) in ovs_ct_get_mark() argument
108 return ct ? ct->mark : 0; in ovs_ct_get_mark()
114 static void ovs_ct_get_labels(const struct nf_conn *ct, in ovs_ct_get_labels() argument
117 struct nf_conn_labels *cl = ct ? nf_ct_labels_find(ct) : NULL; in ovs_ct_get_labels()
134 const struct nf_conn *ct) in __ovs_ct_update_key() argument
136 key->ct.state = state; in __ovs_ct_update_key()
137 key->ct.zone = zone->id; in __ovs_ct_update_key()
138 key->ct.mark = ovs_ct_get_mark(ct); in __ovs_ct_update_key()
139 ovs_ct_get_labels(ct, &key->ct.labels); in __ovs_ct_update_key()
151 struct nf_conn *ct; in ovs_ct_update_key() local
154 ct = nf_ct_get(skb, &ctinfo); in ovs_ct_update_key()
155 if (ct) { in ovs_ct_update_key()
157 if (!nf_ct_is_confirmed(ct)) in ovs_ct_update_key()
159 if (ct->master) in ovs_ct_update_key()
161 zone = nf_ct_zone(ct); in ovs_ct_update_key()
167 __ovs_ct_update_key(key, state, zone, ct); in ovs_ct_update_key()
177 if (nla_put_u32(skb, OVS_KEY_ATTR_CT_STATE, key->ct.state)) in ovs_ct_put_key()
181 nla_put_u16(skb, OVS_KEY_ATTR_CT_ZONE, key->ct.zone)) in ovs_ct_put_key()
185 nla_put_u32(skb, OVS_KEY_ATTR_CT_MARK, key->ct.mark)) in ovs_ct_put_key()
189 nla_put(skb, OVS_KEY_ATTR_CT_LABELS, sizeof(key->ct.labels), in ovs_ct_put_key()
190 &key->ct.labels)) in ovs_ct_put_key()
201 struct nf_conn *ct; in ovs_ct_set_mark() local
206 ct = nf_ct_get(skb, &ctinfo); in ovs_ct_set_mark()
207 if (!ct) in ovs_ct_set_mark()
210 new_mark = ct_mark | (ct->mark & ~(mask)); in ovs_ct_set_mark()
211 if (ct->mark != new_mark) { in ovs_ct_set_mark()
212 ct->mark = new_mark; in ovs_ct_set_mark()
213 nf_conntrack_event_cache(IPCT_MARK, ct); in ovs_ct_set_mark()
214 key->ct.mark = new_mark; in ovs_ct_set_mark()
229 struct nf_conn *ct; in ovs_ct_set_labels() local
233 ct = nf_ct_get(skb, &ctinfo); in ovs_ct_set_labels()
234 if (!ct) in ovs_ct_set_labels()
237 cl = nf_ct_labels_find(ct); in ovs_ct_set_labels()
239 nf_ct_labels_ext_add(ct); in ovs_ct_set_labels()
240 cl = nf_ct_labels_find(ct); in ovs_ct_set_labels()
245 err = nf_connlabels_replace(ct, (u32 *)labels, (u32 *)mask, in ovs_ct_set_labels()
250 ovs_ct_get_labels(ct, &key->ct.labels); in ovs_ct_set_labels()
261 struct nf_conn *ct; in ovs_ct_helper() local
263 ct = nf_ct_get(skb, &ctinfo); in ovs_ct_helper()
264 if (!ct || ctinfo == IP_CT_RELATED_REPLY) in ovs_ct_helper()
267 help = nfct_help(ct); in ovs_ct_helper()
298 return helper->help(skb, protoff, ct, ctinfo); in ovs_ct_helper()
375 struct nf_conn *ct; in skb_nfct_cached() local
377 ct = nf_ct_get(skb, &ctinfo); in skb_nfct_cached()
378 if (!ct) in skb_nfct_cached()
380 if (!net_eq(net, read_pnet(&ct->ct_net))) in skb_nfct_cached()
382 if (!nf_ct_zone_equal_any(info->ct, nf_ct_zone(ct))) in skb_nfct_cached()
387 help = nf_ct_ext_find(ct, NF_CT_EXT_HELPER); in skb_nfct_cached()
405 struct nf_conn *tmpl = info->ct; in __ovs_ct_lookup()
463 state = key->ct.state; in ovs_ct_commit()
464 if (key->ct.zone == info->zone.id && in ovs_ct_commit()
548 help = nf_ct_helper_ext_add(info->ct, helper, GFP_KERNEL); in ovs_ct_add_helper()
696 ct_info.ct = nf_ct_tmpl_alloc(net, &ct_info.zone, GFP_KERNEL); in ovs_ct_copy_action()
697 if (!ct_info.ct) { in ovs_ct_copy_action()
702 __set_bit(IPS_CONFIRMED_BIT, &ct_info.ct->status); in ovs_ct_copy_action()
703 nf_conntrack_get(&ct_info.ct->ct_general); in ovs_ct_copy_action()
767 if (ct_info->ct) in __ovs_ct_free_action()
768 nf_ct_put(ct_info->ct); in __ovs_ct_free_action()