Merge 'netfilter-next' from https://git.kernel.org/pub/scm/linux/kernel/git/netfilter/nf-next.git (main) Merged-SHA: 4686679a14d269d4f02533228e82de56f432bae5 Documentation/admin-guide/sysctl/net.rst | 28 + .../bindings/net/dsa/maxlinear,mxl862xx.yaml | 1 - .../devicetree/bindings/net/qcom,ipa.yaml | 11 + .../devicetree/bindings/sram/qcom,imem.yaml | 14 + Documentation/netlink/genetlink.yaml | 2 +- Documentation/netlink/netlink-raw.yaml | 11 +- Documentation/netlink/specs/devlink.yaml | 58 + Documentation/netlink/specs/ethtool.yaml | 17 +- Documentation/netlink/specs/nftables.yaml | 689 ++- .../device_drivers/ethernet/marvell/octeontx2.rst | 2 +- .../networking/devlink/devlink-shared.rst | 97 + Documentation/networking/devlink/index.rst | 1 + Documentation/networking/ethtool-netlink.rst | 12 +- Documentation/networking/ip-sysctl.rst | 40 +- .../net_cachelines/netns_ipv4_sysctl.rst | 2 + .../networking/net_cachelines/tcp_sock.rst | 1 + Documentation/networking/scaling.rst | 13 +- Documentation/networking/smc-sysctl.rst | 43 +- Documentation/networking/tls-handshake.rst | 2 +- Documentation/process/maintainer-netdev.rst | 10 +- MAINTAINERS | 1 - drivers/clk/qcom/Kconfig | 2 +- drivers/dibs/dibs_main.c | 14 +- drivers/dpll/zl3073x/core.c | 118 +- drivers/dpll/zl3073x/core.h | 59 +- drivers/dpll/zl3073x/dpll.c | 28 +- drivers/dpll/zl3073x/dpll.h | 2 + drivers/dpll/zl3073x/i2c.c | 37 +- drivers/dpll/zl3073x/regs.h | 2 + drivers/dpll/zl3073x/spi.c | 37 +- drivers/gpio/TODO | 28 - drivers/gpio/gpiolib-of.c | 31 +- drivers/net/bonding/bond_main.c | 4 +- drivers/net/bonding/bond_netlink.c | 9 + drivers/net/dsa/mxl862xx/mxl862xx.c | 32 +- drivers/net/ethernet/airoha/airoha_eth.c | 38 +- drivers/net/ethernet/airoha/airoha_eth.h | 2 +- drivers/net/ethernet/airoha/airoha_ppe.c | 2 +- drivers/net/ethernet/airoha/airoha_regs.h | 5 +- drivers/net/ethernet/amd/xgbe/xgbe-common.h | 4 +- drivers/net/ethernet/amd/xgbe/xgbe-dev.c | 39 +- drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 47 +- drivers/net/ethernet/amd/xgbe/xgbe-pci.c | 91 +- drivers/net/ethernet/amd/xgbe/xgbe-phy-v2.c | 22 +- drivers/net/ethernet/amd/xgbe/xgbe-platform.c | 14 +- drivers/net/ethernet/amd/xgbe/xgbe.h | 34 +- .../net/ethernet/aquantia/atlantic/aq_ethtool.c | 55 +- drivers/net/ethernet/aquantia/atlantic/aq_hw.h | 3 + .../aquantia/atlantic/hw_atl/hw_atl_utils.h | 7 + .../aquantia/atlantic/hw_atl/hw_atl_utils_fw2x.c | 80 + drivers/net/ethernet/broadcom/bnxt/bnxt.c | 18 +- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 8 +- drivers/net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 20 +- drivers/net/ethernet/cadence/macb.h | 20 + drivers/net/ethernet/cadence/macb_main.c | 296 +- .../ethernet/chelsio/inline_crypto/chtls/chtls.h | 2 +- .../chelsio/inline_crypto/chtls/chtls_io.c | 8 +- drivers/net/ethernet/cisco/enic/enic.h | 39 + drivers/net/ethernet/cisco/enic/enic_ethtool.c | 155 +- drivers/net/ethernet/freescale/enetc/ntmp.c | 2 +- .../net/ethernet/freescale/fs_enet/fs_enet-main.c | 4 +- drivers/net/ethernet/freescale/ucc_geth.c | 3 +- drivers/net/ethernet/google/gve/gve.h | 18 +- drivers/net/ethernet/google/gve/gve_adminq.c | 30 +- .../net/ethernet/google/gve/gve_buffer_mgmt_dqo.c | 2 +- drivers/net/ethernet/google/gve/gve_main.c | 56 +- drivers/net/ethernet/google/gve/gve_rx.c | 5 +- drivers/net/ethernet/google/gve/gve_rx_dqo.c | 43 +- drivers/net/ethernet/google/gve/gve_tx.c | 5 +- drivers/net/ethernet/google/gve/gve_tx_dqo.c | 37 +- drivers/net/ethernet/huawei/hinic3/Makefile | 1 + drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.c | 195 +- drivers/net/ethernet/huawei/hinic3/hinic3_cmdq.h | 15 + drivers/net/ethernet/huawei/hinic3/hinic3_common.c | 6 +- drivers/net/ethernet/huawei/hinic3/hinic3_common.h | 1 + drivers/net/ethernet/huawei/hinic3/hinic3_csr.h | 2 + drivers/net/ethernet/huawei/hinic3/hinic3_eqs.c | 65 + drivers/net/ethernet/huawei/hinic3/hinic3_eqs.h | 5 + .../net/ethernet/huawei/hinic3/hinic3_ethtool.c | 425 ++ drivers/net/ethernet/huawei/hinic3/hinic3_hw_cfg.c | 47 +- drivers/net/ethernet/huawei/hinic3/hinic3_hw_cfg.h | 8 + .../net/ethernet/huawei/hinic3/hinic3_hw_comm.c | 69 + .../net/ethernet/huawei/hinic3/hinic3_hw_comm.h | 2 + .../net/ethernet/huawei/hinic3/hinic3_hw_intf.h | 12 + drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.c | 9 + drivers/net/ethernet/huawei/hinic3/hinic3_hwdev.h | 1 + drivers/net/ethernet/huawei/hinic3/hinic3_hwif.c | 23 +- drivers/net/ethernet/huawei/hinic3/hinic3_lld.c | 1 + drivers/net/ethernet/huawei/hinic3/hinic3_main.c | 3 + drivers/net/ethernet/huawei/hinic3/hinic3_mbox.c | 39 +- drivers/net/ethernet/huawei/hinic3/hinic3_mbox.h | 4 + .../ethernet/huawei/hinic3/hinic3_mgmt_interface.h | 16 +- .../net/ethernet/huawei/hinic3/hinic3_netdev_ops.c | 16 +- .../net/ethernet/huawei/hinic3/hinic3_nic_cfg.c | 77 + .../net/ethernet/huawei/hinic3/hinic3_nic_cfg.h | 110 + .../net/ethernet/huawei/hinic3/hinic3_nic_dev.h | 3 + .../net/ethernet/huawei/hinic3/hinic3_pci_id_tbl.h | 1 + drivers/net/ethernet/huawei/hinic3/hinic3_rss.c | 2 +- drivers/net/ethernet/huawei/hinic3/hinic3_rx.c | 15 + drivers/net/ethernet/huawei/hinic3/hinic3_rx.h | 3 + drivers/net/ethernet/ibm/ibmveth.c | 4 +- drivers/net/ethernet/intel/i40e/i40e_ethtool.c | 21 +- drivers/net/ethernet/intel/i40e/i40e_hmc.h | 2 + drivers/net/ethernet/intel/ice/ice_ptp_hw.h | 2 +- drivers/net/ethernet/intel/ixgbe/ixgbe.h | 27 +- drivers/net/ethernet/intel/ixgbe/ixgbe_lib.c | 4 +- drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 56 +- drivers/net/ethernet/intel/ixgbe/ixgbe_xsk.c | 2 +- drivers/net/ethernet/litex/litex_liteeth.c | 21 +- drivers/net/ethernet/marvell/mvneta.c | 3 + drivers/net/ethernet/marvell/octeontx2/af/Makefile | 2 +- drivers/net/ethernet/marvell/octeontx2/af/cgx.c | 2 +- .../ethernet/marvell/octeontx2/af/cn20k/debugfs.c | 273 ++ .../ethernet/marvell/octeontx2/af/cn20k/debugfs.h | 3 + .../marvell/octeontx2/af/cn20k/mbox_init.c | 17 + .../net/ethernet/marvell/octeontx2/af/cn20k/npc.c | 4522 ++++++++++++++++++++ .../net/ethernet/marvell/octeontx2/af/cn20k/npc.h | 340 ++ .../net/ethernet/marvell/octeontx2/af/cn20k/reg.h | 65 + drivers/net/ethernet/marvell/octeontx2/af/common.h | 4 - drivers/net/ethernet/marvell/octeontx2/af/mbox.h | 172 +- drivers/net/ethernet/marvell/octeontx2/af/npc.h | 2 + .../ethernet/marvell/octeontx2/af/npc_profile.h | 84 +- drivers/net/ethernet/marvell/octeontx2/af/rvu.c | 114 +- drivers/net/ethernet/marvell/octeontx2/af/rvu.h | 18 +- .../ethernet/marvell/octeontx2/af/rvu_debugfs.c | 76 +- .../ethernet/marvell/octeontx2/af/rvu_devlink.c | 95 +- .../net/ethernet/marvell/octeontx2/af/rvu_nix.c | 5 +- .../net/ethernet/marvell/octeontx2/af/rvu_npc.c | 604 ++- .../net/ethernet/marvell/octeontx2/af/rvu_npc.h | 21 + .../net/ethernet/marvell/octeontx2/af/rvu_npc_fs.c | 710 ++- .../net/ethernet/marvell/octeontx2/af/rvu_npc_fs.h | 14 +- .../ethernet/marvell/octeontx2/af/rvu_npc_hash.c | 128 +- .../ethernet/marvell/octeontx2/af/rvu_npc_hash.h | 2 +- drivers/net/ethernet/marvell/octeontx2/nic/cn20k.c | 266 ++ drivers/net/ethernet/marvell/octeontx2/nic/cn20k.h | 14 + .../ethernet/marvell/octeontx2/nic/otx2_common.h | 35 + .../ethernet/marvell/octeontx2/nic/otx2_flows.c | 267 +- .../net/ethernet/marvell/octeontx2/nic/otx2_tc.c | 79 +- drivers/net/ethernet/mediatek/mtk_eth_soc.c | 34 +- drivers/net/ethernet/mellanox/mlx5/core/Makefile | 5 +- drivers/net/ethernet/mellanox/mlx5/core/en.h | 9 +- .../net/ethernet/mellanox/mlx5/core/en/params.c | 415 +- .../net/ethernet/mellanox/mlx5/core/en/params.h | 45 +- drivers/net/ethernet/mellanox/mlx5/core/en/ptp.c | 4 +- drivers/net/ethernet/mellanox/mlx5/core/en/xdp.c | 5 +- drivers/net/ethernet/mellanox/mlx5/core/en/xdp.h | 3 +- .../net/ethernet/mellanox/mlx5/core/en/xsk/pool.c | 23 +- .../net/ethernet/mellanox/mlx5/core/en/xsk/setup.c | 59 +- .../net/ethernet/mellanox/mlx5/core/en/xsk/setup.h | 6 +- drivers/net/ethernet/mellanox/mlx5/core/en_main.c | 194 +- drivers/net/ethernet/mellanox/mlx5/core/en_rx.c | 36 +- drivers/net/ethernet/mellanox/mlx5/core/en_stats.c | 30 + drivers/net/ethernet/mellanox/mlx5/core/main.c | 17 + .../net/ethernet/mellanox/mlx5/core/sh_devlink.c | 61 + .../net/ethernet/mellanox/mlx5/core/sh_devlink.h | 12 + drivers/net/ethernet/meta/fbnic/fbnic.h | 35 + drivers/net/ethernet/meta/fbnic/fbnic_csr.c | 128 + drivers/net/ethernet/meta/fbnic/fbnic_csr.h | 30 + drivers/net/ethernet/meta/fbnic/fbnic_ethtool.c | 139 + drivers/net/ethernet/meta/fbnic/fbnic_fw.c | 100 + drivers/net/ethernet/meta/fbnic/fbnic_fw.h | 27 + drivers/net/ethernet/meta/fbnic/fbnic_hw_stats.h | 1 + drivers/net/ethernet/meta/fbnic/fbnic_irq.c | 156 + drivers/net/ethernet/meta/fbnic/fbnic_mac.c | 111 + drivers/net/ethernet/meta/fbnic/fbnic_mac.h | 27 + drivers/net/ethernet/meta/fbnic/fbnic_pci.c | 5 + drivers/net/ethernet/meta/fbnic/fbnic_tlv.c | 276 ++ drivers/net/ethernet/meta/fbnic/fbnic_tlv.h | 27 + drivers/net/ethernet/microchip/lan743x_ethtool.c | 8 + .../ethernet/microchip/sparx5/sparx5_calendar.c | 15 +- .../net/ethernet/microchip/sparx5/sparx5_ethtool.c | 9 +- .../ethernet/microchip/sparx5/sparx5_mactable.c | 34 +- .../net/ethernet/microchip/sparx5/sparx5_main.c | 253 +- .../net/ethernet/microchip/sparx5/sparx5_main.h | 12 +- drivers/net/ethernet/microchip/sparx5/sparx5_ptp.c | 18 + .../ethernet/microchip/sparx5/sparx5_vcap_impl.c | 2 +- drivers/net/ethernet/microsoft/mana/gdma_main.c | 125 +- drivers/net/ethernet/microsoft/mana/hw_channel.c | 12 +- drivers/net/ethernet/microsoft/mana/mana_en.c | 17 +- .../net/ethernet/pensando/ionic/ionic_ethtool.c | 9 +- drivers/net/ethernet/pensando/ionic/ionic_if.h | 6 + drivers/net/ethernet/qlogic/qlcnic/qlcnic.h | 2 +- drivers/net/ethernet/realtek/r8169.h | 1 + drivers/net/ethernet/realtek/r8169_main.c | 7 + drivers/net/ethernet/realtek/r8169_phy_config.c | 26 + drivers/net/ethernet/renesas/ravb_main.c | 1 + drivers/net/ethernet/rocker/rocker_ofdpa.c | 31 +- drivers/net/ethernet/spacemit/k1_emac.c | 3 - drivers/net/ethernet/stmicro/stmmac/common.h | 15 +- .../ethernet/stmicro/stmmac/dwmac-dwc-qos-eth.c | 5 +- drivers/net/ethernet/stmicro/stmmac/dwmac-imx.c | 13 +- drivers/net/ethernet/stmicro/stmmac/dwmac-intel.c | 15 +- .../net/ethernet/stmicro/stmmac/dwmac-loongson.c | 20 +- .../net/ethernet/stmicro/stmmac/dwmac-mediatek.c | 8 +- .../net/ethernet/stmicro/stmmac/dwmac-motorcomm.c | 4 - .../ethernet/stmicro/stmmac/dwmac-qcom-ethqos.c | 160 +- drivers/net/ethernet/stmicro/stmmac/dwmac-s32.c | 2 +- .../net/ethernet/stmicro/stmmac/dwmac-socfpga.c | 5 +- drivers/net/ethernet/stmicro/stmmac/dwmac-sti.c | 11 +- drivers/net/ethernet/stmicro/stmmac/dwmac-sun8i.c | 13 +- drivers/net/ethernet/stmicro/stmmac/dwmac-sunxi.c | 2 +- drivers/net/ethernet/stmicro/stmmac/dwmac-tegra.c | 2 +- .../net/ethernet/stmicro/stmmac/dwmac1000_core.c | 11 +- .../net/ethernet/stmicro/stmmac/dwmac100_core.c | 11 +- drivers/net/ethernet/stmicro/stmmac/dwmac4_core.c | 17 +- drivers/net/ethernet/stmicro/stmmac/dwmac4_descs.c | 19 - drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.c | 2 +- drivers/net/ethernet/stmicro/stmmac/dwmac4_dma.h | 8 - drivers/net/ethernet/stmicro/stmmac/dwmac4_lib.c | 54 +- drivers/net/ethernet/stmicro/stmmac/dwmac5.c | 2 - .../net/ethernet/stmicro/stmmac/dwxgmac2_core.c | 24 +- .../net/ethernet/stmicro/stmmac/dwxgmac2_descs.c | 18 - drivers/net/ethernet/stmicro/stmmac/enh_desc.c | 18 - drivers/net/ethernet/stmicro/stmmac/hwif.c | 9 +- drivers/net/ethernet/stmicro/stmmac/hwif.h | 13 +- drivers/net/ethernet/stmicro/stmmac/norm_desc.c | 18 - drivers/net/ethernet/stmicro/stmmac/stmmac.h | 12 +- .../net/ethernet/stmicro/stmmac/stmmac_ethtool.c | 5 +- drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 315 +- drivers/net/ethernet/stmicro/stmmac/stmmac_mdio.c | 113 +- drivers/net/ethernet/stmicro/stmmac/stmmac_pci.c | 11 +- .../net/ethernet/stmicro/stmmac/stmmac_platform.c | 46 +- drivers/net/ethernet/stmicro/stmmac/stmmac_ptp.c | 23 +- drivers/net/ethernet/ti/am65-cpsw-nuss.c | 4 +- drivers/net/ethernet/ti/am65-cpts.c | 23 +- drivers/net/ethernet/ti/am65-cpts.h | 8 +- drivers/net/ethernet/ti/davinci_emac.c | 39 +- drivers/net/ethernet/ti/icssg/icssg_classifier.c | 69 +- drivers/net/ethernet/ti/icssg/icssg_prueth.c | 6 + drivers/net/ethernet/ti/icssg/icssg_prueth.h | 2 + drivers/net/ipa/ipa_data.h | 9 +- drivers/net/ipa/ipa_mem.c | 24 +- drivers/net/macvlan.c | 12 +- drivers/net/mdio/Kconfig | 1 - drivers/net/mdio/mdio-mvusb.c | 14 +- drivers/net/mdio/mdio-xgene.c | 2 +- drivers/net/ntb_netdev.c | 491 ++- drivers/net/ovpn/tcp.c | 2 +- drivers/net/phy/Makefile | 6 +- drivers/net/phy/mdio-private.h | 11 - drivers/net/phy/mdio_bus.c | 412 -- drivers/net/phy/mdio_bus_provider.c | 319 ++ drivers/net/phy/mdio_device.c | 165 +- drivers/net/phy/micrel.c | 152 + drivers/net/phy/phy_device.c | 51 +- drivers/net/phy/phylib-internal.h | 7 + drivers/net/phy/realtek/realtek_main.c | 3 + drivers/net/phy/vitesse.c | 41 + drivers/net/ppp/ppp_async.c | 2 +- drivers/net/ppp/ppp_generic.c | 142 +- drivers/net/ppp/ppp_synctty.c | 2 +- drivers/net/ppp/pppoe.c | 81 +- drivers/net/ppp/pppox.c | 3 - drivers/net/usb/cdc_ether.c | 54 +- drivers/net/usb/lan78xx.c | 9 +- drivers/net/usb/r8152.c | 50 +- drivers/net/virtio_net.c | 39 +- drivers/net/vmxnet3/vmxnet3_drv.c | 4 +- drivers/net/wireless/ath/ath11k/ahb.c | 10 +- drivers/net/wireless/ath/ath11k/mac.c | 32 +- drivers/net/wireless/ath/ath12k/Makefile | 1 + drivers/net/wireless/ath/ath12k/core.c | 23 +- drivers/net/wireless/ath/ath12k/core.h | 3 + drivers/net/wireless/ath/ath12k/dp_rx.c | 2 - drivers/net/wireless/ath/ath12k/dp_rx.h | 2 - drivers/net/wireless/ath/ath12k/mac.c | 10 +- drivers/net/wireless/ath/ath12k/qmi.c | 2 +- drivers/net/wireless/ath/ath12k/thermal.c | 124 + drivers/net/wireless/ath/ath12k/thermal.h | 40 + drivers/net/wireless/ath/ath12k/wifi7/dp_rx.c | 25 +- drivers/net/wireless/ath/ath12k/wifi7/hw.c | 4 +- drivers/net/wireless/ath/ath12k/wmi.c | 57 +- drivers/net/wireless/ath/ath6kl/cfg80211.c | 25 +- drivers/net/wireless/ath/ath6kl/main.c | 4 +- drivers/net/wireless/ath/ath9k/ath9k.h | 2 +- drivers/net/wireless/ath/wil6210/cfg80211.c | 33 +- drivers/net/wireless/ath/wil6210/main.c | 3 +- drivers/net/wireless/ath/wil6210/wmi.c | 5 +- .../broadcom/brcm80211/brcmfmac/cfg80211.c | 41 +- drivers/net/wireless/intel/iwlegacy/3945.h | 4 +- drivers/net/wireless/intel/iwlegacy/4965-mac.c | 2 +- drivers/net/wireless/intel/iwlegacy/commands.h | 9 +- drivers/net/wireless/intel/iwlegacy/common.h | 4 +- drivers/net/wireless/intel/iwlwifi/mld/nan.c | 5 +- drivers/net/wireless/marvell/libertas/cfg.c | 8 +- drivers/net/wireless/marvell/mwifiex/11n_aggr.c | 1 + drivers/net/wireless/marvell/mwifiex/cfg80211.c | 36 +- drivers/net/wireless/marvell/mwifiex/init.c | 2 +- drivers/net/wireless/marvell/mwifiex/uap_event.c | 7 +- drivers/net/wireless/mediatek/mt76/mt7915/mcu.c | 4 +- drivers/net/wireless/mediatek/mt76/mt7996/mcu.c | 6 +- drivers/net/wireless/microchip/wilc1000/cfg80211.c | 44 +- drivers/net/wireless/quantenna/qtnfmac/cfg80211.c | 38 +- drivers/net/wireless/quantenna/qtnfmac/event.c | 6 +- drivers/net/wireless/ralink/rt2x00/rt2800lib.c | 4 +- drivers/net/wireless/virtual/mac80211_hwsim.c | 141 +- drivers/net/wireless/virtual/mac80211_hwsim.h | 2 + drivers/net/wireless/virtual/virt_wifi.c | 12 +- drivers/nfc/nfcmrvl/fw_dnld.c | 2 +- drivers/nfc/nfcmrvl/main.c | 47 +- drivers/nfc/nfcmrvl/nfcmrvl.h | 4 +- drivers/nfc/nfcmrvl/uart.c | 23 +- drivers/nfc/nfcmrvl/usb.c | 2 +- drivers/nfc/nxp-nci/firmware.c | 2 +- drivers/nfc/pn533/usb.c | 4 +- drivers/nfc/pn544/i2c.c | 2 +- drivers/nfc/port100.c | 4 +- drivers/nfc/s3fwrn5/firmware.c | 2 +- drivers/nfc/s3fwrn5/i2c.c | 54 +- drivers/nfc/s3fwrn5/phy_common.c | 11 +- drivers/nfc/s3fwrn5/phy_common.h | 5 +- drivers/nfc/s3fwrn5/uart.c | 43 +- drivers/phy/broadcom/Kconfig | 4 +- drivers/phy/qualcomm/phy-qcom-sgmii-eth.c | 62 +- drivers/ptp/ptp_ocp.c | 365 +- drivers/staging/rtl8723bs/os_dep/ioctl_cfg80211.c | 33 +- drivers/vhost/vsock.c | 13 + include/linux/atmdev.h | 6 +- include/linux/ethtool.h | 2 + include/linux/ieee80211-uhr.h | 271 +- include/linux/ieee80211.h | 2 + include/linux/if_pppox.h | 6 - include/linux/mdio.h | 2 - include/linux/micrel_phy.h | 1 + include/linux/mlx5/driver.h | 1 + include/linux/mroute_base.h | 9 +- include/linux/net.h | 2 + include/linux/of_gpio.h | 38 - include/linux/phy.h | 5 - include/linux/ppp_channel.h | 2 +- include/linux/rculist_bl.h | 49 +- include/linux/skbuff.h | 13 +- include/linux/socket.h | 2 +- include/linux/stmmac.h | 109 +- include/linux/tcp.h | 14 +- include/linux/udp.h | 10 +- include/net/af_vsock.h | 9 + include/net/bonding.h | 10 +- include/net/cfg80211.h | 63 +- include/net/devlink.h | 10 + include/net/dropreason-core.h | 51 +- include/net/dropreason-qdisc.h | 114 + include/net/dropreason.h | 6 + include/net/hotdata.h | 5 +- include/net/inet6_connection_sock.h | 4 +- include/net/inet6_hashtables.h | 2 + include/net/inet_common.h | 3 +- include/net/inet_connection_sock.h | 3 +- include/net/inet_hashtables.h | 1 - include/net/ip.h | 2 +- include/net/ip6_checksum.h | 2 - include/net/ip6_route.h | 15 +- include/net/ip6_tunnel.h | 2 +- include/net/ip_vs.h | 396 +- include/net/ipv6.h | 8 +- include/net/ipv6_stubs.h | 7 +- include/net/mac80211.h | 15 +- include/net/mana/gdma.h | 20 +- include/net/netdev_rx_queue.h | 3 +- include/net/netfilter/nf_tables.h | 32 - include/net/netfilter/nft_fib.h | 2 - include/net/netfilter/nft_meta.h | 3 - include/net/netmem.h | 38 +- include/net/netns/ipv4.h | 9 +- include/net/netns/ipv6.h | 2 +- include/net/netns/mib.h | 5 - include/net/netns/vsock.h | 2 + include/net/page_pool/types.h | 11 +- include/net/ping.h | 5 +- include/net/rps-types.h | 24 + include/net/rps.h | 49 +- include/net/sch_generic.h | 47 +- include/net/sock.h | 17 +- include/net/tc_wrapper.h | 47 +- include/net/tcp.h | 88 +- include/net/transp_v6.h | 3 - include/net/udp.h | 89 +- include/net/udplite.h | 88 - include/trace/events/devlink.h | 36 +- include/trace/events/qdisc.h | 51 + include/uapi/linux/devlink.h | 4 + include/uapi/linux/ethtool.h | 2 +- include/uapi/linux/ethtool_netlink_generated.h | 1 + include/uapi/linux/if_link.h | 2 + include/uapi/linux/if_pppox.h | 14 +- include/uapi/linux/inet_diag.h | 9 + include/uapi/linux/nfc.h | 6 +- include/uapi/linux/nl80211.h | 34 + include/uapi/linux/openvswitch.h | 76 +- include/uapi/linux/udp.h | 2 + net/atm/pppoatm.c | 2 +- net/bridge/netfilter/nft_meta_bridge.c | 20 - net/bridge/netfilter/nft_reject_bridge.c | 1 - net/core/dev.c | 158 +- net/core/failover.c | 14 +- net/core/fib_notifier.c | 1 + net/core/filter.c | 5 +- net/core/link_watch.c | 2 +- net/core/net-sysfs.c | 83 +- net/core/net-sysfs.h | 1 + net/core/scm.c | 12 +- net/core/skbuff.c | 16 +- net/core/sock.c | 45 +- net/core/sock_diag.c | 3 +- net/core/sysctl_net_core.c | 119 +- net/devlink/Makefile | 2 +- net/devlink/core.c | 91 +- net/devlink/dev.c | 8 +- net/devlink/devl_internal.h | 34 +- net/devlink/netlink.c | 52 +- net/devlink/netlink_gen.c | 355 +- net/devlink/port.c | 19 +- net/devlink/sh_dev.c | 161 + net/dns_resolver/dns_key.c | 16 +- net/dns_resolver/dns_query.c | 14 +- net/dns_resolver/internal.h | 14 +- net/ethtool/pause.c | 4 +- net/hsr/hsr_device.c | 2 +- net/hsr/hsr_framereg.c | 4 +- net/hsr/hsr_main.c | 2 +- net/ieee802154/socket.c | 6 +- net/ipv4/Makefile | 2 +- net/ipv4/af_inet.c | 33 +- net/ipv4/devinet.c | 55 +- net/ipv4/icmp.c | 5 +- net/ipv4/inet_connection_sock.c | 4 +- net/ipv4/inet_diag.c | 13 +- net/ipv4/inet_hashtables.c | 79 +- net/ipv4/inetpeer.c | 3 +- net/ipv4/ip_input.c | 39 + net/ipv4/ip_sockglue.c | 4 +- net/ipv4/ip_tunnel_core.c | 2 +- net/ipv4/ipmr.c | 265 +- net/ipv4/ipmr_base.c | 5 +- net/ipv4/netfilter.c | 3 +- net/ipv4/netfilter/nft_dup_ipv4.c | 1 - net/ipv4/netfilter/nft_fib_ipv4.c | 2 - net/ipv4/netfilter/nft_reject_ipv4.c | 1 - net/ipv4/ping.c | 9 +- net/ipv4/proc.c | 16 - net/ipv4/raw.c | 6 +- net/ipv4/sysctl_net_ipv4.c | 7 + net/ipv4/tcp.c | 122 +- net/ipv4/tcp_bbr.c | 1 + net/ipv4/tcp_bpf.c | 17 +- net/ipv4/tcp_dctcp.h | 1 + net/ipv4/tcp_diag.c | 4 +- net/ipv4/tcp_fastopen.c | 1 + net/ipv4/tcp_input.c | 67 +- net/ipv4/tcp_ipv4.c | 59 +- net/ipv4/tcp_minisocks.c | 1 + net/ipv4/tcp_output.c | 77 +- net/ipv4/tcp_plb.c | 1 + net/ipv4/udp.c | 439 +- net/ipv4/udp_bpf.c | 18 +- net/ipv4/udp_diag.c | 128 +- net/ipv4/udp_impl.h | 28 - net/ipv4/udp_offload.c | 3 +- net/ipv4/udplite.c | 135 - net/ipv6/Makefile | 2 +- net/ipv6/af_inet6.c | 41 +- net/ipv6/datagram.c | 9 +- net/ipv6/fib6_notifier.c | 1 + net/ipv6/fib6_rules.c | 3 + net/ipv6/ila/ila_common.c | 1 + net/ipv6/inet6_connection_sock.c | 19 +- net/ipv6/inet6_hashtables.c | 13 +- net/ipv6/ip6_checksum.c | 49 +- net/ipv6/ip6_fib.c | 3 + net/ipv6/ip6_input.c | 40 + net/ipv6/ip6mr.c | 4 +- net/ipv6/ipv6_sockglue.c | 17 +- net/ipv6/netfilter.c | 3 +- net/ipv6/netfilter/nft_dup_ipv6.c | 1 - net/ipv6/netfilter/nft_fib_ipv6.c | 81 +- net/ipv6/netfilter/nft_reject_ipv6.c | 1 - net/ipv6/ping.c | 3 +- net/ipv6/proc.c | 16 - net/ipv6/raw.c | 8 +- net/ipv6/reassembly.c | 6 + net/ipv6/sit.c | 11 +- net/ipv6/tcp_ipv6.c | 64 +- net/ipv6/udp.c | 328 +- net/ipv6/udp_impl.h | 32 - net/ipv6/udp_offload.c | 3 +- net/ipv6/udplite.c | 139 - net/l2tp/l2tp_eth.c | 5 +- net/l2tp/l2tp_ip.c | 4 +- net/l2tp/l2tp_ip6.c | 6 +- net/mac80211/cfg.c | 99 +- net/mac80211/ieee80211_i.h | 2 + net/mac80211/main.c | 10 + net/mac80211/mlme.c | 81 +- net/mac80211/rx.c | 5 + net/mac80211/sta_info.c | 4 +- net/mac80211/tx.c | 77 +- net/mac80211/wpa.c | 55 +- net/mpls/af_mpls.c | 3 - net/mptcp/options.c | 6 +- net/mptcp/protocol.c | 4 +- net/mptcp/subflow.c | 1 - net/netfilter/core.c | 3 +- net/netfilter/ipvs/ip_vs_conn.c | 1051 +++-- net/netfilter/ipvs/ip_vs_core.c | 181 +- net/netfilter/ipvs/ip_vs_ctl.c | 975 +++-- net/netfilter/ipvs/ip_vs_est.c | 18 +- net/netfilter/ipvs/ip_vs_pe_sip.c | 4 +- net/netfilter/ipvs/ip_vs_sync.c | 23 + net/netfilter/ipvs/ip_vs_xmit.c | 12 +- net/netfilter/nf_conntrack_netlink.c | 4 +- net/netfilter/nf_flow_table_offload.c | 1 + net/netfilter/nf_log_syslog.c | 16 +- net/netfilter/nf_queue.c | 1 + net/netfilter/nf_tables_api.c | 78 - net/netfilter/nfnetlink.c | 4 +- net/netfilter/nfnetlink_log.c | 19 +- net/netfilter/nfnetlink_queue.c | 24 +- net/netfilter/nft_bitwise.c | 104 - net/netfilter/nft_byteorder.c | 11 - net/netfilter/nft_chain_filter.c | 1 + net/netfilter/nft_cmp.c | 3 - net/netfilter/nft_compat.c | 10 - net/netfilter/nft_connlimit.c | 1 - net/netfilter/nft_counter.c | 1 - net/netfilter/nft_ct.c | 46 - net/netfilter/nft_dup_netdev.c | 1 - net/netfilter/nft_dynset.c | 1 - net/netfilter/nft_exthdr.c | 34 - net/netfilter/nft_fib.c | 42 - net/netfilter/nft_fib_inet.c | 1 - net/netfilter/nft_fib_netdev.c | 1 - net/netfilter/nft_flow_offload.c | 1 - net/netfilter/nft_fwd_netdev.c | 2 - net/netfilter/nft_hash.c | 36 - net/netfilter/nft_immediate.c | 12 - net/netfilter/nft_last.c | 1 - net/netfilter/nft_limit.c | 2 - net/netfilter/nft_log.c | 1 - net/netfilter/nft_lookup.c | 12 - net/netfilter/nft_masq.c | 3 - net/netfilter/nft_meta.c | 68 +- net/netfilter/nft_nat.c | 2 - net/netfilter/nft_numgen.c | 22 - net/netfilter/nft_objref.c | 2 - net/netfilter/nft_osf.c | 25 - net/netfilter/nft_payload.c | 47 - net/netfilter/nft_queue.c | 2 - net/netfilter/nft_quota.c | 1 - net/netfilter/nft_range.c | 1 - net/netfilter/nft_redir.c | 3 - net/netfilter/nft_reject_inet.c | 1 - net/netfilter/nft_reject_netdev.c | 1 - net/netfilter/nft_rt.c | 1 - net/netfilter/nft_set_rbtree.c | 23 +- net/netfilter/nft_socket.c | 26 - net/netfilter/nft_synproxy.c | 1 - net/netfilter/nft_tproxy.c | 1 - net/netfilter/nft_tunnel.c | 26 - net/netfilter/nft_xfrm.c | 27 - net/netfilter/xt_connbytes.c | 3 +- net/netfilter/xt_connlimit.c | 3 +- net/netfilter/xt_owner.c | 28 +- net/netfilter/xt_time.c | 3 +- net/netlink/af_netlink.c | 4 +- net/netlink/genetlink.c | 20 +- net/netlink/policy.c | 4 +- net/phonet/datagram.c | 4 +- net/phonet/pep.c | 2 +- net/psp/psp_main.c | 2 +- net/rds/send.c | 2 +- net/rxrpc/output.c | 2 - net/sched/cls_u32.c | 5 +- net/sched/sch_api.c | 5 +- net/sched/sch_cake.c | 26 +- net/sched/sch_codel.c | 5 +- net/sched/sch_dualpi2.c | 18 +- net/sched/sch_fq.c | 10 +- net/sched/sch_fq_codel.c | 4 +- net/sched/sch_fq_pie.c | 4 +- net/sched/sch_generic.c | 51 +- net/sched/sch_gred.c | 4 +- net/sched/sch_htb.c | 4 +- net/sched/sch_mq.c | 2 +- net/sched/sch_mqprio.c | 2 +- net/sched/sch_pie.c | 4 +- net/sched/sch_red.c | 4 +- net/sched/sch_sfb.c | 4 +- net/sched/sch_sfq.c | 8 +- net/sched/sch_taprio.c | 2 +- net/sctp/socket.c | 12 +- net/socket.c | 51 +- net/tls/Kconfig | 1 - net/tls/tls.h | 2 +- net/tls/tls_device_fallback.c | 3 - net/tls/tls_sw.c | 3 +- net/unix/af_unix.c | 4 +- net/unix/unix_bpf.c | 2 +- net/vmw_vsock/af_vsock.c | 39 +- net/vmw_vsock/virtio_transport.c | 7 + net/vmw_vsock/vsock_bpf.c | 2 +- net/wireless/chan.c | 29 +- net/wireless/core.c | 1 - net/wireless/core.h | 4 + net/wireless/ibss.c | 4 +- net/wireless/mlme.c | 51 +- net/wireless/nl80211.c | 279 +- net/wireless/nl80211.h | 5 +- net/wireless/pmsr.c | 5 +- net/wireless/rdev-ops.h | 62 +- net/wireless/sme.c | 4 +- net/wireless/sysfs.c | 33 +- net/wireless/trace.h | 185 +- net/wireless/util.c | 4 +- net/wireless/wext-compat.c | 12 +- net/xfrm/espintcp.c | 2 +- security/smack/smack_lsm.c | 4 +- tools/net/ynl/Makefile | 4 +- tools/net/ynl/pyynl/cli.py | 14 +- tools/net/ynl/pyynl/lib/__init__.py | 5 +- tools/net/ynl/pyynl/lib/ynl.py | 217 +- tools/net/ynl/samples/Makefile | 36 - tools/net/ynl/samples/devlink.c | 61 - tools/net/ynl/samples/ethtool.c | 65 - tools/net/ynl/samples/netdev.c | 128 - tools/net/ynl/samples/ovs.c | 60 - tools/net/ynl/samples/rt-addr.c | 80 - tools/net/ynl/samples/rt-link.c | 184 - tools/net/ynl/samples/rt-route.c | 80 - tools/net/ynl/samples/tc-filter-add.c | 335 -- tools/net/ynl/samples/tc.c | 80 - tools/net/ynl/{samples => tests}/.gitignore | 3 +- tools/net/ynl/tests/Makefile | 94 +- tools/net/ynl/tests/config | 8 + tools/net/ynl/tests/devlink.c | 101 + tools/net/ynl/tests/devlink.sh | 5 + tools/net/ynl/tests/ethtool.c | 92 + tools/net/ynl/tests/ethtool.sh | 5 + tools/net/ynl/tests/netdev.c | 231 + tools/net/ynl/tests/ovs.c | 108 + tools/net/ynl/tests/rt-addr.c | 111 + tools/net/ynl/tests/rt-addr.sh | 5 + tools/net/ynl/tests/rt-link.c | 206 + tools/net/ynl/tests/rt-route.c | 113 + tools/net/ynl/tests/rt-route.sh | 5 + tools/net/ynl/tests/tc.c | 409 ++ tools/net/ynl/tests/ynl_nsim_lib.sh | 35 + tools/testing/selftests/drivers/net/README.rst | 128 +- tools/testing/selftests/drivers/net/hw/Makefile | 1 + tools/testing/selftests/drivers/net/hw/config | 3 + tools/testing/selftests/drivers/net/hw/iou-zcrx.py | 58 +- .../selftests/drivers/net/hw/lib/py/__init__.py | 12 +- .../selftests/drivers/net/hw/nk_forward.bpf.c | 49 + tools/testing/selftests/drivers/net/hw/nk_netns.py | 29 + tools/testing/selftests/drivers/net/hw/rss_ctx.py | 49 +- tools/testing/selftests/drivers/net/hw/tso.py | 7 +- .../selftests/drivers/net/lib/py/__init__.py | 15 +- tools/testing/selftests/drivers/net/lib/py/env.py | 207 + .../drivers/net/netconsole/netcons_basic.sh | 6 +- tools/testing/selftests/net/Makefile | 4 + tools/testing/selftests/net/af_unix/so_peek_off.c | 46 + tools/testing/selftests/net/fib_tests.sh | 2 +- tools/testing/selftests/net/forwarding/.gitignore | 1 + tools/testing/selftests/net/forwarding/Makefile | 4 + .../selftests/net/forwarding/gre_multipath.sh | 2 +- .../selftests/net/forwarding/gre_multipath_nh.sh | 2 +- .../net/forwarding/gre_multipath_nh_res.sh | 2 +- tools/testing/selftests/net/forwarding/ipip_lib.sh | 2 +- tools/testing/selftests/net/forwarding/ipmr.c | 455 ++ .../selftests/net/forwarding/local_termination.sh | 25 + tools/testing/selftests/net/ip6_tunnel.sh | 44 + tools/testing/selftests/net/lib/py/__init__.py | 12 +- tools/testing/selftests/net/lib/py/utils.py | 71 +- tools/testing/selftests/net/lib/py/ynl.py | 18 +- .../selftests/net/macvlan_mcast_shared_mac.sh | 93 + tools/testing/selftests/net/nl_netdev.py | 32 +- tools/testing/selftests/net/nl_nlctrl.py | 135 + .../testing/selftests/net/openvswitch/ovs-dpctl.py | 2 +- .../packetdrill/tcp_disorder_fin_in_FIN_WAIT.pkt | 33 + .../net/packetdrill/tcp_rcv_big_endseq.pkt | 2 +- .../net/packetdrill/tcp_rcv_neg_window.pkt | 26 + .../net/packetdrill/tcp_rcv_wnd_shrink_allowed.pkt | 40 + .../net/packetdrill/tcp_rcv_wnd_shrink_nomem.pkt | 132 + tools/testing/selftests/net/rds/Makefile | 1 + tools/testing/selftests/net/rds/run.sh | 7 +- tools/testing/selftests/net/rds/settings | 1 + tools/testing/selftests/net/rds/test.py | 108 +- tools/testing/selftests/net/xfrm_state.sh | 613 +++ .../tc-testing/tc-tests/infra/qdiscs.json | 2 +- tools/testing/selftests/tc-testing/tdc_helper.py | 4 +- 689 files changed, 25601 insertions(+), 9392 deletions(-)