Lines Matching refs:conn

24 	struct rxrpc_connection *conn = NULL;  in rxrpc_find_service_conn_rcu()  local
42 conn = rb_entry(p, struct rxrpc_connection, service_node); in rxrpc_find_service_conn_rcu()
44 if (conn->proto.index_key < k.index_key) in rxrpc_find_service_conn_rcu()
46 else if (conn->proto.index_key > k.index_key) in rxrpc_find_service_conn_rcu()
50 conn = NULL; in rxrpc_find_service_conn_rcu()
55 _leave(" = %d", conn ? conn->debug_id : -1); in rxrpc_find_service_conn_rcu()
56 return conn; in rxrpc_find_service_conn_rcu()
64 struct rxrpc_connection *conn) in rxrpc_publish_service_conn() argument
67 struct rxrpc_conn_proto k = conn->proto; in rxrpc_publish_service_conn()
87 rb_link_node_rcu(&conn->service_node, parent, pp); in rxrpc_publish_service_conn()
88 rb_insert_color(&conn->service_node, &peer->service_conns); in rxrpc_publish_service_conn()
90 set_bit(RXRPC_CONN_IN_SERVICE_CONNS, &conn->flags); in rxrpc_publish_service_conn()
92 _leave(" = %d [new]", conn->debug_id); in rxrpc_publish_service_conn()
109 &conn->service_node, in rxrpc_publish_service_conn()
122 struct rxrpc_connection *conn = rxrpc_alloc_connection(rxnet, gfp); in rxrpc_prealloc_service_connection() local
124 if (conn) { in rxrpc_prealloc_service_connection()
128 conn->state = RXRPC_CONN_SERVICE_PREALLOC; in rxrpc_prealloc_service_connection()
129 refcount_set(&conn->ref, 2); in rxrpc_prealloc_service_connection()
133 list_add_tail(&conn->link, &rxnet->service_conns); in rxrpc_prealloc_service_connection()
134 list_add_tail(&conn->proc_link, &rxnet->conn_proc_list); in rxrpc_prealloc_service_connection()
137 rxrpc_see_connection(conn, rxrpc_conn_new_service); in rxrpc_prealloc_service_connection()
140 return conn; in rxrpc_prealloc_service_connection()
148 struct rxrpc_connection *conn, in rxrpc_new_incoming_connection() argument
156 conn->proto.epoch = sp->hdr.epoch; in rxrpc_new_incoming_connection()
157 conn->proto.cid = sp->hdr.cid & RXRPC_CIDMASK; in rxrpc_new_incoming_connection()
158 conn->orig_service_id = sp->hdr.serviceId; in rxrpc_new_incoming_connection()
159 conn->service_id = sp->hdr.serviceId; in rxrpc_new_incoming_connection()
160 conn->security_ix = sp->hdr.securityIndex; in rxrpc_new_incoming_connection()
161 conn->out_clientflag = 0; in rxrpc_new_incoming_connection()
162 conn->security = sec; in rxrpc_new_incoming_connection()
163 if (conn->security_ix) in rxrpc_new_incoming_connection()
164 conn->state = RXRPC_CONN_SERVICE_UNSECURED; in rxrpc_new_incoming_connection()
166 conn->state = RXRPC_CONN_SERVICE; in rxrpc_new_incoming_connection()
173 conn->service_id == rx->service_upgrade.from) in rxrpc_new_incoming_connection()
174 conn->service_id = rx->service_upgrade.to; in rxrpc_new_incoming_connection()
176 atomic_set(&conn->active, 1); in rxrpc_new_incoming_connection()
179 rxrpc_publish_service_conn(conn->peer, conn); in rxrpc_new_incoming_connection()
186 void rxrpc_unpublish_service_conn(struct rxrpc_connection *conn) in rxrpc_unpublish_service_conn() argument
188 struct rxrpc_peer *peer = conn->peer; in rxrpc_unpublish_service_conn()
191 if (test_and_clear_bit(RXRPC_CONN_IN_SERVICE_CONNS, &conn->flags)) in rxrpc_unpublish_service_conn()
192 rb_erase(&conn->service_node, &peer->service_conns); in rxrpc_unpublish_service_conn()