Lines Matching refs:rs

54 	struct rds_sock *rs;  in rds_bind_lookup()  local
60 hlist_for_each_entry_rcu(rs, head, rs_bound_node) { in rds_bind_lookup()
61 cmp = ((u64)be32_to_cpu(rs->rs_bound_addr) << 32) | in rds_bind_lookup()
62 be16_to_cpu(rs->rs_bound_port); in rds_bind_lookup()
66 return rs; in rds_bind_lookup()
95 struct rds_sock *rs; in rds_find_bound() local
97 rs = rds_bind_lookup(addr, port, NULL); in rds_find_bound()
99 if (rs && !sock_flag(rds_rs_to_sk(rs), SOCK_DEAD)) in rds_find_bound()
100 rds_sock_addref(rs); in rds_find_bound()
102 rs = NULL; in rds_find_bound()
104 rdsdebug("returning rs %p for %pI4:%u\n", rs, &addr, in rds_find_bound()
106 return rs; in rds_find_bound()
110 static int rds_add_bound(struct rds_sock *rs, __be32 addr, __be16 *port) in rds_add_bound() argument
129 if (!rds_bind_lookup(addr, cpu_to_be16(rover), rs)) { in rds_add_bound()
130 *port = rs->rs_bound_port; in rds_add_bound()
133 rs, &addr, (int)ntohs(*port)); in rds_add_bound()
143 void rds_remove_bound(struct rds_sock *rs) in rds_remove_bound() argument
149 if (rs->rs_bound_addr) { in rds_remove_bound()
151 rs, &rs->rs_bound_addr, in rds_remove_bound()
152 ntohs(rs->rs_bound_port)); in rds_remove_bound()
154 hlist_del_init_rcu(&rs->rs_bound_node); in rds_remove_bound()
155 rds_sock_put(rs); in rds_remove_bound()
156 rs->rs_bound_addr = 0; in rds_remove_bound()
166 struct rds_sock *rs = rds_sk_to_rs(sk); in rds_bind() local
174 rs->rs_bound_addr || in rds_bind()
180 ret = rds_add_bound(rs, sin->sin_addr.s_addr, &sin->sin_port); in rds_bind()
187 rds_remove_bound(rs); in rds_bind()
193 rs->rs_transport = trans; in rds_bind()