History

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

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

Linus Torvalds committed 1 year ago

Commit 8be4d312 parents 4b290aa fa582ca1904 files · +83427 −29453Browse files

Showing the changes to include/uapi/linux (25 of 1904 files). Show all

Unified · Split

25 files
  1. include/uapi/linux/devlink.h +16 −0
  2. include/uapi/linux/dpll.h +13 −0
  3. include/uapi/linux/ethtool.h +2 −2
  4. include/uapi/linux/ethtool_netlink.h +0 −2
  5. include/uapi/linux/ethtool_netlink_generated.h +83 −0
  6. include/uapi/linux/handshake.h +1 −0
  7. include/uapi/linux/if_link.h +2 −0
  8. include/uapi/linux/if_tun.h +9 −0
  9. include/uapi/linux/if_xdp.h +1 −0
  10. include/uapi/linux/in6.h +2 −2
  11. include/uapi/linux/ipv6.h +1 −0
  12. include/uapi/linux/mctp.h +8 −0
  13. include/uapi/linux/neighbour.h +5 −0
  14. include/uapi/linux/net_dropmon.h +0 −7
  15. include/uapi/linux/netconf.h +1 −0
  16. include/uapi/linux/netdev.h +6 −0
  17. include/uapi/linux/netfilter/nfnetlink_hook.h +2 −0
  18. include/uapi/linux/nl80211.h +60 −1
  19. include/uapi/linux/openvswitch.h +6 −0
  20. include/uapi/linux/pkt_sched.h +68 −0
  21. include/uapi/linux/snmp.h +1 −0
  22. include/uapi/linux/sysctl.h +1 −0
  23. include/uapi/linux/vhost.h +7 −0
  24. include/uapi/linux/vhost_types.h +5 −0
  25. include/uapi/linux/virtio_net.h +33 −0
