Skip to content
Networking changes for 5.14.

Core:

 - BPF:
   - add syscall program type and libbpf support for generating
     instructions and bindings for in-kernel BPF loaders (BPF loaders
     for BPF), this is a stepping stone for signed BPF programs
   - infrastructure to migrate TCP child sockets from one listener
     to another in the same reuseport group/map to improve flexibility
     of service hand-off/restart
   - add broadcast support to XDP redirect

 - allow bypass of the lockless qdisc to improving performance
   (for pktgen: +23% with one thread, +44% with 2 threads)

 - add a simpler version of "DO_ONCE()" which does not require
   jump labels, intended for slow-path usage

 - virtio/vsock: introduce SOCK_SEQPACKET support

 - add getsocketopt to retrieve netns cookie

 - ip: treat lowest address of a IPv4 subnet as ordinary unicast address
       allowing reclaiming of precious IPv4 addresses

 - ipv6: use prandom_u32() for ID generation

 - ip: add support for more flexible field selection for hashing
       across multi-path routes (w/ offload to mlxsw)

 - icmp: add support for extended RFC 8335 PROBE (ping)

 - seg6: add support for SRv6 End.DT46 behavior

 - mptcp:
    - DSS checksum support (RFC 8684) to detect middlebox meddling
    - support Connection-time 'C' flag
    - time stamping support

 - sctp: packetization Layer Path MTU Discovery (RFC 8899)

 - xfrm: speed up state addition with seq set

 - WiFi:
    - hidden AP discovery on 6 GHz and other HE 6 GHz improvements
    - aggregation handling improvements for some drivers
    - minstrel improvements for no-ack frames
    - deferred rate control for TXQs to improve reaction times
    - switch from round robin to virtual time-based airtime scheduler

 - add trace points:
    - tcp checksum errors
    - openvswitch - action execution, upcalls
    - socket errors via sk_error_report

Device APIs:

 - devlink: add rate API for hierarchical control of max egress rate
            of virtual devices (VFs, SFs etc.)

 - don't require RCU read lock to be held around BPF hooks
   in NAPI context

 - page_pool: generic buffer recycling

New hardware/drivers:

 - mobile:
    - iosm: PCIe Driver for Intel M.2 Modem
    - support for Qualcomm MSM8998 (ipa)

 - WiFi: Qualcomm QCN9074 and WCN6855 PCI devices

 - sparx5: Microchip SparX-5 family of Enterprise Ethernet switches

 - Mellanox BlueField Gigabit Ethernet (control NIC of the DPU)

 - NXP SJA1110 Automotive Ethernet 10-port switch

 - Qualcomm QCA8327 switch support (qca8k)

 - Mikrotik 10/25G NIC (atl1c)

Driver changes:

 - ACPI support for some MDIO, MAC and PHY devices from Marvell and NXP
   (our first foray into MAC/PHY description via ACPI)

 - HW timestamping (PTP) support: bnxt_en, ice, sja1105, hns3, tja11xx

 - Mellanox/Nvidia NIC (mlx5)
   - NIC VF offload of L2 bridging
   - support IRQ distribution to Sub-functions

 - Marvell (prestera):
    - add flower and match all
    - devlink trap
    - link aggregation

 - Netronome (nfp): connection tracking offload

 - Intel 1GE (igc): add AF_XDP support

 - Marvell DPU (octeontx2): ingress ratelimit offload

 - Google vNIC (gve): new ring/descriptor format support

 - Qualcomm mobile (rmnet & ipa): inline checksum offload support

 - MediaTek WiFi (mt76)
    - mt7915 MSI support
    - mt7915 Tx status reporting
    - mt7915 thermal sensors support
    - mt7921 decapsulation offload
    - mt7921 enable runtime pm and deep sleep

 - Realtek WiFi (rtw88)
    - beacon filter support
    - Tx antenna path diversity support
    - firmware crash information via devcoredump

 - Qualcomm 60GHz WiFi (wcn36xx)
    - Wake-on-WLAN support with magic packets and GTK rekeying

 - Micrel PHY (ksz886x/ksz8081): add cable test support

Signed-off-by: Jakub Kicinski <kuba@kernel.org>