Lines Matching refs:conn

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