Lines Matching refs:tb2

148 static bool inet_bind2_bucket_addr_match(const struct inet_bind2_bucket *tb2,
152 if (sk->sk_family != tb2->family) {
154 return ipv6_addr_v4mapped(&tb2->v6_rcv_saddr) &&
155 tb2->v6_rcv_saddr.s6_addr32[3] == sk->sk_rcv_saddr;
158 sk->sk_v6_rcv_saddr.s6_addr32[3] == tb2->rcv_saddr;
162 return ipv6_addr_equal(&tb2->v6_rcv_saddr,
165 return tb2->rcv_saddr == sk->sk_rcv_saddr;
169 struct inet_bind2_bucket *tb2, unsigned short port)
174 sk_add_bind2_node(sk, &tb2->owners);
175 inet_csk(sk)->icsk_bind2_hash = tb2;
202 struct inet_bind2_bucket *tb2 = inet_csk(sk)->icsk_bind2_hash;
206 inet_bind2_bucket_destroy(hashinfo->bind2_bucket_cachep, tb2);
229 struct inet_bind2_bucket *tb2;
240 tb2 = inet_csk(sk)->icsk_bind2_hash;
241 if (unlikely(!tb || !tb2)) {
271 } else if (!inet_bind2_bucket_addr_match(tb2, child)) {
275 tb2 = inet_bind2_bucket_find(head2, net, port, l3mdev, child);
276 if (!tb2) {
277 tb2 = inet_bind2_bucket_create(table->bind2_bucket_cachep,
280 if (!tb2)
286 inet_bind_hash(child, tb, tb2, port);
900 struct inet_bind2_bucket *tb2, *new_tb2;
917 * the bhash2 table in an inconsistent state if a new tb2 bucket
957 tb2 = inet_bind2_bucket_find(head2, net, port, l3mdev, sk);
958 if (!tb2) {
959 tb2 = new_tb2;
960 inet_bind2_bucket_init(tb2, net, head2, port, l3mdev, sk);
962 sk_add_bind2_node(sk, &tb2->owners);
963 inet_csk(sk)->icsk_bind2_hash = tb2;
968 if (tb2 != new_tb2)
1010 struct inet_bind2_bucket *tb2;
1093 /* Find the corresponding tb2 bucket since we need to
1099 tb2 = inet_bind2_bucket_find(head2, net, port, l3mdev, sk);
1100 if (!tb2) {
1101 tb2 = inet_bind2_bucket_create(hinfo->bind2_bucket_cachep, net,
1103 if (!tb2)
1116 inet_bind_hash(sk, tb, tb2, port);