]>
Commit | Line | Data |
---|---|---|
b4d0d230 | 1 | // SPDX-License-Identifier: GPL-2.0-or-later |
8e688d9c DH |
2 | /* Miscellaneous bits |
3 | * | |
4 | * Copyright (C) 2016 Red Hat, Inc. All Rights Reserved. | |
5 | * Written by David Howells ([email protected]) | |
8e688d9c DH |
6 | */ |
7 | ||
8 | #include <linux/kernel.h> | |
9 | #include <net/sock.h> | |
10 | #include <net/af_rxrpc.h> | |
11 | #include "ar-internal.h" | |
12 | ||
0e119b41 DH |
13 | /* |
14 | * The maximum listening backlog queue size that may be set on a socket by | |
15 | * listen(). | |
16 | */ | |
17 | unsigned int rxrpc_max_backlog __read_mostly = 10; | |
18 | ||
8e688d9c DH |
19 | /* |
20 | * How long to wait before scheduling ACK generation after seeing a | |
a158bdd3 | 21 | * packet with RXRPC_REQUEST_ACK set (in jiffies). |
8e688d9c | 22 | */ |
a158bdd3 | 23 | unsigned long rxrpc_requested_ack_delay = 1; |
8e688d9c DH |
24 | |
25 | /* | |
a158bdd3 | 26 | * How long to wait before scheduling an ACK with subtype DELAY (in jiffies). |
8e688d9c DH |
27 | * |
28 | * We use this when we've received new data packets. If those packets aren't | |
29 | * all consumed within this time we will send a DELAY ACK if an ACK was not | |
30 | * requested to let the sender know it doesn't need to resend. | |
31 | */ | |
a158bdd3 | 32 | unsigned long rxrpc_soft_ack_delay = HZ; |
8e688d9c DH |
33 | |
34 | /* | |
a158bdd3 | 35 | * How long to wait before scheduling an ACK with subtype IDLE (in jiffies). |
8e688d9c DH |
36 | * |
37 | * We use this when we've consumed some previously soft-ACK'd packets when | |
38 | * further packets aren't immediately received to decide when to send an IDLE | |
39 | * ACK let the other end know that it can free up its Tx buffer space. | |
40 | */ | |
a158bdd3 | 41 | unsigned long rxrpc_idle_ack_delay = HZ / 2; |
8e688d9c DH |
42 | |
43 | /* | |
44 | * Receive window size in packets. This indicates the maximum number of | |
45 | * unconsumed received packets we're willing to retain in memory. Once this | |
46 | * limit is hit, we should generate an EXCEEDS_WINDOW ACK and discard further | |
47 | * packets. | |
48 | */ | |
75e42126 DH |
49 | unsigned int rxrpc_rx_window_size = RXRPC_INIT_RX_WINDOW_SIZE; |
50 | #if (RXRPC_RXTX_BUFF_SIZE - 1) < RXRPC_INIT_RX_WINDOW_SIZE | |
51 | #error Need to reduce RXRPC_INIT_RX_WINDOW_SIZE | |
52 | #endif | |
8e688d9c DH |
53 | |
54 | /* | |
55 | * Maximum Rx MTU size. This indicates to the sender the size of jumbo packet | |
56 | * made by gluing normal packets together that we're willing to handle. | |
57 | */ | |
58 | unsigned int rxrpc_rx_mtu = 5692; | |
59 | ||
60 | /* | |
61 | * The maximum number of fragments in a received jumbo packet that we tell the | |
62 | * sender that we're willing to handle. | |
63 | */ | |
64 | unsigned int rxrpc_rx_jumbo_max = 4; | |
65 | ||
0b58b8a1 | 66 | /* |
50235c4b | 67 | * Time till packet resend (in milliseconds). |
0b58b8a1 | 68 | */ |
a158bdd3 | 69 | unsigned long rxrpc_resend_timeout = 4 * HZ; |
0b58b8a1 | 70 | |
8e688d9c DH |
71 | const s8 rxrpc_ack_priority[] = { |
72 | [0] = 0, | |
73 | [RXRPC_ACK_DELAY] = 1, | |
74 | [RXRPC_ACK_REQUESTED] = 2, | |
75 | [RXRPC_ACK_IDLE] = 3, | |
8e83134d DH |
76 | [RXRPC_ACK_DUPLICATE] = 4, |
77 | [RXRPC_ACK_OUT_OF_SEQUENCE] = 5, | |
78 | [RXRPC_ACK_EXCEEDS_WINDOW] = 6, | |
79 | [RXRPC_ACK_NOSPACE] = 7, | |
80 | [RXRPC_ACK_PING_RESPONSE] = 8, | |
8e688d9c | 81 | }; |