[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <X/TKNlir5Cyimjn3@lunn.ch>
Date: Tue, 5 Jan 2021 21:21:10 +0100
From: Andrew Lunn <andrew@...n.ch>
To: Marek Behún <kabel@...nel.org>
Cc: Sven Auhagen <sven.auhagen@...eatech.de>, netdev@...r.kernel.org,
davem@...emloft.net, Jakub Kicinski <kuba@...nel.org>,
Matteo Croce <mcroce@...rosoft.com>,
Lorenzo Bianconi <lorenzo@...nel.org>
Subject: Re: [PATCH net-next] net: mvpp2: increase MTU limit when XDP enabled
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@...eatech.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
Powered by blists - more mailing lists