afinfo 336 include/net/xfrm.h int xfrm_policy_register_afinfo(const struct xfrm_policy_afinfo *afinfo, int family); afinfo 337 include/net/xfrm.h void xfrm_policy_unregister_afinfo(const struct xfrm_policy_afinfo *afinfo); afinfo 373 include/net/xfrm.h int xfrm_state_register_afinfo(struct xfrm_state_afinfo *afinfo); afinfo 374 include/net/xfrm.h int xfrm_state_unregister_afinfo(struct xfrm_state_afinfo *afinfo); afinfo 384 include/net/xfrm.h int xfrm_input_register_afinfo(const struct xfrm_input_afinfo *afinfo); afinfo 385 include/net/xfrm.h int xfrm_input_unregister_afinfo(const struct xfrm_input_afinfo *afinfo); afinfo 2148 net/ipv4/tcp_ipv4.c struct tcp_seq_afinfo *afinfo = PDE_DATA(file_inode(seq->file)); afinfo 2172 net/ipv4/tcp_ipv4.c if (sk->sk_family == afinfo->family) afinfo 2209 net/ipv4/tcp_ipv4.c struct tcp_seq_afinfo *afinfo = PDE_DATA(file_inode(seq->file)); afinfo 2226 net/ipv4/tcp_ipv4.c if (sk->sk_family != afinfo->family || afinfo 2241 net/ipv4/tcp_ipv4.c struct tcp_seq_afinfo *afinfo = PDE_DATA(file_inode(seq->file)); afinfo 2253 net/ipv4/tcp_ipv4.c if (sk->sk_family == afinfo->family && afinfo 2815 net/ipv4/udp.c struct udp_seq_afinfo *afinfo = PDE_DATA(file_inode(seq->file)); afinfo 2819 net/ipv4/udp.c for (state->bucket = start; state->bucket <= afinfo->udp_table->mask; afinfo 2821 net/ipv4/udp.c struct udp_hslot *hslot = &afinfo->udp_table->hash[state->bucket]; afinfo 2830 net/ipv4/udp.c if (sk->sk_family == afinfo->family) afinfo 2842 net/ipv4/udp.c struct udp_seq_afinfo *afinfo = PDE_DATA(file_inode(seq->file)); afinfo 2848 net/ipv4/udp.c } while (sk && (!net_eq(sock_net(sk), net) || sk->sk_family != afinfo->family)); afinfo 2851 net/ipv4/udp.c if (state->bucket <= afinfo->udp_table->mask) afinfo 2852 net/ipv4/udp.c spin_unlock_bh(&afinfo->udp_table->hash[state->bucket].lock); afinfo 2893 net/ipv4/udp.c struct udp_seq_afinfo *afinfo = PDE_DATA(file_inode(seq->file)); afinfo 2896 net/ipv4/udp.c if (state->bucket <= afinfo->udp_table->mask) afinfo 2897 net/ipv4/udp.c spin_unlock_bh(&afinfo->udp_table->hash[state->bucket].lock); afinfo 69 net/ipv4/xfrm4_output.c const struct xfrm_state_afinfo *afinfo; afinfo 80 net/ipv4/xfrm4_output.c afinfo = xfrm_state_afinfo_get_rcu(x->outer_mode.family); afinfo 81 net/ipv4/xfrm4_output.c if (likely(afinfo)) afinfo 82 net/ipv4/xfrm4_output.c ret = afinfo->output_finish(sk, skb); afinfo 122 net/ipv6/xfrm6_output.c const struct xfrm_state_afinfo *afinfo; afinfo 126 net/ipv6/xfrm6_output.c afinfo = xfrm_state_afinfo_get_rcu(x->outer_mode.family); afinfo 127 net/ipv6/xfrm6_output.c if (likely(afinfo)) afinfo 128 net/ipv6/xfrm6_output.c ret = afinfo->output_finish(sk, skb); afinfo 51 net/xfrm/xfrm_input.c int xfrm_input_register_afinfo(const struct xfrm_input_afinfo *afinfo) afinfo 55 net/xfrm/xfrm_input.c if (WARN_ON(afinfo->family >= ARRAY_SIZE(xfrm_input_afinfo))) afinfo 59 net/xfrm/xfrm_input.c if (unlikely(xfrm_input_afinfo[afinfo->family] != NULL)) afinfo 62 net/xfrm/xfrm_input.c rcu_assign_pointer(xfrm_input_afinfo[afinfo->family], afinfo); afinfo 68 net/xfrm/xfrm_input.c int xfrm_input_unregister_afinfo(const struct xfrm_input_afinfo *afinfo) afinfo 73 net/xfrm/xfrm_input.c if (likely(xfrm_input_afinfo[afinfo->family] != NULL)) { afinfo 74 net/xfrm/xfrm_input.c if (unlikely(xfrm_input_afinfo[afinfo->family] != afinfo)) afinfo 77 net/xfrm/xfrm_input.c RCU_INIT_POINTER(xfrm_input_afinfo[afinfo->family], NULL); afinfo 87 net/xfrm/xfrm_input.c const struct xfrm_input_afinfo *afinfo; afinfo 93 net/xfrm/xfrm_input.c afinfo = rcu_dereference(xfrm_input_afinfo[family]); afinfo 94 net/xfrm/xfrm_input.c if (unlikely(!afinfo)) afinfo 96 net/xfrm/xfrm_input.c return afinfo; afinfo 103 net/xfrm/xfrm_input.c const struct xfrm_input_afinfo *afinfo = xfrm_input_get_afinfo(family); afinfo 105 net/xfrm/xfrm_input.c if (!afinfo) afinfo 108 net/xfrm/xfrm_input.c ret = afinfo->callback(skb, protocol, err); afinfo 355 net/xfrm/xfrm_input.c const struct xfrm_state_afinfo *afinfo; afinfo 359 net/xfrm/xfrm_input.c afinfo = xfrm_state_afinfo_get_rcu(x->outer_mode.family); afinfo 360 net/xfrm/xfrm_input.c if (likely(afinfo)) afinfo 361 net/xfrm/xfrm_input.c err = afinfo->extract_input(x, skb); afinfo 457 net/xfrm/xfrm_input.c const struct xfrm_state_afinfo *afinfo; afinfo 728 net/xfrm/xfrm_input.c afinfo = xfrm_state_afinfo_get_rcu(x->inner_mode.family); afinfo 729 net/xfrm/xfrm_input.c if (likely(afinfo)) afinfo 730 net/xfrm/xfrm_input.c err = afinfo->transport_finish(skb, xfrm_gro || async); afinfo 619 net/xfrm/xfrm_output.c const struct xfrm_state_afinfo *afinfo; afinfo 633 net/xfrm/xfrm_output.c afinfo = xfrm_state_afinfo_get_rcu(inner_mode->family); afinfo 634 net/xfrm/xfrm_output.c if (likely(afinfo)) afinfo 635 net/xfrm/xfrm_output.c err = afinfo->extract_output(x, skb); afinfo 644 net/xfrm/xfrm_output.c struct xfrm_state_afinfo *afinfo; afinfo 654 net/xfrm/xfrm_output.c afinfo = xfrm_state_get_afinfo(proto); afinfo 655 net/xfrm/xfrm_output.c if (afinfo) { afinfo 656 net/xfrm/xfrm_output.c afinfo->local_error(skb, mtu); afinfo 233 net/xfrm/xfrm_policy.c const struct xfrm_policy_afinfo *afinfo; afinfo 238 net/xfrm/xfrm_policy.c afinfo = rcu_dereference(xfrm_policy_afinfo[family]); afinfo 239 net/xfrm/xfrm_policy.c if (unlikely(!afinfo)) afinfo 241 net/xfrm/xfrm_policy.c return afinfo; afinfo 255 net/xfrm/xfrm_policy.c const struct xfrm_policy_afinfo *afinfo; afinfo 258 net/xfrm/xfrm_policy.c afinfo = xfrm_policy_get_afinfo(family); afinfo 259 net/xfrm/xfrm_policy.c if (unlikely(afinfo == NULL)) afinfo 262 net/xfrm/xfrm_policy.c dst = afinfo->dst_lookup(net, tos, oif, saddr, daddr, mark); afinfo 2346 net/xfrm/xfrm_policy.c const struct xfrm_policy_afinfo *afinfo = xfrm_policy_get_afinfo(family); afinfo 2348 net/xfrm/xfrm_policy.c if (unlikely(afinfo == NULL)) afinfo 2350 net/xfrm/xfrm_policy.c err = afinfo->get_saddr(net, oif, local, remote, mark); afinfo 2464 net/xfrm/xfrm_policy.c const struct xfrm_policy_afinfo *afinfo = xfrm_policy_get_afinfo(family); afinfo 2468 net/xfrm/xfrm_policy.c if (!afinfo) afinfo 2510 net/xfrm/xfrm_policy.c const struct xfrm_policy_afinfo *afinfo = afinfo 2514 net/xfrm/xfrm_policy.c if (!afinfo) afinfo 2517 net/xfrm/xfrm_policy.c err = afinfo->fill_dst(xdst, dev, fl); afinfo 2536 net/xfrm/xfrm_policy.c const struct xfrm_state_afinfo *afinfo; afinfo 2616 net/xfrm/xfrm_policy.c afinfo = xfrm_state_afinfo_get_rcu(inner_mode->family); afinfo 2617 net/xfrm/xfrm_policy.c if (likely(afinfo)) afinfo 2618 net/xfrm/xfrm_policy.c dst1->output = afinfo->output; afinfo 2992 net/xfrm/xfrm_policy.c const struct xfrm_policy_afinfo *afinfo = xfrm_policy_get_afinfo(family); afinfo 2995 net/xfrm/xfrm_policy.c if (!afinfo) { afinfo 2999 net/xfrm/xfrm_policy.c ret = afinfo->blackhole_route(net, dst_orig); afinfo 3902 net/xfrm/xfrm_policy.c int xfrm_policy_register_afinfo(const struct xfrm_policy_afinfo *afinfo, int family) afinfo 3913 net/xfrm/xfrm_policy.c struct dst_ops *dst_ops = afinfo->dst_ops; afinfo 3930 net/xfrm/xfrm_policy.c rcu_assign_pointer(xfrm_policy_afinfo[family], afinfo); afinfo 3938 net/xfrm/xfrm_policy.c void xfrm_policy_unregister_afinfo(const struct xfrm_policy_afinfo *afinfo) afinfo 3940 net/xfrm/xfrm_policy.c struct dst_ops *dst_ops = afinfo->dst_ops; afinfo 3944 net/xfrm/xfrm_policy.c if (xfrm_policy_afinfo[i] != afinfo) afinfo 184 net/xfrm/xfrm_state.c struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); afinfo 187 net/xfrm/xfrm_state.c if (!afinfo) afinfo 197 net/xfrm/xfrm_state.c X(afinfo, type, comp); afinfo 200 net/xfrm/xfrm_state.c X(afinfo, type, ah); afinfo 203 net/xfrm/xfrm_state.c X(afinfo, type, esp); afinfo 206 net/xfrm/xfrm_state.c X(afinfo, type, ipip); afinfo 209 net/xfrm/xfrm_state.c X(afinfo, type, dstopts); afinfo 212 net/xfrm/xfrm_state.c X(afinfo, type, routing); afinfo 215 net/xfrm/xfrm_state.c X(afinfo, type, ipip6); afinfo 230 net/xfrm/xfrm_state.c struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); afinfo 232 net/xfrm/xfrm_state.c if (unlikely(afinfo == NULL)) afinfo 242 net/xfrm/xfrm_state.c X(afinfo, type, comp); afinfo 245 net/xfrm/xfrm_state.c X(afinfo, type, ah); afinfo 248 net/xfrm/xfrm_state.c X(afinfo, type, esp); afinfo 251 net/xfrm/xfrm_state.c X(afinfo, type, ipip); afinfo 254 net/xfrm/xfrm_state.c X(afinfo, type, dstopts); afinfo 257 net/xfrm/xfrm_state.c X(afinfo, type, routing); afinfo 260 net/xfrm/xfrm_state.c X(afinfo, type, ipip6); afinfo 274 net/xfrm/xfrm_state.c struct xfrm_state_afinfo *afinfo; afinfo 278 net/xfrm/xfrm_state.c afinfo = xfrm_state_get_afinfo(family); afinfo 279 net/xfrm/xfrm_state.c if (unlikely(afinfo == NULL)) afinfo 284 net/xfrm/xfrm_state.c type = afinfo->type_comp; afinfo 287 net/xfrm/xfrm_state.c type = afinfo->type_ah; afinfo 290 net/xfrm/xfrm_state.c type = afinfo->type_esp; afinfo 293 net/xfrm/xfrm_state.c type = afinfo->type_ipip; afinfo 296 net/xfrm/xfrm_state.c type = afinfo->type_dstopts; afinfo 299 net/xfrm/xfrm_state.c type = afinfo->type_routing; afinfo 302 net/xfrm/xfrm_state.c type = afinfo->type_ipip6; afinfo 330 net/xfrm/xfrm_state.c struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); afinfo 333 net/xfrm/xfrm_state.c if (unlikely(afinfo == NULL)) afinfo 338 net/xfrm/xfrm_state.c WARN_ON(afinfo->type_offload_esp); afinfo 339 net/xfrm/xfrm_state.c afinfo->type_offload_esp = type; afinfo 355 net/xfrm/xfrm_state.c struct xfrm_state_afinfo *afinfo = xfrm_state_get_afinfo(family); afinfo 357 net/xfrm/xfrm_state.c if (unlikely(afinfo == NULL)) afinfo 362 net/xfrm/xfrm_state.c WARN_ON(afinfo->type_offload_esp != type); afinfo 363 net/xfrm/xfrm_state.c afinfo->type_offload_esp = NULL; afinfo 377 net/xfrm/xfrm_state.c struct xfrm_state_afinfo *afinfo; afinfo 380 net/xfrm/xfrm_state.c afinfo = xfrm_state_get_afinfo(family); afinfo 381 net/xfrm/xfrm_state.c if (unlikely(afinfo == NULL)) afinfo 386 net/xfrm/xfrm_state.c type = afinfo->type_offload_esp; afinfo 2331 net/xfrm/xfrm_state.c int xfrm_state_register_afinfo(struct xfrm_state_afinfo *afinfo) afinfo 2335 net/xfrm/xfrm_state.c if (WARN_ON(afinfo->family >= NPROTO)) afinfo 2339 net/xfrm/xfrm_state.c if (unlikely(xfrm_state_afinfo[afinfo->family] != NULL)) afinfo 2342 net/xfrm/xfrm_state.c rcu_assign_pointer(xfrm_state_afinfo[afinfo->family], afinfo); afinfo 2348 net/xfrm/xfrm_state.c int xfrm_state_unregister_afinfo(struct xfrm_state_afinfo *afinfo) afinfo 2350 net/xfrm/xfrm_state.c int err = 0, family = afinfo->family; afinfo 2356 net/xfrm/xfrm_state.c if (likely(xfrm_state_afinfo[afinfo->family] != NULL)) { afinfo 2357 net/xfrm/xfrm_state.c if (rcu_access_pointer(xfrm_state_afinfo[family]) != afinfo) afinfo 2360 net/xfrm/xfrm_state.c RCU_INIT_POINTER(xfrm_state_afinfo[afinfo->family], NULL); afinfo 2379 net/xfrm/xfrm_state.c struct xfrm_state_afinfo *afinfo; afinfo 2383 net/xfrm/xfrm_state.c afinfo = rcu_dereference(xfrm_state_afinfo[family]); afinfo 2384 net/xfrm/xfrm_state.c if (unlikely(!afinfo)) afinfo 2386 net/xfrm/xfrm_state.c return afinfo;