rxrpc: Move rxrpc_send_ACK() to output.c with rxrpc_send_ack_packet()
authorDavid Howells <dhowells@redhat.com>
Tue, 30 Jan 2024 08:35:25 +0000 (08:35 +0000)
committerDavid Howells <dhowells@redhat.com>
Thu, 29 Feb 2024 15:50:00 +0000 (15:50 +0000)
Move rxrpc_send_ACK() to output.c to so that it is with
rxrpc_send_ack_packet() prior to merging the two.

Signed-off-by: David Howells <dhowells@redhat.com>
cc: Marc Dionne <marc.dionne@auristor.com>
cc: "David S. Miller" <davem@davemloft.net>
cc: Eric Dumazet <edumazet@google.com>
cc: Jakub Kicinski <kuba@kernel.org>
cc: Paolo Abeni <pabeni@redhat.com>
cc: linux-afs@lists.infradead.org
cc: netdev@vger.kernel.org

net/rxrpc/ar-internal.h
net/rxrpc/call_event.c
net/rxrpc/output.c

index 54550ab62adce79c3515a4ac26f9c9a938ce0195..a8795ef0d669be450b99bead8482a4693904394d 100644 (file)
@@ -873,7 +873,6 @@ int rxrpc_user_charge_accept(struct rxrpc_sock *, unsigned long);
  */
 void rxrpc_propose_ping(struct rxrpc_call *call, u32 serial,
                        enum rxrpc_propose_ack_trace why);
-void rxrpc_send_ACK(struct rxrpc_call *, u8, rxrpc_serial_t, enum rxrpc_propose_ack_trace);
 void rxrpc_propose_delay_ACK(struct rxrpc_call *, rxrpc_serial_t,
                             enum rxrpc_propose_ack_trace);
 void rxrpc_shrink_call_tx_buffer(struct rxrpc_call *);
@@ -1164,7 +1163,8 @@ static inline struct rxrpc_net *rxrpc_net(struct net *net)
 /*
  * output.c
  */
-int rxrpc_send_ack_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb);
+void rxrpc_send_ACK(struct rxrpc_call *call, u8 ack_reason,
+                   rxrpc_serial_t serial, enum rxrpc_propose_ack_trace why);
 int rxrpc_send_abort_packet(struct rxrpc_call *);
 void rxrpc_send_conn_abort(struct rxrpc_connection *conn);
 void rxrpc_reject_packet(struct rxrpc_local *local, struct sk_buff *skb);
index 1184518dcdb8bdbf4ea83ecceaa75d5451df8e68..e19ea54dce5458fa8739f96486ae67de4027098e 100644 (file)
@@ -61,43 +61,6 @@ void rxrpc_propose_delay_ACK(struct rxrpc_call *call, rxrpc_serial_t serial,
        trace_rxrpc_propose_ack(call, why, RXRPC_ACK_DELAY, serial);
 }
 
-/*
- * Queue an ACK for immediate transmission.
- */
-void rxrpc_send_ACK(struct rxrpc_call *call, u8 ack_reason,
-                   rxrpc_serial_t serial, enum rxrpc_propose_ack_trace why)
-{
-       struct rxrpc_txbuf *txb;
-
-       if (test_bit(RXRPC_CALL_DISCONNECTED, &call->flags))
-               return;
-
-       rxrpc_inc_stat(call->rxnet, stat_tx_acks[ack_reason]);
-
-       txb = rxrpc_alloc_txbuf(call, RXRPC_PACKET_TYPE_ACK,
-                               rcu_read_lock_held() ? GFP_ATOMIC | __GFP_NOWARN : GFP_NOFS);
-       if (!txb) {
-               kleave(" = -ENOMEM");
-               return;
-       }
-
-       txb->ack_why            = why;
-       txb->wire.seq           = 0;
-       txb->wire.type          = RXRPC_PACKET_TYPE_ACK;
-       txb->flags              |= RXRPC_SLOW_START_OK;
-       txb->ack.bufferSpace    = 0;
-       txb->ack.maxSkew        = 0;
-       txb->ack.firstPacket    = 0;
-       txb->ack.previousPacket = 0;
-       txb->ack.serial         = htonl(serial);
-       txb->ack.reason         = ack_reason;
-       txb->ack.nAcks          = 0;
-
-       trace_rxrpc_send_ack(call, why, ack_reason, serial);
-       rxrpc_send_ack_packet(call, txb);
-       rxrpc_put_txbuf(txb, rxrpc_txbuf_put_ack_tx);
-}
-
 /*
  * Handle congestion being detected by the retransmit timeout.
  */
index 25b8fc9aef978c64e0ba38892b37df852f76c987..ec9ae9c6c492f87c5ad179c007b14684a668ce7e 100644 (file)
@@ -185,7 +185,7 @@ static void rxrpc_cancel_rtt_probe(struct rxrpc_call *call,
 /*
  * Transmit an ACK packet.
  */
-int rxrpc_send_ack_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb)
+static int rxrpc_send_ack_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb)
 {
        struct rxrpc_connection *conn;
        struct msghdr msg;
@@ -248,6 +248,43 @@ int rxrpc_send_ack_packet(struct rxrpc_call *call, struct rxrpc_txbuf *txb)
        return ret;
 }
 
+/*
+ * Queue an ACK for immediate transmission.
+ */
+void rxrpc_send_ACK(struct rxrpc_call *call, u8 ack_reason,
+                   rxrpc_serial_t serial, enum rxrpc_propose_ack_trace why)
+{
+       struct rxrpc_txbuf *txb;
+
+       if (test_bit(RXRPC_CALL_DISCONNECTED, &call->flags))
+               return;
+
+       rxrpc_inc_stat(call->rxnet, stat_tx_acks[ack_reason]);
+
+       txb = rxrpc_alloc_txbuf(call, RXRPC_PACKET_TYPE_ACK,
+                               rcu_read_lock_held() ? GFP_ATOMIC | __GFP_NOWARN : GFP_NOFS);
+       if (!txb) {
+               kleave(" = -ENOMEM");
+               return;
+       }
+
+       txb->ack_why            = why;
+       txb->wire.seq           = 0;
+       txb->wire.type          = RXRPC_PACKET_TYPE_ACK;
+       txb->flags              |= RXRPC_SLOW_START_OK;
+       txb->ack.bufferSpace    = 0;
+       txb->ack.maxSkew        = 0;
+       txb->ack.firstPacket    = 0;
+       txb->ack.previousPacket = 0;
+       txb->ack.serial         = htonl(serial);
+       txb->ack.reason         = ack_reason;
+       txb->ack.nAcks          = 0;
+
+       trace_rxrpc_send_ack(call, why, ack_reason, serial);
+       rxrpc_send_ack_packet(call, txb);
+       rxrpc_put_txbuf(txb, rxrpc_txbuf_put_ack_tx);
+}
+
 /*
  * Send an ABORT call packet.
  */