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.auha...@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

Reply via email to