All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Dongseok Yi" <dseok.yi@samsung.com>
To: "'Willem de Bruijn'" <willemdebruijn.kernel@gmail.com>
Cc: "'Yunsheng Lin'" <linyunsheng@huawei.com>,
	"'Daniel Borkmann'" <daniel@iogearbox.net>,
	"'bpf'" <bpf@vger.kernel.org>,
	"'Alexei Starovoitov'" <ast@kernel.org>,
	"'Andrii Nakryiko'" <andrii@kernel.org>,
	"'Martin KaFai Lau'" <kafai@fb.com>,
	"'Song Liu'" <songliubraving@fb.com>,
	"'Yonghong Song'" <yhs@fb.com>,
	"'John Fastabend'" <john.fastabend@gmail.com>,
	"'KP Singh'" <kpsingh@kernel.org>,
	"'David S. Miller'" <davem@davemloft.net>,
	"'Jakub Kicinski'" <kuba@kernel.org>,
	"'Network Development'" <netdev@vger.kernel.org>,
	"'linux-kernel'" <linux-kernel@vger.kernel.org>
Subject: RE: [PATCH bpf] bpf: check for data_len before upgrading mss when 6 to 4
Date: Wed, 12 May 2021 09:45:03 +0900	[thread overview]
Message-ID: <01b701d746c8$0c15ae70$24410b50$@samsung.com> (raw)
In-Reply-To: <CAF=yD-+ncxKY28h8ch8kcJmSXfqdnBrBELKFBPmfP7RzNsWoTg@mail.gmail.com>

On Tue, May 11, 2021 at 01:38:41PM -0400, Willem de Bruijn wrote:
> On Mon, May 10, 2021 at 9:11 PM Dongseok Yi <dseok.yi@samsung.com> wrote:
> >
> > On Mon, May 10, 2021 at 09:46:25AM -0400, Willem de Bruijn wrote:
> > > On Mon, May 10, 2021 at 9:19 AM Willem de Bruijn
> > > <willemdebruijn.kernel@gmail.com> wrote:
> > > >
> > > > > > That generates TCP packets with different MSS within the same stream.
> > > > > >
> > > > > > My suggestion remains to just not change MSS at all. But this has to
> > > > > > be a new flag to avoid changing established behavior.
> > > > >
> > > > > I don't understand why the mss size should be kept in GSO step. Will
> > > > > there be any issue with different mss?
> > > >
> > > > This issue has come up before and that has been the feedback from
> > > > TCP experts at one point.
> > > >
> > > > > In general, upgrading mss make sense when 6 to 4. The new flag would be
> > > > > set by user to not change mss. What happened if user does not set the
> > > > > flag? I still think we should fix the issue with a general approach. Or
> > > > > can we remove the skb_increase_gso_size line?
> > > >
> > > > Admins that insert such BPF packets should be aware of these issues.
> > > > And likely be using clamping. This is a known issue.
> > > >
> > > > We arrived that the flag approach in bpf_skb_net_shrink. Extending
> > > > that  to bpf_skb_change_proto would be consistent.
> > >
> > > As for more generic approach: does downgrading to non-TSO by clearing
> > > gso_size work for this edge case?
> >
> > It can hit __skb_linearize in validate_xmit_skb and frags will be
> > copied to a linear part. The linear part size can exceed the MTU of
> > skb->dev unexpectedly.
> 
> When does skb_needs_linearize return true here (besides lack of
> scatter-gather support, which would also preclude TSO)?

As I know not every netdev support NETIF_F_SG. TSO requires SG.

    /* TSO requires that SG is present as well. */
    if ((features & NETIF_F_ALL_TSO) && !(features & NETIF_F_SG)) {
        netdev_dbg(dev, "Dropping TSO features since no SG feature.\n");
        features &= ~NETIF_F_ALL_TSO;
    }

> 
> > I will make another patch with the flag approach.
> >


  reply	other threads:[~2021-05-12  0:45 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20210429102143epcas2p4c8747c09a9de28f003c20389c050394a@epcas2p4.samsung.com>
2021-04-29 10:08 ` [PATCH bpf] bpf: check for data_len before upgrading mss when 6 to 4 Dongseok Yi
2021-05-05 20:55   ` Daniel Borkmann
2021-05-06  0:45     ` Dongseok Yi
2021-05-06  1:45       ` Willem de Bruijn
2021-05-06  2:27         ` Dongseok Yi
2021-05-06 18:21           ` Willem de Bruijn
2021-05-07  0:53             ` Dongseok Yi
2021-05-07  1:25               ` Willem de Bruijn
2021-05-07  1:45                 ` Yunsheng Lin
2021-05-07  1:53                   ` Willem de Bruijn
2021-05-07  8:25                     ` Dongseok Yi
2021-05-07  9:11                       ` Yunsheng Lin
2021-05-07 10:36                         ` Dongseok Yi
2021-05-07 13:50                       ` Willem de Bruijn
2021-05-10  2:22                         ` Dongseok Yi
2021-05-10 13:19                           ` Willem de Bruijn
2021-05-10 13:46                             ` Willem de Bruijn
2021-05-11  1:11                               ` Dongseok Yi
2021-05-11 17:38                                 ` Willem de Bruijn
2021-05-12  0:45                                   ` Dongseok Yi [this message]
     [not found]   ` <CGME20210511065056epcas2p1788505019deb274f5c57650a2f5d7ef0@epcas2p1.samsung.com>
2021-05-11  6:36     ` [PATCH bpf v2] bpf: check BPF_F_ADJ_ROOM_FIXED_GSO when upgrading mss in " Dongseok Yi
2021-05-11 17:42       ` Willem de Bruijn
2021-05-12  6:56         ` Dongseok Yi
     [not found]       ` <CGME20210512074058epcas2p35536c27bdfafaa6431e164c142007f96@epcas2p3.samsung.com>
2021-05-12  7:27         ` [PATCH bpf-next v3] bpf: check for BPF_F_ADJ_ROOM_FIXED_GSO when bpf_skb_change_proto Dongseok Yi
2021-05-12 14:13           ` Willem de Bruijn
2021-05-18 20:10           ` patchwork-bot+netdevbpf

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='01b701d746c8$0c15ae70$24410b50$@samsung.com' \
    --to=dseok.yi@samsung.com \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=bpf@vger.kernel.org \
    --cc=daniel@iogearbox.net \
    --cc=davem@davemloft.net \
    --cc=john.fastabend@gmail.com \
    --cc=kafai@fb.com \
    --cc=kpsingh@kernel.org \
    --cc=kuba@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linyunsheng@huawei.com \
    --cc=netdev@vger.kernel.org \
    --cc=songliubraving@fb.com \
    --cc=willemdebruijn.kernel@gmail.com \
    --cc=yhs@fb.com \
    /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.