History

Merge tag 'net-next-6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next

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 ...

Linus Torvalds committed 1 year ago

Commit 1a9239b2 parents e61f332 023b1e91522 files · +130806 −42738Browse files

Showing the changes to include/uapi/linux (17 of 1522 files). Show all

Unified · Split

17 files
  1. include/uapi/linux/batman_adv.h +9 −9
  2. include/uapi/linux/bpf.h +30 −0
  3. include/uapi/linux/can.h +2 −1
  4. include/uapi/linux/errqueue.h +1 −0
  5. include/uapi/linux/ethtool.h +22 −0
  6. include/uapi/linux/fib_rules.h +3 −0
  7. include/uapi/linux/if_cablemodem.h +0 −23
  8. include/uapi/linux/if_link.h +7 −0
  9. include/uapi/linux/if_xdp.h +10 −0
  10. include/uapi/linux/net_tstamp.h +4 −2
  11. include/uapi/linux/netdev.h +16 −0
  12. include/uapi/linux/nl80211.h +43 −29
  13. include/uapi/linux/rtnetlink.h +1 −0
  14. include/uapi/linux/snmp.h +7 −6
  15. include/uapi/linux/tcp.h +9 −3
  16. include/uapi/linux/usb/ch9.h +1 −0
  17. include/uapi/linux/virtio_net.h +13 −0