include/uapi/linux/devlink.h+16−0
@@ -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
224enum devlink_rate_type {229enum 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 in639 /* Add new attributes above here, update the spec in
633 * Documentation/netlink/specs/devlink.yaml and re-generate640 * 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 - 1645 DEVLINK_ATTR_MAX = __DEVLINK_ATTR_MAX - 1
639};646};
640 647
648enum 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 system657/* Mapping between internal resource described by the field and system
642 * structure658 * structure
643 */659 */
include/uapi/linux/dpll.h+13−0
@@ -192,6 +192,17 @@ enum dpll_pin_capabilities { · 191 unmodified lines
192 192
193#define DPLL_PHASE_OFFSET_DIVIDER 1000193#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 */
201enum dpll_feature_state {
202 DPLL_FEATURE_STATE_DISABLE,
203 DPLL_FEATURE_STATE_ENABLE,
204};
205
195enum dpll_a {206enum 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)
include/uapi/linux/ethtool.h+2−2
@@ -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 includes2320 * 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 0x200000002372#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)
include/uapi/linux/ethtool_netlink.h+0−2
@@ -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_ */
include/uapi/linux/ethtool_netlink_generated.h+83−0
@@ -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 */
70enum 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
52enum {80enum {
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
681enum {
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
650enum {714enum {
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
786enum {
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
721enum {794enum {
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 */
include/uapi/linux/handshake.h+1−0
@@ -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)
include/uapi/linux/if_link.h+2−0
@@ -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_MAX1402 __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
include/uapi/linux/if_tun.h+9−0
@@ -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 0x0001106#define TUN_PKT_STRIP 0x0001
98struct tun_pi {107struct tun_pi {
include/uapi/linux/if_xdp.h+1−0
@@ -79,6 +79,7 @@ struct xdp_mmap_offsets { · 78 unmodified lines
79#define XDP_UMEM_COMPLETION_RING 679#define XDP_UMEM_COMPLETION_RING 6
80#define XDP_STATISTICS 780#define XDP_STATISTICS 7
81#define XDP_OPTIONS 881#define XDP_OPTIONS 8
82#define XDP_MAX_TX_SKB_BUDGET 9
82 83
83struct xdp_umem_reg {84struct xdp_umem_reg {
84 __u64 addr; /* Start of packet data area */85 __u64 addr; /* Start of packet data area */
include/uapi/linux/in6.h+2−2
@@ -152,7 +152,6 @@ struct in6_flowlabel_req { · 151 unmodified lines
152/*152/*
153 * IPV6 socket options153 * IPV6 socket options
154 */154 */
155#if __UAPI_DEF_IPV6_OPTIONS
156#define IPV6_ADDRFORM 1155#define IPV6_ADDRFORM 1
157#define IPV6_2292PKTINFO 2156#define IPV6_2292PKTINFO 2
158#define IPV6_2292HOPOPTS 3157#define IPV6_2292HOPOPTS 3
@@ -169,8 +168,10 @@ struct in6_flowlabel_req { · 10 unmodified lines
169#define IPV6_MULTICAST_IF 17168#define IPV6_MULTICAST_IF 17
170#define IPV6_MULTICAST_HOPS 18169#define IPV6_MULTICAST_HOPS 18
171#define IPV6_MULTICAST_LOOP 19170#define IPV6_MULTICAST_LOOP 19
171#if __UAPI_DEF_IPV6_OPTIONS
172#define IPV6_ADD_MEMBERSHIP 20172#define IPV6_ADD_MEMBERSHIP 20
173#define IPV6_DROP_MEMBERSHIP 21173#define IPV6_DROP_MEMBERSHIP 21
174#endif
174#define IPV6_ROUTER_ALERT 22175#define IPV6_ROUTER_ALERT 22
175#define IPV6_MTU_DISCOVER 23176#define IPV6_MTU_DISCOVER 23
176#define IPV6_MTU 24177#define IPV6_MTU 24
@@ -203,7 +204,6 @@ struct in6_flowlabel_req { · 26 unmodified lines
203#define IPV6_IPSEC_POLICY 34204#define IPV6_IPSEC_POLICY 34
204#define IPV6_XFRM_POLICY 35205#define IPV6_XFRM_POLICY 35
205#define IPV6_HDRINCL 36206#define IPV6_HDRINCL 36
206#endif
207 207
208/*208/*
209 * Multicast:209 * Multicast:
include/uapi/linux/ipv6.h+1−0
@@ -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_MAX203 DEVCONF_MAX
203};204};
204 205
include/uapi/linux/mctp.h+8−0
@@ -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 */
43struct mctp_fq_addr {
44 unsigned int net;
45 mctp_eid_t eid;
46};
47
40#define MCTP_NET_ANY 0x048#define MCTP_NET_ANY 0x0
41 49
42#define MCTP_ADDR_NULL 0x0050#define MCTP_ADDR_NULL 0x00
include/uapi/linux/neighbour.h+5−0
@@ -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 port93 * 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 requires94 * 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
97struct nda_cacheinfo {102struct nda_cacheinfo {
include/uapi/linux/net_dropmon.h+0−7
@@ -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 013#define NET_DM_CFG_VERSION 0
21#define NET_DM_CFG_ALERT_COUNT 114#define NET_DM_CFG_ALERT_COUNT 1
22#define NET_DM_CFG_ALERT_DELAY 215#define NET_DM_CFG_ALERT_DELAY 2
include/uapi/linux/netconf.h+1−0
@@ -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_MAX23 __NETCONFA_MAX
23};24};
24#define NETCONFA_MAX (__NETCONFA_MAX - 1)25#define NETCONFA_MAX (__NETCONFA_MAX - 1)
include/uapi/linux/netdev.h+6−0
@@ -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
80enum netdev_napi_threaded {
81 NETDEV_NAPI_THREADED_DISABLED,
82 NETDEV_NAPI_THREADED_ENABLED,
83};
84
80enum {85enum {
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)
include/uapi/linux/netfilter/nfnetlink_hook.h+2−0
@@ -61,10 +61,12 @@ enum nfnl_hook_chain_desc_attributes { · 60 unmodified lines
61 *61 *
62 * @NFNL_HOOK_TYPE_NFTABLES: nf_tables base chain62 * @NFNL_HOOK_TYPE_NFTABLES: nf_tables base chain
63 * @NFNL_HOOK_TYPE_BPF: bpf program63 * @NFNL_HOOK_TYPE_BPF: bpf program
64 * @NFNL_HOOK_TYPE_NFT_FLOWTABLE: nf_tables flowtable
64 */65 */
65enum nfnl_hook_chaintype {66enum 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/**
include/uapi/linux/nl80211.h+60−1
@@ -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 to1332 * @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 to1343 * @NL80211_CMD_EPCS_CFG: EPCS configuration for a station. Used by userland to
1336 * control EPCS configuration. Used to notify userland on the current state1344 * 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 support2907 * 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 available2931 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2903 * @NL80211_ATTR_MAX: highest attribute number currently defined2932 * @NL80211_ATTR_MAX: highest attribute number currently defined
2904 * @__NL80211_ATTR_AFTER_LAST: internal use2933 * @__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 antennas8123 * @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: Internal8127 * @__NL80211_WIPHY_RADIO_ATTR_LAST: Internal
8093 * @NL80211_WIPHY_RADIO_ATTR_MAX: Highest attribute8128 * @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 */
8178enum 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 */
include/uapi/linux/openvswitch.h+6−0
@@ -186,6 +186,11 @@ enum ovs_packet_cmd { · 185 unmodified lines
186 * %OVS_PACKET_ATTR_USERSPACE action specify the Maximum received fragment186 * %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 Netlink195 * 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_MAX214 __OVS_PACKET_ATTR_MAX
209};215};
210 216
include/uapi/linux/pkt_sched.h+68−0
@@ -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 */
1215enum 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
1222enum 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
1229enum 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
1237enum 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
1244enum {
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
1267struct 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#endif1282#endif
include/uapi/linux/snmp.h+1−0
@@ -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 */
include/uapi/linux/sysctl.h+1−0
@@ -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_MAX577 __NET_IPV6_MAX
577};578};
578 579
include/uapi/linux/vhost.h+7−0
@@ -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#endif245#endif
include/uapi/linux/vhost_types.h+5−0
@@ -110,6 +110,11 @@ struct vhost_msg_v2 { · 109 unmodified lines
110 };110 };
111};111};
112 112
113struct vhost_features_array {
114 __u64 count; /* number of entries present in features array */
115 __u64 features[] __counted_by(count);
116};
117
113struct vhost_memory_region {118struct vhost_memory_region {
114 __u64 guest_phys_addr;119 __u64 guest_phys_addr;
115 __u64 memory_size; /* bytes */120 __u64 memory_size; /* bytes */
include/uapi/linux/virtio_net.h+33−0
@@ -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_LEGACY96#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
211struct 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_LEGACY217#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 must219 * For legacy virtio, if VIRTIO_F_ANY_LAYOUT is not negotiated, it must