linux/drivers/net
Maciej Fijalkowski c61bcebde7 ice: Prepare legacy-rx for upcoming XDP multi-buffer support
Rx path is going to be modified in a way that fragmented frame will be
gathered within xdp_buff in the first place. This approach implies that
underlying buffer has to provide tailroom for skb_shared_info. This is
currently the case when ring uses build_skb but not when legacy-rx knob
is turned on. This case configures 2k Rx buffers and has no way to
provide either headroom or tailroom - FWIW it currently has
XDP_PACKET_HEADROOM which is broken and in here it is removed. 2k Rx
buffers were used so driver in this setting was able to support 9k MTU
as it can chain up to 5 Rx buffers. With offset configuring HW writing
2k of a data was passing the half of the page which broke the assumption
of our internal page recycling tricks.

Now if above got fixed and legacy-rx path would be left as is, when
referring to skb_shared_info via xdp_get_shared_info_from_buff(),
packet's content would be corrupted again. Hence size of Rx buffer needs
to be lowered and therefore supported MTU. This operation will allow us
to keep the unified data path and with 8k MTU users (if any of
legacy-rx) would still be good to go. However, tendency is to drop the
support for this code path at some point.

Add ICE_RXBUF_1664 as vsi::rx_buf_len and ICE_MAX_FRAME_LEGACY_RX (8320)
as vsi::max_frame for legacy-rx. For bigger page sizes configure 3k Rx
buffers, not 2k.

Since headroom support is removed, disable data_meta support on legacy-rx.
When preparing XDP buff, rely on ice_rx_ring::rx_offset setting when
deciding whether to support data_meta or not.

Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Reviewed-by: Alexander Lobakin <alexandr.lobakin@intel.com>
Link: https://lore.kernel.org/bpf/20230131204506.219292-2-maciej.fijalkowski@intel.com
2023-02-01 23:30:26 +01:00
..
appletalk
arcnet
bonding bonding: fill IPsec state validation failure reason 2023-01-26 16:28:48 -08:00
caif
can
dsa Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-01-27 22:56:18 -08:00
ethernet ice: Prepare legacy-rx for upcoming XDP multi-buffer support 2023-02-01 23:30:26 +01:00
fddi
fjes
hamradio
hippi
hyperv
ieee802154
ipa net: ipa: add IPA v5.0 packet status support 2023-01-27 11:16:29 +00:00
ipvlan
mctp
mdio Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-01-27 22:56:18 -08:00
netdevsim bpf-next-for-netdev 2023-01-28 00:00:14 -08:00
pcs net: pcs: pcs-lynx: use phylink_get_link_timer_ns() helper 2023-01-13 21:52:50 -08:00
phy net: phy: microchip: run phy initialization during each link update 2023-01-23 22:34:19 -08:00
plip
ppp
pse-pd
slip
team Revert "net: team: use IFF_NO_ADDRCONF flag to prevent ipv6 addrconf" 2023-01-18 20:32:44 -08:00
thunderbolt net: thunderbolt: Add tracepoints 2023-01-12 21:19:30 -08:00
usb r8152: reduce the control transfer of rtl8152_get_version() 2023-01-20 18:06:09 -08:00
vmxnet3
vxlan
wan net: wan: Add checks for NULL for utdm in undo_uhdlc_init and unmap_si_regs 2023-01-13 21:34:31 -08:00
wireguard
wireless net: add missing includes of linux/net.h 2023-01-27 11:19:45 +00:00
wwan
xen-netback xen: branch for v6.2-rc4 2023-01-12 17:02:20 -06:00
amt.c
bareudp.c
dummy.c
eql.c
geneve.c
gtp.c
ifb.c
Kconfig net: thunderbolt: Move into own directory 2023-01-12 21:19:30 -08:00
LICENSE.SRC
loopback.c
macsec.c macsec: dump IFLA_MACSEC_OFFLOAD attribute as part of macsec dump 2023-01-12 21:43:37 -08:00
macvlan.c
macvtap.c
Makefile net: thunderbolt: Move into own directory 2023-01-12 21:19:30 -08:00
mdio.c
mhi_net.c
mii.c
net_failover.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tap.c
tun.c
veth.c veth: Support RX XDP metadata 2023-01-23 09:38:11 -08:00
virtio_net.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2023-01-27 22:56:18 -08:00
vrf.c
vsockmon.c
xen-netfront.c xen: branch for v6.2-rc4 2023-01-12 17:02:20 -06:00