Lines Matching full:conn
24 struct rxrpc_connection *conn = NULL; in rxrpc_find_service_conn_rcu() local
43 conn = rb_entry(p, struct rxrpc_connection, service_node); in rxrpc_find_service_conn_rcu()
45 if (conn->proto.index_key < k.index_key) in rxrpc_find_service_conn_rcu()
47 else if (conn->proto.index_key > k.index_key) in rxrpc_find_service_conn_rcu()
51 conn = NULL; in rxrpc_find_service_conn_rcu()
56 _leave(" = %d", conn ? conn->debug_id : -1); in rxrpc_find_service_conn_rcu()
57 return conn; in rxrpc_find_service_conn_rcu()
65 struct rxrpc_connection *conn) in rxrpc_publish_service_conn() argument
68 struct rxrpc_conn_proto k = conn->proto; in rxrpc_publish_service_conn()
88 rb_link_node_rcu(&conn->service_node, parent, pp); in rxrpc_publish_service_conn()
89 rb_insert_color(&conn->service_node, &peer->service_conns); in rxrpc_publish_service_conn()
91 set_bit(RXRPC_CONN_IN_SERVICE_CONNS, &conn->flags); in rxrpc_publish_service_conn()
93 _leave(" = %d [new]", conn->debug_id); in rxrpc_publish_service_conn()
108 _debug("replace conn"); in rxrpc_publish_service_conn()
110 &conn->service_node, in rxrpc_publish_service_conn()
123 struct rxrpc_connection *conn = rxrpc_alloc_connection(rxnet, gfp); in rxrpc_prealloc_service_connection() local
125 if (conn) { in rxrpc_prealloc_service_connection()
129 conn->state = RXRPC_CONN_SERVICE_PREALLOC; in rxrpc_prealloc_service_connection()
130 refcount_set(&conn->ref, 2); in rxrpc_prealloc_service_connection()
134 list_add_tail(&conn->link, &rxnet->service_conns); in rxrpc_prealloc_service_connection()
135 list_add_tail(&conn->proc_link, &rxnet->conn_proc_list); in rxrpc_prealloc_service_connection()
138 rxrpc_see_connection(conn, rxrpc_conn_new_service); in rxrpc_prealloc_service_connection()
141 return conn; in rxrpc_prealloc_service_connection()
149 struct rxrpc_connection *conn, in rxrpc_new_incoming_connection() argument
157 conn->proto.epoch = sp->hdr.epoch; in rxrpc_new_incoming_connection()
158 conn->proto.cid = sp->hdr.cid & RXRPC_CIDMASK; in rxrpc_new_incoming_connection()
159 conn->orig_service_id = sp->hdr.serviceId; in rxrpc_new_incoming_connection()
160 conn->service_id = sp->hdr.serviceId; in rxrpc_new_incoming_connection()
161 conn->security_ix = sp->hdr.securityIndex; in rxrpc_new_incoming_connection()
162 conn->out_clientflag = 0; in rxrpc_new_incoming_connection()
163 conn->security = sec; in rxrpc_new_incoming_connection()
164 if (conn->security_ix) in rxrpc_new_incoming_connection()
165 conn->state = RXRPC_CONN_SERVICE_UNSECURED; in rxrpc_new_incoming_connection()
167 conn->state = RXRPC_CONN_SERVICE; in rxrpc_new_incoming_connection()
174 conn->service_id == rx->service_upgrade.from) in rxrpc_new_incoming_connection()
175 conn->service_id = rx->service_upgrade.to; in rxrpc_new_incoming_connection()
177 atomic_set(&conn->active, 1); in rxrpc_new_incoming_connection()
180 rxrpc_publish_service_conn(conn->peer, conn); in rxrpc_new_incoming_connection()
187 void rxrpc_unpublish_service_conn(struct rxrpc_connection *conn) in rxrpc_unpublish_service_conn() argument
189 struct rxrpc_peer *peer = conn->peer; in rxrpc_unpublish_service_conn()
192 if (test_and_clear_bit(RXRPC_CONN_IN_SERVICE_CONNS, &conn->flags)) in rxrpc_unpublish_service_conn()
193 rb_erase(&conn->service_node, &peer->service_conns); in rxrpc_unpublish_service_conn()