From: Andrew Lunn <andrew@lunn.ch>
To: "Marek Behún" <kabel@kernel.org>
Cc: Sven Auhagen <sven.auhagen@voleatech.de>,
netdev@vger.kernel.org, davem@davemloft.net,
Jakub Kicinski <kuba@kernel.org>,
Matteo Croce <mcroce@microsoft.com>,
Lorenzo Bianconi <lorenzo@kernel.org>
Subject: Re: [PATCH net-next] net: mvpp2: increase MTU limit when XDP enabled
Date: Tue, 5 Jan 2021 21:21:10 +0100 [thread overview]
Message-ID: <X/TKNlir5Cyimjn3@lunn.ch> (raw)
In-Reply-To: <20210105184308.1d2b7253@kernel.org>
On Tue, Jan 05, 2021 at 06:43:08PM +0100, Marek Behún wrote:
> On Tue, 5 Jan 2021 18:24:37 +0100
> Sven Auhagen <sven.auhagen@voleatech.de> wrote:
>
> > On Tue, Jan 05, 2021 at 06:19:21PM +0100, Marek Behún wrote:
> > > Currently mvpp2_xdp_setup won't allow attaching XDP program if
> > > mtu > ETH_DATA_LEN (1500).
> > >
> > > The mvpp2_change_mtu on the other hand checks whether
> > > MVPP2_RX_PKT_SIZE(mtu) > MVPP2_BM_LONG_PKT_SIZE.
> > >
> > > These two checks are semantically different.
> > >
> > > Moreover this limit can be increased to MVPP2_MAX_RX_BUF_SIZE, since in
> > > mvpp2_rx we have
> > > xdp.data = data + MVPP2_MH_SIZE + MVPP2_SKB_HEADROOM;
> > > xdp.frame_sz = PAGE_SIZE;
> > >
> > > Change the checks to check whether
> > > mtu > MVPP2_MAX_RX_BUF_SIZE
> >
> > Hello Marek,
> >
> > in general, XDP is based on the model, that packets are not bigger than 1500.
> > I am not sure if that has changed, I don't believe Jumbo Frames are upstreamed yet.
> > You are correct that the MVPP2 driver can handle bigger packets without a problem but
> > if you do XDP redirect that won't work with other drivers and your packets will disappear.
>
> At least 1508 is required when I want to use XDP with a Marvell DSA
> switch: the DSA header is 4 or 8 bytes long there.
>
> The DSA driver increases MTU on CPU switch interface by this length
> (on my switches to 1504).
>
> So without this I cannot use XDP with mvpp2 with a Marvell switch with
> default settings, which I think is not OK.
Hi Marek
You are running XDP programs on the master interface? So you still
have the DSA tag? What sort of programs are you running? I guess DOS
protection could work, once the program understands the DSA tag. To
forward the frame out another interface you would have to remove the
tag. Or i suppose you could modify the tag and send it back to the
switch? Does XDP support that sort of hairpin operation?
Andrew
next prev parent reply other threads:[~2021-01-05 20:22 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-01-05 17:19 [PATCH net-next] net: mvpp2: increase MTU limit when XDP enabled Marek Behún
2021-01-05 17:24 ` Sven Auhagen
2021-01-05 17:43 ` Marek Behún
2021-01-05 20:21 ` Andrew Lunn [this message]
2021-01-06 11:56 ` Marek Behún
2021-01-06 12:32 ` Marek Behún
2021-01-06 12:33 ` Marek Behún
2021-01-06 18:34 ` Andrew Lunn
2021-01-06 13:13 ` Vladimir Oltean
2021-01-06 10:33 ` Jesper Dangaard Brouer
2021-01-06 11:28 ` Sven Auhagen
2021-01-05 20:23 ` Andrew Lunn
2021-01-06 12:11 ` Marek Behún
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=X/TKNlir5Cyimjn3@lunn.ch \
--to=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=kabel@kernel.org \
--cc=kuba@kernel.org \
--cc=lorenzo@kernel.org \
--cc=mcroce@microsoft.com \
--cc=netdev@vger.kernel.org \
--cc=sven.auhagen@voleatech.de \
/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.