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 | 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 | 347 | BATADV_ATTR_VLANID, |
| 348 | 348 | |
| @@ -380,7 +380,7 @@ enum batadv_nl_attrs { · 31 unmodified lines | ||
| 380 | 380 | /** |
| 381 | 381 | * @BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED: whether the bridge loop |
| 382 | 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 | 385 | BATADV_ATTR_BRIDGE_LOOP_AVOIDANCE_ENABLED, |
| 386 | 386 | |
| @@ -509,7 +509,7 @@ enum batadv_nl_commands { · 122 unmodified lines | ||
| 509 | 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 | 514 | BATADV_CMD_GET_MESH, |
| 515 | 515 | |
| @@ -535,7 +535,7 @@ enum batadv_nl_commands { · 19 unmodified lines | ||
| 535 | 535 | |
| 536 | 536 | /** |
| 537 | 537 | * @BATADV_CMD_GET_HARDIF: Get attributes from a hardif of the |
| 538 | − * current softif | |
| 538 | + * current mesh(if) | |
| 539 | 539 | */ |
| 540 | 540 | BATADV_CMD_GET_HARDIF, |
| 541 | 541 | |
| @@ -591,25 +591,25 @@ enum batadv_nl_commands { · 49 unmodified lines | ||
| 591 | 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 | 596 | BATADV_CMD_SET_MESH, |
| 597 | 597 | |
| 598 | 598 | /** |
| 599 | 599 | * @BATADV_CMD_SET_HARDIF: Set attributes for hardif of the |
| 600 | − * current softif | |
| 600 | + * current mesh(if) | |
| 601 | 601 | */ |
| 602 | 602 | BATADV_CMD_SET_HARDIF, |
| 603 | 603 | |
| 604 | 604 | /** |
| 605 | 605 | * @BATADV_CMD_GET_VLAN: Get attributes from a VLAN of the |
| 606 | − * current softif | |
| 606 | + * current mesh(if) | |
| 607 | 607 | */ |
| 608 | 608 | BATADV_CMD_GET_VLAN, |
| 609 | 609 | |
| 610 | 610 | /** |
| 611 | 611 | * @BATADV_CMD_SET_VLAN: Set attributes for VLAN of the |
| 612 | − * current softif | |
| 612 | + * current mesh(if) | |
| 613 | 613 | */ |
| 614 | 614 | BATADV_CMD_SET_VLAN, |
| 615 | 615 | |
| @@ -691,7 +691,7 @@ enum batadv_ifla_attrs { · 75 unmodified lines | ||
| 691 | 691 | */ |
| 692 | 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 | 697 | * @__IFLA_BATADV_MAX: internal use |
| @@ -6913,6 +6913,12 @@ enum { · 6912 unmodified lines | ||
| 6913 | 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 | 6922 | /* List of known BPF sock_ops operators. |
| 6917 | 6923 | * New entries can only be added at the end |
| 6918 | 6924 | */ |
| @@ -7025,6 +7031,29 @@ enum { · 106 unmodified lines | ||
| 7025 | 7031 | * by the kernel or the |
| 7026 | 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 | 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 | 7120 | TCP_BPF_SYN_IP = 1006, /* Copy the IP[46] and TCP header */ |
| 7092 | 7121 | TCP_BPF_SYN_MAC = 1007, /* Copy the MAC, IP[46], and TCP header */ |
| 7093 | 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 | 7126 | enum { |
| @@ -182,7 +182,7 @@ struct canfd_frame { · 181 unmodified lines | ||
| 182 | 182 | /* |
| 183 | 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 | 186 | * and shares the relative position of the struct can[fd]_frame.len element. |
| 187 | 187 | * The CANXL_XLF bit ALWAYS needs to be set to indicate a valid CAN XL frame. |
| 188 | 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 | 193 | #define CANXL_XLF 0x80 /* mandatory CAN XL frame flag (must always be set!) */ |
| 194 | 194 | #define CANXL_SEC 0x01 /* Simple Extended Content (security/segmentation) */ |
| 195 | +#define CANXL_RRS 0x02 /* Remote Request Substitution */ | |
| 195 | 196 | |
| 196 | 197 | /* the 8-bit VCID is optionally placed in the canxl_frame.prio element */ |
| 197 | 198 | #define CANXL_VCID_OFFSET 16 /* bit offset of VCID in prio element */ |
| @@ -73,6 +73,7 @@ enum { · 72 unmodified lines | ||
| 73 | 73 | SCM_TSTAMP_SND, /* driver passed skb to NIC, or HW */ |
| 74 | 74 | SCM_TSTAMP_SCHED, /* data entered the packet scheduler */ |
| 75 | 75 | SCM_TSTAMP_ACK, /* data acknowledged by peer */ |
| 76 | + SCM_TSTAMP_COMPLETION, /* packet tx completion */ | |
| 76 | 77 | }; |
| 77 | 78 | |
| 78 | 79 | #endif /* _UAPI_LINUX_ERRQUEUE_H */ |
| @@ -2059,6 +2059,24 @@ enum ethtool_link_mode_bit_indices { · 2058 unmodified lines | ||
| 2059 | 2059 | ETHTOOL_LINK_MODE_10baseT1S_Half_BIT = 100, |
| 2060 | 2060 | ETHTOOL_LINK_MODE_10baseT1S_P2MP_Half_BIT = 101, |
| 2061 | 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 | 2081 | /* must be last entry */ |
| 2064 | 2082 | __ETHTOOL_LINK_MODE_MASK_NBITS |
| @@ -2271,6 +2289,10 @@ static inline int ethtool_validate_duplex(__u8 duplex) · 206 unmodified lines | ||
| 2271 | 2289 | * be exploited to reduce the RSS queue spread. |
| 2272 | 2290 | */ |
| 2273 | 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 | 2296 | #define RXH_XFRM_NO_CHANGE 0xff |
| 2275 | 2297 | |
| 2276 | 2298 | /* L2-L4 network traffic flow types */ |
| @@ -70,6 +70,9 @@ enum { · 69 unmodified lines | ||
| 70 | 70 | FRA_DSCP, /* dscp */ |
| 71 | 71 | FRA_FLOWLABEL, /* flowlabel */ |
| 72 | 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 | 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 | 378 | IFLA_GRO_IPV4_MAX_SIZE, |
| 379 | 379 | IFLA_DPLL_PIN, |
| 380 | 380 | IFLA_MAX_PACING_OFFLOAD_HORIZON, |
| 381 | + IFLA_NETNS_IMMUTABLE, | |
| 381 | 382 | __IFLA_MAX |
| 382 | 383 | }; |
| 383 | 384 | |
| @@ -1438,6 +1439,7 @@ enum { · 1054 unmodified lines | ||
| 1438 | 1439 | IFLA_GENEVE_TTL_INHERIT, |
| 1439 | 1440 | IFLA_GENEVE_DF, |
| 1440 | 1441 | IFLA_GENEVE_INNER_PROTO_INHERIT, |
| 1442 | + IFLA_GENEVE_PORT_RANGE, | |
| 1441 | 1443 | __IFLA_GENEVE_MAX |
| 1442 | 1444 | }; |
| 1443 | 1445 | #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) |
| @@ -1450,6 +1452,11 @@ enum ifla_geneve_df { · 6 unmodified lines | ||
| 1450 | 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 | 1460 | /* Bareudp section */ |
| 1454 | 1461 | enum { |
| 1455 | 1462 | IFLA_BAREUDP_UNSPEC, |
| @@ -127,6 +127,12 @@ struct xdp_options { · 126 unmodified lines | ||
| 127 | 127 | */ |
| 128 | 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 | 136 | /* AF_XDP offloads request. 'request' union member is consumed by the driver |
| 131 | 137 | * when the packet is being transmitted. 'completion' union member is |
| 132 | 138 | * filled by the driver when the transmit completion arrives. |
| @@ -142,6 +148,10 @@ struct xsk_tx_metadata { · 9 unmodified lines | ||
| 142 | 148 | __u16 csum_start; |
| 143 | 149 | /* Offset from csum_start where checksum should be stored. */ |
| 144 | 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 | 155 | } request; |
| 146 | 156 | |
| 147 | 157 | struct { |
| @@ -44,8 +44,9 @@ enum { · 43 unmodified lines | ||
| 44 | 44 | SOF_TIMESTAMPING_BIND_PHC = (1 << 15), |
| 45 | 45 | SOF_TIMESTAMPING_OPT_ID_TCP = (1 << 16), |
| 46 | 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 | 50 | SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | |
| 50 | 51 | SOF_TIMESTAMPING_LAST |
| 51 | 52 | }; |
| @@ -58,7 +59,8 @@ enum { · 6 unmodified lines | ||
| 58 | 59 | #define SOF_TIMESTAMPING_TX_RECORD_MASK (SOF_TIMESTAMPING_TX_HARDWARE | \ |
| 59 | 60 | SOF_TIMESTAMPING_TX_SOFTWARE | \ |
| 60 | 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 | 66 | * struct so_timestamping - SO_TIMESTAMPING parameter |
| @@ -59,10 +59,13 @@ enum netdev_xdp_rx_metadata { · 58 unmodified lines | ||
| 59 | 59 | * by the driver. |
| 60 | 60 | * @NETDEV_XSK_FLAGS_TX_CHECKSUM: L3 checksum HW offload is supported by the |
| 61 | 61 | * driver. |
| 62 | + * @NETDEV_XSK_FLAGS_TX_LAUNCH_TIME_FIFO: Launch time HW offload is supported | |
| 63 | + * by the driver. | |
| 62 | 64 | */ |
| 63 | 65 | enum netdev_xsk_flags { |
| 64 | 66 | NETDEV_XSK_FLAGS_TX_TIMESTAMP = 1, |
| 65 | 67 | NETDEV_XSK_FLAGS_TX_CHECKSUM = 2, |
| 68 | + NETDEV_XSK_FLAGS_TX_LAUNCH_TIME_FIFO = 4, | |
| 66 | 69 | }; |
| 67 | 70 | |
| 68 | 71 | enum netdev_queue_type { |
| @@ -86,6 +89,11 @@ enum { · 17 unmodified lines | ||
| 86 | 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 | 97 | enum { |
| 90 | 98 | NETDEV_A_PAGE_POOL_ID = 1, |
| 91 | 99 | NETDEV_A_PAGE_POOL_IFINDEX, |
| @@ -94,6 +102,7 @@ enum { · 2 unmodified lines | ||
| 94 | 102 | NETDEV_A_PAGE_POOL_INFLIGHT_MEM, |
| 95 | 103 | NETDEV_A_PAGE_POOL_DETACH_TIME, |
| 96 | 104 | NETDEV_A_PAGE_POOL_DMABUF, |
| 105 | + NETDEV_A_PAGE_POOL_IO_URING, | |
| 97 | 106 | |
| 98 | 107 | __NETDEV_A_PAGE_POOL_MAX, |
| 99 | 108 | NETDEV_A_PAGE_POOL_MAX = (__NETDEV_A_PAGE_POOL_MAX - 1) |
| @@ -130,12 +139,19 @@ enum { · 30 unmodified lines | ||
| 130 | 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 | 147 | enum { |
| 134 | 148 | NETDEV_A_QUEUE_ID = 1, |
| 135 | 149 | NETDEV_A_QUEUE_IFINDEX, |
| 136 | 150 | NETDEV_A_QUEUE_TYPE, |
| 137 | 151 | NETDEV_A_QUEUE_NAPI_ID, |
| 138 | 152 | NETDEV_A_QUEUE_DMABUF, |
| 153 | + NETDEV_A_QUEUE_IO_URING, | |
| 154 | + NETDEV_A_QUEUE_XSK, | |
| 139 | 155 | |
| 140 | 156 | __NETDEV_A_QUEUE_MAX, |
| 141 | 157 | NETDEV_A_QUEUE_MAX = (__NETDEV_A_QUEUE_MAX - 1) |
| @@ -11,7 +11,7 @@ · 10 unmodified lines | ||
| 11 | 11 | * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com> |
| 12 | 12 | * Copyright 2008 Colin McCabe <colin@cozybit.com> |
| 13 | 13 | * Copyright 2015-2017 Intel Deutschland GmbH |
| 14 | − * Copyright (C) 2018-2024 Intel Corporation | |
| 14 | + * Copyright (C) 2018-2025 Intel Corporation | |
| 15 | 15 | * |
| 16 | 16 | * Permission to use, copy, modify, and/or distribute this software for any |
| 17 | 17 | * purpose with or without fee is hereby granted, provided that the above |
| @@ -2881,9 +2881,9 @@ enum nl80211_commands { · 2863 unmodified lines | ||
| 2881 | 2881 | * @NL80211_ATTR_VIF_RADIO_MASK: Bitmask of allowed radios (u32). |
| 2882 | 2882 | * A value of 0 means all radios. |
| 2883 | 2883 | * |
| 2884 | − * @NL80211_ATTR_SUPPORTED_SELECTORS: supported selectors, array of | |
| 2885 | − * supported selectors as defined by IEEE 802.11 7.3.2.2 but without the | |
| 2886 | − * length restriction (at most %NL80211_MAX_SUPP_SELECTORS). | |
| 2884 | + * @NL80211_ATTR_SUPPORTED_SELECTORS: supported BSS Membership Selectors, array | |
| 2885 | + * of supported selectors as defined by IEEE Std 802.11-2020 9.4.2.3 but | |
| 2886 | + * without the length restriction (at most %NL80211_MAX_SUPP_SELECTORS). | |
| 2887 | 2887 | * This can be used to provide a list of selectors that are implemented |
| 2888 | 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 | 2893 | * @NL80211_ATTR_EPCS: Flag attribute indicating that EPCS is enabled for a |
| 2894 | 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 | 2902 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2897 | 2903 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 2898 | 2904 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -3448,6 +3454,8 @@ enum nl80211_attrs { · 549 unmodified lines | ||
| 3448 | 3454 | NL80211_ATTR_MLO_RECONF_REM_LINKS, |
| 3449 | 3455 | NL80211_ATTR_EPCS, |
| 3450 | 3456 | |
| 3457 | + NL80211_ATTR_ASSOC_MLD_EXT_CAPA_OPS, | |
| 3458 | + | |
| 3451 | 3459 | /* add attributes here, update the policy in nl80211.c */ |
| 3452 | 3460 | |
| 3453 | 3461 | __NL80211_ATTR_AFTER_LAST, |
| @@ -4327,6 +4335,8 @@ enum nl80211_wmm_rule { · 873 unmodified lines | ||
| 4327 | 4335 | * otherwise completely disabled. |
| 4328 | 4336 | * @NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP: This channel can be used for a |
| 4329 | 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 | 4340 | * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number |
| 4331 | 4341 | * currently defined |
| 4332 | 4342 | * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use |
| @@ -4371,6 +4381,7 @@ enum nl80211_frequency_attr { · 38 unmodified lines | ||
| 4371 | 4381 | NL80211_FREQUENCY_ATTR_NO_6GHZ_AFC_CLIENT, |
| 4372 | 4382 | NL80211_FREQUENCY_ATTR_CAN_MONITOR, |
| 4373 | 4383 | NL80211_FREQUENCY_ATTR_ALLOW_6GHZ_VLP_AP, |
| 4384 | + NL80211_FREQUENCY_ATTR_ALLOW_20MHZ_ACTIVITY, | |
| 4374 | 4385 | |
| 4375 | 4386 | /* keep last */ |
| 4376 | 4387 | __NL80211_FREQUENCY_ATTR_AFTER_LAST, |
| @@ -4582,31 +4593,34 @@ enum nl80211_sched_scan_match_attr { · 205 unmodified lines | ||
| 4582 | 4593 | * @NL80211_RRF_NO_6GHZ_AFC_CLIENT: Client connection to AFC AP not allowed |
| 4583 | 4594 | * @NL80211_RRF_ALLOW_6GHZ_VLP_AP: Very low power (VLP) AP can be permitted |
| 4584 | 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 | 4599 | enum nl80211_reg_rule_flags { |
| 4587 | − NL80211_RRF_NO_OFDM = 1<<0, | |
| 4588 | − NL80211_RRF_NO_CCK = 1<<1, | |
| 4589 | − NL80211_RRF_NO_INDOOR = 1<<2, | |
| 4590 | − NL80211_RRF_NO_OUTDOOR = 1<<3, | |
| 4591 | − NL80211_RRF_DFS = 1<<4, | |
| 4592 | − NL80211_RRF_PTP_ONLY = 1<<5, | |
| 4593 | − NL80211_RRF_PTMP_ONLY = 1<<6, | |
| 4594 | − NL80211_RRF_NO_IR = 1<<7, | |
| 4595 | − __NL80211_RRF_NO_IBSS = 1<<8, | |
| 4596 | − NL80211_RRF_AUTO_BW = 1<<11, | |
| 4597 | − NL80211_RRF_IR_CONCURRENT = 1<<12, | |
| 4598 | − NL80211_RRF_NO_HT40MINUS = 1<<13, | |
| 4599 | − NL80211_RRF_NO_HT40PLUS = 1<<14, | |
| 4600 | − NL80211_RRF_NO_80MHZ = 1<<15, | |
| 4601 | − NL80211_RRF_NO_160MHZ = 1<<16, | |
| 4602 | − NL80211_RRF_NO_HE = 1<<17, | |
| 4603 | − NL80211_RRF_NO_320MHZ = 1<<18, | |
| 4604 | − NL80211_RRF_NO_EHT = 1<<19, | |
| 4605 | − NL80211_RRF_PSD = 1<<20, | |
| 4606 | − NL80211_RRF_DFS_CONCURRENT = 1<<21, | |
| 4607 | − NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1<<22, | |
| 4608 | − NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1<<23, | |
| 4609 | − NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1<<24, | |
| 4600 | + NL80211_RRF_NO_OFDM = 1 << 0, | |
| 4601 | + NL80211_RRF_NO_CCK = 1 << 1, | |
| 4602 | + NL80211_RRF_NO_INDOOR = 1 << 2, | |
| 4603 | + NL80211_RRF_NO_OUTDOOR = 1 << 3, | |
| 4604 | + NL80211_RRF_DFS = 1 << 4, | |
| 4605 | + NL80211_RRF_PTP_ONLY = 1 << 5, | |
| 4606 | + NL80211_RRF_PTMP_ONLY = 1 << 6, | |
| 4607 | + NL80211_RRF_NO_IR = 1 << 7, | |
| 4608 | + __NL80211_RRF_NO_IBSS = 1 << 8, | |
| 4609 | + NL80211_RRF_AUTO_BW = 1 << 11, | |
| 4610 | + NL80211_RRF_IR_CONCURRENT = 1 << 12, | |
| 4611 | + NL80211_RRF_NO_HT40MINUS = 1 << 13, | |
| 4612 | + NL80211_RRF_NO_HT40PLUS = 1 << 14, | |
| 4613 | + NL80211_RRF_NO_80MHZ = 1 << 15, | |
| 4614 | + NL80211_RRF_NO_160MHZ = 1 << 16, | |
| 4615 | + NL80211_RRF_NO_HE = 1 << 17, | |
| 4616 | + NL80211_RRF_NO_320MHZ = 1 << 18, | |
| 4617 | + NL80211_RRF_NO_EHT = 1 << 19, | |
| 4618 | + NL80211_RRF_PSD = 1 << 20, | |
| 4619 | + NL80211_RRF_DFS_CONCURRENT = 1 << 21, | |
| 4620 | + NL80211_RRF_NO_6GHZ_VLP_CLIENT = 1 << 22, | |
| 4621 | + NL80211_RRF_NO_6GHZ_AFC_CLIENT = 1 << 23, | |
| 4622 | + NL80211_RRF_ALLOW_6GHZ_VLP_AP = 1 << 24, | |
| 4623 | + NL80211_RRF_ALLOW_20MHZ_ACTIVITY = 1 << 25, | |
| 4610 | 4624 | }; |
| 4611 | 4625 | |
| 4612 | 4626 | #define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR |
| @@ -4727,8 +4741,8 @@ enum nl80211_survey_info { · 114 unmodified lines | ||
| 4727 | 4741 | * @NL80211_MNTR_FLAG_PLCPFAIL: pass frames with bad PLCP |
| 4728 | 4742 | * @NL80211_MNTR_FLAG_CONTROL: pass control frames |
| 4729 | 4743 | * @NL80211_MNTR_FLAG_OTHER_BSS: disable BSSID filtering |
| 4730 | − * @NL80211_MNTR_FLAG_COOK_FRAMES: report frames after processing. | |
| 4731 | − * overrides all other flags. | |
| 4744 | + * @NL80211_MNTR_FLAG_COOK_FRAMES: deprecated | |
| 4745 | + * will unconditionally be refused | |
| 4732 | 4746 | * @NL80211_MNTR_FLAG_ACTIVE: use the configured MAC address |
| 4733 | 4747 | * and ACK incoming unicast packets. |
| 4734 | 4748 | * @NL80211_MNTR_FLAG_SKIP_TX: do not pass local tx packets |
| @@ -307,6 +307,7 @@ enum { · 306 unmodified lines | ||
| 307 | 307 | #define RTPROT_MROUTED 17 /* Multicast daemon */ |
| 308 | 308 | #define RTPROT_KEEPALIVED 18 /* Keepalived daemon */ |
| 309 | 309 | #define RTPROT_BABEL 42 /* Babel daemon */ |
| 310 | +#define RTPROT_OVN 84 /* OVN daemon */ | |
| 310 | 311 | #define RTPROT_OPENR 99 /* Open Routing (Open/R) Routes */ |
| 311 | 312 | #define RTPROT_BGP 186 /* BGP Routes */ |
| 312 | 313 | #define RTPROT_ISIS 187 /* ISIS Routes */ |
| @@ -23,9 +23,14 @@ enum · 22 unmodified lines | ||
| 23 | 23 | IPSTATS_MIB_INPKTS, /* InReceives */ |
| 24 | 24 | IPSTATS_MIB_INOCTETS, /* InOctets */ |
| 25 | 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 | 30 | IPSTATS_MIB_OUTREQUESTS, /* OutRequests */ |
| 31 | + IPSTATS_MIB_OUTPKTS, /* OutTransmits */ | |
| 28 | 32 | IPSTATS_MIB_OUTOCTETS, /* OutOctets */ |
| 33 | + IPSTATS_MIB_OUTFORWDATAGRAMS, /* OutForwDatagrams */ | |
| 29 | 34 | /* other fields */ |
| 30 | 35 | IPSTATS_MIB_INHDRERRORS, /* InHdrErrors */ |
| 31 | 36 | IPSTATS_MIB_INTOOBIGERRORS, /* InTooBigErrors */ |
| @@ -52,12 +57,7 @@ enum · 20 unmodified lines | ||
| 52 | 57 | IPSTATS_MIB_INBCASTOCTETS, /* InBcastOctets */ |
| 53 | 58 | IPSTATS_MIB_OUTBCASTOCTETS, /* OutBcastOctets */ |
| 54 | 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 | 60 | IPSTATS_MIB_REASM_OVERLAPS, /* ReasmOverlaps */ |
| 60 | − IPSTATS_MIB_OUTPKTS, /* OutTransmits */ | |
| 61 | 61 | __IPSTATS_MIB_MAX |
| 62 | 62 | }; |
| 63 | 63 | |
| @@ -186,6 +186,7 @@ enum · 122 unmodified lines | ||
| 186 | 186 | LINUX_MIB_TIMEWAITKILLED, /* TimeWaitKilled */ |
| 187 | 187 | LINUX_MIB_PAWSACTIVEREJECTED, /* PAWSActiveRejected */ |
| 188 | 188 | LINUX_MIB_PAWSESTABREJECTED, /* PAWSEstabRejected */ |
| 189 | + LINUX_MIB_TSECRREJECTED, /* TSEcrRejected */ | |
| 189 | 190 | LINUX_MIB_PAWS_OLD_ACK, /* PAWSOldAck */ |
| 190 | 191 | LINUX_MIB_DELAYEDACKS, /* DelayedACKs */ |
| 191 | 192 | LINUX_MIB_DELAYEDACKLOCKED, /* DelayedACKLocked */ |
| @@ -28,7 +28,8 @@ struct tcphdr { · 27 unmodified lines | ||
| 28 | 28 | __be32 seq; |
| 29 | 29 | __be32 ack_seq; |
| 30 | 30 | #if defined(__LITTLE_ENDIAN_BITFIELD) |
| 31 | − __u16 res1:4, | |
| 31 | + __u16 ae:1, | |
| 32 | + res1:3, | |
| 32 | 33 | doff:4, |
| 33 | 34 | fin:1, |
| 34 | 35 | syn:1, |
| @@ -40,7 +41,8 @@ struct tcphdr { · 5 unmodified lines | ||
| 40 | 41 | cwr:1; |
| 41 | 42 | #elif defined(__BIG_ENDIAN_BITFIELD) |
| 42 | 43 | __u16 doff:4, |
| 43 | − res1:4, | |
| 44 | + res1:3, | |
| 45 | + ae:1, | |
| 44 | 46 | cwr:1, |
| 45 | 47 | ece:1, |
| 46 | 48 | urg:1, |
| @@ -70,6 +72,7 @@ union tcp_word_hdr { · 23 unmodified lines | ||
| 70 | 72 | #define tcp_flag_word(tp) (((union tcp_word_hdr *)(tp))->words[3]) |
| 71 | 73 | |
| 72 | 74 | enum { |
| 75 | + TCP_FLAG_AE = __constant_cpu_to_be32(0x01000000), | |
| 73 | 76 | TCP_FLAG_CWR = __constant_cpu_to_be32(0x00800000), |
| 74 | 77 | TCP_FLAG_ECE = __constant_cpu_to_be32(0x00400000), |
| 75 | 78 | TCP_FLAG_URG = __constant_cpu_to_be32(0x00200000), |
| @@ -78,7 +81,7 @@ enum { · 2 unmodified lines | ||
| 78 | 81 | TCP_FLAG_RST = __constant_cpu_to_be32(0x00040000), |
| 79 | 82 | TCP_FLAG_SYN = __constant_cpu_to_be32(0x00020000), |
| 80 | 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 | 85 | TCP_DATA_OFFSET = __constant_cpu_to_be32(0xF0000000) |
| 83 | 86 | }; |
| 84 | 87 | |
| @@ -136,6 +139,9 @@ enum { · 51 unmodified lines | ||
| 136 | 139 | #define TCP_AO_REPAIR 42 /* Get/Set SNEs and ISNs */ |
| 137 | 140 | |
| 138 | 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 | 146 | #define TCP_REPAIR_ON 1 |
| 141 | 147 | #define TCP_REPAIR_OFF 0 |
| @@ -330,6 +330,7 @@ struct usb_device_descriptor { · 329 unmodified lines | ||
| 330 | 330 | #define USB_CLASS_AUDIO_VIDEO 0x10 |
| 331 | 331 | #define USB_CLASS_BILLBOARD 0x11 |
| 332 | 332 | #define USB_CLASS_USB_TYPE_C_BRIDGE 0x12 |
| 333 | +#define USB_CLASS_MCTP 0x14 | |
| 333 | 334 | #define USB_CLASS_MISC 0xef |
| 334 | 335 | #define USB_CLASS_APP_SPEC 0xfe |
| 335 | 336 | #define USB_SUBCLASS_DFU 0x01 |
| @@ -327,6 +327,19 @@ struct virtio_net_rss_config { · 326 unmodified lines | ||
| 327 | 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 | 343 | #define VIRTIO_NET_CTRL_MQ_RSS_CONFIG 1 |
| 331 | 344 | |
| 332 | 345 | /* |