Pull networking updates from Paolo Abeni: "Core: - Introduce a config option to tweak MAX_SKB_FRAGS. Increasing the default value allows for better BIG TCP performances - Reduce compound page head access for zero-copy data transfers - RPS/RFS improvements, avoiding unneeded NET_RX_SOFTIRQ when possible - Threaded NAPI improvements, adding defer skb free support and unneeded softirq avoidance - Address dst_entry reference count scalability issues, via false sharing avoidance and optimize refcount tracking - Add lockless accesses annotation to sk_err[_soft] - Optimize again the skb struct layout - Extends the skb drop reasons to make it usable by multiple subsystems - Better const qualifier awareness for socket casts BPF: - Add skb and XDP typed dynptrs which allow BPF programs for more ergonomic and less brittle iteration through data and variable-sized accesses - Add a new BPF netfilter program type and minimal support to hook BPF programs to netfilter hooks such as prerouting or forward - Add more precise memory usage reporting for all BPF map types - Adds support for using {FOU,GUE} encap with an ipip device operating in collect_md mode and add a set of BPF kfuncs for controlling encap params - Allow BPF programs to detect at load time whether a particular kfunc exists or not, and also add support for this in light skeleton - Bigger batch of BPF verifier improvements to prepare for upcoming BPF open-coded iterators allowing for less restrictive looping capabilities - Rework RCU enforcement in the verifier, add kptr_rcu and enforce BPF programs to NULL-check before passing such pointers into kfunc - Add support for kptrs in percpu hashmaps, percpu LRU hashmaps and in local storage maps - Enable RCU semantics for task BPF kptrs and allow referenced kptr tasks to be stored in BPF maps - Add support for refcounted local kptrs to the verifier for allowing shared ownership, useful for adding a node to both the BPF list and rbtree - Add BPF verifier support for ST instructions in convert_ctx_access() which will help new -mcpu=v4 clang flag to start emitting them - Add ARM32 USDT support to libbpf - Improve bpftool's visual program dump which produces the control flow graph in a DOT format by adding C source inline annotations Protocols: - IPv4: Allow adding to IPv4 address a 'protocol' tag. Such value indicates the provenance of the IP address - IPv6: optimize route lookup, dropping unneeded R/W lock acquisition - Add the handshake upcall mechanism, allowing the user-space to implement generic TLS handshake on kernel's behalf - Bridge: support per-{Port, VLAN} neighbor suppression, increasing resilience to nodes failures - SCTP: add support for Fair Capacity and Weighted Fair Queueing schedulers - MPTCP: delay first subflow allocation up to its first usage. This will allow for later better LSM interaction - xfrm: Remove inner/outer modes from input/output path. These are not needed anymore - WiFi: - reduced neighbor report (RNR) handling for AP mode - HW timestamping support - support for randomized auth/deauth TA for PASN privacy - per-link debugfs for multi-link - TC offload support for mac80211 drivers - mac80211 mesh fast-xmit and fast-rx support - enable Wi-Fi 7 (EHT) mesh support Netfilter: - Add nf_tables 'brouting' support, to force a packet to be routed instead of being bridged - Update bridge netfilter and ovs conntrack helpers to handle IPv6 Jumbo packets properly, i.e. fetch the packet length from hop-by-hop extension header. This is needed for BIT TCP support - The iptables 32bit compat interface isn't compiled in by default anymore - Move ip(6)tables builtin icmp matches to the udptcp one. This has the advantage that icmp/icmpv6 match doesn't load the iptables/ip6tables modules anymore when iptables-nft is used - Extended netlink error report for netdevice in flowtables and netdev/chains. Allow for incrementally add/delete devices to netdev basechain. Allow to create netdev chain without device Driver API: - Remove redundant Device Control Error Reporting Enable, as PCI core has already error reporting enabled at enumeration time - Move Multicast DB netlink handlers to core, allowing devices other then bridge to use them - Allow the page_pool to directly recycle the pages from safely localized NAPI - Implement lockless TX queue stop/wake combo macros, allowing for further code de-duplication and sanitization - Add YNL support for user headers and struct attrs - Add partial YNL specification for devlink - Add partial YNL specification for ethtool - Add tc-mqprio and tc-taprio support for preemptible traffic classes - Add tx push buf len param to ethtool, specifies the maximum number of bytes of a transmitted packet a driver can push directly to the underlying device - Add basic LED support for switch/phy - Add NAPI documentation, stop relaying on external links - Convert dsa_master_ioctl() to netdev notifier. This is a preparatory work to make the hardware timestamping layer selectable by user space - Add transceiver support and improve the error messages for CAN-FD controllers New hardware / drivers: - Ethernet: - AMD/Pensando core device support - MediaTek MT7981 SoC - MediaTek MT7988 SoC - Broadcom BCM53134 embedded switch - Texas Instruments CPSW9G ethernet switch - Qualcomm EMAC3 DWMAC ethernet - StarFive JH7110 SoC - NXP CBTX ethernet PHY - WiFi: - Apple M1 Pro/Max devices - RealTek rtl8710bu/rtl8188gu - RealTek rtl8822bs, rtl8822cs and rtl8821cs SDIO chipset - Bluetooth: - Realtek RTL8821CS, RTL8851B, RTL8852BS - Mediatek MT7663, MT7922 - NXP w8997 - Actions Semi ATS2851 - QTI WCN6855 - Marvell 88W8997 - Can: - STMicroelectronics bxcan stm32f429 Drivers: - Ethernet NICs: - Intel (1G, icg): - add tracking and reporting of QBV config errors - add support for configuring max SDU for each Tx queue - Intel (100G, ice): - refactor mailbox overflow detection to support Scalable IOV - GNSS interface optimization - Intel (i40e): - support XDP multi-buffer - nVidia/Mellanox: - add the support for linux bridge multicast offload - enable TC offload for egress and engress MACVLAN over bond - add support for VxLAN GBP encap/decap flows offload - extend packet offload to fully support libreswan - support tunnel mode in mlx5 IPsec packet offload - extend XDP multi-buffer support - support MACsec VLAN offload - add support for dynamic msix vectors allocation - drop RX page_cache and fully use page_pool - implement thermal zone to report NIC temperature - Netronome/Corigine: - add support for multi-zone conntrack offload - Solarflare/Xilinx: - support offloading TC VLAN push/pop actions to the MAE - support TC decap rules - support unicast PTP - Other NICs: - Broadcom (bnxt): enforce software based freq adjustments only on shared PHC NIC - RealTek (r8169): refactor to addess ASPM issues during NAPI poll - Micrel (lan8841): add support for PTP_PF_PEROUT - Cadence (macb): enable PTP unicast - Engleder (tsnep): add XDP socket zero-copy support - virtio-net: implement exact header length guest feature - veth: add page_pool support for page recycling - vxlan: add MDB data path support - gve: add XDP support for GQI-QPL format - geneve: accept every ethertype - macvlan: allow some packets to bypass broadcast queue - mana: add support for jumbo frame - Ethernet high-speed switches: - Microchip (sparx5): Add support for TC flower templates - Ethernet embedded switches: - Broadcom (b54): - configure 6318 and 63268 RGMII ports - Marvell (mv88e6xxx): - faster C45 bus scan - Microchip: - lan966x: - add support for IS1 VCAP - better TX/RX from/to CPU performances - ksz9477: add ETS Qdisc support - ksz8: enhance static MAC table operations and error handling - sama7g5: add PTP capability - NXP (ocelot): - add support for external ports - add support for preemptible traffic classes - Texas Instruments: - add CPSWxG SGMII support for J7200 and J721E - Intel WiFi (iwlwifi): - preparation for Wi-Fi 7 EHT and multi-link support - EHT (Wi-Fi 7) sniffer support - hardware timestamping support for some devices/firwmares - TX beacon protection on newer hardware - Qualcomm 802.11ax WiFi (ath11k): - MU-MIMO parameters support - ack signal support for management packets - RealTek WiFi (rtw88): - SDIO bus support - better support for some SDIO devices (e.g. MAC address from efuse) - RealTek WiFi (rtw89): - HW scan support for 8852b - better support for 6 GHz scanning - support for various newer firmware APIs - framework firmware backwards compatibility - MediaTek WiFi (mt76): - P2P support - mesh A-MSDU support - EHT (Wi-Fi 7) support - coredump support" * tag 'net-next-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2078 commits) net: phy: hide the PHYLIB_LEDS knob net: phy: marvell-88x2222: remove unnecessary (void*) conversions tcp/udp: Fix memleaks of sk and zerocopy skbs with TX timestamp. net: amd: Fix link leak when verifying config failed net: phy: marvell: Fix inconsistent indenting in led_blink_set lan966x: Don't use xdp_frame when action is XDP_TX tsnep: Add XDP socket zero-copy TX support tsnep: Add XDP socket zero-copy RX support tsnep: Move skb receive action to separate function tsnep: Add functions for queue enable/disable tsnep: Rework TX/RX queue initialization tsnep: Replace modulo operation with mask net: phy: dp83867: Add led_brightness_set support net: phy: Fix reading LED reg property drivers: nfc: nfcsim: remove return value check of `dev_dir` net: phy: dp83867: Remove unnecessary (void*) conversions net: ethtool: coalesce: try to make user settings stick twice net: mana: Check if netdev/napi_alloc_frag returns single page net: mana: Rename mana_refill_rxoob and remove some empty lines net: veth: add page_pool stats ...
Showing the changes to include/uapi (14 of 1925 files). Show all
Unified · Split
| @@ -986,6 +986,7 @@ enum bpf_prog_type { · 985 unmodified lines | ||
| 986 | 986 | BPF_PROG_TYPE_LSM, |
| 987 | 987 | BPF_PROG_TYPE_SK_LOOKUP, |
| 988 | 988 | BPF_PROG_TYPE_SYSCALL, /* a program that can execute syscalls */ |
| 989 | + BPF_PROG_TYPE_NETFILTER, | |
| 989 | 990 | }; |
| 990 | 991 | |
| 991 | 992 | enum bpf_attach_type { |
| @@ -1033,6 +1034,7 @@ enum bpf_attach_type { · 41 unmodified lines | ||
| 1033 | 1034 | BPF_PERF_EVENT, |
| 1034 | 1035 | BPF_TRACE_KPROBE_MULTI, |
| 1035 | 1036 | BPF_LSM_CGROUP, |
| 1037 | + BPF_STRUCT_OPS, | |
| 1036 | 1038 | __MAX_BPF_ATTACH_TYPE |
| 1037 | 1039 | }; |
| 1038 | 1040 | |
| @@ -1049,6 +1051,7 @@ enum bpf_link_type { · 10 unmodified lines | ||
| 1049 | 1051 | BPF_LINK_TYPE_PERF_EVENT = 7, |
| 1050 | 1052 | BPF_LINK_TYPE_KPROBE_MULTI = 8, |
| 1051 | 1053 | BPF_LINK_TYPE_STRUCT_OPS = 9, |
| 1054 | + BPF_LINK_TYPE_NETFILTER = 10, | |
| 1052 | 1055 | |
| 1053 | 1056 | MAX_BPF_LINK_TYPE, |
| 1054 | 1057 | }; |
| @@ -1108,7 +1111,7 @@ enum bpf_link_type { · 53 unmodified lines | ||
| 1108 | 1111 | */ |
| 1109 | 1112 | #define BPF_F_STRICT_ALIGNMENT (1U << 0) |
| 1110 | 1113 | |
| 1111 | −/* If BPF_F_ANY_ALIGNMENT is used in BPF_PROF_LOAD command, the | |
| 1114 | +/* If BPF_F_ANY_ALIGNMENT is used in BPF_PROG_LOAD command, the | |
| 1112 | 1115 | * verifier will allow any alignment whatsoever. On platforms |
| 1113 | 1116 | * with strict alignment requirements for loads ands stores (such |
| 1114 | 1117 | * as sparc and mips) the verifier validates that all loads and |
| @@ -1266,6 +1269,9 @@ enum { · 151 unmodified lines | ||
| 1266 | 1269 | |
| 1267 | 1270 | /* Create a map that is suitable to be an inner map with dynamic max entries */ |
| 1268 | 1271 | BPF_F_INNER_MAP = (1U << 12), |
| 1272 | + | |
| 1273 | +/* Create a map that will be registered/unregesitered by the backed bpf_link */ | |
| 1274 | + BPF_F_LINK = (1U << 13), | |
| 1269 | 1275 | }; |
| 1270 | 1276 | |
| 1271 | 1277 | /* Flags for BPF_PROG_QUERY. */ |
| @@ -1403,6 +1409,11 @@ union bpf_attr { · 131 unmodified lines | ||
| 1403 | 1409 | __aligned_u64 fd_array; /* array of FDs */ |
| 1404 | 1410 | __aligned_u64 core_relos; |
| 1405 | 1411 | __u32 core_relo_rec_size; /* sizeof(struct bpf_core_relo) */ |
| 1412 | + /* output: actual total log contents size (including termintaing zero). | |
| 1413 | + * It could be both larger than original log_size (if log was | |
| 1414 | + * truncated), or smaller (if log buffer wasn't filled completely). | |
| 1415 | + */ | |
| 1416 | + __u32 log_true_size; | |
| 1406 | 1417 | }; |
| 1407 | 1418 | |
| 1408 | 1419 | struct { /* anonymous struct used by BPF_OBJ_* commands */ |
| @@ -1488,6 +1499,11 @@ union bpf_attr { · 79 unmodified lines | ||
| 1488 | 1499 | __u32 btf_size; |
| 1489 | 1500 | __u32 btf_log_size; |
| 1490 | 1501 | __u32 btf_log_level; |
| 1502 | + /* output: actual total log contents size (including termintaing zero). | |
| 1503 | + * It could be both larger than original log_size (if log was | |
| 1504 | + * truncated), or smaller (if log buffer wasn't filled completely). | |
| 1505 | + */ | |
| 1506 | + __u32 btf_log_true_size; | |
| 1491 | 1507 | }; |
| 1492 | 1508 | |
| 1493 | 1509 | struct { |
| @@ -1507,7 +1523,10 @@ union bpf_attr { · 13 unmodified lines | ||
| 1507 | 1523 | } task_fd_query; |
| 1508 | 1524 | |
| 1509 | 1525 | struct { /* struct used by BPF_LINK_CREATE command */ |
| 1510 | − __u32 prog_fd; /* eBPF program to attach */ | |
| 1526 | + union { | |
| 1527 | + __u32 prog_fd; /* eBPF program to attach */ | |
| 1528 | + __u32 map_fd; /* struct_ops to attach */ | |
| 1529 | + }; | |
| 1511 | 1530 | union { |
| 1512 | 1531 | __u32 target_fd; /* object to attach to */ |
| 1513 | 1532 | __u32 target_ifindex; /* target ifindex */ |
| @@ -1543,17 +1562,34 @@ union bpf_attr { · 29 unmodified lines | ||
| 1543 | 1562 | */ |
| 1544 | 1563 | __u64 cookie; |
| 1545 | 1564 | } tracing; |
| 1565 | + struct { | |
| 1566 | + __u32 pf; | |
| 1567 | + __u32 hooknum; | |
| 1568 | + __s32 priority; | |
| 1569 | + __u32 flags; | |
| 1570 | + } netfilter; | |
| 1546 | 1571 | }; |
| 1547 | 1572 | } link_create; |
| 1548 | 1573 | |
| 1549 | 1574 | struct { /* struct used by BPF_LINK_UPDATE command */ |
| 1550 | 1575 | __u32 link_fd; /* link fd */ |
| 1551 | − /* new program fd to update link with */ | |
| 1552 | − __u32 new_prog_fd; | |
| 1576 | + union { | |
| 1577 | + /* new program fd to update link with */ | |
| 1578 | + __u32 new_prog_fd; | |
| 1579 | + /* new struct_ops map fd to update link with */ | |
| 1580 | + __u32 new_map_fd; | |
| 1581 | + }; | |
| 1553 | 1582 | __u32 flags; /* extra flags */ |
| 1554 | − /* expected link's program fd; is specified only if | |
| 1555 | − * BPF_F_REPLACE flag is set in flags */ | |
| 1556 | − __u32 old_prog_fd; | |
| 1583 | + union { | |
| 1584 | + /* expected link's program fd; is specified only if | |
| 1585 | + * BPF_F_REPLACE flag is set in flags. | |
| 1586 | + */ | |
| 1587 | + __u32 old_prog_fd; | |
| 1588 | + /* expected link's map fd; is specified only | |
| 1589 | + * if BPF_F_REPLACE flag is set. | |
| 1590 | + */ | |
| 1591 | + __u32 old_map_fd; | |
| 1592 | + }; | |
| 1557 | 1593 | } link_update; |
| 1558 | 1594 | |
| 1559 | 1595 | struct { |
| @@ -1647,17 +1683,17 @@ union bpf_attr { · 87 unmodified lines | ||
| 1647 | 1683 | * Description |
| 1648 | 1684 | * This helper is a "printk()-like" facility for debugging. It |
| 1649 | 1685 | * prints a message defined by format *fmt* (of size *fmt_size*) |
| 1650 | − * to file *\/sys/kernel/debug/tracing/trace* from DebugFS, if | |
| 1686 | + * to file *\/sys/kernel/tracing/trace* from TraceFS, if | |
| 1651 | 1687 | * available. It can take up to three additional **u64** |
| 1652 | 1688 | * arguments (as an eBPF helpers, the total number of arguments is |
| 1653 | 1689 | * limited to five). |
| 1654 | 1690 | * |
| 1655 | 1691 | * Each time the helper is called, it appends a line to the trace. |
| 1656 | − * Lines are discarded while *\/sys/kernel/debug/tracing/trace* is | |
| 1657 | − * open, use *\/sys/kernel/debug/tracing/trace_pipe* to avoid this. | |
| 1692 | + * Lines are discarded while *\/sys/kernel/tracing/trace* is | |
| 1693 | + * open, use *\/sys/kernel/tracing/trace_pipe* to avoid this. | |
| 1658 | 1694 | * The format of the trace is customizable, and the exact output |
| 1659 | 1695 | * one will get depends on the options set in |
| 1660 | − * *\/sys/kernel/debug/tracing/trace_options* (see also the | |
| 1696 | + * *\/sys/kernel/tracing/trace_options* (see also the | |
| 1661 | 1697 | * *README* file under the same directory). However, it usually |
| 1662 | 1698 | * defaults to something like: |
| 1663 | 1699 | * |
| @@ -4969,6 +5005,12 @@ union bpf_attr { · 3305 unmodified lines | ||
| 4969 | 5005 | * different maps if key/value layout matches across maps. |
| 4970 | 5006 | * Every bpf_timer_set_callback() can have different callback_fn. |
| 4971 | 5007 | * |
| 5008 | + * *flags* can be one of: | |
| 5009 | + * | |
| 5010 | + * **BPF_F_TIMER_ABS** | |
| 5011 | + * Start the timer in absolute expire value instead of the | |
| 5012 | + * default relative one. | |
| 5013 | + * | |
| 4972 | 5014 | * Return |
| 4973 | 5015 | * 0 on success. |
| 4974 | 5016 | * **-EINVAL** if *timer* was not initialized with bpf_timer_init() earlier |
| @@ -5325,11 +5367,22 @@ union bpf_attr { · 350 unmodified lines | ||
| 5325 | 5367 | * Description |
| 5326 | 5368 | * Write *len* bytes from *src* into *dst*, starting from *offset* |
| 5327 | 5369 | * into *dst*. |
| 5328 | − * *flags* is currently unused. | |
| 5370 | + * | |
| 5371 | + * *flags* must be 0 except for skb-type dynptrs. | |
| 5372 | + * | |
| 5373 | + * For skb-type dynptrs: | |
| 5374 | + * * All data slices of the dynptr are automatically | |
| 5375 | + * invalidated after **bpf_dynptr_write**\ (). This is | |
| 5376 | + * because writing may pull the skb and change the | |
| 5377 | + * underlying packet buffer. | |
| 5378 | + * | |
| 5379 | + * * For *flags*, please see the flags accepted by | |
| 5380 | + * **bpf_skb_store_bytes**\ (). | |
| 5329 | 5381 | * Return |
| 5330 | 5382 | * 0 on success, -E2BIG if *offset* + *len* exceeds the length |
| 5331 | 5383 | * of *dst*'s data, -EINVAL if *dst* is an invalid dynptr or if *dst* |
| 5332 | − * is a read-only dynptr or if *flags* is not 0. | |
| 5384 | + * is a read-only dynptr or if *flags* is not correct. For skb-type dynptrs, | |
| 5385 | + * other errors correspond to errors returned by **bpf_skb_store_bytes**\ (). | |
| 5333 | 5386 | * |
| 5334 | 5387 | * void *bpf_dynptr_data(const struct bpf_dynptr *ptr, u32 offset, u32 len) |
| 5335 | 5388 | * Description |
| @@ -5337,6 +5390,9 @@ union bpf_attr { · 1 unmodified line | ||
| 5337 | 5390 | * |
| 5338 | 5391 | * *len* must be a statically known value. The returned data slice |
| 5339 | 5392 | * is invalidated whenever the dynptr is invalidated. |
| 5393 | + * | |
| 5394 | + * skb and xdp type dynptrs may not use bpf_dynptr_data. They should | |
| 5395 | + * instead use bpf_dynptr_slice and bpf_dynptr_slice_rdwr. | |
| 5340 | 5396 | * Return |
| 5341 | 5397 | * Pointer to the underlying dynptr data, NULL if the dynptr is |
| 5342 | 5398 | * read-only, if the dynptr is invalid, or if the offset and length |
| @@ -6359,6 +6415,15 @@ struct bpf_link_info { · 1016 unmodified lines | ||
| 6359 | 6415 | struct { |
| 6360 | 6416 | __u32 ifindex; |
| 6361 | 6417 | } xdp; |
| 6418 | + struct { | |
| 6419 | + __u32 map_id; | |
| 6420 | + } struct_ops; | |
| 6421 | + struct { | |
| 6422 | + __u32 pf; | |
| 6423 | + __u32 hooknum; | |
| 6424 | + __s32 priority; | |
| 6425 | + __u32 flags; | |
| 6426 | + } netfilter; | |
| 6362 | 6427 | }; |
| 6363 | 6428 | } __attribute__((aligned(8))); |
| 6364 | 6429 | |
| @@ -6934,6 +6999,10 @@ struct bpf_rb_node { · 569 unmodified lines | ||
| 6934 | 6999 | __u64 :64; |
| 6935 | 7000 | } __attribute__((aligned(8))); |
| 6936 | 7001 | |
| 7002 | +struct bpf_refcount { | |
| 7003 | + __u32 :32; | |
| 7004 | +} __attribute__((aligned(4))); | |
| 7005 | + | |
| 6937 | 7006 | struct bpf_sysctl { |
| 6938 | 7007 | __u32 write; /* Sysctl is being read (= 0) or written (= 1). |
| 6939 | 7008 | * Allows 1,2,4-byte read, but no write. |
| @@ -7083,4 +7152,21 @@ struct bpf_core_relo { · 143 unmodified lines | ||
| 7083 | 7152 | enum bpf_core_relo_kind kind; |
| 7084 | 7153 | }; |
| 7085 | 7154 | |
| 7155 | +/* | |
| 7156 | + * Flags to control bpf_timer_start() behaviour. | |
| 7157 | + * - BPF_F_TIMER_ABS: Timeout passed is absolute time, by default it is | |
| 7158 | + * relative to current time. | |
| 7159 | + */ | |
| 7160 | +enum { | |
| 7161 | + BPF_F_TIMER_ABS = (1ULL << 0), | |
| 7162 | +}; | |
| 7163 | + | |
| 7164 | +/* BPF numbers iterator state */ | |
| 7165 | +struct bpf_iter_num { | |
| 7166 | + /* opaque iterator state; having __u64 here allows to preserve correct | |
| 7167 | + * alignment requirements in vmlinux.h, generated from BTF | |
| 7168 | + */ | |
| 7169 | + __u64 __opaque[1]; | |
| 7170 | +} __attribute__((aligned(8))); | |
| 7171 | + | |
| 7086 | 7172 | #endif /* _UAPI__LINUX_BPF_H__ */ |
| @@ -357,6 +357,8 @@ enum { · 356 unmodified lines | ||
| 357 | 357 | ETHTOOL_A_RINGS_CQE_SIZE, /* u32 */ |
| 358 | 358 | ETHTOOL_A_RINGS_TX_PUSH, /* u8 */ |
| 359 | 359 | ETHTOOL_A_RINGS_RX_PUSH, /* u8 */ |
| 360 | + ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN, /* u32 */ | |
| 361 | + ETHTOOL_A_RINGS_TX_PUSH_BUF_LEN_MAX, /* u32 */ | |
| 360 | 362 | |
| 361 | 363 | /* add new constants above here */ |
| 362 | 364 | __ETHTOOL_A_RINGS_CNT, |
| @@ -0,0 +1,73 @@ | ||
| 1 | +/* SPDX-License-Identifier: ((GPL-2.0 WITH Linux-syscall-note) OR BSD-3-Clause) */ | |
| 2 | +/* Do not edit directly, auto-generated from: */ | |
| 3 | +/* Documentation/netlink/specs/handshake.yaml */ | |
| 4 | +/* YNL-GEN uapi header */ | |
| 5 | + | |
| 6 | +#ifndef _UAPI_LINUX_HANDSHAKE_H | |
| 7 | +#define _UAPI_LINUX_HANDSHAKE_H | |
| 8 | + | |
| 9 | +#define HANDSHAKE_FAMILY_NAME "handshake" | |
| 10 | +#define HANDSHAKE_FAMILY_VERSION 1 | |
| 11 | + | |
| 12 | +enum handshake_handler_class { | |
| 13 | + HANDSHAKE_HANDLER_CLASS_NONE, | |
| 14 | + HANDSHAKE_HANDLER_CLASS_TLSHD, | |
| 15 | + HANDSHAKE_HANDLER_CLASS_MAX, | |
| 16 | +}; | |
| 17 | + | |
| 18 | +enum handshake_msg_type { | |
| 19 | + HANDSHAKE_MSG_TYPE_UNSPEC, | |
| 20 | + HANDSHAKE_MSG_TYPE_CLIENTHELLO, | |
| 21 | + HANDSHAKE_MSG_TYPE_SERVERHELLO, | |
| 22 | +}; | |
| 23 | + | |
| 24 | +enum handshake_auth { | |
| 25 | + HANDSHAKE_AUTH_UNSPEC, | |
| 26 | + HANDSHAKE_AUTH_UNAUTH, | |
| 27 | + HANDSHAKE_AUTH_PSK, | |
| 28 | + HANDSHAKE_AUTH_X509, | |
| 29 | +}; | |
| 30 | + | |
| 31 | +enum { | |
| 32 | + HANDSHAKE_A_X509_CERT = 1, | |
| 33 | + HANDSHAKE_A_X509_PRIVKEY, | |
| 34 | + | |
| 35 | + __HANDSHAKE_A_X509_MAX, | |
| 36 | + HANDSHAKE_A_X509_MAX = (__HANDSHAKE_A_X509_MAX - 1) | |
| 37 | +}; | |
| 38 | + | |
| 39 | +enum { | |
| 40 | + HANDSHAKE_A_ACCEPT_SOCKFD = 1, | |
| 41 | + HANDSHAKE_A_ACCEPT_HANDLER_CLASS, | |
| 42 | + HANDSHAKE_A_ACCEPT_MESSAGE_TYPE, | |
| 43 | + HANDSHAKE_A_ACCEPT_TIMEOUT, | |
| 44 | + HANDSHAKE_A_ACCEPT_AUTH_MODE, | |
| 45 | + HANDSHAKE_A_ACCEPT_PEER_IDENTITY, | |
| 46 | + HANDSHAKE_A_ACCEPT_CERTIFICATE, | |
| 47 | + | |
| 48 | + __HANDSHAKE_A_ACCEPT_MAX, | |
| 49 | + HANDSHAKE_A_ACCEPT_MAX = (__HANDSHAKE_A_ACCEPT_MAX - 1) | |
| 50 | +}; | |
| 51 | + | |
| 52 | +enum { | |
| 53 | + HANDSHAKE_A_DONE_STATUS = 1, | |
| 54 | + HANDSHAKE_A_DONE_SOCKFD, | |
| 55 | + HANDSHAKE_A_DONE_REMOTE_AUTH, | |
| 56 | + | |
| 57 | + __HANDSHAKE_A_DONE_MAX, | |
| 58 | + HANDSHAKE_A_DONE_MAX = (__HANDSHAKE_A_DONE_MAX - 1) | |
| 59 | +}; | |
| 60 | + | |
| 61 | +enum { | |
| 62 | + HANDSHAKE_CMD_READY = 1, | |
| 63 | + HANDSHAKE_CMD_ACCEPT, | |
| 64 | + HANDSHAKE_CMD_DONE, | |
| 65 | + | |
| 66 | + __HANDSHAKE_CMD_MAX, | |
| 67 | + HANDSHAKE_CMD_MAX = (__HANDSHAKE_CMD_MAX - 1) | |
| 68 | +}; | |
| 69 | + | |
| 70 | +#define HANDSHAKE_MCGRP_NONE "none" | |
| 71 | +#define HANDSHAKE_MCGRP_TLSHD "tlshd" | |
| 72 | + | |
| 73 | +#endif /* _UAPI_LINUX_HANDSHAKE_H */ | |
| @@ -525,6 +525,7 @@ enum { · 524 unmodified lines | ||
| 525 | 525 | BRIDGE_VLANDB_ENTRY_MCAST_ROUTER, |
| 526 | 526 | BRIDGE_VLANDB_ENTRY_MCAST_N_GROUPS, |
| 527 | 527 | BRIDGE_VLANDB_ENTRY_MCAST_MAX_GROUPS, |
| 528 | + BRIDGE_VLANDB_ENTRY_NEIGH_SUPPRESS, | |
| 528 | 529 | __BRIDGE_VLANDB_ENTRY_MAX, |
| 529 | 530 | }; |
| 530 | 531 | #define BRIDGE_VLANDB_ENTRY_MAX (__BRIDGE_VLANDB_ENTRY_MAX - 1) |
| @@ -633,6 +634,11 @@ enum { · 102 unmodified lines | ||
| 633 | 634 | MDBA_MDB_EATTR_GROUP_MODE, |
| 634 | 635 | MDBA_MDB_EATTR_SOURCE, |
| 635 | 636 | MDBA_MDB_EATTR_RTPROT, |
| 637 | + MDBA_MDB_EATTR_DST, | |
| 638 | + MDBA_MDB_EATTR_DST_PORT, | |
| 639 | + MDBA_MDB_EATTR_VNI, | |
| 640 | + MDBA_MDB_EATTR_IFINDEX, | |
| 641 | + MDBA_MDB_EATTR_SRC_VNI, | |
| 636 | 642 | __MDBA_MDB_EATTR_MAX |
| 637 | 643 | }; |
| 638 | 644 | #define MDBA_MDB_EATTR_MAX (__MDBA_MDB_EATTR_MAX - 1) |
| @@ -728,6 +734,11 @@ enum { · 89 unmodified lines | ||
| 728 | 734 | MDBE_ATTR_SRC_LIST, |
| 729 | 735 | MDBE_ATTR_GROUP_MODE, |
| 730 | 736 | MDBE_ATTR_RTPROT, |
| 737 | + MDBE_ATTR_DST, | |
| 738 | + MDBE_ATTR_DST_PORT, | |
| 739 | + MDBE_ATTR_VNI, | |
| 740 | + MDBE_ATTR_IFINDEX, | |
| 741 | + MDBE_ATTR_SRC_VNI, | |
| 731 | 742 | __MDBE_ATTR_MAX, |
| 732 | 743 | }; |
| 733 | 744 | #define MDBE_ATTR_MAX (__MDBE_ATTR_MAX - 1) |
| @@ -569,6 +569,7 @@ enum { · 568 unmodified lines | ||
| 569 | 569 | IFLA_BRPORT_MAB, |
| 570 | 570 | IFLA_BRPORT_MCAST_N_GROUPS, |
| 571 | 571 | IFLA_BRPORT_MCAST_MAX_GROUPS, |
| 572 | + IFLA_BRPORT_NEIGH_VLAN_SUPPRESS, | |
| 572 | 573 | __IFLA_BRPORT_MAX |
| 573 | 574 | }; |
| 574 | 575 | #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) |
| @@ -635,6 +636,7 @@ enum { · 60 unmodified lines | ||
| 635 | 636 | IFLA_MACVLAN_MACADDR_COUNT, |
| 636 | 637 | IFLA_MACVLAN_BC_QUEUE_LEN, |
| 637 | 638 | IFLA_MACVLAN_BC_QUEUE_LEN_USED, |
| 639 | + IFLA_MACVLAN_BC_CUTOFF, | |
| 638 | 640 | __IFLA_MACVLAN_MAX, |
| 639 | 641 | }; |
| 640 | 642 | |
| @@ -59,6 +59,7 @@ struct sockaddr_ll { · 58 unmodified lines | ||
| 59 | 59 | #define PACKET_ROLLOVER_STATS 21 |
| 60 | 60 | #define PACKET_FANOUT_DATA 22 |
| 61 | 61 | #define PACKET_IGNORE_OUTGOING 23 |
| 62 | +#define PACKET_VNET_HDR_SZ 24 | |
| 62 | 63 | |
| 63 | 64 | #define PACKET_FANOUT_HASH 0 |
| 64 | 65 | #define PACKET_FANOUT_LB 1 |
| @@ -685,7 +685,7 @@ enum nft_range_ops { · 684 unmodified lines | ||
| 685 | 685 | * enum nft_range_attributes - nf_tables range expression netlink attributes |
| 686 | 686 | * |
| 687 | 687 | * @NFTA_RANGE_SREG: source register of data to compare (NLA_U32: nft_registers) |
| 688 | − * @NFTA_RANGE_OP: cmp operation (NLA_U32: nft_cmp_ops) | |
| 688 | + * @NFTA_RANGE_OP: cmp operation (NLA_U32: nft_range_ops) | |
| 689 | 689 | * @NFTA_RANGE_FROM_DATA: data range from (NLA_NESTED: nft_data_attributes) |
| 690 | 690 | * @NFTA_RANGE_TO_DATA: data range to (NLA_NESTED: nft_data_attributes) |
| 691 | 691 | */ |
| @@ -878,7 +878,7 @@ enum nft_exthdr_op { · 186 unmodified lines | ||
| 878 | 878 | * @NFTA_EXTHDR_LEN: extension header length (NLA_U32) |
| 879 | 879 | * @NFTA_EXTHDR_FLAGS: extension header flags (NLA_U32) |
| 880 | 880 | * @NFTA_EXTHDR_OP: option match type (NLA_U32) |
| 881 | − * @NFTA_EXTHDR_SREG: option match type (NLA_U32) | |
| 881 | + * @NFTA_EXTHDR_SREG: source register (NLA_U32: nft_registers) | |
| 882 | 882 | */ |
| 883 | 883 | enum nft_exthdr_attributes { |
| 884 | 884 | NFTA_EXTHDR_UNSPEC, |
| @@ -931,6 +931,7 @@ enum nft_exthdr_attributes { · 46 unmodified lines | ||
| 931 | 931 | * @NFT_META_TIME_HOUR: hour of day (in seconds) |
| 932 | 932 | * @NFT_META_SDIF: slave device interface index |
| 933 | 933 | * @NFT_META_SDIFNAME: slave device interface name |
| 934 | + * @NFT_META_BRI_BROUTE: packet br_netfilter_broute bit | |
| 934 | 935 | */ |
| 935 | 936 | enum nft_meta_keys { |
| 936 | 937 | NFT_META_LEN, |
| @@ -969,6 +970,7 @@ enum nft_meta_keys { · 32 unmodified lines | ||
| 969 | 970 | NFT_META_TIME_HOUR, |
| 970 | 971 | NFT_META_SDIF, |
| 971 | 972 | NFT_META_SDIFNAME, |
| 973 | + NFT_META_BRI_BROUTE, | |
| 972 | 974 | __NFT_META_IIFTYPE, |
| 973 | 975 | }; |
| 974 | 976 | |
| @@ -1260,10 +1262,10 @@ enum nft_last_attributes { · 285 unmodified lines | ||
| 1260 | 1262 | /** |
| 1261 | 1263 | * enum nft_log_attributes - nf_tables log expression netlink attributes |
| 1262 | 1264 | * |
| 1263 | − * @NFTA_LOG_GROUP: netlink group to send messages to (NLA_U32) | |
| 1265 | + * @NFTA_LOG_GROUP: netlink group to send messages to (NLA_U16) | |
| 1264 | 1266 | * @NFTA_LOG_PREFIX: prefix to prepend to log messages (NLA_STRING) |
| 1265 | 1267 | * @NFTA_LOG_SNAPLEN: length of payload to include in netlink message (NLA_U32) |
| 1266 | − * @NFTA_LOG_QTHRESHOLD: queue threshold (NLA_U32) | |
| 1268 | + * @NFTA_LOG_QTHRESHOLD: queue threshold (NLA_U16) | |
| 1267 | 1269 | * @NFTA_LOG_LEVEL: log level (NLA_U32) |
| 1268 | 1270 | * @NFTA_LOG_FLAGS: logging flags (NLA_U32) |
| 1269 | 1271 | */ |
| @@ -32,8 +32,12 @@ enum nfnl_hook_attributes { · 31 unmodified lines | ||
| 32 | 32 | /** |
| 33 | 33 | * enum nfnl_hook_chain_info_attributes - chain description |
| 34 | 34 | * |
| 35 | − * NFNLA_HOOK_INFO_DESC: nft chain and table name (enum nft_table_attributes) (NLA_NESTED) | |
| 36 | − * NFNLA_HOOK_INFO_TYPE: chain type (enum nfnl_hook_chaintype) (NLA_U32) | |
| 35 | + * @NFNLA_HOOK_INFO_DESC: nft chain and table name (NLA_NESTED) | |
| 36 | + * @NFNLA_HOOK_INFO_TYPE: chain type (enum nfnl_hook_chaintype) (NLA_U32) | |
| 37 | + * | |
| 38 | + * NFNLA_HOOK_INFO_DESC depends on NFNLA_HOOK_INFO_TYPE value: | |
| 39 | + * NFNL_HOOK_TYPE_NFTABLES: enum nft_table_attributes | |
| 40 | + * NFNL_HOOK_TYPE_BPF: enum nfnl_hook_bpf_attributes | |
| 37 | 41 | */ |
| 38 | 42 | enum nfnl_hook_chain_info_attributes { |
| 39 | 43 | NFNLA_HOOK_INFO_UNSPEC, |
| @@ -55,10 +59,24 @@ enum nfnl_hook_chain_desc_attributes { · 15 unmodified lines | ||
| 55 | 59 | /** |
| 56 | 60 | * enum nfnl_hook_chaintype - chain type |
| 57 | 61 | * |
| 58 | − * @NFNL_HOOK_TYPE_NFTABLES nf_tables base chain | |
| 62 | + * @NFNL_HOOK_TYPE_NFTABLES: nf_tables base chain | |
| 63 | + * @NFNL_HOOK_TYPE_BPF: bpf program | |
| 59 | 64 | */ |
| 60 | 65 | enum nfnl_hook_chaintype { |
| 61 | 66 | NFNL_HOOK_TYPE_NFTABLES = 0x1, |
| 67 | + NFNL_HOOK_TYPE_BPF, | |
| 68 | +}; | |
| 69 | + | |
| 70 | +/** | |
| 71 | + * enum nfnl_hook_bpf_attributes - bpf prog description | |
| 72 | + * | |
| 73 | + * @NFNLA_HOOK_BPF_ID: bpf program id (NLA_U32) | |
| 74 | + */ | |
| 75 | +enum nfnl_hook_bpf_attributes { | |
| 76 | + NFNLA_HOOK_BPF_UNSPEC, | |
| 77 | + NFNLA_HOOK_BPF_ID, | |
| 78 | + __NFNLA_HOOK_BPF_MAX, | |
| 62 | 79 | }; |
| 80 | +#define NFNLA_HOOK_BPF_MAX (__NFNLA_HOOK_BPF_MAX - 1) | |
| 63 | 81 | |
| 64 | 82 | #endif /* _NFNL_HOOK_H */ |
| @@ -62,6 +62,7 @@ enum nfqnl_attr_type { · 61 unmodified lines | ||
| 62 | 62 | NFQA_VLAN, /* nested attribute: packet vlan info */ |
| 63 | 63 | NFQA_L2HDR, /* full L2 header */ |
| 64 | 64 | NFQA_PRIORITY, /* skb->priority */ |
| 65 | + NFQA_CGROUP_CLASSID, /* __u32 cgroup classid */ | |
| 65 | 66 | |
| 66 | 67 | __NFQA_MAX |
| 67 | 68 | }; |
| @@ -1299,6 +1299,16 @@ · 1298 unmodified lines | ||
| 1299 | 1299 | * @NL80211_CMD_MODIFY_LINK_STA: Modify a link of an MLD station |
| 1300 | 1300 | * @NL80211_CMD_REMOVE_LINK_STA: Remove a link of an MLD station |
| 1301 | 1301 | * |
| 1302 | + * @NL80211_CMD_SET_HW_TIMESTAMP: Enable/disable HW timestamping of Timing | |
| 1303 | + * measurement and Fine timing measurement frames. If %NL80211_ATTR_MAC | |
| 1304 | + * is included, enable/disable HW timestamping only for frames to/from the | |
| 1305 | + * specified MAC address. Otherwise enable/disable HW timestamping for | |
| 1306 | + * all TM/FTM frames (including ones that were enabled with specific MAC | |
| 1307 | + * address). If %NL80211_ATTR_HW_TIMESTAMP_ENABLED is not included, disable | |
| 1308 | + * HW timestamping. | |
| 1309 | + * The number of peers that HW timestamping can be enabled for concurrently | |
| 1310 | + * is indicated by %NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS. | |
| 1311 | + * | |
| 1302 | 1312 | * @NL80211_CMD_MAX: highest used command number |
| 1303 | 1313 | * @__NL80211_CMD_AFTER_LAST: internal use |
| 1304 | 1314 | */ |
| @@ -1550,6 +1560,8 @@ enum nl80211_commands { · 245 unmodified lines | ||
| 1550 | 1560 | NL80211_CMD_MODIFY_LINK_STA, |
| 1551 | 1561 | NL80211_CMD_REMOVE_LINK_STA, |
| 1552 | 1562 | |
| 1563 | + NL80211_CMD_SET_HW_TIMESTAMP, | |
| 1564 | + | |
| 1553 | 1565 | /* add new commands above here */ |
| 1554 | 1566 | |
| 1555 | 1567 | /* used to define NL80211_CMD_MAX below */ |
| @@ -2775,6 +2787,24 @@ enum nl80211_commands { · 1219 unmodified lines | ||
| 2775 | 2787 | * indicates that the sub-channel is punctured. Higher 16 bits are |
| 2776 | 2788 | * reserved. |
| 2777 | 2789 | * |
| 2790 | + * @NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS: Maximum number of peers that HW | |
| 2791 | + * timestamping can be enabled for concurrently (u16), a wiphy attribute. | |
| 2792 | + * A value of 0xffff indicates setting for all peers (i.e. not specifying | |
| 2793 | + * an address with %NL80211_CMD_SET_HW_TIMESTAMP) is supported. | |
| 2794 | + * @NL80211_ATTR_HW_TIMESTAMP_ENABLED: Indicates whether HW timestamping should | |
| 2795 | + * be enabled or not (flag attribute). | |
| 2796 | + * | |
| 2797 | + * @NL80211_ATTR_EMA_RNR_ELEMS: Optional nested attribute for | |
| 2798 | + * reduced neighbor report (RNR) elements. This attribute can be used | |
| 2799 | + * only when NL80211_MBSSID_CONFIG_ATTR_EMA is enabled. | |
| 2800 | + * Userspace is responsible for splitting the RNR into multiple | |
| 2801 | + * elements such that each element excludes the non-transmitting | |
| 2802 | + * profiles already included in the MBSSID element | |
| 2803 | + * (%NL80211_ATTR_MBSSID_ELEMS) at the same index. Each EMA beacon | |
| 2804 | + * will be generated by adding MBSSID and RNR elements at the same | |
| 2805 | + * index. If the userspace includes more RNR elements than number of | |
| 2806 | + * MBSSID elements then these will be added in every EMA beacon. | |
| 2807 | + * | |
| 2778 | 2808 | * @NUM_NL80211_ATTR: total number of nl80211_attrs available |
| 2779 | 2809 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 2780 | 2810 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| @@ -3306,6 +3336,11 @@ enum nl80211_attrs { · 525 unmodified lines | ||
| 3306 | 3336 | |
| 3307 | 3337 | NL80211_ATTR_PUNCT_BITMAP, |
| 3308 | 3338 | |
| 3339 | + NL80211_ATTR_MAX_HW_TIMESTAMP_PEERS, | |
| 3340 | + NL80211_ATTR_HW_TIMESTAMP_ENABLED, | |
| 3341 | + | |
| 3342 | + NL80211_ATTR_EMA_RNR_ELEMS, | |
| 3343 | + | |
| 3309 | 3344 | /* add attributes here, update the policy in nl80211.c */ |
| 3310 | 3345 | |
| 3311 | 3346 | __NL80211_ATTR_AFTER_LAST, |
| @@ -4026,6 +4061,10 @@ enum nl80211_band_iftype_attr { · 714 unmodified lines | ||
| 4026 | 4061 | * @NL80211_BAND_ATTR_EDMG_BW_CONFIG: Channel BW Configuration subfield encodes |
| 4027 | 4062 | * the allowed channel bandwidth configurations. |
| 4028 | 4063 | * Defined by IEEE P802.11ay/D4.0 section 9.4.2.251, Table 13. |
| 4064 | + * @NL80211_BAND_ATTR_S1G_MCS_NSS_SET: S1G capabilities, supported S1G-MCS and NSS | |
| 4065 | + * set subfield, as in the S1G information IE, 5 bytes | |
| 4066 | + * @NL80211_BAND_ATTR_S1G_CAPA: S1G capabilities information subfield as in the | |
| 4067 | + * S1G information IE, 10 bytes | |
| 4029 | 4068 | * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined |
| 4030 | 4069 | * @__NL80211_BAND_ATTR_AFTER_LAST: internal use |
| 4031 | 4070 | */ |
| @@ -4046,6 +4085,9 @@ enum nl80211_band_attr { · 14 unmodified lines | ||
| 4046 | 4085 | NL80211_BAND_ATTR_EDMG_CHANNELS, |
| 4047 | 4086 | NL80211_BAND_ATTR_EDMG_BW_CONFIG, |
| 4048 | 4087 | |
| 4088 | + NL80211_BAND_ATTR_S1G_MCS_NSS_SET, | |
| 4089 | + NL80211_BAND_ATTR_S1G_CAPA, | |
| 4090 | + | |
| 4049 | 4091 | /* keep last */ |
| 4050 | 4092 | __NL80211_BAND_ATTR_AFTER_LAST, |
| 4051 | 4093 | NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1 |
| @@ -6326,6 +6368,10 @@ enum nl80211_feature_flags { · 2274 unmodified lines | ||
| 6326 | 6368 | * @NL80211_EXT_FEATURE_SECURE_NAN: Device supports NAN Pairing which enables |
| 6327 | 6369 | * authentication, data encryption and message integrity. |
| 6328 | 6370 | * |
| 6371 | + * @NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA: Device supports randomized TA | |
| 6372 | + * in authentication and deauthentication frames sent to unassociated peer | |
| 6373 | + * using @NL80211_CMD_FRAME. | |
| 6374 | + * | |
| 6329 | 6375 | * @NUM_NL80211_EXT_FEATURES: number of extended features. |
| 6330 | 6376 | * @MAX_NL80211_EXT_FEATURES: highest extended feature index. |
| 6331 | 6377 | */ |
| @@ -6396,6 +6442,7 @@ enum nl80211_ext_feature_index { · 64 unmodified lines | ||
| 6396 | 6442 | NL80211_EXT_FEATURE_POWERED_ADDR_CHANGE, |
| 6397 | 6443 | NL80211_EXT_FEATURE_PUNCT, |
| 6398 | 6444 | NL80211_EXT_FEATURE_SECURE_NAN, |
| 6445 | + NL80211_EXT_FEATURE_AUTH_AND_DEAUTH_RANDOM_TA, | |
| 6399 | 6446 | |
| 6400 | 6447 | /* add new features before the definition below */ |
| 6401 | 6448 | NUM_NL80211_EXT_FEATURES, |
| @@ -6510,8 +6557,16 @@ enum nl80211_timeout_reason { · 108 unmodified lines | ||
| 6510 | 6557 | * @NL80211_SCAN_FLAG_FREQ_KHZ: report scan results with |
| 6511 | 6558 | * %NL80211_ATTR_SCAN_FREQ_KHZ. This also means |
| 6512 | 6559 | * %NL80211_ATTR_SCAN_FREQUENCIES will not be included. |
| 6513 | − * @NL80211_SCAN_FLAG_COLOCATED_6GHZ: scan for colocated APs reported by | |
| 6514 | − * 2.4/5 GHz APs | |
| 6560 | + * @NL80211_SCAN_FLAG_COLOCATED_6GHZ: scan for collocated APs reported by | |
| 6561 | + * 2.4/5 GHz APs. When the flag is set, the scan logic will use the | |
| 6562 | + * information from the RNR element found in beacons/probe responses | |
| 6563 | + * received on the 2.4/5 GHz channels to actively scan only the 6GHz | |
| 6564 | + * channels on which APs are expected to be found. Note that when not set, | |
| 6565 | + * the scan logic would scan all 6GHz channels, but since transmission of | |
| 6566 | + * probe requests on non PSC channels is limited, it is highly likely that | |
| 6567 | + * these channels would passively be scanned. Also note that when the flag | |
| 6568 | + * is set, in addition to the colocated APs, PSC channels would also be | |
| 6569 | + * scanned if the user space has asked for it. | |
| 6515 | 6570 | */ |
| 6516 | 6571 | enum nl80211_scan_flags { |
| 6517 | 6572 | NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0, |
| @@ -719,6 +719,11 @@ enum { · 718 unmodified lines | ||
| 719 | 719 | |
| 720 | 720 | #define __TC_MQPRIO_SHAPER_MAX (__TC_MQPRIO_SHAPER_MAX - 1) |
| 721 | 721 | |
| 722 | +enum { | |
| 723 | + TC_FP_EXPRESS = 1, | |
| 724 | + TC_FP_PREEMPTIBLE = 2, | |
| 725 | +}; | |
| 726 | + | |
| 722 | 727 | struct tc_mqprio_qopt { |
| 723 | 728 | __u8 num_tc; |
| 724 | 729 | __u8 prio_tc_map[TC_QOPT_BITMASK + 1]; |
| @@ -732,12 +737,23 @@ struct tc_mqprio_qopt { · 7 unmodified lines | ||
| 732 | 737 | #define TC_MQPRIO_F_MIN_RATE 0x4 |
| 733 | 738 | #define TC_MQPRIO_F_MAX_RATE 0x8 |
| 734 | 739 | |
| 740 | +enum { | |
| 741 | + TCA_MQPRIO_TC_ENTRY_UNSPEC, | |
| 742 | + TCA_MQPRIO_TC_ENTRY_INDEX, /* u32 */ | |
| 743 | + TCA_MQPRIO_TC_ENTRY_FP, /* u32 */ | |
| 744 | + | |
| 745 | + /* add new constants above here */ | |
| 746 | + __TCA_MQPRIO_TC_ENTRY_CNT, | |
| 747 | + TCA_MQPRIO_TC_ENTRY_MAX = (__TCA_MQPRIO_TC_ENTRY_CNT - 1) | |
| 748 | +}; | |
| 749 | + | |
| 735 | 750 | enum { |
| 736 | 751 | TCA_MQPRIO_UNSPEC, |
| 737 | 752 | TCA_MQPRIO_MODE, |
| 738 | 753 | TCA_MQPRIO_SHAPER, |
| 739 | 754 | TCA_MQPRIO_MIN_RATE64, |
| 740 | 755 | TCA_MQPRIO_MAX_RATE64, |
| 756 | + TCA_MQPRIO_TC_ENTRY, | |
| 741 | 757 | __TCA_MQPRIO_MAX, |
| 742 | 758 | }; |
| 743 | 759 | |
| @@ -1236,6 +1252,7 @@ enum { · 492 unmodified lines | ||
| 1236 | 1252 | TCA_TAPRIO_TC_ENTRY_UNSPEC, |
| 1237 | 1253 | TCA_TAPRIO_TC_ENTRY_INDEX, /* u32 */ |
| 1238 | 1254 | TCA_TAPRIO_TC_ENTRY_MAX_SDU, /* u32 */ |
| 1255 | + TCA_TAPRIO_TC_ENTRY_FP, /* u32 */ | |
| 1239 | 1256 | |
| 1240 | 1257 | /* add new constants above here */ |
| 1241 | 1258 | __TCA_TAPRIO_TC_ENTRY_CNT, |
| @@ -1211,7 +1211,9 @@ enum sctp_sched_type { · 1210 unmodified lines | ||
| 1211 | 1211 | SCTP_SS_DEFAULT = SCTP_SS_FCFS, |
| 1212 | 1212 | SCTP_SS_PRIO, |
| 1213 | 1213 | SCTP_SS_RR, |
| 1214 | − SCTP_SS_MAX = SCTP_SS_RR | |
| 1214 | + SCTP_SS_FC, | |
| 1215 | + SCTP_SS_WFQ, | |
| 1216 | + SCTP_SS_MAX = SCTP_SS_WFQ | |
| 1215 | 1217 | }; |
| 1216 | 1218 | |
| 1217 | 1219 | /* Probe Interval socket option */ |
| @@ -34,6 +34,7 @@ enum { · 33 unmodified lines | ||
| 34 | 34 | */ |
| 35 | 35 | TCA_TUNNEL_KEY_ENC_TOS, /* u8 */ |
| 36 | 36 | TCA_TUNNEL_KEY_ENC_TTL, /* u8 */ |
| 37 | + TCA_TUNNEL_KEY_NO_FRAG, /* flag */ | |
| 37 | 38 | __TCA_TUNNEL_KEY_MAX, |
| 38 | 39 | }; |
| 39 | 40 | |
| @@ -61,6 +61,7 @@ · 60 unmodified lines | ||
| 61 | 61 | #define VIRTIO_NET_F_GUEST_USO6 55 /* Guest can handle USOv6 in. */ |
| 62 | 62 | #define VIRTIO_NET_F_HOST_USO 56 /* Host can handle USO in. */ |
| 63 | 63 | #define VIRTIO_NET_F_HASH_REPORT 57 /* Supports hash report */ |
| 64 | +#define VIRTIO_NET_F_GUEST_HDRLEN 59 /* Guest provides the exact hdr_len value. */ | |
| 64 | 65 | #define VIRTIO_NET_F_RSS 60 /* Supports RSS RX steering */ |
| 65 | 66 | #define VIRTIO_NET_F_RSC_EXT 61 /* extended coalescing info */ |
| 66 | 67 | #define VIRTIO_NET_F_STANDBY 62 /* Act as standby for another device |