/net/netfilter/ |
D | nf_tables_core.c | 51 struct nft_regs *regs) in nft_cmp_fast_eval() argument 56 if ((regs->data[priv->sreg] & mask) == priv->data) in nft_cmp_fast_eval() 58 regs->verdict.code = NFT_BREAK; in nft_cmp_fast_eval() 62 struct nft_regs *regs, in nft_payload_fast_eval() argument 67 u32 *dest = ®s->data[priv->dreg]; in nft_payload_fast_eval() 124 struct nft_regs *regs, in expr_call_ops_eval() argument 131 return fun(expr, regs, pkt); } while (0) in expr_call_ops_eval() 145 expr->ops->eval(expr, regs, pkt); in expr_call_ops_eval() 156 struct nft_regs regs = {}; in nft_do_chain() local 164 nft_trace_init(&info, pkt, ®s.verdict, basechain); in nft_do_chain() [all …]
|
D | nft_synproxy.c | 45 struct nft_regs *regs, in nft_synproxy_eval_v4() argument 61 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v4() 67 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v4() 69 regs->verdict.code = NF_DROP; in nft_synproxy_eval_v4() 76 struct nft_regs *regs, in nft_synproxy_eval_v6() argument 92 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v6() 98 regs->verdict.code = NF_STOLEN; in nft_synproxy_eval_v6() 100 regs->verdict.code = NF_DROP; in nft_synproxy_eval_v6() 107 struct nft_regs *regs, in nft_synproxy_do_eval() argument 117 regs->verdict.code = NFT_BREAK; in nft_synproxy_do_eval() [all …]
|
D | nft_xfrm.c | 117 struct nft_regs *regs, in nft_xfrm_state_get_key() argument 120 u32 *dest = ®s->data[priv->dreg]; in nft_xfrm_state_get_key() 125 regs->verdict.code = NFT_BREAK; in nft_xfrm_state_get_key() 154 regs->verdict.code = NFT_BREAK; in nft_xfrm_state_get_key() 158 struct nft_regs *regs, in nft_xfrm_get_eval_in() argument 165 regs->verdict.code = NFT_BREAK; in nft_xfrm_get_eval_in() 170 nft_xfrm_state_get_key(priv, regs, state); in nft_xfrm_get_eval_in() 174 struct nft_regs *regs, in nft_xfrm_get_eval_out() argument 185 nft_xfrm_state_get_key(priv, regs, dst->xfrm); in nft_xfrm_get_eval_out() 189 regs->verdict.code = NFT_BREAK; in nft_xfrm_get_eval_out() [all …]
|
D | nft_tproxy.c | 22 struct nft_regs *regs, in nft_tproxy_eval_v4() argument 35 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v4() 41 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v4() 55 taddr = regs->data[priv->sreg_addr]; in nft_tproxy_eval_v4() 59 tport = nft_reg_load16(®s->data[priv->sreg_port]); in nft_tproxy_eval_v4() 80 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v4() 85 struct nft_regs *regs, in nft_tproxy_eval_v6() argument 102 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v6() 109 regs->verdict.code = NFT_BREAK; in nft_tproxy_eval_v6() 123 memcpy(&taddr, ®s->data[priv->sreg_addr], sizeof(taddr)); in nft_tproxy_eval_v6() [all …]
|
D | nft_fib_netdev.c | 22 struct nft_regs *regs, in nft_fib_netdev_eval() argument 32 return nft_fib4_eval(expr, regs, pkt); in nft_fib_netdev_eval() 34 return nft_fib4_eval_type(expr, regs, pkt); in nft_fib_netdev_eval() 43 return nft_fib6_eval(expr, regs, pkt); in nft_fib_netdev_eval() 45 return nft_fib6_eval_type(expr, regs, pkt); in nft_fib_netdev_eval() 50 regs->verdict.code = NFT_BREAK; in nft_fib_netdev_eval()
|
D | nft_fib_inet.c | 15 struct nft_regs *regs, in nft_fib_inet_eval() argument 25 return nft_fib4_eval(expr, regs, pkt); in nft_fib_inet_eval() 27 return nft_fib4_eval_type(expr, regs, pkt); in nft_fib_inet_eval() 34 return nft_fib6_eval(expr, regs, pkt); in nft_fib_inet_eval() 36 return nft_fib6_eval_type(expr, regs, pkt); in nft_fib_inet_eval() 41 regs->verdict.code = NF_DROP; in nft_fib_inet_eval()
|
D | nft_masq.c | 99 struct nft_regs *regs, in nft_masq_ipv4_eval() argument 109 ®s->data[priv->sreg_proto_min]); in nft_masq_ipv4_eval() 111 ®s->data[priv->sreg_proto_max]); in nft_masq_ipv4_eval() 113 regs->verdict.code = nf_nat_masquerade_ipv4(pkt->skb, nft_hook(pkt), in nft_masq_ipv4_eval() 145 struct nft_regs *regs, in nft_masq_ipv6_eval() argument 155 ®s->data[priv->sreg_proto_min]); in nft_masq_ipv6_eval() 157 ®s->data[priv->sreg_proto_max]); in nft_masq_ipv6_eval() 159 regs->verdict.code = nf_nat_masquerade_ipv6(pkt->skb, &range, in nft_masq_ipv6_eval() 205 struct nft_regs *regs, in nft_masq_inet_eval() argument 210 return nft_masq_ipv4_eval(expr, regs, pkt); in nft_masq_inet_eval() [all …]
|
D | nft_nat.c | 34 struct nft_regs *regs, in nft_nat_eval() argument 46 regs->data[priv->sreg_addr_min]; in nft_nat_eval() 48 regs->data[priv->sreg_addr_max]; in nft_nat_eval() 52 ®s->data[priv->sreg_addr_min], in nft_nat_eval() 55 ®s->data[priv->sreg_addr_max], in nft_nat_eval() 63 ®s->data[priv->sreg_proto_min]); in nft_nat_eval() 65 ®s->data[priv->sreg_proto_max]); in nft_nat_eval() 71 regs->verdict.code = nf_nat_setup_info(ct, &range, priv->type); in nft_nat_eval() 279 struct nft_regs *regs, in nft_nat_inet_eval() argument 286 nft_nat_eval(expr, regs, pkt); in nft_nat_inet_eval()
|
D | nft_fwd_netdev.c | 25 struct nft_regs *regs, in nft_fwd_netdev_eval() argument 29 int oif = regs->data[priv->sreg_dev]; in nft_fwd_netdev_eval() 35 regs->verdict.code = NF_STOLEN; in nft_fwd_netdev_eval() 75 int oif = ctx->regs[priv->sreg_dev].data.data[0]; in nft_fwd_netdev_offload() 92 struct nft_regs *regs, in nft_fwd_neigh_eval() argument 96 void *addr = ®s->data[priv->sreg_addr]; in nft_fwd_neigh_eval() 97 int oif = regs->data[priv->sreg_dev]; in nft_fwd_neigh_eval() 149 regs->verdict.code = verdict; in nft_fwd_neigh_eval()
|
D | nft_connlimit.c | 23 struct nft_regs *regs, in nft_connlimit_do_eval() argument 42 regs->verdict.code = NF_DROP; in nft_connlimit_do_eval() 47 regs->verdict.code = NF_DROP; in nft_connlimit_do_eval() 54 regs->verdict.code = NFT_BREAK; in nft_connlimit_do_eval() 109 struct nft_regs *regs, in nft_connlimit_obj_eval() argument 114 nft_connlimit_do_eval(priv, regs, pkt, NULL); in nft_connlimit_obj_eval() 166 struct nft_regs *regs, in nft_connlimit_eval() argument 171 nft_connlimit_do_eval(priv, regs, pkt, NULL); in nft_connlimit_eval()
|
D | nft_dynset.c | 48 struct nft_regs *regs) in nft_dynset_new() argument 60 ®s->data[priv->sreg_key], in nft_dynset_new() 61 ®s->data[priv->sreg_data], in nft_dynset_new() 82 struct nft_regs *regs, const struct nft_pktinfo *pkt) in nft_dynset_eval() argument 91 set->ops->delete(set, ®s->data[priv->sreg_key]); in nft_dynset_eval() 95 if (set->ops->update(set, ®s->data[priv->sreg_key], nft_dynset_new, in nft_dynset_eval() 96 expr, regs, &ext)) { in nft_dynset_eval() 108 sexpr->ops->eval(sexpr, regs, pkt); in nft_dynset_eval() 111 regs->verdict.code = NFT_BREAK; in nft_dynset_eval() 116 regs->verdict.code = NFT_BREAK; in nft_dynset_eval()
|
D | nft_exthdr.c | 37 struct nft_regs *regs, in nft_exthdr_ipv6_eval() argument 41 u32 *dest = ®s->data[priv->dreg]; in nft_exthdr_ipv6_eval() 62 regs->verdict.code = NFT_BREAK; in nft_exthdr_ipv6_eval() 133 struct nft_regs *regs, in nft_exthdr_ipv4_eval() argument 137 u32 *dest = ®s->data[priv->dreg]; in nft_exthdr_ipv4_eval() 159 regs->verdict.code = NFT_BREAK; in nft_exthdr_ipv4_eval() 183 struct nft_regs *regs, in nft_exthdr_tcp_eval() argument 189 u32 *dest = ®s->data[priv->dreg]; in nft_exthdr_tcp_eval() 222 regs->verdict.code = NFT_BREAK; in nft_exthdr_tcp_eval() 226 struct nft_regs *regs, in nft_exthdr_tcp_set_eval() argument [all …]
|
D | nft_ct.c | 59 struct nft_regs *regs, in nft_ct_get_eval() argument 63 u32 *dest = ®s->data[priv->dreg]; in nft_ct_get_eval() 227 regs->verdict.code = NFT_BREAK; in nft_ct_get_eval() 232 struct nft_regs *regs, in nft_ct_set_zone_eval() argument 239 u16 value = nft_reg_load16(®s->data[priv->sreg]); in nft_ct_set_zone_eval() 267 regs->verdict.code = NF_DROP; in nft_ct_set_zone_eval() 278 struct nft_regs *regs, in nft_ct_set_eval() argument 284 u32 value = regs->data[priv->sreg]; in nft_ct_set_eval() 313 ®s->data[priv->sreg], in nft_ct_set_eval() 314 ®s->data[priv->sreg], in nft_ct_set_eval() [all …]
|
D | nft_range.c | 24 struct nft_regs *regs, const struct nft_pktinfo *pkt) in nft_range_eval() argument 29 d1 = memcmp(®s->data[priv->sreg], &priv->data_from, priv->len); in nft_range_eval() 30 d2 = memcmp(®s->data[priv->sreg], &priv->data_to, priv->len); in nft_range_eval() 34 regs->verdict.code = NFT_BREAK; in nft_range_eval() 38 regs->verdict.code = NFT_BREAK; in nft_range_eval()
|
D | nft_socket.c | 44 struct nft_regs *regs, in nft_socket_eval() argument 50 u32 *dest = ®s->data[priv->dreg]; in nft_socket_eval() 59 regs->verdict.code = NFT_BREAK; in nft_socket_eval() 71 regs->verdict.code = NFT_BREAK; in nft_socket_eval() 77 regs->verdict.code = NFT_BREAK; in nft_socket_eval()
|
D | nft_osf.c | 20 static void nft_osf_eval(const struct nft_expr *expr, struct nft_regs *regs, in nft_osf_eval() argument 24 u32 *dest = ®s->data[priv->dreg]; in nft_osf_eval() 32 regs->verdict.code = NFT_BREAK; in nft_osf_eval() 39 regs->verdict.code = NFT_BREAK; in nft_osf_eval() 43 regs->verdict.code = NFT_BREAK; in nft_osf_eval()
|
D | nft_limit.c | 130 struct nft_regs *regs, in nft_limit_pkts_eval() argument 136 regs->verdict.code = NFT_BREAK; in nft_limit_pkts_eval() 179 struct nft_regs *regs, in nft_limit_bytes_eval() argument 186 regs->verdict.code = NFT_BREAK; in nft_limit_bytes_eval() 240 struct nft_regs *regs, in nft_limit_obj_pkts_eval() argument 246 regs->verdict.code = NFT_BREAK; in nft_limit_obj_pkts_eval() 283 struct nft_regs *regs, in nft_limit_obj_bytes_eval() argument 290 regs->verdict.code = NFT_BREAK; in nft_limit_obj_bytes_eval()
|
D | nft_quota.c | 34 struct nft_regs *regs, in nft_quota_do_eval() argument 38 regs->verdict.code = NFT_BREAK; in nft_quota_do_eval() 50 struct nft_regs *regs, in nft_quota_obj_eval() argument 58 regs->verdict.code = NFT_BREAK; in nft_quota_obj_eval() 184 struct nft_regs *regs, in nft_quota_eval() argument 189 nft_quota_do_eval(priv, regs, pkt); in nft_quota_eval()
|
D | nft_compat.c | 68 struct nft_regs *regs, in nft_target_eval_xt() argument 85 regs->verdict.code = NFT_CONTINUE; in nft_target_eval_xt() 88 regs->verdict.code = ret; in nft_target_eval_xt() 94 struct nft_regs *regs, in nft_target_eval_bridge() argument 111 regs->verdict.code = NF_ACCEPT; in nft_target_eval_bridge() 114 regs->verdict.code = NF_DROP; in nft_target_eval_bridge() 117 regs->verdict.code = NFT_CONTINUE; in nft_target_eval_bridge() 120 regs->verdict.code = NFT_RETURN; in nft_target_eval_bridge() 123 regs->verdict.code = ret; in nft_target_eval_bridge() 370 struct nft_regs *regs, in __nft_match_eval() argument [all …]
|
D | nft_objref.c | 17 struct nft_regs *regs, in nft_objref_eval() argument 22 obj->ops->eval(obj, regs, pkt); in nft_objref_eval() 105 struct nft_regs *regs, in nft_objref_map_eval() argument 114 found = set->ops->lookup(nft_net(pkt), set, ®s->data[priv->sreg], in nft_objref_map_eval() 117 regs->verdict.code = NFT_BREAK; in nft_objref_map_eval() 121 obj->ops->eval(obj, regs, pkt); in nft_objref_map_eval()
|
D | nft_payload.c | 74 struct nft_regs *regs, in nft_payload_eval() argument 79 u32 *dest = ®s->data[priv->dreg]; in nft_payload_eval() 115 regs->verdict.code = NFT_BREAK; in nft_payload_eval() 163 struct nft_offload_reg *reg = &ctx->regs[priv->dreg]; in nft_payload_offload_ll() 191 struct nft_offload_reg *reg = &ctx->regs[priv->dreg]; in nft_payload_offload_ip() 229 struct nft_offload_reg *reg = &ctx->regs[priv->dreg]; in nft_payload_offload_ip6() 287 struct nft_offload_reg *reg = &ctx->regs[priv->dreg]; in nft_payload_offload_tcp() 315 struct nft_offload_reg *reg = &ctx->regs[priv->dreg]; in nft_payload_offload_udp() 502 struct nft_regs *regs, in nft_payload_set_eval() argument 507 const u32 *src = ®s->data[priv->sreg]; in nft_payload_set_eval() [all …]
|
D | nft_queue.c | 29 struct nft_regs *regs, in nft_queue_eval() argument 52 regs->verdict.code = ret; in nft_queue_eval() 56 struct nft_regs *regs, in nft_queue_sreg_eval() argument 62 queue = regs->data[priv->sreg_qnum]; in nft_queue_sreg_eval() 68 regs->verdict.code = ret; in nft_queue_sreg_eval()
|
/net/ipv4/netfilter/ |
D | nft_fib_ipv4.c | 27 void nft_fib4_eval_type(const struct nft_expr *expr, struct nft_regs *regs, in nft_fib4_eval_type() argument 32 u32 *dst = ®s->data[priv->dreg]; in nft_fib4_eval_type() 44 regs->verdict.code = NFT_BREAK; in nft_fib4_eval_type() 57 void nft_fib4_eval(const struct nft_expr *expr, struct nft_regs *regs, in nft_fib4_eval() argument 62 u32 *dest = ®s->data[priv->dreg]; in nft_fib4_eval() 97 regs->verdict.code = NFT_BREAK; in nft_fib4_eval()
|
/net/ipv6/netfilter/ |
D | nft_fib_ipv6.c | 123 void nft_fib6_eval_type(const struct nft_expr *expr, struct nft_regs *regs, in nft_fib6_eval_type() argument 128 u32 *dest = ®s->data[priv->dreg]; in nft_fib6_eval_type() 133 regs->verdict.code = NFT_BREAK; in nft_fib6_eval_type() 141 void nft_fib6_eval(const struct nft_expr *expr, struct nft_regs *regs, in nft_fib6_eval() argument 147 u32 *dest = ®s->data[priv->dreg]; in nft_fib6_eval() 163 regs->verdict.code = NFT_BREAK; in nft_fib6_eval()
|
/net/bridge/netfilter/ |
D | nft_meta_bridge.c | 22 struct nft_regs *regs, in nft_meta_bridge_get_eval() argument 27 u32 *dest = ®s->data[priv->dreg]; in nft_meta_bridge_get_eval() 60 return nft_meta_get_eval(expr, regs, pkt); in nft_meta_bridge_get_eval() 66 regs->verdict.code = NFT_BREAK; in nft_meta_bridge_get_eval()
|