Pull networking updates from Jakub Kicinski: "Core & protocols: - Continue Netlink conversions to per-namespace RTNL lock (IPv4 routing, routing rules, routing next hops, ARP ioctls) - Continue extending the use of netdev instance locks. As a driver opt-in protect queue operations and (in due course) ethtool operations with the instance lock and not RTNL lock. - Support collecting TCP timestamps (data submitted, sent, acked) in BPF, allowing for transparent (to the application) and lower overhead tracking of TCP RPC performance. - Tweak existing networking Rx zero-copy infra to support zero-copy Rx via io_uring. - Optimize MPTCP performance in single subflow mode by 29%. - Enable GRO on packets which went thru XDP CPU redirect (were queued for processing on a different CPU). Improving TCP stream performance up to 2x. - Improve performance of contended connect() by 200% by searching for an available 4-tuple under RCU rather than a spin lock. Bring an additional 229% improvement by tweaking hash distribution. - Avoid unconditionally touching sk_tsflags on RX, improving performance under UDP flood by as much as 10%. - Avoid skb_clone() dance in ping_rcv() to improve performance under ping flood. - Avoid FIB lookup in netfilter if socket is available, 20% perf win. - Rework network device creation (in-kernel) API to more clearly identify network namespaces and their roles. There are up to 4 namespace roles but we used to have just 2 netns pointer arguments, interpreted differently based on context. - Use sysfs_break_active_protection() instead of trylock to avoid deadlocks between unregistering objects and sysfs access. - Add a new sysctl and sockopt for capping max retransmit timeout in TCP. - Support masking port and DSCP in routing rule matches. - Support dumping IPv4 multicast addresses with RTM_GETMULTICAST. - Support specifying at what time packet should be sent on AF_XDP sockets. - Expose TCP ULP diagnostic info (for TLS and MPTCP) to non-admin users. - Add Netlink YAML spec for WiFi (nl80211) and conntrack. - Introduce EXPORT_IPV6_MOD() and EXPORT_IPV6_MOD_GPL() for symbols which only need to be exported when IPv6 support is built as a module. - Age FDB entries based on Rx not Tx traffic in VxLAN, similar to normal bridging. - Allow users to specify source port range for GENEVE tunnels. - netconsole: allow attaching kernel release, CPU ID and task name to messages as metadata Driver API: - Continue rework / fixing of Energy Efficient Ethernet (EEE) across the SW layers. Delegate the responsibilities to phylink where possible. Improve its handling in phylib. - Support symmetric OR-XOR RSS hashing algorithm. - Support tracking and preserving IRQ affinity by NAPI itself. - Support loopback mode speed selection for interface selftests. Device drivers: - Remove the IBM LCS driver for s390 - Remove the sb1000 cable modem driver - Add support for SFP module access over SMBus - Add MCTP transport driver for MCTP-over-USB - Enable XDP metadata support in multiple drivers - Ethernet high-speed NICs: - Broadcom (bnxt): - add PCIe TLP Processing Hints (TPH) support for new AMD platforms - support dumping RoCE queue state for debug - opt into instance locking - Intel (100G, ice, idpf): - ice: rework MSI-X IRQ management and distribution - ice: support for E830 devices - iavf: add support for Rx timestamping - iavf: opt into instance locking - nVidia/Mellanox: - mlx4: use page pool memory allocator for Rx - mlx5: support for one PTP device per hardware clock - mlx5: support for 200Gbps per-lane link modes - mlx5: move IPSec policy check after decryption - AMD/Solarflare: - support FW flashing via devlink - Cisco (enic): - use page pool memory allocator for Rx - enable 32, 64 byte CQEs - get max rx/tx ring size from the device - Meta (fbnic): - support flow steering and RSS configuration - report queue stats - support TCP segmentation - support IRQ coalescing - support ring size configuration - Marvell/Cavium: - support AF_XDP - Wangxun: - support for PTP clock and timestamping - Huawei (hibmcge): - checksum offload - add more statistics - Ethernet virtual: - VirtIO net: - aggressively suppress Tx completions, improve perf by 96% with 1 CPU and 55% with 2 CPUs - expose NAPI to IRQ mapping and persist NAPI settings - Google (gve): - support XDP in DQO RDA Queue Format - opt into instance locking - Microsoft vNIC: - support BIG TCP - Ethernet NICs consumer, and embedded: - Synopsys (stmmac): - cleanup Tx and Tx clock setting and other link-focused cleanups - enable SGMII and 2500BASEX mode switching for Intel platforms - support Sophgo SG2044 - Broadcom switches (b53): - support for BCM53101 - TI: - iep: add perout configuration support - icssg: support XDP - Cadence (macb): - implement BQL - Xilinx (axinet): - support dynamic IRQ moderation and changing coalescing at runtime - implement BQL - report standard stats - MediaTek: - support phylink managed EEE - Intel: - igc: don't restart the interface on every XDP program change - RealTek (r8169): - support reading registers of internal PHYs directly - increase max jumbo packet size on RTL8125/RTL8126 - Airoha: - support for RISC-V NPU packet processing unit - enable scatter-gather and support MTU up to 9kB - Tehuti (tn40xx): - support cards with TN4010 MAC and an Aquantia AQR105 PHY - Ethernet PHYs: - support for TJA1102S, TJA1121 - dp83tg720: add randomized polling intervals for link detection - dp83822: support changing the transmit amplitude voltage - support for LEDs on 88q2xxx - CAN: - canxl: support Remote Request Substitution bit access - flexcan: add S32G2/S32G3 SoC - WiFi: - remove cooked monitor support - strict mode for better AP testing - basic EPCS support - OMI RX bandwidth reduction support - batman-adv: add support for jumbo frames - WiFi drivers: - RealTek (rtw88): - support RTL8814AE and RTL8814AU - RealTek (rtw89): - switch using wiphy_lock and wiphy_work - add BB context to manipulate two PHY as preparation of MLO - improve BT-coexistence mechanism to play A2DP smoothly - Intel (iwlwifi): - add new iwlmld sub-driver for latest HW/FW combinations - MediaTek (mt76): - preparation for mt7996 Multi-Link Operation (MLO) support - Qualcomm/Atheros (ath12k): - continued work on MLO - Silabs (wfx): - Wake-on-WLAN support - Bluetooth: - add support for skb TX SND/COMPLETION timestamping - hci_core: enable buffer flow control for SCO/eSCO - coredump: log devcd dumps into the monitor - Bluetooth drivers: - intel: add support to configure TX power - nxp: handle bootloader error during cmd5 and cmd7" * tag 'net-next-6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1681 commits) unix: fix up for "apparmor: add fine grained af_unix mediation" mctp: Fix incorrect tx flow invalidation condition in mctp-i2c net: usb: asix: ax88772: Increase phy_name size net: phy: Introduce PHY_ID_SIZE — minimum size for PHY ID string net: libwx: fix Tx L4 checksum net: libwx: fix Tx descriptor content for some tunnel packets atm: Fix NULL pointer dereference net: tn40xx: add pci-id of the aqr105-based Tehuti TN4010 cards net: tn40xx: prepare tn40xx driver to find phy of the TN9510 card net: tn40xx: create swnode for mdio and aqr105 phy and add to mdiobus net: phy: aquantia: add essential functions to aqr105 driver net: phy: aquantia: search for firmware-name in fwnode net: phy: aquantia: add probe function to aqr105 for firmware loading net: phy: Add swnode support to mdiobus_scan gve: add XDP DROP and PASS support for DQ gve: update XDP allocation path support RX buffer posting gve: merge packet buffer size fields gve: update GQ RX to use buf_size gve: introduce config-based allocation for XDP gve: remove xdp_xsk_done and xdp_xsk_wakeup statistics ...
Showing the changes to include/uapi/linux (17 of 1522 files). Show all
Unified · Split
| @@ -342,7 +342,7 @@ enum batadv_nl_attrs { · 341 unmodified lines | |||
| 342 | BATADV_ATTR_MCAST_FLAGS_PRIV, | 342 | BATADV_ATTR_MCAST_FLAGS_PRIV, |
| 343 | 343 | ||
| 344 | /** | 344 | /** |
| 345 | * @BATADV_ATTR_VLANID: VLAN id on top of soft interface | 345 | * @BATADV_ATTR_VLANID: VLAN id on top of mesh interface |
| 346 | */ | 346 | */ |
| 347 | BATADV_ATTR_VLANID, | 347 | BATADV_ATTR_VLANID, |
| 348 | 348 | ||
| @@ -380,7 +380,7 @@ enum batadv_nl_attrs { · 31 unmodified lines | |||
| 380 | /** | 380 | /** |
| 381 | * @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED: whether the bridge loop | 381 | * @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED: whether the bridge loop |
| 382 | * avoidance feature is enabled. This feature detects and avoids loops | 382 | * avoidance feature is enabled. This feature detects and avoids loops |
| 383 | * between the mesh and devices bridged with the soft interface | 383 | * between the mesh and devices bridged with the mesh interface |
| 384 | */ | 384 | */ |
| 385 | BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED, | 385 | BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED, |
| 386 | 386 | ||
| @@ -509,7 +509,7 @@ enum batadv_nl_commands { · 122 unmodified lines | |||
| 509 | BATADV_CMD_UNSPEC, | 509 | BATADV_CMD_UNSPEC, |
| 510 | 510 | ||
| 511 | /** | 511 | /** |
| 512 | * @BATADV_CMD_GET_MESH: Get attributes from softif/mesh | 512 | * @BATADV_CMD_GET_MESH: Get attributes from mesh(if) |
| 513 | */ | 513 | */ |
| 514 | BATADV_CMD_GET_MESH, | 514 | BATADV_CMD_GET_MESH, |
| 515 | 515 | ||
| @@ -535,7 +535,7 @@ enum batadv_nl_commands { · 19 unmodified lines | |||
| 535 | 535 | ||
| 536 | /** | 536 | /** |
| 537 | * @BATADV_CMD_GET_HARDIF: Get attributes from a hardif of the | 537 | * @BATADV_CMD_GET_HARDIF: Get attributes from a hardif of the |
| 538 | * current softif | 538 | * current mesh(if) |
| 539 | */ | 539 | */ |
| 540 | BATADV_CMD_GET_HARDIF, | 540 | BATADV_CMD_GET_HARDIF, |
| 541 | 541 | ||
| @@ -591,25 +591,25 @@ enum batadv_nl_commands { · 49 unmodified lines | |||
| 591 | BATADV_CMD_GET_MCAST_FLAGS, | 591 | BATADV_CMD_GET_MCAST_FLAGS, |
| 592 | 592 | ||
| 593 | /** | 593 | /** |
| 594 | * @BATADV_CMD_SET_MESH: Set attributes for softif/mesh | 594 | * @BATADV_CMD_SET_MESH: Set attributes for mesh(if) |
| 595 | */ | 595 | */ |
| 596 | BATADV_CMD_SET_MESH, | 596 | BATADV_CMD_SET_MESH, |
| 597 | 597 | ||
| 598 | /** | 598 | /** |
| 599 | * @BATADV_CMD_SET_HARDIF: Set attributes for hardif of the | 599 | * @BATADV_CMD_SET_HARDIF: Set attributes for hardif of the |
| 600 | * current softif | 600 | * current mesh(if) |
| 601 | */ | 601 | */ |
| 602 | BATADV_CMD_SET_HARDIF, | 602 | BATADV_CMD_SET_HARDIF, |
| 603 | 603 | ||
| 604 | /** | 604 | /** |
| 605 | * @BATADV_CMD_GET_VLAN: Get attributes from a VLAN of the | 605 | * @BATADV_CMD_GET_VLAN: Get attributes from a VLAN of the |
| 606 | * current softif | 606 | * current mesh(if) |
| 607 | */ | 607 | */ |
| 608 | BATADV_CMD_GET_VLAN, | 608 | BATADV_CMD_GET_VLAN, |
| 609 | 609 | ||
| 610 | /** | 610 | /** |
| 611 | * @BATADV_CMD_SET_VLAN: Set attributes for VLAN of the | 611 | * @BATADV_CMD_SET_VLAN: Set attributes for VLAN of the |
| 612 | * current softif | 612 | * current mesh(if) |
| 613 | */ | 613 | */ |
| 614 | BATADV_CMD_SET_VLAN, | 614 | BATADV_CMD_SET_VLAN, |
| 615 | 615 | ||
| @@ -691,7 +691,7 @@ enum batadv_ifla_attrs { · 75 unmodified lines | |||
| 691 | */ | 691 | */ |
| 692 | IFLA_BATADV_ALGO_NAME, | 692 | IFLA_BATADV_ALGO_NAME, |
| 693 | 693 | ||
| 694 | /* add attributes above here, update the policy in soft-interface.c */ | 694 | /* add attributes above here, update the policy in mesh-interface.c */ |
| 695 | 695 | ||
| 696 | /** | 696 | /** |
| 697 | * @__IFLA_BATADV_MAX: internal use | 697 | * @__IFLA_BATADV_MAX: internal use |
| @@ -6913,6 +6913,12 @@ enum { · 6912 unmodified lines | |||
| 6913 | BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7F, | 6913 | BPF_SOCK_OPS_ALL_CB_FLAGS = 0x7F, |
| 6914 | }; | 6914 | }; |
| 6915 | 6915 | ||
| 6916 | enum { | ||
| 6917 | SK_BPF_CB_TX_TIMESTAMPING = 1<<0, | ||
| 6918 | SK_BPF_CB_MASK = (SK_BPF_CB_TX_TIMESTAMPING - 1) | | ||
| 6919 | SK_BPF_CB_TX_TIMESTAMPING | ||
| 6920 | }; | ||
| 6921 | |||
| 6916 | /* List of known BPF sock_ops operators. | 6922 | /* List of known BPF sock_ops operators. |
| 6917 | * New entries can only be added at the end | 6923 | * New entries can only be added at the end |
| 6918 | */ | 6924 | */ |
| @@ -7025,6 +7031,29 @@ enum { · 106 unmodified lines | |||
| 7025 | * by the kernel or the | 7031 | * by the kernel or the |
| 7026 | * earlier bpf-progs. | 7032 | * earlier bpf-progs. |
| 7027 | */ | 7033 | */ |
| 7034 | BPF_SOCK_OPS_TSTAMP_SCHED_CB, /* Called when skb is passing | ||
| 7035 | * through dev layer when | ||
| 7036 | * SK_BPF_CB_TX_TIMESTAMPING | ||
| 7037 | * feature is on. | ||
| 7038 | */ | ||
| 7039 | BPF_SOCK_OPS_TSTAMP_SND_SW_CB, /* Called when skb is about to send | ||
| 7040 | * to the nic when SK_BPF_CB_TX_TIMESTAMPING | ||
| 7041 | * feature is on. | ||
| 7042 | */ | ||
| 7043 | BPF_SOCK_OPS_TSTAMP_SND_HW_CB, /* Called in hardware phase when | ||
| 7044 | * SK_BPF_CB_TX_TIMESTAMPING feature | ||
| 7045 | * is on. | ||
| 7046 | */ | ||
| 7047 | BPF_SOCK_OPS_TSTAMP_ACK_CB, /* Called when all the skbs in the | ||
| 7048 | * same sendmsg call are acked | ||
| 7049 | * when SK_BPF_CB_TX_TIMESTAMPING | ||
| 7050 | * feature is on. | ||
| 7051 | */ | ||
| 7052 | BPF_SOCK_OPS_TSTAMP_SENDMSG_CB, /* Called when every sendmsg syscall | ||
| 7053 | * is triggered. It's used to correlate | ||
| 7054 | * sendmsg timestamp with corresponding | ||
| 7055 | * tskey. | ||
| 7056 | */ | ||
| 7028 | }; | 7057 | }; |
| 7029 | 7058 | ||
| 7030 | /* List of TCP states. There is a build check in net/ipv4/tcp.c to detect | 7059 | /* List of TCP states. There is a build check in net/ipv4/tcp.c to detect |
| @@ -7091,6 +7120,7 @@ enum { · 60 unmodified lines | |||
| 7091 | TCP_BPF_SYN_IP = 1006, /* Copy the IP[46] and TCP header */ | 7120 | TCP_BPF_SYN_IP = 1006, /* Copy the IP[46] and TCP header */ |
| 7092 | TCP_BPF_SYN_MAC = 1007, /* Copy the MAC, IP[46], and TCP header */ | 7121 | TCP_BPF_SYN_MAC = 1007, /* Copy the MAC, IP[46], and TCP header */ |
| 7093 | TCP_BPF_SOCK_OPS_CB_FLAGS = 1008, /* Get or Set TCP sock ops flags */ | 7122 | TCP_BPF_SOCK_OPS_CB_FLAGS = 1008, /* Get or Set TCP sock ops flags */ |
| 7123 | SK_BPF_CB_FLAGS = 1009, /* Get or set sock ops flags in socket */ | ||
| 7094 | }; | 7124 | }; |
| 7095 | 7125 | ||
| 7096 | enum { | 7126 | enum { |
| @@ -182,7 +182,7 @@ struct canfd_frame { · 181 unmodified lines | |||
| 182 | /* | 182 | /* |
| 183 | * defined bits for canxl_frame.flags | 183 | * defined bits for canxl_frame.flags |
| 184 | * | 184 | * |
| 185 | * The canxl_frame.flags element contains two bits CANXL_XLF and CANXL_SEC | 185 | * The canxl_frame.flags element contains three bits CANXL_[XLF|SEC|RRS] |
| 186 | * and shares the relative position of the struct can[fd]_frame.len element. | 186 | * and shares the relative position of the struct can[fd]_frame.len element. |
| 187 | * The CANXL_XLF bit ALWAYS needs to be set to indicate a valid CAN XL frame. | 187 | * The CANXL_XLF bit ALWAYS needs to be set to indicate a valid CAN XL frame. |
| 188 | * As a side effect setting this bit intentionally breaks the length checks | 188 | * As a side effect setting this bit intentionally breaks the length checks |
| @@ -192,6 +192,7 @@ struct canfd_frame { · 3 unmodified lines | |||
| 192 | */ | 192 | */ |
| 193 | #define CANXL_XLF 0x80 /* mandatory CAN XL frame flag (must always be set!) */ | 193 | #define CANXL_XLF 0x80 /* mandatory CAN XL frame flag (must always be set!) */ |
| 194 | #define CANXL_SEC 0x01 /* Simple Extended Content (security/segmentation) */ | 194 | #define CANXL_SEC 0x01 /* Simple Extended Content (security/segmentation) */ |
| 195 | #define CANXL_RRS 0x02 /* Remote Request Substitution */ | ||
| 195 | 196 | ||
| 196 | /* the 8-bit VCID is optionally placed in the canxl_frame.prio element */ | 197 | /* the 8-bit VCID is optionally placed in the canxl_frame.prio element */ |
| 197 | #define CANXL_VCID_OFFSET 16 /* bit offset of VCID in prio element */ | 198 | #define CANXL_VCID_OFFSET 16 /* bit offset of VCID in prio element */ |
| @@ -73,6 +73,7 @@ enum { · 72 unmodified lines | |||
| 73 | SCM_TSTAMP_SND, /* driver passed skb to NIC, or HW */ | 73 | SCM_TSTAMP_SND, /* driver passed skb to NIC, or HW */ |
| 74 | SCM_TSTAMP_SCHED, /* data entered the packet scheduler */ | 74 | SCM_TSTAMP_SCHED, /* data entered the packet scheduler */ |
| 75 | SCM_TSTAMP_ACK, /* data acknowledged by peer */ | 75 | SCM_TSTAMP_ACK, /* data acknowledged by peer */ |
| 76 | SCM_TSTAMP_COMPLETION, /* packet tx completion */ | ||
| 76 | }; | 77 | }; |
| 77 | 78 | ||
| 78 | #endif /* _UAPI_LINUX_ERRQUEUE_H */ | 79 | #endif /* _UAPI_LINUX_ERRQUEUE_H */ |
| @@ -2059,6 +2059,24 @@ enum ethtool_link_mode_bit_indices { · 2058 unmodified lines | |||
| 2059 | ETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100, | 2059 | ETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100, |
| 2060 | ETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101, | 2060 | ETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101, |
| 2061 | ETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT = 102, | 2061 | ETHTOOL_LINK_MODE_10baseT1BRR_Full_BIT = 102, |
| 2062 | ETHTOOL_LINK_MODE_200000baseCR_Full_BIT = 103, | ||
| 2063 | ETHTOOL_LINK_MODE_200000baseKR_Full_BIT = 104, | ||
| 2064 | ETHTOOL_LINK_MODE_200000baseDR_Full_BIT = 105, | ||
| 2065 | ETHTOOL_LINK_MODE_200000baseDR_2_Full_BIT = 106, | ||
| 2066 | ETHTOOL_LINK_MODE_200000baseSR_Full_BIT = 107, | ||
| 2067 | ETHTOOL_LINK_MODE_200000baseVR_Full_BIT = 108, | ||
| 2068 | ETHTOOL_LINK_MODE_400000baseCR2_Full_BIT = 109, | ||
| 2069 | ETHTOOL_LINK_MODE_400000baseKR2_Full_BIT = 110, | ||
| 2070 | ETHTOOL_LINK_MODE_400000baseDR2_Full_BIT = 111, | ||
| 2071 | ETHTOOL_LINK_MODE_400000baseDR2_2_Full_BIT = 112, | ||
| 2072 | ETHTOOL_LINK_MODE_400000baseSR2_Full_BIT = 113, | ||
| 2073 | ETHTOOL_LINK_MODE_400000baseVR2_Full_BIT = 114, | ||
| 2074 | ETHTOOL_LINK_MODE_800000baseCR4_Full_BIT = 115, | ||
| 2075 | ETHTOOL_LINK_MODE_800000baseKR4_Full_BIT = 116, | ||
| 2076 | ETHTOOL_LINK_MODE_800000baseDR4_Full_BIT = 117, | ||
| 2077 | ETHTOOL_LINK_MODE_800000baseDR4_2_Full_BIT = 118, | ||
| 2078 | ETHTOOL_LINK_MODE_800000baseSR4_Full_BIT = 119, | ||
| 2079 | ETHTOOL_LINK_MODE_800000baseVR4_Full_BIT = 120, | ||
| 2062 | 2080 | ||
| 2063 | /* must be last entry */ | 2081 | /* must be last entry */ |
| 2064 | __ETHTOOL_LINK_MODE_MASK_NBITS | 2082 | __ETHTOOL_LINK_MODE_MASK_NBITS |
| @@ -2271,6 +2289,10 @@ static inline int ethtool_validate_duplex(__u8 duplex) · 206 unmodified lines | |||
| 2271 | * be exploited to reduce the RSS queue spread. | 2289 | * be exploited to reduce the RSS queue spread. |
| 2272 | */ | 2290 | */ |
| 2273 | #define RXH_XFRM_SYM_XOR (1 << 0) | 2291 | #define RXH_XFRM_SYM_XOR (1 << 0) |
| 2292 | /* Similar to SYM_XOR, except that one copy of the XOR'ed fields is replaced by | ||
| 2293 | * an OR of the same fields | ||
| 2294 | */ | ||
| 2295 | #define RXH_XFRM_SYM_OR_XOR (1 << 1) | ||
| 2274 | #define RXH_XFRM_NO_CHANGE 0xff | 2296 | #define RXH_XFRM_NO_CHANGE 0xff |
| 2275 | 2297 | ||
| 2276 | /* L2-L4 network traffic flow types */ | 2298 | /* L2-L4 network traffic flow types */ |
| @@ -70,6 +70,9 @@ enum { · 69 unmodified lines | |||
| 70 | FRA_DSCP, /* dscp */ | 70 | FRA_DSCP, /* dscp */ |
| 71 | FRA_FLOWLABEL, /* flowlabel */ | 71 | FRA_FLOWLABEL, /* flowlabel */ |
| 72 | FRA_FLOWLABEL_MASK, /* flowlabel mask */ | 72 | FRA_FLOWLABEL_MASK, /* flowlabel mask */ |
| 73 | FRA_SPORT_MASK, /* sport mask */ | ||
| 74 | FRA_DPORT_MASK, /* dport mask */ | ||
| 75 | FRA_DSCP_MASK, /* dscp mask */ | ||
| 73 | __FRA_MAX | 76 | __FRA_MAX |
| 74 | }; | 77 | }; |
| 75 | 78 | ||
| @@ -1,23 +0,0 @@ | |||
| 1 | /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ | ||
| 2 | #ifndef _LINUX_CABLEMODEM_H_ | ||
| 3 | #define _LINUX_CABLEMODEM_H_ | ||
| 4 | /* | ||
| 5 | * Author: Franco Venturi <fventuri@mediaone.net> | ||
| 6 | * Copyright 1998 Franco Venturi | ||
| 7 | * | ||
| 8 | * This program is free software; you can redistribute it | ||
| 9 | * and/or modify it under the terms of the GNU General | ||
| 10 | * Public License as published by the Free Software | ||
| 11 | * Foundation; either version 2 of the License, or (at | ||
| 12 | * your option) any later version. | ||
| 13 | */ | ||
| 14 | |||
| 15 | /* some useful defines for sb1000.c e cmconfig.c - fv */ | ||
| 16 | #define SIOCGCMSTATS (SIOCDEVPRIVATE+0) /* get cable modem stats */ | ||
| 17 | #define SIOCGCMFIRMWARE (SIOCDEVPRIVATE+1) /* get cm firmware version */ | ||
| 18 | #define SIOCGCMFREQUENCY (SIOCDEVPRIVATE+2) /* get cable modem frequency */ | ||
| 19 | #define SIOCSCMFREQUENCY (SIOCDEVPRIVATE+3) /* set cable modem frequency */ | ||
| 20 | #define SIOCGCMPIDS (SIOCDEVPRIVATE+4) /* get cable modem PIDs */ | ||
| 21 | #define SIOCSCMPIDS (SIOCDEVPRIVATE+5) /* set cable modem PIDs */ | ||
| 22 | |||
| 23 | #endif | ||
| @@ -378,6 +378,7 @@ enum { · 377 unmodified lines | |||
| 378 | IFLA_GRO_IPV4_MAX_SIZE, | 378 | IFLA_GRO_IPV4_MAX_SIZE, |
| 379 | IFLA_DPLL_PIN, | 379 | IFLA_DPLL_PIN, |
| 380 | IFLA_MAX_PACING_OFFLOAD_HORIZON, | 380 | IFLA_MAX_PACING_OFFLOAD_HORIZON, |
| 381 | IFLA_NETNS_IMMUTABLE, | ||
| 381 | __IFLA_MAX | 382 | __IFLA_MAX |
| 382 | }; | 383 | }; |
| 383 | 384 | ||
| @@ -1438,6 +1439,7 @@ enum { · 1054 unmodified lines | |||
| 1438 | IFLA_GENEVE_TTL_INHERIT, | 1439 | IFLA_GENEVE_TTL_INHERIT, |
| 1439 | IFLA_GENEVE_DF, | 1440 | IFLA_GENEVE_DF, |
| 1440 | IFLA_GENEVE_INNER_PROTO_INHERIT, | 1441 | IFLA_GENEVE_INNER_PROTO_INHERIT, |
| 1442 | IFLA_GENEVE_PORT_RANGE, | ||
| 1441 | __IFLA_GENEVE_MAX | 1443 | __IFLA_GENEVE_MAX |
| 1442 | }; | 1444 | }; |
| 1443 | #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) | 1445 | #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) |
| @@ -1450,6 +1452,11 @@ enum ifla_geneve_df { · 6 unmodified lines | |||
| 1450 | GENEVE_DF_MAX = __GENEVE_DF_END - 1, | 1452 | GENEVE_DF_MAX = __GENEVE_DF_END - 1, |
| 1451 | }; | 1453 | }; |
| 1452 | 1454 | ||
| 1455 | struct ifla_geneve_port_range { | ||
| 1456 | __be16 low; | ||
| 1457 | __be16 high; | ||
| 1458 | }; | ||
| 1459 | |||
| 1453 | /* Bareudp section */ | 1460 | /* Bareudp section */ |
| 1454 | enum { | 1461 | enum { |
| 1455 | IFLA_BAREUDP_UNSPEC, | 1462 | IFLA_BAREUDP_UNSPEC, |
| @@ -127,6 +127,12 @@ struct xdp_options { · 126 unmodified lines | |||
| 127 | */ | 127 | */ |
| 128 | #define XDP_TXMD_FLAGS_CHECKSUM (1 << 1) | 128 | #define XDP_TXMD_FLAGS_CHECKSUM (1 << 1) |
| 129 | 129 | ||
| 130 | /* Request launch time hardware offload. The device will schedule the packet for | ||
| 131 | * transmission at a pre-determined time called launch time. The value of | ||
| 132 | * launch time is communicated via launch_time field of struct xsk_tx_metadata. | ||
| 133 | */ | ||
| 134 | #define XDP_TXMD_FLAGS_LAUNCH_TIME (1 << 2) | ||
| 135 | |||
| 130 | /* AF_XDP offloads request. 'request' union member is consumed by the driver | 136 | /* AF_XDP offloads request. 'request' union member is consumed by the driver |
| 131 | * when the packet is being transmitted. 'completion' union member is | 137 | * when the packet is being transmitted. 'completion' union member is |
| 132 | * filled by the driver when the transmit completion arrives. | 138 | * filled by the driver when the transmit completion arrives. |
| @@ -142,6 +148,10 @@ struct xsk_tx_metadata { · 9 unmodified lines | |||
| 142 | __u16 csum_start; | 148 | __u16 csum_start; |
| 143 | /* Offset from csum_start where checksum should be stored. */ | 149 | /* Offset from csum_start where checksum should be stored. */ |
| 144 | __u16 csum_offset; | 150 | __u16 csum_offset; |
| 151 | |||
| 152 | /* XDP_TXMD_FLAGS_LAUNCH_TIME */ | ||
| 153 | /* Launch time in nanosecond against the PTP HW Clock */ | ||
| 154 | __u64 launch_time; | ||
| 145 | } request; | 155 | } request; |
| 146 | 156 | ||
| 147 | struct { | 157 | struct { |
| @@ -44,8 +44,9 @@ enum { · 43 unmodified lines | |||
| 44 | SOF_TIMESTAMPING_BIND_PHC = (1 << 15), | 44 | SOF_TIMESTAMPING_BIND_PHC = (1 << 15), |
| 45 | SOF_TIMESTAMPING_OPT_ID_TCP = (1 << 16), | 45 | SOF_TIMESTAMPING_OPT_ID_TCP = (1 << 16), |
| 46 | SOF_TIMESTAMPING_OPT_RX_FILTER = (1 << 17), | 46 | SOF_TIMESTAMPING_OPT_RX_FILTER = (1 << 17), |
| 47 | SOF_TIMESTAMPING_TX_COMPLETION = (1 << 18), | ||
| 47 | 48 | ||
| 48 | SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_RX_FILTER, | 49 | SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_TX_COMPLETION, |
| 49 | SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | | 50 | SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | |
| 50 | SOF_TIMESTAMPING_LAST | 51 | SOF_TIMESTAMPING_LAST |
| 51 | }; | 52 | }; |
| @@ -58,7 +59,8 @@ enum { · 6 unmodified lines | |||
| 58 | #define SOF_TIMESTAMPING_TX_RECORD_MASK (SOF_TIMESTAMPING_TX_HARDWARE | \ | 59 | #define SOF_TIMESTAMPING_TX_RECORD_MASK (SOF_TIMESTAMPING_TX_HARDWARE | \ |
| 59 | SOF_TIMESTAMPING_TX_SOFTWARE | \ | 60 | SOF_TIMESTAMPING_TX_SOFTWARE | \ |
| 60 | SOF_TIMESTAMPING_TX_SCHED | \ | 61 | SOF_TIMESTAMPING_TX_SCHED | \ |
| 61 | SOF_TIMESTAMPING_TX_ACK) | 62 | SOF_TIMESTAMPING_TX_ACK | \ |
| 63 | SOF_TIMESTAMPING_TX_COMPLETION) | ||
| 62 | 64 | ||
| 63 | /** | 65 | /** |
| 64 | * struct so_timestamping - SO_TIMESTAMPING parameter | 66 | * struct so_timestamping - SO_TIMESTAMPING parameter |
| @@ -59,10 +59,13 @@ enum netdev_xdp_rx_metadata { · 58 unmodified lines | |||
| 59 | * by the driver. | 59 | * by the driver. |
| 60 | * @NETDEV_XSK_FLAGS_TX_CHECKSUM: L3 checksum HW offload is supported by the | 60 | * @NETDEV_XSK_FLAGS_TX_CHECKSUM: L3 checksum HW offload is supported by the |
| 61 | * driver. | 61 | * driver. |
| 62 | * @NETDEV_XSK_FLAGS_TX_LAUNCH_TIME_FIFO: Launch time HW offload is supported | ||
| 63 | * by the driver. | ||
| 62 | */ | 64 | */ |
| 63 | enum netdev_xsk_flags { | 65 | enum netdev_xsk_flags { |
| 64 | NETDEV_XSK_FLAGS_TX_TIMESTAMP = 1, | 66 | NETDEV_XSK_FLAGS_TX_TIMESTAMP = 1, |
| 65 | NETDEV_XSK_FLAGS_TX_CHECKSUM = 2, | 67 | NETDEV_XSK_FLAGS_TX_CHECKSUM = 2, |
| 68 | NETDEV_XSK_FLAGS_TX_LAUNCH_TIME_FIFO = 4, | ||
| 66 | }; | 69 | }; |
| 67 | 70 | ||
| 68 | enum netdev_queue_type { | 71 | enum netdev_queue_type { |
| @@ -86,6 +89,11 @@ enum { · 17 unmodified lines | |||
| 86 | NETDEV_A_DEV_MAX = (__NETDEV_A_DEV_MAX - 1) | 89 | NETDEV_A_DEV_MAX = (__NETDEV_A_DEV_MAX - 1) |
| 87 | }; | 90 | }; |
| 88 | 91 | ||
| 92 | enum { | ||
| 93 | __NETDEV_A_IO_URING_PROVIDER_INFO_MAX, | ||
| 94 | NETDEV_A_IO_URING_PROVIDER_INFO_MAX = (__NETDEV_A_IO_URING_PROVIDER_INFO_MAX - 1) | ||
| 95 | }; | ||
| 96 | |||
| 89 | enum { | 97 | enum { |
| 90 | NETDEV_A_PAGE_POOL_ID = 1, | 98 | NETDEV_A_PAGE_POOL_ID = 1, |
| 91 | NETDEV_A_PAGE_POOL_IFINDEX, | 99 | NETDEV_A_PAGE_POOL_IFINDEX, |
| @@ -94,6 +102,7 @@ enum { · 2 unmodified lines | |||
| 94 | NETDEV_A_PAGE_POOL_INFLIGHT_MEM, | 102 | NETDEV_A_PAGE_POOL_INFLIGHT_MEM, |
| 95 | NETDEV_A_PAGE_POOL_DETACH_TIME, | 103 | NETDEV_A_PAGE_POOL_DETACH_TIME, |
| 96 | NETDEV_A_PAGE_POOL_DMABUF, | 104 | NETDEV_A_PAGE_POOL_DMABUF, |
| 105 | NETDEV_A_PAGE_POOL_IO_URING, | ||
| 97 | 106 | ||
| 98 | __NETDEV_A_PAGE_POOL_MAX, | 107 | __NETDEV_A_PAGE_POOL_MAX, |
| 99 | NETDEV_A_PAGE_POOL_MAX = (__NETDEV_A_PAGE_POOL_MAX - 1) | 108 | NETDEV_A_PAGE_POOL_MAX = (__NETDEV_A_PAGE_POOL_MAX - 1) |
| @@ -130,12 +139,19 @@ enum { · 30 unmodified lines | |||
| 130 | NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1) | 139 | NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1) |
| 131 | }; | 140 | }; |
| 132 | 141 | ||
| 142 | enum { | ||
| 143 | __NETDEV_A_XSK_INFO_MAX, | ||
| 144 | NETDEV_A_XSK_INFO_MAX = (__NETDEV_A_XSK_INFO_MAX - 1) | ||
| 145 | }; | ||
| 146 | |||
| 133 | enum { | 147 | enum { |
| 134 | NETDEV_A_QUEUE_ID = 1, | 148 | NETDEV_A_QUEUE_ID = 1, |
| 135 | NETDEV_A_QUEUE_IFINDEX, | 149 | NETDEV_A_QUEUE_IFINDEX, |
| 136 | NETDEV_A_QUEUE_TYPE, | 150 | NETDEV_A_QUEUE_TYPE, |
| 137 | NETDEV_A_QUEUE_NAPI_ID, | 151 | NETDEV_A_QUEUE_NAPI_ID, |
| 138 | NETDEV_A_QUEUE_DMABUF, | 152 | NETDEV_A_QUEUE_DMABUF, |
| 153 | NETDEV_A_QUEUE_IO_URING, | ||
| 154 | NETDEV_A_QUEUE_XSK, | ||
| 139 | 155 | ||
| 140 | __NETDEV_A_QUEUE_MAX, | 156 | __NETDEV_A_QUEUE_MAX, |
| 141 | NETDEV_A_QUEUE_MAX = (__NETDEV_A_QUEUE_MAX - 1) | 157 | NETDEV_A_QUEUE_MAX = (__NETDEV_A_QUEUE_MAX - 1) |
| @@ -11,7 +11,7 @@ · 10 unmodified lines | |||
| 11 | * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com> | 11 | * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com> |
| 12 | * Copyright 2008 Colin McCabe <colin@cozybit.com> | 12 | * Copyright 2008 Colin McCabe <colin@cozybit.com> |
| 13 | * Copyright 2015-2017 Intel Deutschland GmbH | 13 | * Copyright 2015-2017 Intel Deutschland GmbH |
| 14 | * Copyright (C) 2018-2024 Intel Corporation | 14 | * Copyright (C) 2018-2025 Intel Corporation |
| 15 | * | 15 | * |
| 16 | * Permission to use, copy, modify, and/or distribute this software for any | 16 | * Permission to use, copy, modify, and/or distribute this software for any |
| 17 | * purpose with or without fee is hereby granted, provided that the above | 17 | * purpose with or without fee is hereby granted, provided that the above |
| @@ -2881,9 +2881,9 @@ enum nl80211_commands { · 2863 unmodified lines | |||
| 2881 | * @NL80211_ATTR_VIF_RADIO_MASK: Bitmask of allowed radios (u32). | 2881 | * @NL80211_ATTR_VIF_RADIO_MASK: Bitmask of allowed radios (u32). |
| 2882 | * A value of 0 means all radios. | 2882 | * A value of 0 means all radios. |
| 2883 | * | 2883 | * |
| 2884 | * @NL80211_ATTR_SUPPORTED_SELECTORS: supported selectors, array of | 2884 | * @NL80211_ATTR_SUPPORTED_SELECTORS: supported BSS Membership Selectors, array |
| 2885 | * supported selectors as defined by IEEE 802.11 7.3.2.2 but without the | 2885 | * of supported selectors as defined by IEEE Std 802.11-2020 9.4.2.3 but |
| 2886 | * length restriction (at most %NL80211_MAX_SUPP_SELECTORS). | 2886 | * without the length restriction (at most %NL80211_MAX_SUPP_SELECTORS). |
| 2887 | * This can be used to provide a list of selectors that are implemented | 2887 | * This can be used to provide a list of selectors that are implemented |
| 2888 | * by the supplicant. If not given, support for SAE_H2E is assumed. | 2888 | * by the supplicant. If not given, support for SAE_H2E is assumed. |
| 2889 | * | 2889 | * |
| @@ -2893,6 +2893,12 @@ enum nl80211_commands { · 3 unmodified lines | |||
| 2893 | * @NL80211_ATTR_EPCS: Flag attribute indicating that EPCS is enabled for a | 2893 | * @NL80211_ATTR_EPCS: Flag attribute indicating that EPCS is enabled for a |
| 2894 | * station interface. | 2894 | * station interface. |
| 2895 | * | 2895 | * |
| 2896 | * @NL80211_ATTR_ASSOC_MLD_EXT_CAPA_OPS: Extended MLD capabilities and | ||
| 2897 | * operations that userspace implements to use during association/ML | ||
| 2898 | * link reconfig, currently only "BTM MLD Recommendation For Multiple | ||
| 2899 | * APs Support". Drivers may set additional flags that they support | ||
| 2900 | * in the kernel or device. | ||
| 2901 | * | ||
| 2896 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available | 2902 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2897 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 2903 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 2898 | * @__NL80211_ATTR_AFTER_LAST: internal use | 2904 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -3448,6 +3454,8 @@ enum nl80211_attrs { · 549 unmodified lines | |||
| 3448 | NL80211_ATTR_MLO_RECONF_REM_LINKS, | 3454 | NL80211_ATTR_MLO_RECONF_REM_LINKS, |
| 3449 | NL80211_ATTR_EPCS, | 3455 | NL80211_ATTR_EPCS, |
| 3450 | 3456 | ||
| 3457 | NL80211_ATTR_ASSOC_MLD_EXT_CAPA_OPS, | ||
| 3458 | |||
| 3451 | /* add attributes here, update the policy in nl80211.c */ | 3459 | /* add attributes here, update the policy in nl80211.c */ |
| 3452 | 3460 | ||
| 3453 | __NL80211_ATTR_AFTER_LAST, | 3461 | __NL80211_ATTR_AFTER_LAST, |
| @@ -4327,6 +4335,8 @@ enum nl80211_wmm_rule { · 873 unmodified lines | |||
| 4327 | * otherwise completely disabled. | 4335 | * otherwise completely disabled. |
| 4328 | * @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a | 4336 | * @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a |
| 4329 | * very low power (VLP) AP, despite being NO_IR. | 4337 | * very low power (VLP) AP, despite being NO_IR. |
| 4338 | * @NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY: This channel can be active in | ||
| 4339 | * 20 MHz bandwidth, despite being NO_IR. | ||
| 4330 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number | 4340 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number |
| 4331 | * currently defined | 4341 | * currently defined |
| 4332 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use | 4342 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use |
| @@ -4371,6 +4381,7 @@ enum nl80211_frequency_attr { · 38 unmodified lines | |||
| 4371 | NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT, | 4381 | NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT, |
| 4372 | NL80211_FREQUENCY_ATTR_CAN_MONITOR, | 4382 | NL80211_FREQUENCY_ATTR_CAN_MONITOR, |
| 4373 | NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP, | 4383 | NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP, |
| 4384 | NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY, | ||
| 4374 | 4385 | ||
| 4375 | /* keep last */ | 4386 | /* keep last */ |
| 4376 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, | 4387 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, |
| @@ -4582,31 +4593,34 @@ enum nl80211_sched_scan_match_attr { · 205 unmodified lines | |||
| 4582 | * @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed | 4593 | * @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed |
| 4583 | * @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted | 4594 | * @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted |
| 4584 | * despite NO_IR configuration. | 4595 | * despite NO_IR configuration. |
| 4596 | * @NL80211_RRF_ALLOW_20MHZ_ACTIVITY: Allow activity in 20 MHz bandwidth, | ||
| 4597 | * despite NO_IR configuration. | ||
| 4585 | */ | 4598 | */ |
| 4586 | enum nl80211_reg_rule_flags { | 4599 | enum nl80211_reg_rule_flags { |
| 4587 | NL80211_RRF_NO_OFDM = 1<<0, | 4600 | NL80211_RRF_NO_OFDM = 1 << 0, |
| 4588 | NL80211_RRF_NO_CCK = 1<<1, | 4601 | NL80211_RRF_NO_CCK = 1 << 1, |
| 4589 | NL80211_RRF_NO_INDOOR = 1<<2, | 4602 | NL80211_RRF_NO_INDOOR = 1 << 2, |
| 4590 | NL80211_RRF_NO_OUTDOOR = 1<<3, | 4603 | NL80211_RRF_NO_OUTDOOR = 1 << 3, |
| 4591 | NL80211_RRF_DFS = 1<<4, | 4604 | NL80211_RRF_DFS = 1 << 4, |
| 4592 | NL80211_RRF_PTP_ONLY = 1<<5, | 4605 | NL80211_RRF_PTP_ONLY = 1 << 5, |
| 4593 | NL80211_RRF_PTMP_ONLY = 1<<6, | 4606 | NL80211_RRF_PTMP_ONLY = 1 << 6, |
| 4594 | NL80211_RRF_NO_IR = 1<<7, | 4607 | NL80211_RRF_NO_IR = 1 << 7, |
| 4595 | __NL80211_RRF_NO_IBSS = 1<<8, | 4608 | __NL80211_RRF_NO_IBSS = 1 << 8, |
| 4596 | NL80211_RRF_AUTO_BW = 1<<11, | 4609 | NL80211_RRF_AUTO_BW = 1 << 11, |
| 4597 | NL80211_RRF_IR_CONCURRENT = 1<<12, | 4610 | NL80211_RRF_IR_CONCURRENT = 1 << 12, |
| 4598 | NL80211_RRF_NO_HT40MINUS = 1<<13, | 4611 | NL80211_RRF_NO_HT40MINUS = 1 << 13, |
| 4599 | NL80211_RRF_NO_HT40PLUS = 1<<14, | 4612 | NL80211_RRF_NO_HT40PLUS = 1 << 14, |
| 4600 | NL80211_RRF_NO_80MHZ = 1<<15, | 4613 | NL80211_RRF_NO_80MHZ = 1 << 15, |
| 4601 | NL80211_RRF_NO_160MHZ = 1<<16, | 4614 | NL80211_RRF_NO_160MHZ = 1 << 16, |
| 4602 | NL80211_RRF_NO_HE = 1<<17, | 4615 | NL80211_RRF_NO_HE = 1 << 17, |
| 4603 | NL80211_RRF_NO_320MHZ = 1<<18, | 4616 | NL80211_RRF_NO_320MHZ = 1 << 18, |
| 4604 | NL80211_RRF_NO_EHT = 1<<19, | 4617 | NL80211_RRF_NO_EHT = 1 << 19, |
| 4605 | NL80211_RRF_PSD = 1<<20, | 4618 | NL80211_RRF_PSD = 1 << 20, |
| 4606 | NL80211_RRF_DFS_CONCURRENT = 1<<21, | 4619 | NL80211_RRF_DFS_CONCURRENT = 1 << 21, |
| 4607 | NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22, | 4620 | NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22, |
| 4608 | NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23, | 4621 | NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23, |
| 4609 | NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24, | 4622 | NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24, |
| 4623 | NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25, | ||
| 4610 | }; | 4624 | }; |
| 4611 | 4625 | ||
| 4612 | #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR | 4626 | #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR |
| @@ -4727,8 +4741,8 @@ enum nl80211_survey_info { · 114 unmodified lines | |||
| 4727 | * @NL80211_MNTR_FLAG_PLCPFAIL: pass frames with bad PLCP | 4741 | * @NL80211_MNTR_FLAG_PLCPFAIL: pass frames with bad PLCP |
| 4728 | * @NL80211_MNTR_FLAG_CONTROL: pass control frames | 4742 | * @NL80211_MNTR_FLAG_CONTROL: pass control frames |
| 4729 | * @NL80211_MNTR_FLAG_OTHER_BSS: disable BSSID filtering | 4743 | * @NL80211_MNTR_FLAG_OTHER_BSS: disable BSSID filtering |
| 4730 | * @NL80211_MNTR_FLAG_COOK_FRAMES: report frames after processing. | 4744 | * @NL80211_MNTR_FLAG_COOK_FRAMES: deprecated |
| 4731 | * overrides all other flags. | 4745 | * will unconditionally be refused |
| 4732 | * @NL80211_MNTR_FLAG_ACTIVE: use the configured MAC address | 4746 | * @NL80211_MNTR_FLAG_ACTIVE: use the configured MAC address |
| 4733 | * and ACK incoming unicast packets. | 4747 | * and ACK incoming unicast packets. |
| 4734 | * @NL80211_MNTR_FLAG_SKIP_TX: do not pass local tx packets | 4748 | * @NL80211_MNTR_FLAG_SKIP_TX: do not pass local tx packets |
| @@ -307,6 +307,7 @@ enum { · 306 unmodified lines | |||
| 307 | #define RTPROT_MROUTED 17 /* Multicast daemon */ | 307 | #define RTPROT_MROUTED 17 /* Multicast daemon */ |
| 308 | #define RTPROT_KEEPALIVED 18 /* Keepalived daemon */ | 308 | #define RTPROT_KEEPALIVED 18 /* Keepalived daemon */ |
| 309 | #define RTPROT_BABEL 42 /* Babel daemon */ | 309 | #define RTPROT_BABEL 42 /* Babel daemon */ |
| 310 | #define RTPROT_OVN 84 /* OVN daemon */ | ||
| 310 | #define RTPROT_OPENR 99 /* Open Routing (Open/R) Routes */ | 311 | #define RTPROT_OPENR 99 /* Open Routing (Open/R) Routes */ |
| 311 | #define RTPROT_BGP 186 /* BGP Routes */ | 312 | #define RTPROT_BGP 186 /* BGP Routes */ |
| 312 | #define RTPROT_ISIS 187 /* ISIS Routes */ | 313 | #define RTPROT_ISIS 187 /* ISIS Routes */ |
| @@ -23,9 +23,14 @@ enum · 22 unmodified lines | |||
| 23 | IPSTATS_MIB_INPKTS, /* InReceives */ | 23 | IPSTATS_MIB_INPKTS, /* InReceives */ |
| 24 | IPSTATS_MIB_INOCTETS, /* InOctets */ | 24 | IPSTATS_MIB_INOCTETS, /* InOctets */ |
| 25 | IPSTATS_MIB_INDELIVERS, /* InDelivers */ | 25 | IPSTATS_MIB_INDELIVERS, /* InDelivers */ |
| 26 | IPSTATS_MIB_OUTFORWDATAGRAMS, /* OutForwDatagrams */ | 26 | IPSTATS_MIB_NOECTPKTS, /* InNoECTPkts */ |
| 27 | IPSTATS_MIB_ECT1PKTS, /* InECT1Pkts */ | ||
| 28 | IPSTATS_MIB_ECT0PKTS, /* InECT0Pkts */ | ||
| 29 | IPSTATS_MIB_CEPKTS, /* InCEPkts */ | ||
| 27 | IPSTATS_MIB_OUTREQUESTS, /* OutRequests */ | 30 | IPSTATS_MIB_OUTREQUESTS, /* OutRequests */ |
| 31 | IPSTATS_MIB_OUTPKTS, /* OutTransmits */ | ||
| 28 | IPSTATS_MIB_OUTOCTETS, /* OutOctets */ | 32 | IPSTATS_MIB_OUTOCTETS, /* OutOctets */ |
| 33 | IPSTATS_MIB_OUTFORWDATAGRAMS, /* OutForwDatagrams */ | ||
| 29 | /* other fields */ | 34 | /* other fields */ |
| 30 | IPSTATS_MIB_INHDRERRORS, /* InHdrErrors */ | 35 | IPSTATS_MIB_INHDRERRORS, /* InHdrErrors */ |
| 31 | IPSTATS_MIB_INTOOBIGERRORS, /* InTooBigErrors */ | 36 | IPSTATS_MIB_INTOOBIGERRORS, /* InTooBigErrors */ |
| @@ -52,12 +57,7 @@ enum · 20 unmodified lines | |||
| 52 | IPSTATS_MIB_INBCASTOCTETS, /* InBcastOctets */ | 57 | IPSTATS_MIB_INBCASTOCTETS, /* InBcastOctets */ |
| 53 | IPSTATS_MIB_OUTBCASTOCTETS, /* OutBcastOctets */ | 58 | IPSTATS_MIB_OUTBCASTOCTETS, /* OutBcastOctets */ |
| 54 | IPSTATS_MIB_CSUMERRORS, /* InCsumErrors */ | 59 | IPSTATS_MIB_CSUMERRORS, /* InCsumErrors */ |
| 55 | IPSTATS_MIB_NOECTPKTS, /* InNoECTPkts */ | ||
| 56 | IPSTATS_MIB_ECT1PKTS, /* InECT1Pkts */ | ||
| 57 | IPSTATS_MIB_ECT0PKTS, /* InECT0Pkts */ | ||
| 58 | IPSTATS_MIB_CEPKTS, /* InCEPkts */ | ||
| 59 | IPSTATS_MIB_REASM_OVERLAPS, /* ReasmOverlaps */ | 60 | IPSTATS_MIB_REASM_OVERLAPS, /* ReasmOverlaps */ |
| 60 | IPSTATS_MIB_OUTPKTS, /* OutTransmits */ | ||
| 61 | __IPSTATS_MIB_MAX | 61 | __IPSTATS_MIB_MAX |
| 62 | }; | 62 | }; |
| 63 | 63 | ||
| @@ -186,6 +186,7 @@ enum · 122 unmodified lines | |||
| 186 | LINUX_MIB_TIMEWAITKILLED, /* TimeWaitKilled */ | 186 | LINUX_MIB_TIMEWAITKILLED, /* TimeWaitKilled */ |
| 187 | LINUX_MIB_PAWSACTIVEREJECTED, /* PAWSActiveRejected */ | 187 | LINUX_MIB_PAWSACTIVEREJECTED, /* PAWSActiveRejected */ |
| 188 | LINUX_MIB_PAWSESTABREJECTED, /* PAWSEstabRejected */ | 188 | LINUX_MIB_PAWSESTABREJECTED, /* PAWSEstabRejected */ |
| 189 | LINUX_MIB_TSECRREJECTED, /* TSEcrRejected */ | ||
| 189 | LINUX_MIB_PAWS_OLD_ACK, /* PAWSOldAck */ | 190 | LINUX_MIB_PAWS_OLD_ACK, /* PAWSOldAck */ |
| 190 | LINUX_MIB_DELAYEDACKS, /* DelayedACKs */ | 191 | LINUX_MIB_DELAYEDACKS, /* DelayedACKs */ |
| 191 | LINUX_MIB_DELAYEDACKLOCKED, /* DelayedACKLocked */ | 192 | LINUX_MIB_DELAYEDACKLOCKED, /* DelayedACKLocked */ |
| @@ -28,7 +28,8 @@ struct tcphdr { · 27 unmodified lines | |||
| 28 | __be32 seq; | 28 | __be32 seq; |
| 29 | __be32 ack_seq; | 29 | __be32 ack_seq; |
| 30 | #if defined(__LITTLE_ENDIAN_BITFIELD) | 30 | #if defined(__LITTLE_ENDIAN_BITFIELD) |
| 31 | __u16 res1:4, | 31 | __u16 ae:1, |
| 32 | res1:3, | ||
| 32 | doff:4, | 33 | doff:4, |
| 33 | fin:1, | 34 | fin:1, |
| 34 | syn:1, | 35 | syn:1, |
| @@ -40,7 +41,8 @@ struct tcphdr { · 5 unmodified lines | |||
| 40 | cwr:1; | 41 | cwr:1; |
| 41 | #elif defined(__BIG_ENDIAN_BITFIELD) | 42 | #elif defined(__BIG_ENDIAN_BITFIELD) |
| 42 | __u16 doff:4, | 43 | __u16 doff:4, |
| 43 | res1:4, | 44 | res1:3, |
| 45 | ae:1, | ||
| 44 | cwr:1, | 46 | cwr:1, |
| 45 | ece:1, | 47 | ece:1, |
| 46 | urg:1, | 48 | urg:1, |
| @@ -70,6 +72,7 @@ union tcp_word_hdr { · 23 unmodified lines | |||
| 70 | #define tcp_flag_word(tp) (((union tcp_word_hdr *)(tp))->words[3]) | 72 | #define tcp_flag_word(tp) (((union tcp_word_hdr *)(tp))->words[3]) |
| 71 | 73 | ||
| 72 | enum { | 74 | enum { |
| 75 | TCP_FLAG_AE = __constant_cpu_to_be32(0x01000000), | ||
| 73 | TCP_FLAG_CWR = __constant_cpu_to_be32(0x00800000), | 76 | TCP_FLAG_CWR = __constant_cpu_to_be32(0x00800000), |
| 74 | TCP_FLAG_ECE = __constant_cpu_to_be32(0x00400000), | 77 | TCP_FLAG_ECE = __constant_cpu_to_be32(0x00400000), |
| 75 | TCP_FLAG_URG = __constant_cpu_to_be32(0x00200000), | 78 | TCP_FLAG_URG = __constant_cpu_to_be32(0x00200000), |
| @@ -78,7 +81,7 @@ enum { · 2 unmodified lines | |||
| 78 | TCP_FLAG_RST = __constant_cpu_to_be32(0x00040000), | 81 | TCP_FLAG_RST = __constant_cpu_to_be32(0x00040000), |
| 79 | TCP_FLAG_SYN = __constant_cpu_to_be32(0x00020000), | 82 | TCP_FLAG_SYN = __constant_cpu_to_be32(0x00020000), |
| 80 | TCP_FLAG_FIN = __constant_cpu_to_be32(0x00010000), | 83 | TCP_FLAG_FIN = __constant_cpu_to_be32(0x00010000), |
| 81 | TCP_RESERVED_BITS = __constant_cpu_to_be32(0x0F000000), | 84 | TCP_RESERVED_BITS = __constant_cpu_to_be32(0x0E000000), |
| 82 | TCP_DATA_OFFSET = __constant_cpu_to_be32(0xF0000000) | 85 | TCP_DATA_OFFSET = __constant_cpu_to_be32(0xF0000000) |
| 83 | }; | 86 | }; |
| 84 | 87 | ||
| @@ -136,6 +139,9 @@ enum { · 51 unmodified lines | |||
| 136 | #define TCP_AO_REPAIR 42 /* Get/Set SNEs and ISNs */ | 139 | #define TCP_AO_REPAIR 42 /* Get/Set SNEs and ISNs */ |
| 137 | 140 | ||
| 138 | #define TCP_IS_MPTCP 43 /* Is MPTCP being used? */ | 141 | #define TCP_IS_MPTCP 43 /* Is MPTCP being used? */ |
| 142 | #define TCP_RTO_MAX_MS 44 /* max rto time in ms */ | ||
| 143 | #define TCP_RTO_MIN_US 45 /* min rto time in us */ | ||
| 144 | #define TCP_DELACK_MAX_US 46 /* max delayed ack time in us */ | ||
| 139 | 145 | ||
| 140 | #define TCP_REPAIR_ON 1 | 146 | #define TCP_REPAIR_ON 1 |
| 141 | #define TCP_REPAIR_OFF 0 | 147 | #define TCP_REPAIR_OFF 0 |
| @@ -330,6 +330,7 @@ struct usb_device_descriptor { · 329 unmodified lines | |||
| 330 | #define USB_CLASS_AUDIO_VIDEO 0x10 | 330 | #define USB_CLASS_AUDIO_VIDEO 0x10 |
| 331 | #define USB_CLASS_BILLBOARD 0x11 | 331 | #define USB_CLASS_BILLBOARD 0x11 |
| 332 | #define USB_CLASS_USB_TYPE_C_BRIDGE 0x12 | 332 | #define USB_CLASS_USB_TYPE_C_BRIDGE 0x12 |
| 333 | #define USB_CLASS_MCTP 0x14 | ||
| 333 | #define USB_CLASS_MISC 0xef | 334 | #define USB_CLASS_MISC 0xef |
| 334 | #define USB_CLASS_APP_SPEC 0xfe | 335 | #define USB_CLASS_APP_SPEC 0xfe |
| 335 | #define USB_SUBCLASS_DFU 0x01 | 336 | #define USB_SUBCLASS_DFU 0x01 |
| @@ -327,6 +327,19 @@ struct virtio_net_rss_config { · 326 unmodified lines | |||
| 327 | __u8 hash_key_data[/* hash_key_length */]; | 327 | __u8 hash_key_data[/* hash_key_length */]; |
| 328 | }; | 328 | }; |
| 329 | 329 | ||
| 330 | struct virtio_net_rss_config_hdr { | ||
| 331 | __le32 hash_types; | ||
| 332 | __le16 indirection_table_mask; | ||
| 333 | __le16 unclassified_queue; | ||
| 334 | __le16 indirection_table[/* 1 + indirection_table_mask */]; | ||
| 335 | }; | ||
| 336 | |||
| 337 | struct virtio_net_rss_config_trailer { | ||
| 338 | __le16 max_tx_vq; | ||
| 339 | __u8 hash_key_length; | ||
| 340 | __u8 hash_key_data[/* hash_key_length */]; | ||
| 341 | }; | ||
| 342 | |||
| 330 | #define VIRTIO_NET_CTRL_MQ_RSS_CONFIG 1 | 343 | #define VIRTIO_NET_CTRL_MQ_RSS_CONFIG 1 |
| 331 | 344 | ||
| 332 | /* | 345 | /* |