Home
last modified time | relevance | path

Searched refs:track (Results 1 – 21 of 21) sorted by relevance

/net/netfilter/
Dnft_bitwise.c284 static bool nft_bitwise_reduce(struct nft_regs_track *track, in nft_bitwise_reduce() argument
293 if (!track->regs[priv->sreg].selector) in nft_bitwise_reduce()
296 bitwise = nft_expr_priv(track->regs[priv->dreg].selector); in nft_bitwise_reduce()
297 if (track->regs[priv->sreg].selector == track->regs[priv->dreg].selector && in nft_bitwise_reduce()
298 track->regs[priv->sreg].num_reg == 0 && in nft_bitwise_reduce()
299 track->regs[priv->dreg].bitwise && in nft_bitwise_reduce()
300 track->regs[priv->dreg].bitwise->ops == expr->ops && in nft_bitwise_reduce()
308 track->cur = expr; in nft_bitwise_reduce()
312 if (track->regs[priv->sreg].bitwise || in nft_bitwise_reduce()
313 track->regs[priv->sreg].num_reg != 0) { in nft_bitwise_reduce()
[all …]
Dnft_hash.c168 static bool nft_jhash_reduce(struct nft_regs_track *track, in nft_jhash_reduce() argument
173 nft_reg_track_cancel(track, priv->dreg, sizeof(u32)); in nft_jhash_reduce()
198 static bool nft_symhash_reduce(struct nft_regs_track *track, in nft_symhash_reduce() argument
204 if (!nft_reg_track_cmp(track, expr, priv->dreg)) { in nft_symhash_reduce()
205 nft_reg_track_update(track, expr, priv->dreg, sizeof(u32)); in nft_symhash_reduce()
209 symhash = nft_expr_priv(track->regs[priv->dreg].selector); in nft_symhash_reduce()
212 nft_reg_track_update(track, expr, priv->dreg, sizeof(u32)); in nft_symhash_reduce()
216 if (!track->regs[priv->dreg].bitwise) in nft_symhash_reduce()
Dnft_osf.c136 static bool nft_osf_reduce(struct nft_regs_track *track, in nft_osf_reduce() argument
142 if (!nft_reg_track_cmp(track, expr, priv->dreg)) { in nft_osf_reduce()
143 nft_reg_track_update(track, expr, priv->dreg, NFT_OSF_MAXGENRELEN); in nft_osf_reduce()
147 osf = nft_expr_priv(track->regs[priv->dreg].selector); in nft_osf_reduce()
150 nft_reg_track_update(track, expr, priv->dreg, NFT_OSF_MAXGENRELEN); in nft_osf_reduce()
154 if (!track->regs[priv->dreg].bitwise) in nft_osf_reduce()
Dnft_fib.c166 bool nft_fib_reduce(struct nft_regs_track *track, in nft_fib_reduce() argument
189 if (!nft_reg_track_cmp(track, expr, priv->dreg)) { in nft_fib_reduce()
190 nft_reg_track_update(track, expr, priv->dreg, len); in nft_fib_reduce()
194 fib = nft_expr_priv(track->regs[priv->dreg].selector); in nft_fib_reduce()
197 nft_reg_track_update(track, expr, priv->dreg, len); in nft_fib_reduce()
201 if (!track->regs[priv->dreg].bitwise) in nft_fib_reduce()
Dnft_socket.c216 static bool nft_socket_reduce(struct nft_regs_track *track, in nft_socket_reduce() argument
222 if (!nft_reg_track_cmp(track, expr, priv->dreg)) { in nft_socket_reduce()
223 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_socket_reduce()
227 socket = nft_expr_priv(track->regs[priv->dreg].selector); in nft_socket_reduce()
231 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_socket_reduce()
235 if (!track->regs[priv->dreg].bitwise) in nft_socket_reduce()
238 return nft_expr_reduce_bitwise(track, expr); in nft_socket_reduce()
Dnft_xfrm.c262 static bool nft_xfrm_reduce(struct nft_regs_track *track, in nft_xfrm_reduce() argument
268 if (!nft_reg_track_cmp(track, expr, priv->dreg)) { in nft_xfrm_reduce()
269 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_xfrm_reduce()
273 xfrm = nft_expr_priv(track->regs[priv->dreg].selector); in nft_xfrm_reduce()
278 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_xfrm_reduce()
282 if (!track->regs[priv->dreg].bitwise) in nft_xfrm_reduce()
285 return nft_expr_reduce_bitwise(track, expr); in nft_xfrm_reduce()
Dnft_meta.c747 bool nft_meta_get_reduce(struct nft_regs_track *track, in nft_meta_get_reduce() argument
753 if (!nft_reg_track_cmp(track, expr, priv->dreg)) { in nft_meta_get_reduce()
754 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_meta_get_reduce()
758 meta = nft_expr_priv(track->regs[priv->dreg].selector); in nft_meta_get_reduce()
761 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_meta_get_reduce()
765 if (!track->regs[priv->dreg].bitwise) in nft_meta_get_reduce()
768 return nft_expr_reduce_bitwise(track, expr); in nft_meta_get_reduce()
783 static bool nft_meta_set_reduce(struct nft_regs_track *track, in nft_meta_set_reduce() argument
789 if (!track->regs[i].selector) in nft_meta_set_reduce()
792 if (track->regs[i].selector->ops != &nft_meta_get_ops) in nft_meta_set_reduce()
[all …]
Dnft_payload.c253 static bool nft_payload_reduce(struct nft_regs_track *track, in nft_payload_reduce() argument
259 if (!nft_reg_track_cmp(track, expr, priv->dreg)) { in nft_payload_reduce()
260 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_payload_reduce()
264 payload = nft_expr_priv(track->regs[priv->dreg].selector); in nft_payload_reduce()
268 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_payload_reduce()
272 if (!track->regs[priv->dreg].bitwise) in nft_payload_reduce()
275 return nft_expr_reduce_bitwise(track, expr); in nft_payload_reduce()
1008 static bool nft_payload_set_reduce(struct nft_regs_track *track, in nft_payload_set_reduce() argument
1014 if (!track->regs[i].selector) in nft_payload_set_reduce()
1017 if (track->regs[i].selector->ops != &nft_payload_ops && in nft_payload_set_reduce()
[all …]
Dnft_numgen.c87 static bool nft_ng_inc_reduce(struct nft_regs_track *track, in nft_ng_inc_reduce() argument
92 nft_reg_track_cancel(track, priv->dreg, NFT_REG32_SIZE); in nft_ng_inc_reduce()
181 static bool nft_ng_random_reduce(struct nft_regs_track *track, in nft_ng_random_reduce() argument
186 nft_reg_track_cancel(track, priv->dreg, NFT_REG32_SIZE); in nft_ng_random_reduce()
Dnft_ct.c679 static bool nft_ct_get_reduce(struct nft_regs_track *track, in nft_ct_get_reduce() argument
685 if (!nft_reg_track_cmp(track, expr, priv->dreg)) { in nft_ct_get_reduce()
686 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_ct_get_reduce()
690 ct = nft_expr_priv(track->regs[priv->dreg].selector); in nft_ct_get_reduce()
692 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_ct_get_reduce()
696 if (!track->regs[priv->dreg].bitwise) in nft_ct_get_reduce()
699 return nft_expr_reduce_bitwise(track, expr); in nft_ct_get_reduce()
739 static bool nft_ct_set_reduce(struct nft_regs_track *track, in nft_ct_set_reduce() argument
745 if (!track->regs[i].selector) in nft_ct_set_reduce()
748 if (track->regs[i].selector->ops != &nft_ct_get_ops) in nft_ct_set_reduce()
[all …]
Dnft_exthdr.c703 static bool nft_exthdr_reduce(struct nft_regs_track *track, in nft_exthdr_reduce() argument
709 if (!nft_reg_track_cmp(track, expr, priv->dreg)) { in nft_exthdr_reduce()
710 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_exthdr_reduce()
714 exthdr = nft_expr_priv(track->regs[priv->dreg].selector); in nft_exthdr_reduce()
720 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_exthdr_reduce()
724 if (!track->regs[priv->dreg].bitwise) in nft_exthdr_reduce()
727 return nft_expr_reduce_bitwise(track, expr); in nft_exthdr_reduce()
Dnft_tunnel.c127 static bool nft_tunnel_get_reduce(struct nft_regs_track *track, in nft_tunnel_get_reduce() argument
133 if (!nft_reg_track_cmp(track, expr, priv->dreg)) { in nft_tunnel_get_reduce()
134 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_tunnel_get_reduce()
138 tunnel = nft_expr_priv(track->regs[priv->dreg].selector); in nft_tunnel_get_reduce()
142 nft_reg_track_update(track, expr, priv->dreg, priv->len); in nft_tunnel_get_reduce()
146 if (!track->regs[priv->dreg].bitwise) in nft_tunnel_get_reduce()
Dnft_byteorder.c173 static bool nft_byteorder_reduce(struct nft_regs_track *track, in nft_byteorder_reduce() argument
178 nft_reg_track_cancel(track, priv->dreg, priv->len); in nft_byteorder_reduce()
Dnft_lookup.c235 static bool nft_lookup_reduce(struct nft_regs_track *track, in nft_lookup_reduce() argument
241 nft_reg_track_cancel(track, priv->dreg, priv->set->dlen); in nft_lookup_reduce()
Dnft_immediate.c324 static bool nft_immediate_reduce(struct nft_regs_track *track, in nft_immediate_reduce() argument
330 nft_reg_track_cancel(track, priv->dreg, priv->dlen); in nft_immediate_reduce()
Dnf_tables_api.c725 static void __nft_reg_track_clobber(struct nft_regs_track *track, u8 dreg) in __nft_reg_track_clobber() argument
729 for (i = track->regs[dreg].num_reg; i > 0; i--) in __nft_reg_track_clobber()
730 __nft_reg_track_cancel(track, dreg - i); in __nft_reg_track_clobber()
733 static void __nft_reg_track_update(struct nft_regs_track *track, in __nft_reg_track_update() argument
737 track->regs[dreg].selector = expr; in __nft_reg_track_update()
738 track->regs[dreg].bitwise = NULL; in __nft_reg_track_update()
739 track->regs[dreg].num_reg = num_reg; in __nft_reg_track_update()
742 void nft_reg_track_update(struct nft_regs_track *track, in nft_reg_track_update() argument
748 __nft_reg_track_clobber(track, dreg); in nft_reg_track_update()
752 __nft_reg_track_update(track, expr, dreg, i); in nft_reg_track_update()
[all …]
Dnft_compat.c776 static bool nft_match_reduce(struct nft_regs_track *track, in nft_match_reduce() argument
/net/bridge/netfilter/
Dnft_meta_bridge.c152 static bool nft_meta_bridge_set_reduce(struct nft_regs_track *track, in nft_meta_bridge_set_reduce() argument
158 if (!track->regs[i].selector) in nft_meta_bridge_set_reduce()
161 if (track->regs[i].selector->ops != &nft_meta_bridge_get_ops) in nft_meta_bridge_set_reduce()
164 __nft_reg_track_cancel(track, i); in nft_meta_bridge_set_reduce()
/net/
DKconfig.debug9 Enable debugging feature to track device references.
18 Enable debugging feature to track netns references.
DKconfig477 Enable page pool statistics to track page allocation and recycling
/net/ipv4/
DKconfig60 Keep track of statistics on structure of FIB TRIE table.