From: Jason Xing <kerneljasonxing@gmail.com>
To: davem@davemloft.net, edumazet@google.com, kuba@kernel.org,
pabeni@redhat.com, dsahern@kernel.org, ast@kernel.org,
daniel@iogearbox.net, andrii@kernel.org, martin.lau@linux.dev,
eddyz87@gmail.com, song@kernel.org, yonghong.song@linux.dev,
john.fastabend@gmail.com, kpsingh@kernel.org, sdf@fomichev.me,
haoluo@google.com, jolsa@kernel.org, horms@kernel.org,
ncardwell@google.com, kuniyu@amazon.com
Cc: bpf@vger.kernel.org, netdev@vger.kernel.org,
Jason Xing <kerneljasonxing@gmail.com>
Subject: [PATCH net-next 1/3] tcp: add TCP_RTO_MAX_MIN_SEC definition
Date: Thu, 13 Feb 2025 08:43:52 +0800 [thread overview]
Message-ID: <20250213004355.38918-2-kerneljasonxing@gmail.com> (raw)
In-Reply-To: <20250213004355.38918-1-kerneljasonxing@gmail.com>
Add minimum value definition as the lower bound of RTO MAX
set by users. In the next patch, bpf_sol_tcp_setsockopt()
will use this in the test statement.
Signed-off-by: Jason Xing <kerneljasonxing@gmail.com>
---
include/net/tcp.h | 1 +
net/ipv4/sysctl_net_ipv4.c | 3 ++-
net/ipv4/tcp.c | 3 ++-
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/include/net/tcp.h b/include/net/tcp.h
index 7fd2d7fa4532..b6bedbe68636 100644
--- a/include/net/tcp.h
+++ b/include/net/tcp.h
@@ -143,6 +143,7 @@ static_assert((1 << ATO_BITS) > TCP_DELACK_MAX);
#define TCP_DELACK_MIN 4U
#define TCP_ATO_MIN 4U
#endif
+#define TCP_RTO_MAX_MIN_SEC 1
#define TCP_RTO_MAX_SEC 120
#define TCP_RTO_MAX ((unsigned)(TCP_RTO_MAX_SEC * HZ))
#define TCP_RTO_MIN ((unsigned)(HZ / 5))
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c
index 3a43010d726f..53942c225e0b 100644
--- a/net/ipv4/sysctl_net_ipv4.c
+++ b/net/ipv4/sysctl_net_ipv4.c
@@ -28,6 +28,7 @@ static int tcp_adv_win_scale_max = 31;
static int tcp_app_win_max = 31;
static int tcp_min_snd_mss_min = TCP_MIN_SND_MSS;
static int tcp_min_snd_mss_max = 65535;
+static int tcp_rto_max_min = TCP_RTO_MAX_MIN_SEC * MSEC_PER_SEC;
static int tcp_rto_max_max = TCP_RTO_MAX_SEC * MSEC_PER_SEC;
static int ip_privileged_port_min;
static int ip_privileged_port_max = 65535;
@@ -1590,7 +1591,7 @@ static struct ctl_table ipv4_net_table[] = {
.maxlen = sizeof(int),
.mode = 0644,
.proc_handler = proc_dointvec_minmax,
- .extra1 = SYSCTL_ONE_THOUSAND,
+ .extra1 = &tcp_rto_max_min,
.extra2 = &tcp_rto_max_max,
},
};
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 992d5c9b2487..2373ab1a1d47 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -3812,7 +3812,8 @@ int do_tcp_setsockopt(struct sock *sk, int level, int optname,
TCP_RTO_MAX / HZ));
return 0;
case TCP_RTO_MAX_MS:
- if (val < MSEC_PER_SEC || val > TCP_RTO_MAX_SEC * MSEC_PER_SEC)
+ if (val < TCP_RTO_MAX_MIN_SEC * MSEC_PER_SEC ||
+ val > TCP_RTO_MAX_SEC * MSEC_PER_SEC)
return -EINVAL;
WRITE_ONCE(inet_csk(sk)->icsk_rto_max, msecs_to_jiffies(val));
return 0;
--
2.43.5
next prev parent reply other threads:[~2025-02-13 0:44 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-13 0:43 [PATCH net-next 0/3] bpf: support setting max RTO for bpf_setsockopt Jason Xing
2025-02-13 0:43 ` Jason Xing [this message]
2025-02-13 2:19 ` [PATCH net-next 1/3] tcp: add TCP_RTO_MAX_MIN_SEC definition Kuniyuki Iwashima
2025-02-13 0:43 ` [PATCH net-next 2/3] bpf: add TCP_BPF_RTO_MAX for bpf_setsockopt Jason Xing
2025-02-13 2:25 ` Kuniyuki Iwashima
2025-02-13 2:32 ` Kuniyuki Iwashima
2025-02-13 3:14 ` Jason Xing
2025-02-13 23:41 ` Stanislav Fomichev
2025-02-13 23:57 ` Jason Xing
2025-02-14 2:14 ` Martin KaFai Lau
2025-02-14 3:09 ` Jason Xing
2025-02-14 5:41 ` Martin KaFai Lau
2025-02-14 6:12 ` Jason Xing
2025-02-14 6:40 ` Martin KaFai Lau
2025-02-14 6:56 ` Jason Xing
2025-02-14 23:44 ` Martin KaFai Lau
2025-02-14 23:53 ` Jason Xing
2025-02-15 2:39 ` Martin KaFai Lau
2025-02-15 2:52 ` Jason Xing
2025-02-14 15:48 ` Stanislav Fomichev
2025-02-14 23:21 ` Jason Xing
2025-02-13 0:43 ` [PATCH net-next 3/3] selftests/bpf: add rto max for bpf_setsockopt test Jason Xing
2025-02-13 2:30 ` Kuniyuki Iwashima
2025-02-13 3:13 ` Jason Xing
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250213004355.38918-2-kerneljasonxing@gmail.com \
--to=kerneljasonxing@gmail.com \
--cc=andrii@kernel.org \
--cc=ast@kernel.org \
--cc=bpf@vger.kernel.org \
--cc=daniel@iogearbox.net \
--cc=davem@davemloft.net \
--cc=dsahern@kernel.org \
--cc=eddyz87@gmail.com \
--cc=edumazet@google.com \
--cc=haoluo@google.com \
--cc=horms@kernel.org \
--cc=john.fastabend@gmail.com \
--cc=jolsa@kernel.org \
--cc=kpsingh@kernel.org \
--cc=kuba@kernel.org \
--cc=kuniyu@amazon.com \
--cc=martin.lau@linux.dev \
--cc=ncardwell@google.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=sdf@fomichev.me \
--cc=song@kernel.org \
--cc=yonghong.song@linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.