Lines Matching refs:peer

107 static void rxrpc_adjust_mtu(struct rxrpc_peer *peer, struct sock_exterr_skb *serr)  in rxrpc_adjust_mtu()  argument
114 if (mtu > 0 && peer->if_mtu == 65535 && mtu < peer->if_mtu) { in rxrpc_adjust_mtu()
115 peer->if_mtu = mtu; in rxrpc_adjust_mtu()
121 mtu = peer->if_mtu; in rxrpc_adjust_mtu()
128 if (mtu < peer->hdrsize) in rxrpc_adjust_mtu()
129 mtu = peer->hdrsize + 4; in rxrpc_adjust_mtu()
133 if (mtu < peer->mtu) { in rxrpc_adjust_mtu()
134 spin_lock_bh(&peer->lock); in rxrpc_adjust_mtu()
135 peer->mtu = mtu; in rxrpc_adjust_mtu()
136 peer->maxdata = peer->mtu - peer->hdrsize; in rxrpc_adjust_mtu()
137 spin_unlock_bh(&peer->lock); in rxrpc_adjust_mtu()
139 peer->mtu, peer->maxdata); in rxrpc_adjust_mtu()
151 struct rxrpc_peer *peer; in rxrpc_error_report() local
182 peer = rxrpc_lookup_peer_icmp_rcu(local, skb, &srx); in rxrpc_error_report()
183 if (peer && !rxrpc_get_peer_maybe(peer)) in rxrpc_error_report()
184 peer = NULL; in rxrpc_error_report()
185 if (!peer) { in rxrpc_error_report()
192 trace_rxrpc_rx_icmp(peer, &serr->ee, &srx); in rxrpc_error_report()
197 rxrpc_adjust_mtu(peer, serr); in rxrpc_error_report()
200 rxrpc_put_peer(peer); in rxrpc_error_report()
205 rxrpc_store_error(peer, serr); in rxrpc_error_report()
208 rxrpc_put_peer(peer); in rxrpc_error_report()
216 static void rxrpc_store_error(struct rxrpc_peer *peer, in rxrpc_store_error() argument
279 rxrpc_distribute_error(peer, err, compl); in rxrpc_store_error()
285 static void rxrpc_distribute_error(struct rxrpc_peer *peer, int error, in rxrpc_distribute_error() argument
290 hlist_for_each_entry_rcu(call, &peer->error_targets, error_link) { in rxrpc_distribute_error()
306 struct rxrpc_peer *peer = call->peer; in rxrpc_peer_add_rtt() local
308 u64 sum = peer->rtt_sum, avg; in rxrpc_peer_add_rtt()
309 u8 cursor = peer->rtt_cursor, usage = peer->rtt_usage; in rxrpc_peer_add_rtt()
315 spin_lock(&peer->rtt_input_lock); in rxrpc_peer_add_rtt()
318 sum -= peer->rtt_cache[cursor]; in rxrpc_peer_add_rtt()
320 peer->rtt_cache[cursor] = rtt; in rxrpc_peer_add_rtt()
321 peer->rtt_cursor = (cursor + 1) & (RXRPC_RTT_CACHE_SIZE - 1); in rxrpc_peer_add_rtt()
322 peer->rtt_sum = sum; in rxrpc_peer_add_rtt()
325 peer->rtt_usage = usage; in rxrpc_peer_add_rtt()
328 spin_unlock(&peer->rtt_input_lock); in rxrpc_peer_add_rtt()
339 peer->rtt = avg; in rxrpc_peer_add_rtt()
352 struct rxrpc_peer *peer; in rxrpc_peer_keepalive_dispatch() local
360 peer = list_entry(collector->next, in rxrpc_peer_keepalive_dispatch()
363 list_del_init(&peer->keepalive_link); in rxrpc_peer_keepalive_dispatch()
364 if (!rxrpc_get_peer_maybe(peer)) in rxrpc_peer_keepalive_dispatch()
369 keepalive_at = peer->last_tx_at + RXRPC_KEEPALIVE_TIME; in rxrpc_peer_keepalive_dispatch()
372 cursor, peer->debug_id, slot, &peer->srx.transport); in rxrpc_peer_keepalive_dispatch()
376 rxrpc_send_keepalive(peer); in rxrpc_peer_keepalive_dispatch()
386 list_add_tail(&peer->keepalive_link, in rxrpc_peer_keepalive_dispatch()
388 rxrpc_put_peer_locked(peer); in rxrpc_peer_keepalive_dispatch()