Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a9f312d9 authored by David Howells's avatar David Howells
Browse files

rxrpc: Only ping for lost reply in client call



When a reply is deemed lost, we send a ping to find out the other end
received all the request data packets we sent.  This should be limited to
client calls and we shouldn't do this on service calls.

Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
parent 7212a57e
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -847,7 +847,8 @@ static void rxrpc_input_ack(struct rxrpc_call *call, struct sk_buff *skb,


	if (call->rxtx_annotations[call->tx_top & RXRPC_RXTX_BUFF_MASK] &
	if (call->rxtx_annotations[call->tx_top & RXRPC_RXTX_BUFF_MASK] &
	    RXRPC_TX_ANNO_LAST &&
	    RXRPC_TX_ANNO_LAST &&
	    summary.nr_acks == call->tx_top - hard_ack)
	    summary.nr_acks == call->tx_top - hard_ack &&
	    rxrpc_is_client_call(call))
		rxrpc_propose_ACK(call, RXRPC_ACK_PING, skew, sp->hdr.serial,
		rxrpc_propose_ACK(call, RXRPC_ACK_PING, skew, sp->hdr.serial,
				  false, true,
				  false, true,
				  rxrpc_propose_ack_ping_for_lost_reply);
				  rxrpc_propose_ack_ping_for_lost_reply);