NIPA Branch net-next-2025-07-03--00-00

Branches
Base trees
[+] idpf: return 0 size for RSS key if not supported
[+] idpf: convert control queue mutex to a spinlock
[+] igc: disable L1.2 PCI-E link substate to avoid performance issue
[+] net: thunderbolt: Fix the parameter passing of tb_xdomain_enable_paths()/tb_xdomain_disable_paths()
[+] net: thunderbolt: Enable end-to-end flow control also in transmit
[+] net: add struct net_aligned_data
[+] net: move net_cookie into net_aligned_data
[+] tcp: move tcp_memory_allocated into net_aligned_data
[+] udp: move udp_memory_allocated into net_aligned_data
[+] Merge branch 'net-introduce-net_aligned_data'
[+] net: dst: annotate data-races around dst->obsolete
[+] net: dst: annotate data-races around dst->expires
[+] net: dst: annotate data-races around dst->lastuse
[+] net: dst: annotate data-races around dst->input
[+] net: dst: annotate data-races around dst->output
[+] net: dst: add four helpers to annotate data-races around dst->dev
[+] ipv4: adopt dst_dev, skb_dst_dev and skb_dst_dev_net[_rcu]
[+] ipv6: adopt dst_dev() helper
[+] ipv6: adopt skb_dst_dev() and skb_dst_dev_net[_rcu]() helpers
[+] ipv6: ip6_mc_input() and ip6_mr_input() cleanups
[+] Merge branch 'net-add-data-race-annotations-around-dst-fields'
[+] net/sched: Always pass notifications when child class becomes empty
[+] amd-xgbe: do not double read link status
[+] net: libwx: fix the incorrect display of the queue number
[+] net: ifb: support BIG TCP packets
[+] net: ipv4: fix stat increase when udp early demux drops the packet
[+] amd-xgbe: add support for giant packet size
[+] Merge branch '200GbE' of git://git.kernel.org/pub/scm/linux/kernel/git/tnguy/net-queue
[+] dt-bindings: net: Convert socfpga-dwmac bindings to yaml
[+] vsock/test: Add macros to identify transports
[+] vsock/test: Add test for null ptr deref when transport changes
[+] Merge branch 'vsock-test-check-for-null-ptr-deref-when-transport-changes'
[+] net: preserve MSG_ZEROCOPY with forwarding
[+] selftest: net: extend msg_zerocopy test with forwarding
[+] Merge branch 'preserve-msg_zerocopy-with-forwarding'
[+] tun: remove unnecessary tun_xdp_hdr structure
[+] vhost-net: reduce one userspace copy when building XDP buff
[+] netlink: introduce type-checking attribute iteration for nlmsg
[+] devlink: Extend devlink rate API with traffic classes bandwidth management
[+] selftest: netdevsim: Add devlink rate tc-bw test
[+] net/mlx5: Add no-op implementation for setting tc-bw on rate objects
[+] net/mlx5: Add support for setting tc-bw on nodes
[+] net/mlx5: Add traffic class scheduling support for vport QoS
[+] net/mlx5: Manage TC arbiter nodes and implement full support for tc-bw
[+] selftests: drv-net: Add test for devlink-rate traffic class bandwidth distribution
[+] Merge branch 'support-rate-management-on-traffic-classes-in-devlink-and-mlx5'
[+] net: ipv6: Fix spelling mistake
.../bindings/net/altr,gmii-to-sgmii-2.0.yaml | 49 + .../bindings/net/altr,socfpga-stmmac.yaml | 166 ++++ .../devicetree/bindings/net/socfpga-dwmac.txt | 57 -- Documentation/netlink/specs/devlink.yaml | 32 +- Documentation/networking/devlink/devlink-port.rst | 8 + MAINTAINERS | 7 +- drivers/net/ethernet/amd/xgbe/xgbe-common.h | 8 + drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 16 +- drivers/net/ethernet/amd/xgbe/xgbe-main.c | 2 +- drivers/net/ethernet/amd/xgbe/xgbe-mdio.c | 4 + drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 24 +- drivers/net/ethernet/amd/xgbe/xgbe.h | 2 + drivers/net/ethernet/intel/idpf/idpf_controlq.c | 23 +- .../net/ethernet/intel/idpf/idpf_controlq_api.h | 2 +- drivers/net/ethernet/intel/idpf/idpf_ethtool.c | 4 +- drivers/net/ethernet/intel/idpf/idpf_lib.c | 12 +- drivers/net/ethernet/intel/igc/igc_main.c | 10 + drivers/net/ethernet/mellanox/mlx5/core/devlink.c | 2 + drivers/net/ethernet/mellanox/mlx5/core/esw/qos.c | 1037 +++++++++++++++++++- drivers/net/ethernet/mellanox/mlx5/core/esw/qos.h | 8 + drivers/net/ethernet/mellanox/mlx5/core/eswitch.h | 14 +- drivers/net/ethernet/wangxun/libwx/wx_lib.c | 1 + drivers/net/ifb.c | 1 + drivers/net/netdevsim/dev.c | 43 + drivers/net/netdevsim/netdevsim.h | 1 + drivers/net/tap.c | 5 +- drivers/net/thunderbolt/main.c | 21 +- drivers/net/tun.c | 5 +- drivers/net/vxlan/vxlan_vnifilter.c | 13 +- drivers/vhost/net.c | 20 +- fs/nfsd/nfsctl.c | 36 +- include/linux/if_tun.h | 5 - include/net/aligned_data.h | 22 + include/net/devlink.h | 8 + include/net/dst.h | 38 +- include/net/inet6_hashtables.h | 2 +- include/net/inet_hashtables.h | 2 +- include/net/ip.h | 13 +- include/net/ip6_route.h | 4 +- include/net/ip6_tunnel.h | 2 +- include/net/lwtunnel.h | 8 +- include/net/netlink.h | 14 + include/net/route.h | 2 +- include/net/tcp.h | 1 - include/net/udp.h | 1 - include/uapi/linux/devlink.h | 9 + net/core/dev.c | 2 - net/core/dst.c | 10 +- net/core/dst_cache.c | 2 +- net/core/hotdata.c | 5 + net/core/neighbour.c | 3 +- net/core/net_namespace.c | 8 +- net/core/rtnetlink.c | 4 +- net/core/sock.c | 12 +- net/devlink/netlink_gen.c | 15 +- net/devlink/netlink_gen.h | 1 + net/devlink/rate.c | 127 +++ net/ipv4/datagram.c | 2 +- net/ipv4/icmp.c | 24 +- net/ipv4/igmp.c | 2 +- net/ipv4/ip_fragment.c | 2 +- net/ipv4/ip_input.c | 13 +- net/ipv4/ip_output.c | 6 +- net/ipv4/ip_vti.c | 4 +- net/ipv4/netfilter.c | 4 +- net/ipv4/route.c | 34 +- net/ipv4/tcp.c | 2 - net/ipv4/tcp_fastopen.c | 4 +- net/ipv4/tcp_ipv4.c | 5 +- net/ipv4/tcp_metrics.c | 8 +- net/ipv4/udp.c | 4 +- net/ipv4/udp_impl.h | 1 + net/ipv4/udplite.c | 2 +- net/ipv4/xfrm4_output.c | 2 +- net/ipv6/calipso.c | 6 +- net/ipv6/datagram.c | 2 +- net/ipv6/exthdrs.c | 10 +- net/ipv6/icmp.c | 4 +- net/ipv6/ila/ila_lwt.c | 2 +- net/ipv6/ioam6.c | 17 +- net/ipv6/ioam6_iptunnel.c | 4 +- net/ipv6/ip6_gre.c | 8 +- net/ipv6/ip6_input.c | 40 +- net/ipv6/ip6_output.c | 24 +- net/ipv6/ip6_tunnel.c | 6 +- net/ipv6/ip6_udp_tunnel.c | 2 +- net/ipv6/ip6_vti.c | 4 +- net/ipv6/ip6mr.c | 9 +- net/ipv6/ndisc.c | 6 +- net/ipv6/netfilter.c | 4 +- net/ipv6/netfilter/nf_dup_ipv6.c | 2 +- net/ipv6/netfilter/nf_reject_ipv6.c | 2 +- net/ipv6/output_core.c | 4 +- net/ipv6/reassembly.c | 10 +- net/ipv6/route.c | 49 +- net/ipv6/rpl_iptunnel.c | 4 +- net/ipv6/seg6_iptunnel.c | 26 +- net/ipv6/seg6_local.c | 2 +- net/ipv6/tcp_ipv6.c | 7 +- net/ipv6/udp.c | 2 +- net/ipv6/udp_impl.h | 1 + net/ipv6/udplite.c | 2 +- net/ipv6/xfrm6_output.c | 2 +- net/mptcp/protocol.c | 3 +- net/netfilter/ipvs/ip_vs_xmit.c | 2 +- net/sched/sch_api.c | 19 +- net/sctp/transport.c | 2 +- net/xfrm/xfrm_policy.c | 4 +- .../selftests/drivers/net/hw/devlink_rate_tc_bw.py | 466 +++++++++ .../selftests/drivers/net/hw/lib/py/__init__.py | 2 +- .../selftests/drivers/net/lib/py/__init__.py | 2 +- .../selftests/drivers/net/netdevsim/devlink.sh | 53 + tools/testing/selftests/net/lib/py/__init__.py | 2 +- tools/testing/selftests/net/lib/py/ynl.py | 5 + tools/testing/selftests/net/msg_zerocopy.c | 24 +- tools/testing/selftests/net/msg_zerocopy.sh | 84 +- tools/testing/vsock/Makefile | 1 + tools/testing/vsock/util.h | 4 + tools/testing/vsock/vsock_test.c | 170 ++++ 119 files changed, 2703 insertions(+), 473 deletions(-)
Tested patches
@@ -1,189 +1,166 @@
disable random kunit tests [local patch]
test: rtnetlink: try double sleep to give WQ [local patch] a chance
dbg: rtnetlink preferred_lft [local patch]
profile patch [local patch]
dbg: tests: bonding: print info on failure [local patch]
drv: net: add timeout [local patch]
tc_action dbg [local patch]
forwarding: set timeout to 3 hours [local patch]
selftests: net: enable profiling [local patch]
timestamp - try waking [local patch]
[+] ibmvnic: Make max subcrq indirect entries tunable via module param
[+] ibmvnic: Use ndo_get_stats64 to fix inaccurate SAR reporting
[+] ibmvnic: Fix hardcoded NUM_RX_STATS/NUM_TX_STATS with dynamic sizeof
[+] ibmvnic: Use atomic64_t for queue stats
net: account for encap headers in qdisc pkt len
net: openvswitch: allow providing upcall pid for the 'execute' command
net: ipv4: fix incorrect MTU in broadcast routes
[+] net: ti: prueth: Adds PTP OC Support for AM335x and AM437x
[+] net: ti: prueth: Adds support for PRUETH on AM33x and AM43x SOCs
[+] net: ti: prueth: Adds power management support for PRU-ICSS
[+] net: ti: prueth: Adds support for RX interrupt coalescing/pacing
[+] net: ti: prueth: Adds support for network filters for traffic control supported by PRU-ICSS
[+] net: ti: prueth: Adds HW timestamping support for PTP using PRU-ICSS IEP module
[+] net: ti: prueth: Adds ethtool support for ICSSM PRUETH Driver
[+] net: ti: prueth: Adds link detection, RX and TX support.
[+] net: ti: prueth: Adds PRUETH HW and SW configuration
[+] net: ti: prueth: Adds ICSSM Ethernet driver
[+] dt-bindings: net: ti: Adds DUAL-EMAC mode support on PRU-ICSS2 for AM57xx, AM43xx and AM33xx SOCs
vsock: Fix IOCTL_VM_SOCKETS_GET_LOCAL_CID to check also `transport_local`
vsock: Fix transport_* TOCTOU
vsock: Fix transport_{g2h,h2g} TOCTOU
net: skbuff: Drop unused @skb
net: skbuff: Drop unused @skb
net/smc: Drop nr_pages_max initialization
net: splice: Drop nr_pages_max initialization
net: splice: Drop unused @gfp
net: splice: Drop unused @pipe
net: hns3: default enable tx bounce buffer when smmu enabled
net: hns3: fixed vf get max channels bug
net: hns3: disable interrupt when ptp init failed
net: hns3: fix concurrent setting vlan filter issue
net: ethernet: mtk_eth_soc: use generic allocator for SRAM
net: ethernet: mtk_eth_soc: fix kernel-doc comment
net: ethernet: mtk_eth_soc: improve support for named interrupts
net: hibmcge: configure FIFO thresholds according to the MAC controller documentation
net: hibmcge: adjust the burst len configuration of the MAC controller to improve TX performance.
net: hibmcge: support scenario without PHY
selftests/bpf: add a new test to check the consumer update case
net: xsk: update tx queue consumer immediately after transmission
[-] selftests: net: add netpoll basic functionality test
[-] selftests: drv-net: Strip '@' prefix from bpftrace map keys
[-] selftests: drv-net: add helper/wrapper for bpftrace
Octeontx2-vf: Fix max packet length errors
virtio-net: fix a rtnl_lock() deadlock during probing
net: replace ADDRLABEL with dynamic debug
selftests: net: Add IPv6 support to netconsole basic tests
netpoll: move Ethernet setup to push_eth() helper
netpoll: factor out UDP header setup into push_udp() helper
netpoll: factor out IPv4 header setup into push_ipv4() helper
netpoll: factor out IPv6 header setup into push_ipv6() helper
netpoll: factor out UDP checksum calculation into helper
netpoll: Improve code clarity with explicit struct size calculations
net: phylink: add phylink_sfp_select_interface_speed()
net: phylink: clear SFP interfaces when not in use
net: phylink: restrict SFP interfaces to those that are supported
net: bcmgenet: Initialize u64 stats seq counter
selftests: net: add netdev-l2addr.sh for testing L2 address functionality
net: netdevsim: Support setting dev->perm_addr on port creation
net/sched: sch_qfq: Fix null-deref in agg_dequeue
Documentation: xsk: correct the obsolete references and examples
net: ag71xx: Add missing check after DMA map
net/sched: acp_api: no longer acquire RTNL in tc_action_net_exit()
bnxt_en: eliminate the compile warning in bnxt_request_irq due to CONFIG_RFS_ACCEL
net: mctp: test: Add tests for gateway routes
net: mctp: add gateway routing support
net: mctp: allow NL parsing directly into a struct mctp_route
net: mctp: remove routes by netid, not by device
net: mctp: pass net into route creation
net: mctp: test: Add initial socket tests
net: mctp: test: add sock test infrastructure
net: mctp: test: move functions into utils.[ch]
net: mctp: test: Add extaddr routing output test
net: mctp: test: Add an addressed device constructor
net: mctp: separate cb from direct-addressing routing
net: mctp: separate routing database from routing operations
net: mctp: test: make cloned_frag buffers more appropriately-sized
net: mctp: don't use source cb data when forwarding, ensure pkt_type is set
[c] net: ipv6: Fix spelling mistake
[+] net: remove RTNL use for /proc/sys/net/core/rps_default_mask
page_pool: make page_pool_get_dma_addr() just wrap page_pool_get_dma_addr_netmem()
netmem: use _Generic to cover const casting for page_to_netmem()
page_pool: rename __page_pool_alloc_pages_slow() to __page_pool_alloc_netmems_slow()
page_pool: rename __page_pool_release_page_dma() to __page_pool_release_netmem_dma()
page_pool: rename page_pool_return_page() to page_pool_return_netmem()
Documentation: netlink: specs: tc: Add DualPI2 specification
selftests/tc-testing: Add selftests for qdisc DualPI2
selftests/tc-testing: Fix warning and style check on tdc.sh
sched: Add enqueue/dequeue of dualpi2 qdisc
sched: Dump configuration and statistics of dualpi2 qdisc
sched: Struct definition and parsing of dualpi2 qdisc
tipc: Fix use-after-free in tipc_conn_close().
virtio_net: simplify tx queue wake condition check
net: airoha: Add airoha_offload.h header
net: airoha: npu: Enable core 3 for WiFi offloading
net: airoha: npu: Read NPU interrupt lines from the DTS
net: airoha: npu: Add wlan irq management callbacks
net: airoha: npu: Add more wlan NPU callbacks
net: airoha: npu: Add NPU wlan memory initialization commands
net: bridge: Do not offload IGMP/MLD messages
netdevsim: implement peer queue flow control
mlxbf_gige: emit messages during open and probe failures
[-] ptp: remove unnecessary mutex lock in ptp_clock_unregister()
[c] igc: disable L1.2 PCI-E link substate to avoid performance issue
[c] idpf: convert control queue mutex to a spinlock
[c] idpf: return 0 size for RSS key if not supported
net/handshake: Add new parameter 'HANDSHAKE_A_ACCEPT_KEYRING'
ptp: Enable auxiliary clocks for PTP_SYS_OFFSET_EXTENDED
ptp: Use ktime_get_clock_ts64() for timestamping
timekeeping: Provide ktime_get_clock_ts64()
vsock/vmci: Clear the vmci transport packet properly when initializing it
net: phy: smsc: Disable IRQ support to prevent link state corruption
net: phy: smsc: Fix link failure in forced mode with Auto-MDIX
net: phy: smsc: Force predictable MDI-X state on LAN87xx
net: phy: smsc: Fix Auto-MDIX configuration when disabled by strap
[c] amd-xgbe: add support for giant packet size
ARM: mxs_defconfig: Enable CONFIG_FEC_MTIP_L2SW to support MTIP L2 switch
ARM: mxs_defconfig: Update mxs_defconfig to 6.16-rc1
ARM: mxs_defconfig: Enable CONFIG_NFS_FSCACHE
net: mtip: Extend the L2 switch driver for imx287 with bridge operations
net: mtip: Extend the L2 switch driver with management operations
net: mtip: Add mtip_switch_{rx|tx} functions to the L2 switch driver
net: mtip: Add net_device_ops functions to the L2 switch driver
net: mtip: Add buffers management functions to the L2 switch driver
net: mtip: The L2 switch driver for imx287
ARM: dts: nxp: mxs: Adjust XEA board's DTS to support L2 switch
ARM: dts: nxp: mxs: Adjust the imx28.dtsi L2 switch description
dt-bindings: net: Add MTIP L2 switch description
bng_en: Add a network device
bng_en: Initialize default configuration
bng_en: Add irq allocation support
bng_en: Add resource management support
bng_en: Add backing store support
bng_en: Add ring memory allocation support
bng_en: Add initial interaction with firmware
bng_en: Add firmware communication mechanism
bng_en: Add devlink interface
bng_en: Add PCI interface
[c] net: ifb: support BIG TCP packets
net: replace ND_PRINTK with dynamic debug
[c] net: ipv4: fix stat increase when udp early demux drops the packet
[c] net: libwx: fix the incorrect display of the queue number
[c] amd-xgbe: do not double read link status
dt-bindings: net: sophgo,sg2044-dwmac: Drop status from the example
net: ngbe: specify IRQ vector when the number of VFs is 7
net: wangxun: revert the adjustment of the IRQ vector sequence
net: txgbe: request MISC IRQ in ndo_open
ipv6: Cleanup fib6_drop_pcpu_from()
net: ip-sysctl: Add link to SCTP IPv4 scoping draft
net: ip-sysctl: Format SCTP-related memory parameters description as bullet list
net: ip-sysctl: Format pf_{enable,expose} boolean lists as bullet lists
net: ip-sysctl: Format possible value range of ioam6_id{,_wide} as bullet list
net: ip-sysctl: Format Private VLAN proxy arp aliases as bullet list
[c] vhost-net: reduce one userspace copy when building XDP buff
[c] tun: remove unnecessary tun_xdp_hdr structure
[c] dt-bindings: net: Convert socfpga-dwmac bindings to yaml
[c] selftest: net: extend msg_zerocopy test with forwarding
[c] net: preserve MSG_ZEROCOPY with forwarding
[c] vsock/test: Add test for null ptr deref when transport changes
[c] vsock/test: Add macros to identify transports
virtio-net: xsk: rx: move the xdp->data adjustment to buf_to_xdp()
virtio-net: xsk: rx: fix the frame's length check
net: pse-pd: Add Si3474 PSE controller driver
dt-bindings: net: pse-pd: Add bindings for Si3474 PSE controller
virtio-net: use the check_mergeable_len helper
virtio-net: remove redundant truesize check with PAGE_SIZE
virtio-net: ensure the received length does not exceed allocated size
[c] net/sched: Always pass notifications when child class becomes empty
[c] ipv6: ip6_mc_input() and ip6_mr_input() cleanups
[c] ipv6: adopt skb_dst_dev() and skb_dst_dev_net[_rcu]() helpers
[c] ipv6: adopt dst_dev() helper
[c] ipv4: adopt dst_dev, skb_dst_dev and skb_dst_dev_net[_rcu]
[c] net: dst: add four helpers to annotate data-races around dst->dev
[c] net: dst: annotate data-races around dst->output
[c] net: dst: annotate data-races around dst->input
[c] net: dst: annotate data-races around dst->lastuse
[c] net: dst: annotate data-races around dst->expires
[c] net: dst: annotate data-races around dst->obsolete
[-] net: libwx: fix double put of page to page_pool
[c] udp: move udp_memory_allocated into net_aligned_data
[c] tcp: move tcp_memory_allocated into net_aligned_data
[c] net: move net_cookie into net_aligned_data
[c] net: add struct net_aligned_data
skbuff: Add MSG_MORE flag to optimize large packet transmission
[-] Fix typo in af_netlink.c
[c] net: thunderbolt: Fix the parameter passing of tb_xdomain_enable_paths()/tb_xdomain_disable_paths()
[c] net: thunderbolt: Enable end-to-end flow control also in transmit
net: bonding: send peer notify when failure recovery
net: bonding: add broadcast_neighbor netlink option
net: bonding: add broadcast_neighbor option for 802.3ad
selftests: netfilter: nft_flowtable.sh: Add IPIP flowtable selftest
net: netfilter: Add IPIP flowtable SW acceleration
net: xsk: introduce XDP_MAX_TX_BUDGET set/getsockopt
selftests/tc-testing: Add tests for restrictions on netem duplication
net/sched: Restrict conditions for adding duplicating netems to qdisc tree
bonding: don't force LACPDU tx to ~333 ms boundaries
Test results