From: Jason Xing <kerneljasonxing@gmail.com>
To: Stanislav Fomichev <stfomichev@gmail.com>
Cc: 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, bpf@vger.kernel.org,
netdev@vger.kernel.org
Subject: Re: [PATCH net-next 2/3] bpf: add TCP_BPF_RTO_MAX for bpf_setsockopt
Date: Sat, 15 Feb 2025 07:21:23 +0800 [thread overview]
Message-ID: <CAL+tcoBDS=ou-XLgwoBabSJ5SvE0z9zgnab_1ySWfnrgC93Ctg@mail.gmail.com> (raw)
In-Reply-To: <Z69lzNYwBb-5CPvX@mini-arch>
On Fri, Feb 14, 2025 at 11:48 PM Stanislav Fomichev
<stfomichev@gmail.com> wrote:
>
> On 02/14, Jason Xing wrote:
> > On Fri, Feb 14, 2025 at 7:41 AM Stanislav Fomichev <stfomichev@gmail.com> wrote:
> > >
> > > On 02/13, Jason Xing wrote:
> > > > Support bpf_setsockopt() to set the maximum value of RTO for
> > > > BPF program.
> > > >
> > > > Signed-off-by: Jason Xing <kerneljasonxing@gmail.com>
> > > > ---
> > > > Documentation/networking/ip-sysctl.rst | 3 ++-
> > > > include/uapi/linux/bpf.h | 2 ++
> > > > net/core/filter.c | 6 ++++++
> > > > tools/include/uapi/linux/bpf.h | 2 ++
> > > > 4 files changed, 12 insertions(+), 1 deletion(-)
> > > >
> > > > diff --git a/Documentation/networking/ip-sysctl.rst b/Documentation/networking/ip-sysctl.rst
> > > > index 054561f8dcae..78eb0959438a 100644
> > > > --- a/Documentation/networking/ip-sysctl.rst
> > > > +++ b/Documentation/networking/ip-sysctl.rst
> > > > @@ -1241,7 +1241,8 @@ tcp_rto_min_us - INTEGER
> > > >
> > > > tcp_rto_max_ms - INTEGER
> > > > Maximal TCP retransmission timeout (in ms).
> > > > - Note that TCP_RTO_MAX_MS socket option has higher precedence.
> > > > + Note that TCP_BPF_RTO_MAX and TCP_RTO_MAX_MS socket option have the
> > > > + higher precedence for configuring this setting.
> > >
> > > The cover letter needs more explanation about the motivation. And
> > > the precedence as well.
> >
> > I am targeting the net-next tree because of recent changes[1] made by
> > Eric. It probably hasn't merged into the bpf-next tree.
> >
> > [1]: https://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next.git/commit/?id=ae9b3c0e79bc
> >
> > >
> > > WRT precedence, can you install setsockopt cgroup program and filter out
> > > calls to TCP_RTO_MAX_MS?
> >
> > Yesterday, as suggested by Kuniyuki, I decided to re-use the same
> > logic of TCP_RTO_MAX_MS for bpf_setsockopt():
> > diff --git a/net/core/filter.c b/net/core/filter.c
> > index 2ec162dd83c4..ffec7b4357f9 100644
> > --- a/net/core/filter.c
> > +++ b/net/core/filter.c
> > @@ -5382,6 +5382,7 @@ static int sol_tcp_sockopt(struct sock *sk, int optname,
> > case TCP_USER_TIMEOUT:
> > case TCP_NOTSENT_LOWAT:
> > case TCP_SAVE_SYN:
> > + case TCP_RTO_MAX_MS:
> > if (*optlen != sizeof(int))
> > return -EINVAL;
> > break;
> >
> > Are you referring to using the previous way (by introducing a new flag
> > for BPF) because we need to know the explicit precedence between
> > setsockopt() and bpf_setsockopt() or other reasons? If so, I think
> > there are more places than setsockopt() to modify.
> >
> > And, sorry that I don't follow what you meant by saying "install
> > setsockopt cgroup program" here. Please provide more hints.
>
> Ah, sorry, I misread it as bpf options taking precedence over tcp ones;
> ignore the suggestion about setsockopt cgroup prog.
>
> And yes, reusing the logic of TCP_RTO_MAX_MS looks better!
Okay, then I will send a patch soon. BTW, which tree should this
series go in? Should I use the prefix '[patch bpf-next]' or something
else in the title?
Thanks,
Jason
next prev parent reply other threads:[~2025-02-14 23:22 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 ` [PATCH net-next 1/3] tcp: add TCP_RTO_MAX_MIN_SEC definition Jason Xing
2025-02-13 2:19 ` 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 [this message]
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='CAL+tcoBDS=ou-XLgwoBabSJ5SvE0z9zgnab_1ySWfnrgC93Ctg@mail.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=stfomichev@gmail.com \
--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.