33 #include <linux/kernel.h>
36 #include <linux/if_arp.h>
41 #define BIND_HASH_SIZE 1024
47 return bind_hash_table + (jhash_2words((
u32)addr, (
u32)port, 0) &
61 hlist_for_each_entry_rcu(rs, node, head, rs_bound_node) {
98 rs = rds_bind_lookup(addr, port,
NULL);
100 if (rs && !sock_flag(rds_rs_to_sk(rs),
SOCK_DEAD))
105 rdsdebug(
"returning rs %p for %pI4:%u\n", rs, &addr,
130 if (!rds_bind_lookup(addr,
cpu_to_be16(rover), rs)) {
133 rdsdebug(
"rs %p binding to %pI4:%d\n",
134 rs, &addr, (
int)
ntohs(*port));
137 }
while (rover++ != last);
139 spin_unlock_irqrestore(&rds_bind_lock, flags);
151 rdsdebug(
"rs %p unbinding from %pI4:%d\n",
160 spin_unlock_irqrestore(&rds_bind_lock, flags);
165 struct sock *
sk = sock->
sk;
167 struct rds_sock *rs = rds_sk_to_rs(sk);
190 "load rds_tcp or rds_rdma?\n");