include/uapi/linux/batman_adv.h+9−9
@@ -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 interface345 * @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 loop381 * @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED: whether the bridge loop
382 * avoidance feature is enabled. This feature detects and avoids loops382 * avoidance feature is enabled. This feature detects and avoids loops
383 * between the mesh and devices bridged with the soft interface383 * 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/mesh512 * @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 the537 * @BATADV_CMD_GET_HARDIF: Get attributes from a hardif of the
538 * current softif538 * 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/mesh594 * @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 the599 * @BATADV_CMD_SET_HARDIF: Set attributes for hardif of the
600 * current softif600 * 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 the605 * @BATADV_CMD_GET_VLAN: Get attributes from a VLAN of the
606 * current softif606 * 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 the611 * @BATADV_CMD_SET_VLAN: Set attributes for VLAN of the
612 * current softif612 * 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 use697 * @__IFLA_BATADV_MAX: internal use
include/uapi/linux/bpf.h+30−0
@@ -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
6916enum {
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 end6923 * New entries can only be added at the end
6918 */6924 */
@@ -7025,6 +7031,29 @@ enum { · 106 unmodified lines
7025 * by the kernel or the7031 * 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 detect7059/* 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
7096enum {7126enum {
include/uapi/linux/can.h+2−1
@@ -182,7 +182,7 @@ struct canfd_frame { · 181 unmodified lines
182/*182/*
183 * defined bits for canxl_frame.flags183 * defined bits for canxl_frame.flags
184 *184 *
185 * The canxl_frame.flags element contains two bits CANXL_XLF and CANXL_SEC185 * 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 checks188 * 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 */
include/uapi/linux/errqueue.h+1−0
@@ -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 */
include/uapi/linux/ethtool.h+22−0
@@ -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_NBITS2082 __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 0xff2296#define RXH_XFRM_NO_CHANGE 0xff
2275 2297
2276/* L2-L4 network traffic flow types */2298/* L2-L4 network traffic flow types */
include/uapi/linux/fib_rules.h+3−0
@@ -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_MAX76 __FRA_MAX
74};77};
75 78
include/uapi/linux/if_cablemodem.h+0−23
@@ -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
include/uapi/linux/if_link.h+7−0
@@ -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_MAX382 __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_MAX1443 __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
1455struct ifla_geneve_port_range {
1456 __be16 low;
1457 __be16 high;
1458};
1459
1453/* Bareudp section */1460/* Bareudp section */
1454enum {1461enum {
1455 IFLA_BAREUDP_UNSPEC,1462 IFLA_BAREUDP_UNSPEC,
include/uapi/linux/if_xdp.h+10−0
@@ -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 driver136/* AF_XDP offloads request. 'request' union member is consumed by the driver
131 * when the packet is being transmitted. 'completion' union member is137 * 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 {
include/uapi/linux/net_tstamp.h+4−2
@@ -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_LAST51 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 parameter66 * struct so_timestamping - SO_TIMESTAMPING parameter
include/uapi/linux/netdev.h+16−0
@@ -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 the60 * @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 */
63enum netdev_xsk_flags {65enum 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
68enum netdev_queue_type {71enum 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
92enum {
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
89enum {97enum {
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
142enum {
143 __NETDEV_A_XSK_INFO_MAX,
144 NETDEV_A_XSK_INFO_MAX = (__NETDEV_A_XSK_INFO_MAX - 1)
145};
146
133enum {147enum {
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)
include/uapi/linux/nl80211.h+43−29
@@ -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 GmbH13 * Copyright 2015-2017 Intel Deutschland GmbH
14 * Copyright (C) 2018-2024 Intel Corporation14 * Copyright (C) 2018-2025 Intel Corporation
15 *15 *
16 * Permission to use, copy, modify, and/or distribute this software for any16 * Permission to use, copy, modify, and/or distribute this software for any
17 * purpose with or without fee is hereby granted, provided that the above17 * 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 of2884 * @NL80211_ATTR_SUPPORTED_SELECTORS: supported BSS Membership Selectors, array
2885 * supported selectors as defined by IEEE 802.11 7.3.2.2 but without the2885 * 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 implemented2887 * 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 a2893 * @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 available2902 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2897 * @NL80211_ATTR_MAX: highest attribute number currently defined2903 * @NL80211_ATTR_MAX: highest attribute number currently defined
2898 * @__NL80211_ATTR_AFTER_LAST: internal use2904 * @__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 a4336 * @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 number4340 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
4331 * currently defined4341 * currently defined
4332 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use4342 * @__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 allowed4593 * @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 permitted4594 * @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 */
4586enum nl80211_reg_rule_flags {4599enum 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_IR4626#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 PLCP4741 * @NL80211_MNTR_FLAG_PLCPFAIL: pass frames with bad PLCP
4728 * @NL80211_MNTR_FLAG_CONTROL: pass control frames4742 * @NL80211_MNTR_FLAG_CONTROL: pass control frames
4729 * @NL80211_MNTR_FLAG_OTHER_BSS: disable BSSID filtering4743 * @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 address4746 * @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 packets4748 * @NL80211_MNTR_FLAG_SKIP_TX: do not pass local tx packets
include/uapi/linux/rtnetlink.h+1−0
@@ -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 */
include/uapi/linux/snmp.h+7−6
@@ -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_MAX61 __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 */
include/uapi/linux/tcp.h+9−3
@@ -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
72enum {74enum {
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 1146#define TCP_REPAIR_ON 1
141#define TCP_REPAIR_OFF 0147#define TCP_REPAIR_OFF 0
include/uapi/linux/usb/ch9.h+1−0
@@ -330,6 +330,7 @@ struct usb_device_descriptor { · 329 unmodified lines
330#define USB_CLASS_AUDIO_VIDEO 0x10330#define USB_CLASS_AUDIO_VIDEO 0x10
331#define USB_CLASS_BILLBOARD 0x11331#define USB_CLASS_BILLBOARD 0x11
332#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12332#define USB_CLASS_USB_TYPE_C_BRIDGE 0x12
333#define USB_CLASS_MCTP 0x14
333#define USB_CLASS_MISC 0xef334#define USB_CLASS_MISC 0xef
334#define USB_CLASS_APP_SPEC 0xfe335#define USB_CLASS_APP_SPEC 0xfe
335#define USB_SUBCLASS_DFU 0x01336#define USB_SUBCLASS_DFU 0x01
include/uapi/linux/virtio_net.h+13−0
@@ -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
330struct 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
337struct 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 1343 #define VIRTIO_NET_CTRL_MQ_RSS_CONFIG 1
331 344
332/*345/*