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