Lines Matching refs:udptable

242 	struct udp_table *udptable = udp_get_table_prot(sk);  in udp_lib_get_port()  local
261 rand = (rand | 1) * (udptable->mask + 1); in udp_lib_get_port()
262 last = first + udptable->mask + 1; in udp_lib_get_port()
264 hslot = udp_hashslot(udptable, net, first); in udp_lib_get_port()
268 udptable->log); in udp_lib_get_port()
278 !test_bit(snum >> udptable->log, bitmap) && in udp_lib_get_port()
288 hslot = udp_hashslot(udptable, net, snum); in udp_lib_get_port()
294 slot2 &= udptable->mask; in udp_lib_get_port()
295 hash2_nulladdr &= udptable->mask; in udp_lib_get_port()
297 hslot2 = udp_hashslot2(udptable, slot2); in udp_lib_get_port()
303 hslot2 = udp_hashslot2(udptable, hash2_nulladdr); in udp_lib_get_port()
335 hslot2 = udp_hashslot2(udptable, udp_sk(sk)->udp_portaddr_hash); in udp_lib_get_port()
446 const struct udp_table *udptable) in udp4_lib_lookup1() argument
448 unsigned int slot = udp_hashfn(net, hnum, udptable->mask); in udp4_lib_lookup1()
449 struct udp_hslot *hslot = &udptable->hash[slot]; in udp4_lib_lookup1()
528 struct udp_table *udptable) in udp4_lib_lookup4() argument
533 static void udp_rehash4(struct udp_table *udptable, struct sock *sk, in udp_rehash4() argument
538 static void udp_unhash4(struct udp_table *udptable, struct sock *sk) in udp_unhash4() argument
546 struct udp_table *udptable) in udp4_lib_lookup4() argument
556 slot = hash4 & udptable->mask; in udp4_lib_lookup4()
557 hslot4 = &udptable->hash4[slot]; in udp4_lib_lookup4()
579 static void udp_rehash4(struct udp_table *udptable, struct sock *sk, in udp_rehash4() argument
584 hslot4 = udp_hashslot4(udptable, udp_sk(sk)->udp_lrpa_hash); in udp_rehash4()
585 nhslot4 = udp_hashslot4(udptable, newhash4); in udp_rehash4()
602 static void udp_unhash4(struct udp_table *udptable, struct sock *sk) in udp_unhash4() argument
607 hslot2 = udp_hashslot2(udptable, udp_sk(sk)->udp_portaddr_hash); in udp_unhash4()
608 hslot4 = udp_hashslot4(udptable, udp_sk(sk)->udp_lrpa_hash); in udp_unhash4()
625 struct udp_table *udptable; in udp_lib_hash4() local
633 udptable = net->ipv4.udp_table; in udp_lib_hash4()
634 hslot = udp_hashslot(udptable, net, udp_sk(sk)->udp_port_hash); in udp_lib_hash4()
635 hslot2 = udp_hashslot2(udptable, udp_sk(sk)->udp_portaddr_hash); in udp_lib_hash4()
636 hslot4 = udp_hashslot4(udptable, hash); in udp_lib_hash4()
679 int sdif, struct udp_table *udptable, struct sk_buff *skb) in __udp4_lib_lookup() argument
687 hslot2 = udp_hashslot2(udptable, hash2); in __udp4_lib_lookup()
691 dif, sdif, udptable); in __udp4_lib_lookup()
705 udptable == net->ipv4.udp_table) { in __udp4_lib_lookup()
721 hslot2 = udp_hashslot2(udptable, hash2); in __udp4_lib_lookup()
737 udptable); in __udp4_lib_lookup()
748 struct udp_table *udptable) in __udp4_lib_lookup_skb() argument
754 inet_sdif(skb), udptable, skb); in __udp4_lib_lookup_skb()
872 struct udp_table *udptable, in __udp4_lib_err_encap() argument
901 udptable, NULL); in __udp4_lib_err_encap()
931 int __udp4_lib_err(struct sk_buff *skb, u32 info, struct udp_table *udptable) in __udp4_lib_err() argument
946 inet_sdif(skb), udptable, NULL); in __udp4_lib_err()
951 sk = __udp4_lib_err_encap(net, iph, uh, udptable, sk, skb, in __udp4_lib_err()
2249 struct udp_table *udptable = udp_get_table_prot(sk); in udp_lib_unhash() local
2253 hslot = udp_hashslot(udptable, sock_net(sk), in udp_lib_unhash()
2255 hslot2 = udp_hashslot2(udptable, udp_sk(sk)->udp_portaddr_hash); in udp_lib_unhash()
2270 udp_unhash4(udptable, sk); in udp_lib_unhash()
2283 struct udp_table *udptable = udp_get_table_prot(sk); in udp_lib_rehash() local
2286 hslot = udp_hashslot(udptable, sock_net(sk), in udp_lib_rehash()
2288 hslot2 = udp_hashslot2(udptable, udp_sk(sk)->udp_portaddr_hash); in udp_lib_rehash()
2289 nhslot2 = udp_hashslot2(udptable, newhash); in udp_lib_rehash()
2324 udp_unhash4(udptable, sk); in udp_lib_rehash()
2326 udp_rehash4(udptable, sk, newhash4); in udp_lib_rehash()
2558 struct udp_table *udptable, in __udp4_lib_mcast_deliver() argument
2563 struct udp_hslot *hslot = udp_hashslot(udptable, net, hnum); in __udp4_lib_mcast_deliver()
2573 udptable->mask; in __udp4_lib_mcast_deliver()
2574 hash2 = ipv4_portaddr_hash(net, daddr, hnum) & udptable->mask; in __udp4_lib_mcast_deliver()
2576 hslot = &udptable->hash2[hash2].hslot; in __udp4_lib_mcast_deliver()
2692 int __udp4_lib_rcv(struct sk_buff *skb, struct udp_table *udptable, in __udp4_lib_rcv() argument
2750 saddr, daddr, udptable, proto); in __udp4_lib_rcv()
2752 sk = __udp4_lib_lookup_skb(skb, uh->source, uh->dest, udptable); in __udp4_lib_rcv()
2809 struct udp_table *udptable = net->ipv4.udp_table; in __udp4_lib_mcast_demux_lookup() local
2815 slot = udp_hashfn(net, hnum, udptable->mask); in __udp4_lib_mcast_demux_lookup()
2816 hslot = &udptable->hash[slot]; in __udp4_lib_mcast_demux_lookup()
2844 struct udp_table *udptable = net->ipv4.udp_table; in __udp4_lib_demux_lookup() local
2853 hslot2 = udp_hashslot2(udptable, hash2); in __udp4_lib_demux_lookup()
3335 struct udp_table *udptable; in udp_get_first() local
3338 udptable = udp_get_table_seq(seq, net); in udp_get_first()
3340 for (state->bucket = start; state->bucket <= udptable->mask; in udp_get_first()
3342 struct udp_hslot *hslot = &udptable->hash[state->bucket]; in udp_get_first()
3363 struct udp_table *udptable; in udp_get_next() local
3370 udptable = udp_get_table_seq(seq, net); in udp_get_next()
3372 if (state->bucket <= udptable->mask) in udp_get_next()
3373 spin_unlock_bh(&udptable->hash[state->bucket].lock); in udp_get_next()
3416 struct udp_table *udptable; in udp_seq_stop() local
3418 udptable = udp_get_table_seq(seq, seq_file_net(seq)); in udp_seq_stop()
3420 if (state->bucket <= udptable->mask) in udp_seq_stop()
3421 spin_unlock_bh(&udptable->hash[state->bucket].lock); in udp_seq_stop()
3509 struct udp_table *udptable; in bpf_iter_udp_batch() local
3522 udptable = udp_get_table_seq(seq, net); in bpf_iter_udp_batch()
3538 for (; state->bucket <= udptable->mask; state->bucket++) { in bpf_iter_udp_batch()
3539 struct udp_hslot *hslot2 = &udptable->hash2[state->bucket].hslot; in bpf_iter_udp_batch()
3863 struct udp_table *udptable; in udp_pernet_table_alloc() local
3867 udptable = kmalloc_obj(*udptable); in udp_pernet_table_alloc()
3868 if (!udptable) in udp_pernet_table_alloc()
3873 udptable->hash = vmalloc_huge(hash_entries * slot_size, in udp_pernet_table_alloc()
3875 if (!udptable->hash) in udp_pernet_table_alloc()
3878 udptable->hash2 = (void *)(udptable->hash + hash_entries); in udp_pernet_table_alloc()
3879 udptable->mask = hash_entries - 1; in udp_pernet_table_alloc()
3880 udptable->log = ilog2(hash_entries); in udp_pernet_table_alloc()
3883 INIT_HLIST_HEAD(&udptable->hash[i].head); in udp_pernet_table_alloc()
3884 udptable->hash[i].count = 0; in udp_pernet_table_alloc()
3885 spin_lock_init(&udptable->hash[i].lock); in udp_pernet_table_alloc()
3887 INIT_HLIST_HEAD(&udptable->hash2[i].hslot.head); in udp_pernet_table_alloc()
3888 udptable->hash2[i].hslot.count = 0; in udp_pernet_table_alloc()
3889 spin_lock_init(&udptable->hash2[i].hslot.lock); in udp_pernet_table_alloc()
3891 udp_table_hash4_init(udptable); in udp_pernet_table_alloc()
3893 return udptable; in udp_pernet_table_alloc()
3896 kfree(udptable); in udp_pernet_table_alloc()
3903 struct udp_table *udptable = net->ipv4.udp_table; in udp_pernet_table_free() local
3905 if (udptable == &udp_table) in udp_pernet_table_free()
3908 kvfree(udptable->hash); in udp_pernet_table_free()
3909 kfree(udptable); in udp_pernet_table_free()
3914 struct udp_table *udptable; in udp_set_table() local
3932 udptable = udp_pernet_table_alloc(hash_entries); in udp_set_table()
3933 if (udptable) { in udp_set_table()
3934 net->ipv4.udp_table = udptable; in udp_set_table()