Pull networking updates from Jakub Kicinski: "Core & protocols: - Wrap datapath globals into net_aligned_data, to avoid false sharing - Preserve MSG_ZEROCOPY in forwarding (e.g. out of a container) - Add SO_INQ and SCM_INQ support to AF_UNIX - Add SIOCINQ support to AF_VSOCK - Add TCP_MAXSEG sockopt to MPTCP - Add IPv6 force_forwarding sysctl to enable forwarding per interface - Make TCP validation of whether packet fully fits in the receive window and the rcv_buf more strict. With increased use of HW aggregation a single "packet" can be multiple 100s of kB - Add MSG_MORE flag to optimize large TCP transmissions via sockmap, improves latency up to 33% for sockmap users - Convert TCP send queue handling from tasklet to BH workque - Improve BPF iteration over TCP sockets to see each socket exactly once - Remove obsolete and unused TCP RFC3517/RFC6675 loss recovery code - Support enabling kernel threads for NAPI processing on per-NAPI instance basis rather than a whole device. Fully stop the kernel NAPI thread when threaded NAPI gets disabled. Previously thread would stick around until ifdown due to tricky synchronization - Allow multicast routing to take effect on locally-generated packets - Add output interface argument for End.X in segment routing - MCTP: add support for gateway routing, improve bind() handling - Don't require rtnl_lock when fetching an IPv6 neighbor over Netlink - Add a new neighbor flag ("extern_valid"), which cedes refresh responsibilities to userspace. This is needed for EVPN multi-homing where a neighbor entry for a multi-homed host needs to be synced across all the VTEPs among which the host is multi-homed - Support NUD_PERMANENT for proxy neighbor entries - Add a new queuing discipline for IETF RFC9332 DualQ Coupled AQM - Add sequence numbers to netconsole messages. Unregister netconsole's console when all net targets are removed. Code refactoring. Add a number of selftests - Align IPSec inbound SA lookup to RFC 4301. Only SPI and protocol should be used for an inbound SA lookup - Support inspecting ref_tracker state via DebugFS - Don't force bonding advertisement frames tx to ~333 ms boundaries. Add broadcast_neighbor option to send ARP/ND on all bonded links - Allow providing upcall pid for the 'execute' command in openvswitch - Remove DCCP support from Netfilter's conntrack - Disallow multiple packet duplications in the queuing layer - Prevent use of deprecated iptables code on PREEMPT_RT Driver API: - Support RSS and hashing configuration over ethtool Netlink - Add dedicated ethtool callbacks for getting and setting hashing fields - Add support for power budget evaluation strategy in PSE / Power-over-Ethernet. Generate Netlink events for overcurrent etc - Support DPLL phase offset monitoring across all device inputs. Support providing clock reference and SYNC over separate DPLL inputs - Support traffic classes in devlink rate API for bandwidth management - Remove rtnl_lock dependency from UDP tunnel port configuration Device drivers: - Add a new Broadcom driver for 800G Ethernet (bnge) - Add a standalone driver for Microchip ZL3073x DPLL - Remove IBM's NETIUCV device driver - Ethernet high-speed NICs: - Broadcom (bnxt): - support zero-copy Tx of DMABUF memory - take page size into account for page pool recycling rings - Intel (100G, ice, idpf): - idpf: XDP and AF_XDP support preparations - idpf: add flow steering - add link_down_events statistic - clean up the TSPLL code - preparations for live VM migration - nVidia/Mellanox: - support zero-copy Rx/Tx interfaces (DMABUF and io_uring) - optimize context memory usage for matchers - expose serial numbers in devlink info - support PCIe congestion metrics - Meta (fbnic): - add 25G, 50G, and 100G link modes to phylink - support dumping FW logs - Marvell/Cavium: - support for CN20K generation of the Octeon chips - Amazon: - add HW clock (without timestamping, just hypervisor time access) - Ethernet virtual: - VirtIO net: - support segmentation of UDP-tunnel-encapsulated packets - Google (gve): - support packet timestamping and clock synchronization - Microsoft vNIC: - add handler for device-originated servicing events - allow dynamic MSI-X vector allocation - support Tx bandwidth clamping - Ethernet NICs consumer, and embedded: - AMD: - amd-xgbe: hardware timestamping and PTP clock support - Broadcom integrated MACs (bcmgenet, bcmasp): - use napi_complete_done() return value to support NAPI polling - add support for re-starting auto-negotiation - Broadcom switches (b53): - support BCM5325 switches - add bcm63xx EPHY power control - Synopsys (stmmac): - lots of code refactoring and cleanups - TI: - icssg-prueth: read firmware-names from device tree - icssg: PRP offload support - Microchip: - lan78xx: convert to PHYLINK for improved PHY and MAC management - ksz: add KSZ8463 switch support - Intel: - support similar queue priority scheme in multi-queue and time-sensitive networking (taprio) - support packet pre-emption in both - RealTek (r8169): - enable EEE at 5Gbps on RTL8126 - Airoha: - add PPPoE offload support - MDIO bus controller for Airoha AN7583 - Ethernet PHYs: - support for the IPQ5018 internal GE PHY - micrel KSZ9477 switch-integrated PHYs: - add MDI/MDI-X control support - add RX error counters - add cable test support - add Signal Quality Indicator (SQI) reporting - dp83tg720: improve reset handling and reduce link recovery time - support bcm54811 (and its MII-Lite interface type) - air_en8811h: support resume/suspend - support PHY counters for QCA807x and QCA808x - support WoL for QCA807x - CAN drivers: - rcar_canfd: support for Transceiver Delay Compensation - kvaser: report FW versions via devlink dev info - WiFi: - extended regulatory info support (6 GHz) - add statistics and beacon monitor for Multi-Link Operation (MLO) - support S1G aggregation, improve S1G support - add Radio Measurement action fields - support per-radio RTS threshold - some work around how FIPS affects wifi, which was wrong (RC4 is used by TKIP, not only WEP) - improvements for unsolicited probe response handling - WiFi drivers: - RealTek (rtw88): - IBSS mode for SDIO devices - RealTek (rtw89): - BT coexistence for MLO/WiFi7 - concurrent station + P2P support - support for USB devices RTL8851BU/RTL8852BU - Intel (iwlwifi): - use embedded PNVM in (to be released) FW images to fix compatibility issues - many cleanups (unused FW APIs, PCIe code, WoWLAN) - some FIPS interoperability - MediaTek (mt76): - firmware recovery improvements - more MLO work - Qualcomm/Atheros (ath12k): - fix scan on multi-radio devices - more EHT/Wi-Fi 7 features - encapsulation/decapsulation offload - Broadcom (brcm80211): - support SDIO 43751 device - Bluetooth: - hci_event: add support for handling LE BIG Sync Lost event - ISO: add socket option to report packet seqnum via CMSG - ISO: support SCM_TIMESTAMPING for ISO TS - Bluetooth drivers: - intel_pcie: support Function Level Reset - nxpuart: add support for 4M baudrate - nxpuart: implement powerup sequence, reset, FW dump, and FW loading" * tag 'net-next-6.17' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1742 commits) dpll: zl3073x: Fix build failure selftests: bpf: fix legacy netfilter options ipv6: annotate data-races around rt->fib6_nsiblings ipv6: fix possible infinite loop in fib6_info_uses_dev() ipv6: prevent infinite loop in rt6_nlmsg_size() ipv6: add a retry logic in net6_rt_notify() vrf: Drop existing dst reference in vrf_ip6_input_dst net/sched: taprio: align entry index attr validation with mqprio net: fsl_pq_mdio: use dev_err_probe selftests: rtnetlink.sh: remove esp4_offload after test vsock: remove unnecessary null check in vsock_getname() igb: xsk: solve negative overflow of nb_pkts in zerocopy mode stmmac: xsk: fix negative overflow of budget in zerocopy mode dt-bindings: ieee802154: Convert at86rf230.txt yaml format net: dsa: microchip: Disable PTP function of KSZ8463 net: dsa: microchip: Setup fiber ports for KSZ8463 net: dsa: microchip: Write switch MAC address differently for KSZ8463 net: dsa: microchip: Use different registers for KSZ8463 net: dsa: microchip: Add KSZ8463 switch support to KSZ DSA driver dt-bindings: net: dsa: microchip: Add KSZ8463 switch support ...
Showing the changes to include/uapi/linux (25 of 1904 files). Show all
Unified · Split
| @@ -221,6 +221,11 @@ enum devlink_port_flavour { · 220 unmodified lines | |||
| 221 | */ | 221 | */ |
| 222 | }; | 222 | }; |
| 223 | 223 | ||
| 224 | /* IEEE 802.1Qaz standard supported values. */ | ||
| 225 | |||
| 226 | #define DEVLINK_RATE_TCS_MAX 8 | ||
| 227 | #define DEVLINK_RATE_TC_INDEX_MAX (DEVLINK_RATE_TCS_MAX - 1) | ||
| 228 | |||
| 224 | enum devlink_rate_type { | 229 | enum devlink_rate_type { |
| 225 | DEVLINK_RATE_TYPE_LEAF, | 230 | DEVLINK_RATE_TYPE_LEAF, |
| 226 | DEVLINK_RATE_TYPE_NODE, | 231 | DEVLINK_RATE_TYPE_NODE, |
| @@ -629,6 +634,8 @@ enum devlink_attr { · 402 unmodified lines | |||
| 629 | 634 | ||
| 630 | DEVLINK_ATTR_REGION_DIRECT, /* flag */ | 635 | DEVLINK_ATTR_REGION_DIRECT, /* flag */ |
| 631 | 636 | ||
| 637 | DEVLINK_ATTR_RATE_TC_BWS, /* nested */ | ||
| 638 | |||
| 632 | /* Add new attributes above here, update the spec in | 639 | /* Add new attributes above here, update the spec in |
| 633 | * Documentation/netlink/specs/devlink.yaml and re-generate | 640 | * Documentation/netlink/specs/devlink.yaml and re-generate |
| 634 | * net/devlink/netlink_gen.c. | 641 | * net/devlink/netlink_gen.c. |
| @@ -638,6 +645,15 @@ enum devlink_attr { · 3 unmodified lines | |||
| 638 | DEVLINK_ATTR_MAX = __DEVLINK_ATTR_MAX - 1 | 645 | DEVLINK_ATTR_MAX = __DEVLINK_ATTR_MAX - 1 |
| 639 | }; | 646 | }; |
| 640 | 647 | ||
| 648 | enum devlink_rate_tc_attr { | ||
| 649 | DEVLINK_RATE_TC_ATTR_UNSPEC, | ||
| 650 | DEVLINK_RATE_TC_ATTR_INDEX, /* u8 */ | ||
| 651 | DEVLINK_RATE_TC_ATTR_BW, /* u32 */ | ||
| 652 | |||
| 653 | __DEVLINK_RATE_TC_ATTR_MAX, | ||
| 654 | DEVLINK_RATE_TC_ATTR_MAX = __DEVLINK_RATE_TC_ATTR_MAX - 1 | ||
| 655 | }; | ||
| 656 | |||
| 641 | /* Mapping between internal resource described by the field and system | 657 | /* Mapping between internal resource described by the field and system |
| 642 | * structure | 658 | * structure |
| 643 | */ | 659 | */ |
| @@ -192,6 +192,17 @@ enum dpll_pin_capabilities { · 191 unmodified lines | |||
| 192 | 192 | ||
| 193 | #define DPLL_PHASE_OFFSET_DIVIDER 1000 | 193 | #define DPLL_PHASE_OFFSET_DIVIDER 1000 |
| 194 | 194 | ||
| 195 | /** | ||
| 196 | * enum dpll_feature_state - Allow control (enable/disable) and status checking | ||
| 197 | * over features. | ||
| 198 | * @DPLL_FEATURE_STATE_DISABLE: feature shall be disabled | ||
| 199 | * @DPLL_FEATURE_STATE_ENABLE: feature shall be enabled | ||
| 200 | */ | ||
| 201 | enum dpll_feature_state { | ||
| 202 | DPLL_FEATURE_STATE_DISABLE, | ||
| 203 | DPLL_FEATURE_STATE_ENABLE, | ||
| 204 | }; | ||
| 205 | |||
| 195 | enum dpll_a { | 206 | enum dpll_a { |
| 196 | DPLL_A_ID = 1, | 207 | DPLL_A_ID = 1, |
| 197 | DPLL_A_MODULE_NAME, | 208 | DPLL_A_MODULE_NAME, |
| @@ -204,6 +215,7 @@ enum dpll_a { · 6 unmodified lines | |||
| 204 | DPLL_A_TYPE, | 215 | DPLL_A_TYPE, |
| 205 | DPLL_A_LOCK_STATUS_ERROR, | 216 | DPLL_A_LOCK_STATUS_ERROR, |
| 206 | DPLL_A_CLOCK_QUALITY_LEVEL, | 217 | DPLL_A_CLOCK_QUALITY_LEVEL, |
| 218 | DPLL_A_PHASE_OFFSET_MONITOR, | ||
| 207 | 219 | ||
| 208 | __DPLL_A_MAX, | 220 | __DPLL_A_MAX, |
| 209 | DPLL_A_MAX = (__DPLL_A_MAX - 1) | 221 | DPLL_A_MAX = (__DPLL_A_MAX - 1) |
| @@ -237,6 +249,7 @@ enum dpll_a_pin { · 27 unmodified lines | |||
| 237 | DPLL_A_PIN_ESYNC_FREQUENCY, | 249 | DPLL_A_PIN_ESYNC_FREQUENCY, |
| 238 | DPLL_A_PIN_ESYNC_FREQUENCY_SUPPORTED, | 250 | DPLL_A_PIN_ESYNC_FREQUENCY_SUPPORTED, |
| 239 | DPLL_A_PIN_ESYNC_PULSE, | 251 | DPLL_A_PIN_ESYNC_PULSE, |
| 252 | DPLL_A_PIN_REFERENCE_SYNC, | ||
| 240 | 253 | ||
| 241 | __DPLL_A_PIN_MAX, | 254 | __DPLL_A_PIN_MAX, |
| 242 | DPLL_A_PIN_MAX = (__DPLL_A_PIN_MAX - 1) | 255 | DPLL_A_PIN_MAX = (__DPLL_A_PIN_MAX - 1) |
| @@ -2314,7 +2314,7 @@ enum { · 2313 unmodified lines | |||
| 2314 | IPV6_USER_FLOW = 0x0e, /* spec only (usr_ip6_spec; nfc only) */ | 2314 | IPV6_USER_FLOW = 0x0e, /* spec only (usr_ip6_spec; nfc only) */ |
| 2315 | IPV4_FLOW = 0x10, /* hash only */ | 2315 | IPV4_FLOW = 0x10, /* hash only */ |
| 2316 | IPV6_FLOW = 0x11, /* hash only */ | 2316 | IPV6_FLOW = 0x11, /* hash only */ |
| 2317 | ETHER_FLOW = 0x12, /* spec only (ether_spec) */ | 2317 | ETHER_FLOW = 0x12, /* hash or spec (ether_spec) */ |
| 2318 | 2318 | ||
| 2319 | /* Used for GTP-U IPv4 and IPv6. | 2319 | /* Used for GTP-U IPv4 and IPv6. |
| 2320 | * The format of GTP packets only includes | 2320 | * The format of GTP packets only includes |
| @@ -2371,7 +2371,7 @@ enum { · 50 unmodified lines | |||
| 2371 | /* Flag to enable RSS spreading of traffic matching rule (nfc only) */ | 2371 | /* Flag to enable RSS spreading of traffic matching rule (nfc only) */ |
| 2372 | #define FLOW_RSS 0x20000000 | 2372 | #define FLOW_RSS 0x20000000 |
| 2373 | 2373 | ||
| 2374 | /* L3-L4 network traffic flow hash options */ | 2374 | /* L2-L4 network traffic flow hash options */ |
| 2375 | #define RXH_L2DA (1 << 1) | 2375 | #define RXH_L2DA (1 << 1) |
| 2376 | #define RXH_VLAN (1 << 2) | 2376 | #define RXH_VLAN (1 << 2) |
| 2377 | #define RXH_L3_PROTO (1 << 3) | 2377 | #define RXH_L3_PROTO (1 << 3) |
| @@ -208,6 +208,4 @@ enum { · 207 unmodified lines | |||
| 208 | ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1) | 208 | ETHTOOL_A_STATS_PHY_MAX = (__ETHTOOL_A_STATS_PHY_CNT - 1) |
| 209 | }; | 209 | }; |
| 210 | 210 | ||
| 211 | #define ETHTOOL_MCGRP_MONITOR_NAME "monitor" | ||
| 212 | |||
| 213 | #endif /* _UAPI_LINUX_ETHTOOL_NETLINK_H_ */ | 211 | #endif /* _UAPI_LINUX_ETHTOOL_NETLINK_H_ */ |
| @@ -49,6 +49,34 @@ enum hwtstamp_source { · 48 unmodified lines | |||
| 49 | HWTSTAMP_SOURCE_PHYLIB, | 49 | HWTSTAMP_SOURCE_PHYLIB, |
| 50 | }; | 50 | }; |
| 51 | 51 | ||
| 52 | /** | ||
| 53 | * enum ethtool_pse_event - PSE event list for the PSE controller | ||
| 54 | * @ETHTOOL_PSE_EVENT_OVER_CURRENT: PSE output current is too high | ||
| 55 | * @ETHTOOL_PSE_EVENT_OVER_TEMP: PSE in over temperature state | ||
| 56 | * @ETHTOOL_C33_PSE_EVENT_DETECTION: detection process occur on the PSE. IEEE | ||
| 57 | * 802.3-2022 33.2.5 and 145.2.6 PSE detection of PDs. IEEE 802.3-202 | ||
| 58 | * 30.9.1.1.5 aPSEPowerDetectionStatus | ||
| 59 | * @ETHTOOL_C33_PSE_EVENT_CLASSIFICATION: classification process occur on the | ||
| 60 | * PSE. IEEE 802.3-2022 33.2.6 and 145.2.8 classification of PDs mutual | ||
| 61 | * identification. IEEE 802.3-2022 30.9.1.1.8 aPSEPowerClassification. | ||
| 62 | * @ETHTOOL_C33_PSE_EVENT_DISCONNECTION: PD has been disconnected on the PSE. | ||
| 63 | * IEEE 802.3-2022 33.3.8 and 145.3.9 PD Maintain Power Signature. IEEE | ||
| 64 | * 802.3-2022 33.5.1.2.9 MPS Absent. IEEE 802.3-2022 30.9.1.1.20 | ||
| 65 | * aPSEMPSAbsentCounter. | ||
| 66 | * @ETHTOOL_PSE_EVENT_OVER_BUDGET: PSE turned off due to over budget situation | ||
| 67 | * @ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR: PSE faced an error managing the | ||
| 68 | * power control from software | ||
| 69 | */ | ||
| 70 | enum ethtool_pse_event { | ||
| 71 | ETHTOOL_PSE_EVENT_OVER_CURRENT = 1, | ||
| 72 | ETHTOOL_PSE_EVENT_OVER_TEMP = 2, | ||
| 73 | ETHTOOL_C33_PSE_EVENT_DETECTION = 4, | ||
| 74 | ETHTOOL_C33_PSE_EVENT_CLASSIFICATION = 8, | ||
| 75 | ETHTOOL_C33_PSE_EVENT_DISCONNECTION = 16, | ||
| 76 | ETHTOOL_PSE_EVENT_OVER_BUDGET = 32, | ||
| 77 | ETHTOOL_PSE_EVENT_SW_PW_CONTROL_ERROR = 64, | ||
| 78 | }; | ||
| 79 | |||
| 52 | enum { | 80 | enum { |
| 53 | ETHTOOL_A_HEADER_UNSPEC, | 81 | ETHTOOL_A_HEADER_UNSPEC, |
| 54 | ETHTOOL_A_HEADER_DEV_INDEX, | 82 | ETHTOOL_A_HEADER_DEV_INDEX, |
| @@ -642,11 +670,47 @@ enum { · 587 unmodified lines | |||
| 642 | ETHTOOL_A_C33_PSE_EXT_SUBSTATE, | 670 | ETHTOOL_A_C33_PSE_EXT_SUBSTATE, |
| 643 | ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, | 671 | ETHTOOL_A_C33_PSE_AVAIL_PW_LIMIT, |
| 644 | ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, | 672 | ETHTOOL_A_C33_PSE_PW_LIMIT_RANGES, |
| 673 | ETHTOOL_A_PSE_PW_D_ID, | ||
| 674 | ETHTOOL_A_PSE_PRIO_MAX, | ||
| 675 | ETHTOOL_A_PSE_PRIO, | ||
| 645 | 676 | ||
| 646 | __ETHTOOL_A_PSE_CNT, | 677 | __ETHTOOL_A_PSE_CNT, |
| 647 | ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1) | 678 | ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1) |
| 648 | }; | 679 | }; |
| 649 | 680 | ||
| 681 | enum { | ||
| 682 | ETHTOOL_A_FLOW_ETHER = 1, | ||
| 683 | ETHTOOL_A_FLOW_IP4, | ||
| 684 | ETHTOOL_A_FLOW_IP6, | ||
| 685 | ETHTOOL_A_FLOW_TCP4, | ||
| 686 | ETHTOOL_A_FLOW_TCP6, | ||
| 687 | ETHTOOL_A_FLOW_UDP4, | ||
| 688 | ETHTOOL_A_FLOW_UDP6, | ||
| 689 | ETHTOOL_A_FLOW_SCTP4, | ||
| 690 | ETHTOOL_A_FLOW_SCTP6, | ||
| 691 | ETHTOOL_A_FLOW_AH4, | ||
| 692 | ETHTOOL_A_FLOW_AH6, | ||
| 693 | ETHTOOL_A_FLOW_ESP4, | ||
| 694 | ETHTOOL_A_FLOW_ESP6, | ||
| 695 | ETHTOOL_A_FLOW_AH_ESP4, | ||
| 696 | ETHTOOL_A_FLOW_AH_ESP6, | ||
| 697 | ETHTOOL_A_FLOW_GTPU4, | ||
| 698 | ETHTOOL_A_FLOW_GTPU6, | ||
| 699 | ETHTOOL_A_FLOW_GTPC4, | ||
| 700 | ETHTOOL_A_FLOW_GTPC6, | ||
| 701 | ETHTOOL_A_FLOW_GTPC_TEID4, | ||
| 702 | ETHTOOL_A_FLOW_GTPC_TEID6, | ||
| 703 | ETHTOOL_A_FLOW_GTPU_EH4, | ||
| 704 | ETHTOOL_A_FLOW_GTPU_EH6, | ||
| 705 | ETHTOOL_A_FLOW_GTPU_UL4, | ||
| 706 | ETHTOOL_A_FLOW_GTPU_UL6, | ||
| 707 | ETHTOOL_A_FLOW_GTPU_DL4, | ||
| 708 | ETHTOOL_A_FLOW_GTPU_DL6, | ||
| 709 | |||
| 710 | __ETHTOOL_A_FLOW_CNT, | ||
| 711 | ETHTOOL_A_FLOW_MAX = (__ETHTOOL_A_FLOW_CNT - 1) | ||
| 712 | }; | ||
| 713 | |||
| 650 | enum { | 714 | enum { |
| 651 | ETHTOOL_A_RSS_UNSPEC, | 715 | ETHTOOL_A_RSS_UNSPEC, |
| 652 | ETHTOOL_A_RSS_HEADER, | 716 | ETHTOOL_A_RSS_HEADER, |
| @@ -656,6 +720,7 @@ enum { · 3 unmodified lines | |||
| 656 | ETHTOOL_A_RSS_HKEY, | 720 | ETHTOOL_A_RSS_HKEY, |
| 657 | ETHTOOL_A_RSS_INPUT_XFRM, | 721 | ETHTOOL_A_RSS_INPUT_XFRM, |
| 658 | ETHTOOL_A_RSS_START_CONTEXT, | 722 | ETHTOOL_A_RSS_START_CONTEXT, |
| 723 | ETHTOOL_A_RSS_FLOW_HASH, | ||
| 659 | 724 | ||
| 660 | __ETHTOOL_A_RSS_CNT, | 725 | __ETHTOOL_A_RSS_CNT, |
| 661 | ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1) | 726 | ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1) |
| @@ -718,6 +783,14 @@ enum { · 56 unmodified lines | |||
| 718 | ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1) | 783 | ETHTOOL_A_TSCONFIG_MAX = (__ETHTOOL_A_TSCONFIG_CNT - 1) |
| 719 | }; | 784 | }; |
| 720 | 785 | ||
| 786 | enum { | ||
| 787 | ETHTOOL_A_PSE_NTF_HEADER = 1, | ||
| 788 | ETHTOOL_A_PSE_NTF_EVENTS, | ||
| 789 | |||
| 790 | __ETHTOOL_A_PSE_NTF_CNT, | ||
| 791 | ETHTOOL_A_PSE_NTF_MAX = (__ETHTOOL_A_PSE_NTF_CNT - 1) | ||
| 792 | }; | ||
| 793 | |||
| 721 | enum { | 794 | enum { |
| 722 | ETHTOOL_MSG_USER_NONE = 0, | 795 | ETHTOOL_MSG_USER_NONE = 0, |
| 723 | ETHTOOL_MSG_STRSET_GET = 1, | 796 | ETHTOOL_MSG_STRSET_GET = 1, |
| @@ -767,6 +840,9 @@ enum { · 43 unmodified lines | |||
| 767 | ETHTOOL_MSG_PHY_GET, | 840 | ETHTOOL_MSG_PHY_GET, |
| 768 | ETHTOOL_MSG_TSCONFIG_GET, | 841 | ETHTOOL_MSG_TSCONFIG_GET, |
| 769 | ETHTOOL_MSG_TSCONFIG_SET, | 842 | ETHTOOL_MSG_TSCONFIG_SET, |
| 843 | ETHTOOL_MSG_RSS_SET, | ||
| 844 | ETHTOOL_MSG_RSS_CREATE_ACT, | ||
| 845 | ETHTOOL_MSG_RSS_DELETE_ACT, | ||
| 770 | 846 | ||
| 771 | __ETHTOOL_MSG_USER_CNT, | 847 | __ETHTOOL_MSG_USER_CNT, |
| 772 | ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1) | 848 | ETHTOOL_MSG_USER_MAX = (__ETHTOOL_MSG_USER_CNT - 1) |
| @@ -822,9 +898,16 @@ enum { · 49 unmodified lines | |||
| 822 | ETHTOOL_MSG_PHY_NTF, | 898 | ETHTOOL_MSG_PHY_NTF, |
| 823 | ETHTOOL_MSG_TSCONFIG_GET_REPLY, | 899 | ETHTOOL_MSG_TSCONFIG_GET_REPLY, |
| 824 | ETHTOOL_MSG_TSCONFIG_SET_REPLY, | 900 | ETHTOOL_MSG_TSCONFIG_SET_REPLY, |
| 901 | ETHTOOL_MSG_PSE_NTF, | ||
| 902 | ETHTOOL_MSG_RSS_NTF, | ||
| 903 | ETHTOOL_MSG_RSS_CREATE_ACT_REPLY, | ||
| 904 | ETHTOOL_MSG_RSS_CREATE_NTF, | ||
| 905 | ETHTOOL_MSG_RSS_DELETE_NTF, | ||
| 825 | 906 | ||
| 826 | __ETHTOOL_MSG_KERNEL_CNT, | 907 | __ETHTOOL_MSG_KERNEL_CNT, |
| 827 | ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1) | 908 | ETHTOOL_MSG_KERNEL_MAX = (__ETHTOOL_MSG_KERNEL_CNT - 1) |
| 828 | }; | 909 | }; |
| 829 | 910 | ||
| 911 | #define ETHTOOL_MCGRP_MONITOR_NAME "monitor" | ||
| 912 | |||
| 830 | #endif /* _UAPI_LINUX_ETHTOOL_NETLINK_GENERATED_H */ | 913 | #endif /* _UAPI_LINUX_ETHTOOL_NETLINK_GENERATED_H */ |
| @@ -45,6 +45,7 @@ enum { · 44 unmodified lines | |||
| 45 | HANDSHAKE_A_ACCEPT_PEER_IDENTITY, | 45 | HANDSHAKE_A_ACCEPT_PEER_IDENTITY, |
| 46 | HANDSHAKE_A_ACCEPT_CERTIFICATE, | 46 | HANDSHAKE_A_ACCEPT_CERTIFICATE, |
| 47 | HANDSHAKE_A_ACCEPT_PEERNAME, | 47 | HANDSHAKE_A_ACCEPT_PEERNAME, |
| 48 | HANDSHAKE_A_ACCEPT_KEYRING, | ||
| 48 | 49 | ||
| 49 | __HANDSHAKE_A_ACCEPT_MAX, | 50 | __HANDSHAKE_A_ACCEPT_MAX, |
| 50 | HANDSHAKE_A_ACCEPT_MAX = (__HANDSHAKE_A_ACCEPT_MAX - 1) | 51 | HANDSHAKE_A_ACCEPT_MAX = (__HANDSHAKE_A_ACCEPT_MAX - 1) |
| @@ -1398,6 +1398,7 @@ enum { · 1397 unmodified lines | |||
| 1398 | IFLA_VXLAN_LOCALBYPASS, | 1398 | IFLA_VXLAN_LOCALBYPASS, |
| 1399 | IFLA_VXLAN_LABEL_POLICY, /* IPv6 flow label policy; ifla_vxlan_label_policy */ | 1399 | IFLA_VXLAN_LABEL_POLICY, /* IPv6 flow label policy; ifla_vxlan_label_policy */ |
| 1400 | IFLA_VXLAN_RESERVED_BITS, | 1400 | IFLA_VXLAN_RESERVED_BITS, |
| 1401 | IFLA_VXLAN_MC_ROUTE, | ||
| 1401 | __IFLA_VXLAN_MAX | 1402 | __IFLA_VXLAN_MAX |
| 1402 | }; | 1403 | }; |
| 1403 | #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) | 1404 | #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1) |
| @@ -1534,6 +1535,7 @@ enum { · 130 unmodified lines | |||
| 1534 | IFLA_BOND_MISSED_MAX, | 1535 | IFLA_BOND_MISSED_MAX, |
| 1535 | IFLA_BOND_NS_IP6_TARGET, | 1536 | IFLA_BOND_NS_IP6_TARGET, |
| 1536 | IFLA_BOND_COUPLED_CONTROL, | 1537 | IFLA_BOND_COUPLED_CONTROL, |
| 1538 | IFLA_BOND_BROADCAST_NEIGH, | ||
| 1537 | __IFLA_BOND_MAX, | 1539 | __IFLA_BOND_MAX, |
| 1538 | }; | 1540 | }; |
| 1539 | 1541 | ||
| @@ -93,6 +93,15 @@ · 92 unmodified lines | |||
| 93 | #define TUN_F_USO4 0x20 /* I can handle USO for IPv4 packets */ | 93 | #define TUN_F_USO4 0x20 /* I can handle USO for IPv4 packets */ |
| 94 | #define TUN_F_USO6 0x40 /* I can handle USO for IPv6 packets */ | 94 | #define TUN_F_USO6 0x40 /* I can handle USO for IPv6 packets */ |
| 95 | 95 | ||
| 96 | /* I can handle TSO/USO for UDP tunneled packets */ | ||
| 97 | #define TUN_F_UDP_TUNNEL_GSO 0x080 | ||
| 98 | |||
| 99 | /* | ||
| 100 | * I can handle TSO/USO for UDP tunneled packets requiring csum offload for | ||
| 101 | * the outer header | ||
| 102 | */ | ||
| 103 | #define TUN_F_UDP_TUNNEL_GSO_CSUM 0x100 | ||
| 104 | |||
| 96 | /* Protocol info prepended to the packets (when IFF_NO_PI is not set) */ | 105 | /* Protocol info prepended to the packets (when IFF_NO_PI is not set) */ |
| 97 | #define TUN_PKT_STRIP 0x0001 | 106 | #define TUN_PKT_STRIP 0x0001 |
| 98 | struct tun_pi { | 107 | struct tun_pi { |
| @@ -79,6 +79,7 @@ struct xdp_mmap_offsets { · 78 unmodified lines | |||
| 79 | #define XDP_UMEM_COMPLETION_RING 6 | 79 | #define XDP_UMEM_COMPLETION_RING 6 |
| 80 | #define XDP_STATISTICS 7 | 80 | #define XDP_STATISTICS 7 |
| 81 | #define XDP_OPTIONS 8 | 81 | #define XDP_OPTIONS 8 |
| 82 | #define XDP_MAX_TX_SKB_BUDGET 9 | ||
| 82 | 83 | ||
| 83 | struct xdp_umem_reg { | 84 | struct xdp_umem_reg { |
| 84 | __u64 addr; /* Start of packet data area */ | 85 | __u64 addr; /* Start of packet data area */ |
| @@ -152,7 +152,6 @@ struct in6_flowlabel_req { · 151 unmodified lines | |||
| 152 | /* | 152 | /* |
| 153 | * IPV6 socket options | 153 | * IPV6 socket options |
| 154 | */ | 154 | */ |
| 155 | #if __UAPI_DEF_IPV6_OPTIONS | ||
| 156 | #define IPV6_ADDRFORM 1 | 155 | #define IPV6_ADDRFORM 1 |
| 157 | #define IPV6_2292PKTINFO 2 | 156 | #define IPV6_2292PKTINFO 2 |
| 158 | #define IPV6_2292HOPOPTS 3 | 157 | #define IPV6_2292HOPOPTS 3 |
| @@ -169,8 +168,10 @@ struct in6_flowlabel_req { · 10 unmodified lines | |||
| 169 | #define IPV6_MULTICAST_IF 17 | 168 | #define IPV6_MULTICAST_IF 17 |
| 170 | #define IPV6_MULTICAST_HOPS 18 | 169 | #define IPV6_MULTICAST_HOPS 18 |
| 171 | #define IPV6_MULTICAST_LOOP 19 | 170 | #define IPV6_MULTICAST_LOOP 19 |
| 171 | #if __UAPI_DEF_IPV6_OPTIONS | ||
| 172 | #define IPV6_ADD_MEMBERSHIP 20 | 172 | #define IPV6_ADD_MEMBERSHIP 20 |
| 173 | #define IPV6_DROP_MEMBERSHIP 21 | 173 | #define IPV6_DROP_MEMBERSHIP 21 |
| 174 | #endif | ||
| 174 | #define IPV6_ROUTER_ALERT 22 | 175 | #define IPV6_ROUTER_ALERT 22 |
| 175 | #define IPV6_MTU_DISCOVER 23 | 176 | #define IPV6_MTU_DISCOVER 23 |
| 176 | #define IPV6_MTU 24 | 177 | #define IPV6_MTU 24 |
| @@ -203,7 +204,6 @@ struct in6_flowlabel_req { · 26 unmodified lines | |||
| 203 | #define IPV6_IPSEC_POLICY 34 | 204 | #define IPV6_IPSEC_POLICY 34 |
| 204 | #define IPV6_XFRM_POLICY 35 | 205 | #define IPV6_XFRM_POLICY 35 |
| 205 | #define IPV6_HDRINCL 36 | 206 | #define IPV6_HDRINCL 36 |
| 206 | #endif | ||
| 207 | 207 | ||
| 208 | /* | 208 | /* |
| 209 | * Multicast: | 209 | * Multicast: |
| @@ -199,6 +199,7 @@ enum { · 198 unmodified lines | |||
| 199 | DEVCONF_NDISC_EVICT_NOCARRIER, | 199 | DEVCONF_NDISC_EVICT_NOCARRIER, |
| 200 | DEVCONF_ACCEPT_UNTRACKED_NA, | 200 | DEVCONF_ACCEPT_UNTRACKED_NA, |
| 201 | DEVCONF_ACCEPT_RA_MIN_LFT, | 201 | DEVCONF_ACCEPT_RA_MIN_LFT, |
| 202 | DEVCONF_FORCE_FORWARDING, | ||
| 202 | DEVCONF_MAX | 203 | DEVCONF_MAX |
| 203 | }; | 204 | }; |
| 204 | 205 | ||
| @@ -37,6 +37,14 @@ struct sockaddr_mctp_ext { · 36 unmodified lines | |||
| 37 | __u8 smctp_haddr[MAX_ADDR_LEN]; | 37 | __u8 smctp_haddr[MAX_ADDR_LEN]; |
| 38 | }; | 38 | }; |
| 39 | 39 | ||
| 40 | /* A "fully qualified" MCTP address, which includes the system-local network ID, | ||
| 41 | * required to uniquely resolve a routable EID. | ||
| 42 | */ | ||
| 43 | struct mctp_fq_addr { | ||
| 44 | unsigned int net; | ||
| 45 | mctp_eid_t eid; | ||
| 46 | }; | ||
| 47 | |||
| 40 | #define MCTP_NET_ANY 0x0 | 48 | #define MCTP_NET_ANY 0x0 |
| 41 | 49 | ||
| 42 | #define MCTP_ADDR_NULL 0x00 | 50 | #define MCTP_ADDR_NULL 0x00 |
| @@ -54,6 +54,7 @@ enum { · 53 unmodified lines | |||
| 54 | /* Extended flags under NDA_FLAGS_EXT: */ | 54 | /* Extended flags under NDA_FLAGS_EXT: */ |
| 55 | #define NTF_EXT_MANAGED (1 << 0) | 55 | #define NTF_EXT_MANAGED (1 << 0) |
| 56 | #define NTF_EXT_LOCKED (1 << 1) | 56 | #define NTF_EXT_LOCKED (1 << 1) |
| 57 | #define NTF_EXT_EXT_VALIDATED (1 << 2) | ||
| 57 | 58 | ||
| 58 | /* | 59 | /* |
| 59 | * Neighbor Cache Entry States. | 60 | * Neighbor Cache Entry States. |
| @@ -92,6 +93,10 @@ enum { · 32 unmodified lines | |||
| 92 | * bridge in response to a host trying to communicate via a locked bridge port | 93 | * bridge in response to a host trying to communicate via a locked bridge port |
| 93 | * with MAB enabled. Their purpose is to notify user space that a host requires | 94 | * with MAB enabled. Their purpose is to notify user space that a host requires |
| 94 | * authentication. | 95 | * authentication. |
| 96 | * | ||
| 97 | * NTF_EXT_EXT_VALIDATED flagged neighbor entries were externally validated by | ||
| 98 | * a user space control plane. The kernel will not remove or invalidate them, | ||
| 99 | * but it can probe them and notify user space when they become reachable. | ||
| 95 | */ | 100 | */ |
| 96 | 101 | ||
| 97 | struct nda_cacheinfo { | 102 | struct nda_cacheinfo { |
| @@ -10,13 +10,6 @@ struct net_dm_drop_point { · 9 unmodified lines | |||
| 10 | __u32 count; | 10 | __u32 count; |
| 11 | }; | 11 | }; |
| 12 | 12 | ||
| 13 | #define is_drop_point_hw(x) do {\ | ||
| 14 | int ____i, ____j;\ | ||
| 15 | for (____i = 0; ____i < 8; i ____i++)\ | ||
| 16 | ____j |= x[____i];\ | ||
| 17 | ____j;\ | ||
| 18 | } while (0) | ||
| 19 | |||
| 20 | #define NET_DM_CFG_VERSION 0 | 13 | #define NET_DM_CFG_VERSION 0 |
| 21 | #define NET_DM_CFG_ALERT_COUNT 1 | 14 | #define NET_DM_CFG_ALERT_COUNT 1 |
| 22 | #define NET_DM_CFG_ALERT_DELAY 2 | 15 | #define NET_DM_CFG_ALERT_DELAY 2 |
| @@ -19,6 +19,7 @@ enum { · 18 unmodified lines | |||
| 19 | NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, | 19 | NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN, |
| 20 | NETCONFA_INPUT, | 20 | NETCONFA_INPUT, |
| 21 | NETCONFA_BC_FORWARDING, | 21 | NETCONFA_BC_FORWARDING, |
| 22 | NETCONFA_FORCE_FORWARDING, | ||
| 22 | __NETCONFA_MAX | 23 | __NETCONFA_MAX |
| 23 | }; | 24 | }; |
| 24 | #define NETCONFA_MAX (__NETCONFA_MAX - 1) | 25 | #define NETCONFA_MAX (__NETCONFA_MAX - 1) |
| @@ -77,6 +77,11 @@ enum netdev_qstats_scope { · 76 unmodified lines | |||
| 77 | NETDEV_QSTATS_SCOPE_QUEUE = 1, | 77 | NETDEV_QSTATS_SCOPE_QUEUE = 1, |
| 78 | }; | 78 | }; |
| 79 | 79 | ||
| 80 | enum netdev_napi_threaded { | ||
| 81 | NETDEV_NAPI_THREADED_DISABLED, | ||
| 82 | NETDEV_NAPI_THREADED_ENABLED, | ||
| 83 | }; | ||
| 84 | |||
| 80 | enum { | 85 | enum { |
| 81 | NETDEV_A_DEV_IFINDEX = 1, | 86 | NETDEV_A_DEV_IFINDEX = 1, |
| 82 | NETDEV_A_DEV_PAD, | 87 | NETDEV_A_DEV_PAD, |
| @@ -134,6 +139,7 @@ enum { · 51 unmodified lines | |||
| 134 | NETDEV_A_NAPI_DEFER_HARD_IRQS, | 139 | NETDEV_A_NAPI_DEFER_HARD_IRQS, |
| 135 | NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT, | 140 | NETDEV_A_NAPI_GRO_FLUSH_TIMEOUT, |
| 136 | NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT, | 141 | NETDEV_A_NAPI_IRQ_SUSPEND_TIMEOUT, |
| 142 | NETDEV_A_NAPI_THREADED, | ||
| 137 | 143 | ||
| 138 | __NETDEV_A_NAPI_MAX, | 144 | __NETDEV_A_NAPI_MAX, |
| 139 | NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1) | 145 | NETDEV_A_NAPI_MAX = (__NETDEV_A_NAPI_MAX - 1) |
| @@ -61,10 +61,12 @@ enum nfnl_hook_chain_desc_attributes { · 60 unmodified lines | |||
| 61 | * | 61 | * |
| 62 | * @NFNL_HOOK_TYPE_NFTABLES: nf_tables base chain | 62 | * @NFNL_HOOK_TYPE_NFTABLES: nf_tables base chain |
| 63 | * @NFNL_HOOK_TYPE_BPF: bpf program | 63 | * @NFNL_HOOK_TYPE_BPF: bpf program |
| 64 | * @NFNL_HOOK_TYPE_NFT_FLOWTABLE: nf_tables flowtable | ||
| 64 | */ | 65 | */ |
| 65 | enum nfnl_hook_chaintype { | 66 | enum nfnl_hook_chaintype { |
| 66 | NFNL_HOOK_TYPE_NFTABLES = 0x1, | 67 | NFNL_HOOK_TYPE_NFTABLES = 0x1, |
| 67 | NFNL_HOOK_TYPE_BPF, | 68 | NFNL_HOOK_TYPE_BPF, |
| 69 | NFNL_HOOK_TYPE_NFT_FLOWTABLE, | ||
| 68 | }; | 70 | }; |
| 69 | 71 | ||
| 70 | /** | 72 | /** |
| @@ -1330,7 +1330,15 @@ · 1329 unmodified lines | |||
| 1330 | * TID to Link mapping for downlink/uplink traffic. | 1330 | * TID to Link mapping for downlink/uplink traffic. |
| 1331 | * | 1331 | * |
| 1332 | * @NL80211_CMD_ASSOC_MLO_RECONF: For a non-AP MLD station, request to | 1332 | * @NL80211_CMD_ASSOC_MLO_RECONF: For a non-AP MLD station, request to |
| 1333 | * add/remove links to/from the association. | 1333 | * add/remove links to/from the association. To indicate link |
| 1334 | * reconfiguration request results from the driver, this command is also | ||
| 1335 | * used as an event to notify userspace about the added links information. | ||
| 1336 | * For notifying the removed links information, the existing | ||
| 1337 | * %NL80211_CMD_LINKS_REMOVED command is used. This command is also used to | ||
| 1338 | * notify userspace about newly added links for the current connection in | ||
| 1339 | * case of AP-initiated link recommendation requests, received via | ||
| 1340 | * a BTM (BSS Transition Management) request or a link reconfig notify | ||
| 1341 | * frame, where the driver handles the link recommendation offload. | ||
| 1334 | * | 1342 | * |
| 1335 | * @NL80211_CMD_EPCS_CFG: EPCS configuration for a station. Used by userland to | 1343 | * @NL80211_CMD_EPCS_CFG: EPCS configuration for a station. Used by userland to |
| 1336 | * control EPCS configuration. Used to notify userland on the current state | 1344 | * control EPCS configuration. Used to notify userland on the current state |
| @@ -2899,6 +2907,27 @@ enum nl80211_commands { · 1562 unmodified lines | |||
| 2899 | * APs Support". Drivers may set additional flags that they support | 2907 | * APs Support". Drivers may set additional flags that they support |
| 2900 | * in the kernel or device. | 2908 | * in the kernel or device. |
| 2901 | * | 2909 | * |
| 2910 | * @NL80211_ATTR_WIPHY_RADIO_INDEX: (int) Integer attribute denoting the index | ||
| 2911 | * of the radio in interest. Internally a value of -1 is used to | ||
| 2912 | * indicate that the radio id is not given in user-space. This means | ||
| 2913 | * that all the attributes are applicable to all the radios. If there is | ||
| 2914 | * a radio index provided in user-space, the attributes will be | ||
| 2915 | * applicable to that specific radio only. If the radio id is greater | ||
| 2916 | * thank the number of radios, error denoting invalid value is returned. | ||
| 2917 | * | ||
| 2918 | * @NL80211_ATTR_S1G_LONG_BEACON_PERIOD: (u8) Integer attribute that represents | ||
| 2919 | * the number of beacon intervals between each long beacon transmission | ||
| 2920 | * for an S1G BSS with short beaconing enabled. This is a required | ||
| 2921 | * attribute for initialising an S1G short beaconing BSS. When updating | ||
| 2922 | * the short beacon data, this is not required. It has a minimum value of | ||
| 2923 | * 2 (i.e 2 beacon intervals). | ||
| 2924 | * | ||
| 2925 | * @NL80211_ATTR_S1G_SHORT_BEACON: Nested attribute containing the short beacon | ||
| 2926 | * head and tail used to set or update the short beacon templates. When | ||
| 2927 | * bringing up a new interface, %NL80211_ATTR_S1G_LONG_BEACON_PERIOD is | ||
| 2928 | * required alongside this attribute. Refer to | ||
| 2929 | * @enum nl80211_s1g_short_beacon_attrs for the attribute definitions. | ||
| 2930 | * | ||
| 2902 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available | 2931 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2903 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 2932 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 2904 | * @__NL80211_ATTR_AFTER_LAST: internal use | 2933 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -3456,6 +3485,11 @@ enum nl80211_attrs { · 551 unmodified lines | |||
| 3456 | 3485 | ||
| 3457 | NL80211_ATTR_ASSOC_MLD_EXT_CAPA_OPS, | 3486 | NL80211_ATTR_ASSOC_MLD_EXT_CAPA_OPS, |
| 3458 | 3487 | ||
| 3488 | NL80211_ATTR_WIPHY_RADIO_INDEX, | ||
| 3489 | |||
| 3490 | NL80211_ATTR_S1G_LONG_BEACON_PERIOD, | ||
| 3491 | NL80211_ATTR_S1G_SHORT_BEACON, | ||
| 3492 | |||
| 3459 | /* add attributes here, update the policy in nl80211.c */ | 3493 | /* add attributes here, update the policy in nl80211.c */ |
| 3460 | 3494 | ||
| 3461 | __NL80211_ATTR_AFTER_LAST, | 3495 | __NL80211_ATTR_AFTER_LAST, |
| @@ -8088,6 +8122,7 @@ enum nl80211_ap_settings_flags { · 4626 unmodified lines | |||
| 8088 | * and contains attributes defined in &enum nl80211_if_combination_attrs. | 8122 | * and contains attributes defined in &enum nl80211_if_combination_attrs. |
| 8089 | * @NL80211_WIPHY_RADIO_ATTR_ANTENNA_MASK: bitmask (u32) of antennas | 8123 | * @NL80211_WIPHY_RADIO_ATTR_ANTENNA_MASK: bitmask (u32) of antennas |
| 8090 | * connected to this radio. | 8124 | * connected to this radio. |
| 8125 | * @NL80211_WIPHY_RADIO_ATTR_RTS_THRESHOLD: RTS threshold (u32) of this radio. | ||
| 8091 | * | 8126 | * |
| 8092 | * @__NL80211_WIPHY_RADIO_ATTR_LAST: Internal | 8127 | * @__NL80211_WIPHY_RADIO_ATTR_LAST: Internal |
| 8093 | * @NL80211_WIPHY_RADIO_ATTR_MAX: Highest attribute | 8128 | * @NL80211_WIPHY_RADIO_ATTR_MAX: Highest attribute |
| @@ -8099,6 +8134,7 @@ enum nl80211_wiphy_radio_attrs { · 5 unmodified lines | |||
| 8099 | NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE, | 8134 | NL80211_WIPHY_RADIO_ATTR_FREQ_RANGE, |
| 8100 | NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION, | 8135 | NL80211_WIPHY_RADIO_ATTR_INTERFACE_COMBINATION, |
| 8101 | NL80211_WIPHY_RADIO_ATTR_ANTENNA_MASK, | 8136 | NL80211_WIPHY_RADIO_ATTR_ANTENNA_MASK, |
| 8137 | NL80211_WIPHY_RADIO_ATTR_RTS_THRESHOLD, | ||
| 8102 | 8138 | ||
| 8103 | /* keep last */ | 8139 | /* keep last */ |
| 8104 | __NL80211_WIPHY_RADIO_ATTR_LAST, | 8140 | __NL80211_WIPHY_RADIO_ATTR_LAST, |
| @@ -8128,4 +8164,27 @@ enum nl80211_wiphy_radio_freq_range { · 23 unmodified lines | |||
| 8128 | NL80211_WIPHY_RADIO_FREQ_ATTR_MAX = __NL80211_WIPHY_RADIO_FREQ_ATTR_LAST - 1, | 8164 | NL80211_WIPHY_RADIO_FREQ_ATTR_MAX = __NL80211_WIPHY_RADIO_FREQ_ATTR_LAST - 1, |
| 8129 | }; | 8165 | }; |
| 8130 | 8166 | ||
| 8167 | /** | ||
| 8168 | * enum nl80211_s1g_short_beacon_attrs - S1G short beacon data | ||
| 8169 | * | ||
| 8170 | * @__NL80211_S1G_SHORT_BEACON_ATTR_INVALID: Invalid | ||
| 8171 | * | ||
| 8172 | * @NL80211_S1G_SHORT_BEACON_ATTR_HEAD: Short beacon head (binary). | ||
| 8173 | * @NL80211_S1G_SHORT_BEACON_ATTR_TAIL: Short beacon tail (binary). | ||
| 8174 | * | ||
| 8175 | * @__NL80211_S1G_SHORT_BEACON_ATTR_LAST: Internal | ||
| 8176 | * @NL80211_S1G_SHORT_BEACON_ATTR_MAX: Highest attribute | ||
| 8177 | */ | ||
| 8178 | enum nl80211_s1g_short_beacon_attrs { | ||
| 8179 | __NL80211_S1G_SHORT_BEACON_ATTR_INVALID, | ||
| 8180 | |||
| 8181 | NL80211_S1G_SHORT_BEACON_ATTR_HEAD, | ||
| 8182 | NL80211_S1G_SHORT_BEACON_ATTR_TAIL, | ||
| 8183 | |||
| 8184 | /* keep last */ | ||
| 8185 | __NL80211_S1G_SHORT_BEACON_ATTR_LAST, | ||
| 8186 | NL80211_S1G_SHORT_BEACON_ATTR_MAX = | ||
| 8187 | __NL80211_S1G_SHORT_BEACON_ATTR_LAST - 1 | ||
| 8188 | }; | ||
| 8189 | |||
| 8131 | #endif /* __LINUX_NL80211_H */ | 8190 | #endif /* __LINUX_NL80211_H */ |
| @@ -186,6 +186,11 @@ enum ovs_packet_cmd { · 185 unmodified lines | |||
| 186 | * %OVS_PACKET_ATTR_USERSPACE action specify the Maximum received fragment | 186 | * %OVS_PACKET_ATTR_USERSPACE action specify the Maximum received fragment |
| 187 | * size. | 187 | * size. |
| 188 | * @OVS_PACKET_ATTR_HASH: Packet hash info (e.g. hash, sw_hash and l4_hash in skb). | 188 | * @OVS_PACKET_ATTR_HASH: Packet hash info (e.g. hash, sw_hash and l4_hash in skb). |
| 189 | * @OVS_PACKET_ATTR_UPCALL_PID: Netlink PID to use for upcalls while | ||
| 190 | * processing %OVS_PACKET_CMD_EXECUTE. Takes precedence over all other ways | ||
| 191 | * to determine the Netlink PID including %OVS_USERSPACE_ATTR_PID, | ||
| 192 | * %OVS_DP_ATTR_UPCALL_PID, %OVS_DP_ATTR_PER_CPU_PIDS and the | ||
| 193 | * %OVS_VPORT_ATTR_UPCALL_PID. | ||
| 189 | * | 194 | * |
| 190 | * These attributes follow the &struct ovs_header within the Generic Netlink | 195 | * These attributes follow the &struct ovs_header within the Generic Netlink |
| 191 | * payload for %OVS_PACKET_* commands. | 196 | * payload for %OVS_PACKET_* commands. |
| @@ -205,6 +210,7 @@ enum ovs_packet_attr { · 13 unmodified lines | |||
| 205 | OVS_PACKET_ATTR_MRU, /* Maximum received IP fragment size. */ | 210 | OVS_PACKET_ATTR_MRU, /* Maximum received IP fragment size. */ |
| 206 | OVS_PACKET_ATTR_LEN, /* Packet size before truncation. */ | 211 | OVS_PACKET_ATTR_LEN, /* Packet size before truncation. */ |
| 207 | OVS_PACKET_ATTR_HASH, /* Packet hash. */ | 212 | OVS_PACKET_ATTR_HASH, /* Packet hash. */ |
| 213 | OVS_PACKET_ATTR_UPCALL_PID, /* u32 Netlink PID. */ | ||
| 208 | __OVS_PACKET_ATTR_MAX | 214 | __OVS_PACKET_ATTR_MAX |
| 209 | }; | 215 | }; |
| 210 | 216 | ||
| @@ -1211,4 +1211,72 @@ enum { · 1210 unmodified lines | |||
| 1211 | 1211 | ||
| 1212 | #define TCA_ETS_MAX (__TCA_ETS_MAX - 1) | 1212 | #define TCA_ETS_MAX (__TCA_ETS_MAX - 1) |
| 1213 | 1213 | ||
| 1214 | /* DUALPI2 */ | ||
| 1215 | enum tc_dualpi2_drop_overload { | ||
| 1216 | TC_DUALPI2_DROP_OVERLOAD_OVERFLOW = 0, | ||
| 1217 | TC_DUALPI2_DROP_OVERLOAD_DROP = 1, | ||
| 1218 | __TCA_DUALPI2_DROP_OVERLOAD_MAX, | ||
| 1219 | }; | ||
| 1220 | #define TCA_DUALPI2_DROP_OVERLOAD_MAX (__TCA_DUALPI2_DROP_OVERLOAD_MAX - 1) | ||
| 1221 | |||
| 1222 | enum tc_dualpi2_drop_early { | ||
| 1223 | TC_DUALPI2_DROP_EARLY_DROP_DEQUEUE = 0, | ||
| 1224 | TC_DUALPI2_DROP_EARLY_DROP_ENQUEUE = 1, | ||
| 1225 | __TCA_DUALPI2_DROP_EARLY_MAX, | ||
| 1226 | }; | ||
| 1227 | #define TCA_DUALPI2_DROP_EARLY_MAX (__TCA_DUALPI2_DROP_EARLY_MAX - 1) | ||
| 1228 | |||
| 1229 | enum tc_dualpi2_ecn_mask { | ||
| 1230 | TC_DUALPI2_ECN_MASK_L4S_ECT = 1, | ||
| 1231 | TC_DUALPI2_ECN_MASK_CLA_ECT = 2, | ||
| 1232 | TC_DUALPI2_ECN_MASK_ANY_ECT = 3, | ||
| 1233 | __TCA_DUALPI2_ECN_MASK_MAX, | ||
| 1234 | }; | ||
| 1235 | #define TCA_DUALPI2_ECN_MASK_MAX (__TCA_DUALPI2_ECN_MASK_MAX - 1) | ||
| 1236 | |||
| 1237 | enum tc_dualpi2_split_gso { | ||
| 1238 | TC_DUALPI2_SPLIT_GSO_NO_SPLIT_GSO = 0, | ||
| 1239 | TC_DUALPI2_SPLIT_GSO_SPLIT_GSO = 1, | ||
| 1240 | __TCA_DUALPI2_SPLIT_GSO_MAX, | ||
| 1241 | }; | ||
| 1242 | #define TCA_DUALPI2_SPLIT_GSO_MAX (__TCA_DUALPI2_SPLIT_GSO_MAX - 1) | ||
| 1243 | |||
| 1244 | enum { | ||
| 1245 | TCA_DUALPI2_UNSPEC, | ||
| 1246 | TCA_DUALPI2_LIMIT, /* Packets */ | ||
| 1247 | TCA_DUALPI2_MEMORY_LIMIT, /* Bytes */ | ||
| 1248 | TCA_DUALPI2_TARGET, /* us */ | ||
| 1249 | TCA_DUALPI2_TUPDATE, /* us */ | ||
| 1250 | TCA_DUALPI2_ALPHA, /* Hz scaled up by 256 */ | ||
| 1251 | TCA_DUALPI2_BETA, /* Hz scaled up by 256 */ | ||
| 1252 | TCA_DUALPI2_STEP_THRESH_PKTS, /* Step threshold in packets */ | ||
| 1253 | TCA_DUALPI2_STEP_THRESH_US, /* Step threshold in microseconds */ | ||
| 1254 | TCA_DUALPI2_MIN_QLEN_STEP, /* Minimum qlen to apply STEP_THRESH */ | ||
| 1255 | TCA_DUALPI2_COUPLING, /* Coupling factor between queues */ | ||
| 1256 | TCA_DUALPI2_DROP_OVERLOAD, /* Whether to drop on overload */ | ||
| 1257 | TCA_DUALPI2_DROP_EARLY, /* Whether to drop on enqueue */ | ||
| 1258 | TCA_DUALPI2_C_PROTECTION, /* Percentage */ | ||
| 1259 | TCA_DUALPI2_ECN_MASK, /* L4S queue classification mask */ | ||
| 1260 | TCA_DUALPI2_SPLIT_GSO, /* Split GSO packets at enqueue */ | ||
| 1261 | TCA_DUALPI2_PAD, | ||
| 1262 | __TCA_DUALPI2_MAX | ||
| 1263 | }; | ||
| 1264 | |||
| 1265 | #define TCA_DUALPI2_MAX (__TCA_DUALPI2_MAX - 1) | ||
| 1266 | |||
| 1267 | struct tc_dualpi2_xstats { | ||
| 1268 | __u32 prob; /* current probability */ | ||
| 1269 | __u32 delay_c; /* current delay in C queue */ | ||
| 1270 | __u32 delay_l; /* current delay in L queue */ | ||
| 1271 | __u32 packets_in_c; /* number of packets enqueued in C queue */ | ||
| 1272 | __u32 packets_in_l; /* number of packets enqueued in L queue */ | ||
| 1273 | __u32 maxq; /* maximum queue size */ | ||
| 1274 | __u32 ecn_mark; /* packets marked with ecn*/ | ||
| 1275 | __u32 step_marks; /* ECN marks due to the step AQM */ | ||
| 1276 | __s32 credit; /* current c_protection credit */ | ||
| 1277 | __u32 memory_used; /* Memory used by both queues */ | ||
| 1278 | __u32 max_memory_used; /* Maximum used memory */ | ||
| 1279 | __u32 memory_limit; /* Memory limit of both queues */ | ||
| 1280 | }; | ||
| 1281 | |||
| 1214 | #endif | 1282 | #endif |
| @@ -186,6 +186,7 @@ enum · 185 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_BEYOND_WINDOW, /* BeyondWindow */ | ||
| 189 | LINUX_MIB_TSECRREJECTED, /* TSEcrRejected */ | 190 | LINUX_MIB_TSECRREJECTED, /* TSEcrRejected */ |
| 190 | LINUX_MIB_PAWS_OLD_ACK, /* PAWSOldAck */ | 191 | LINUX_MIB_PAWS_OLD_ACK, /* PAWSOldAck */ |
| 191 | LINUX_MIB_PAWS_TW_REJECTED, /* PAWSTimewait */ | 192 | LINUX_MIB_PAWS_TW_REJECTED, /* PAWSTimewait */ |
| @@ -573,6 +573,7 @@ enum { · 572 unmodified lines | |||
| 573 | NET_IPV6_ACCEPT_RA_FROM_LOCAL=26, | 573 | NET_IPV6_ACCEPT_RA_FROM_LOCAL=26, |
| 574 | NET_IPV6_ACCEPT_RA_RT_INFO_MIN_PLEN=27, | 574 | NET_IPV6_ACCEPT_RA_RT_INFO_MIN_PLEN=27, |
| 575 | NET_IPV6_RA_DEFRTR_METRIC=28, | 575 | NET_IPV6_RA_DEFRTR_METRIC=28, |
| 576 | NET_IPV6_FORCE_FORWARDING=29, | ||
| 576 | __NET_IPV6_MAX | 577 | __NET_IPV6_MAX |
| 577 | }; | 578 | }; |
| 578 | 579 | ||
| @@ -235,4 +235,11 @@ · 234 unmodified lines | |||
| 235 | */ | 235 | */ |
| 236 | #define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \ | 236 | #define VHOST_VDPA_GET_VRING_SIZE _IOWR(VHOST_VIRTIO, 0x82, \ |
| 237 | struct vhost_vring_state) | 237 | struct vhost_vring_state) |
| 238 | |||
| 239 | /* Extended features manipulation */ | ||
| 240 | #define VHOST_GET_FEATURES_ARRAY _IOR(VHOST_VIRTIO, 0x83, \ | ||
| 241 | struct vhost_features_array) | ||
| 242 | #define VHOST_SET_FEATURES_ARRAY _IOW(VHOST_VIRTIO, 0x83, \ | ||
| 243 | struct vhost_features_array) | ||
| 244 | |||
| 238 | #endif | 245 | #endif |
| @@ -110,6 +110,11 @@ struct vhost_msg_v2 { · 109 unmodified lines | |||
| 110 | }; | 110 | }; |
| 111 | }; | 111 | }; |
| 112 | 112 | ||
| 113 | struct vhost_features_array { | ||
| 114 | __u64 count; /* number of entries present in features array */ | ||
| 115 | __u64 features[] __counted_by(count); | ||
| 116 | }; | ||
| 117 | |||
| 113 | struct vhost_memory_region { | 118 | struct vhost_memory_region { |
| 114 | __u64 guest_phys_addr; | 119 | __u64 guest_phys_addr; |
| 115 | __u64 memory_size; /* bytes */ | 120 | __u64 memory_size; /* bytes */ |
| @@ -70,6 +70,28 @@ · 69 unmodified lines | |||
| 70 | * with the same MAC. | 70 | * with the same MAC. |
| 71 | */ | 71 | */ |
| 72 | #define VIRTIO_NET_F_SPEED_DUPLEX 63 /* Device set linkspeed and duplex */ | 72 | #define VIRTIO_NET_F_SPEED_DUPLEX 63 /* Device set linkspeed and duplex */ |
| 73 | #define VIRTIO_NET_F_GUEST_UDP_TUNNEL_GSO 65 /* Driver can receive | ||
| 74 | * GSO-over-UDP-tunnel packets | ||
| 75 | */ | ||
| 76 | #define VIRTIO_NET_F_GUEST_UDP_TUNNEL_GSO_CSUM 66 /* Driver handles | ||
| 77 | * GSO-over-UDP-tunnel | ||
| 78 | * packets with partial csum | ||
| 79 | * for the outer header | ||
| 80 | */ | ||
| 81 | #define VIRTIO_NET_F_HOST_UDP_TUNNEL_GSO 67 /* Device can receive | ||
| 82 | * GSO-over-UDP-tunnel packets | ||
| 83 | */ | ||
| 84 | #define VIRTIO_NET_F_HOST_UDP_TUNNEL_GSO_CSUM 68 /* Device handles | ||
| 85 | * GSO-over-UDP-tunnel | ||
| 86 | * packets with partial csum | ||
| 87 | * for the outer header | ||
| 88 | */ | ||
| 89 | |||
| 90 | /* Offloads bits corresponding to VIRTIO_NET_F_HOST_UDP_TUNNEL_GSO{,_CSUM} | ||
| 91 | * features | ||
| 92 | */ | ||
| 93 | #define VIRTIO_NET_F_GUEST_UDP_TUNNEL_GSO_MAPPED 46 | ||
| 94 | #define VIRTIO_NET_F_GUEST_UDP_TUNNEL_GSO_CSUM_MAPPED 47 | ||
| 73 | 95 | ||
| 74 | #ifndef VIRTIO_NET_NO_LEGACY | 96 | #ifndef VIRTIO_NET_NO_LEGACY |
| 75 | #define VIRTIO_NET_F_GSO 6 /* Host handles pkts w/ any GSO type */ | 97 | #define VIRTIO_NET_F_GSO 6 /* Host handles pkts w/ any GSO type */ |
| @@ -131,12 +153,17 @@ struct virtio_net_hdr_v1 { · 55 unmodified lines | |||
| 131 | #define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 /* Use csum_start, csum_offset */ | 153 | #define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 /* Use csum_start, csum_offset */ |
| 132 | #define VIRTIO_NET_HDR_F_DATA_VALID 2 /* Csum is valid */ | 154 | #define VIRTIO_NET_HDR_F_DATA_VALID 2 /* Csum is valid */ |
| 133 | #define VIRTIO_NET_HDR_F_RSC_INFO 4 /* rsc info in csum_ fields */ | 155 | #define VIRTIO_NET_HDR_F_RSC_INFO 4 /* rsc info in csum_ fields */ |
| 156 | #define VIRTIO_NET_HDR_F_UDP_TUNNEL_CSUM 8 /* UDP tunnel csum offload */ | ||
| 134 | __u8 flags; | 157 | __u8 flags; |
| 135 | #define VIRTIO_NET_HDR_GSO_NONE 0 /* Not a GSO frame */ | 158 | #define VIRTIO_NET_HDR_GSO_NONE 0 /* Not a GSO frame */ |
| 136 | #define VIRTIO_NET_HDR_GSO_TCPV4 1 /* GSO frame, IPv4 TCP (TSO) */ | 159 | #define VIRTIO_NET_HDR_GSO_TCPV4 1 /* GSO frame, IPv4 TCP (TSO) */ |
| 137 | #define VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */ | 160 | #define VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */ |
| 138 | #define VIRTIO_NET_HDR_GSO_TCPV6 4 /* GSO frame, IPv6 TCP */ | 161 | #define VIRTIO_NET_HDR_GSO_TCPV6 4 /* GSO frame, IPv6 TCP */ |
| 139 | #define VIRTIO_NET_HDR_GSO_UDP_L4 5 /* GSO frame, IPv4& IPv6 UDP (USO) */ | 162 | #define VIRTIO_NET_HDR_GSO_UDP_L4 5 /* GSO frame, IPv4& IPv6 UDP (USO) */ |
| 163 | #define VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV4 0x20 /* UDPv4 tunnel present */ | ||
| 164 | #define VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV6 0x40 /* UDPv6 tunnel present */ | ||
| 165 | #define VIRTIO_NET_HDR_GSO_UDP_TUNNEL (VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV4 | \ | ||
| 166 | VIRTIO_NET_HDR_GSO_UDP_TUNNEL_IPV6) | ||
| 140 | #define VIRTIO_NET_HDR_GSO_ECN 0x80 /* TCP has ECN set */ | 167 | #define VIRTIO_NET_HDR_GSO_ECN 0x80 /* TCP has ECN set */ |
| 141 | __u8 gso_type; | 168 | __u8 gso_type; |
| 142 | __virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */ | 169 | __virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */ |
| @@ -181,6 +208,12 @@ struct virtio_net_hdr_v1_hash { · 38 unmodified lines | |||
| 181 | __le16 padding; | 208 | __le16 padding; |
| 182 | }; | 209 | }; |
| 183 | 210 | ||
| 211 | struct virtio_net_hdr_v1_hash_tunnel { | ||
| 212 | struct virtio_net_hdr_v1_hash hash_hdr; | ||
| 213 | __le16 outer_th_offset; | ||
| 214 | __le16 inner_nh_offset; | ||
| 215 | }; | ||
| 216 | |||
| 184 | #ifndef VIRTIO_NET_NO_LEGACY | 217 | #ifndef VIRTIO_NET_NO_LEGACY |
| 185 | /* This header comes first in the scatter-gather list. | 218 | /* This header comes first in the scatter-gather list. |
| 186 | * For legacy virtio, if VIRTIO_F_ANY_LAYOUT is not negotiated, it must | 219 | * For legacy virtio, if VIRTIO_F_ANY_LAYOUT is not negotiated, it must |