History

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

Pull networking updates from Paolo Abeni: "Core: - Implement the Device Memory TCP transmit path, allowing zero-copy data transmission on top of TCP from e.g. GPU memory to the wire. - Move all the IPv6 routing tables management outside the RTNL scope, under its own lock and RCU. The route control path is now 3x times faster. - Convert queue related netlink ops to instance lock, reducing again the scope of the RTNL lock. This improves the control plane scalability. - Refactor the software crc32c implementation, removing unneeded abstraction layers and improving significantly the related micro-benchmarks. - Optimize the GRO engine for UDP-tunneled traffic, for a 10% performance improvement in related stream tests. - Cover more per-CPU storage with local nested BH locking; this is a prep work to remove the current per-CPU lock in local_bh_disable() on PREMPT_RT. - Introduce and use nlmsg_payload helper, combining buffer bounds verification with accessing payload carried by netlink messages. Netfilter: - Rewrite the procfs conntrack table implementation, improving considerably the dump performance. A lot of user-space tools still use this interface. - Implement support for wildcard netdevice in netdev basechain and flowtables. - Integrate conntrack information into nft trace infrastructure. - Export set count and backend name to userspace, for better introspection. BPF: - BPF qdisc support: BPF-qdisc can be implemented with BPF struct_ops programs and can be controlled in similar way to traditional qdiscs using the "tc qdisc" command. - Refactor the UDP socket iterator, addressing long standing issues WRT duplicate hits or missed sockets. Protocols: - Improve TCP receive buffer auto-tuning and increase the default upper bound for the receive buffer; overall this improves the single flow maximum thoughput on 200Gbs link by over 60%. - Add AFS GSSAPI security class to AF_RXRPC; it provides transport security for connections to the AFS fileserver and VL server. - Improve TCP multipath routing, so that the sources address always matches the nexthop device. - Introduce SO_PASSRIGHTS for AF_UNIX, to allow disabling SCM_RIGHTS, and thus preventing DoS caused by passing around problematic FDs. - Retire DCCP socket. DCCP only receives updates for bugs, and major distros disable it by default. Its removal allows for better organisation of TCP fields to reduce the number of cache lines hit in the fast path. - Extend TCP drop-reason support to cover PAWS checks. Driver API: - Reorganize PTP ioctl flag support to require an explicit opt-in for the drivers, avoiding the problem of drivers not rejecting new unsupported flags. - Converted several device drivers to timestamping APIs. - Introduce per-PHY ethtool dump helpers, improving the support for dump operations targeting PHYs. Tests and tooling: - Add support for classic netlink in user space C codegen, so that ynl-c can now read, create and modify links, routes addresses and qdisc layer configuration. - Add ynl sub-types for binary attributes, allowing ynl-c to output known struct instead of raw binary data, clarifying the classic netlink output. - Extend MPTCP selftests to improve the code-coverage. - Add tests for XDP tail adjustment in AF_XDP. New hardware / drivers: - OpenVPN virtual driver: offload OpenVPN data channels processing to the kernel-space, increasing the data transfer throughput WRT the user-space implementation. - Renesas glue driver for the gigabit ethernet RZ/V2H(P) SoC. - Broadcom asp-v3.0 ethernet driver. - AMD Renoir ethernet device. - ReakTek MT9888 2.5G ethernet PHY driver. - Aeonsemi 10G C45 PHYs driver. Drivers: - Ethernet high-speed NICs: - nVidia/Mellanox (mlx5): - refactor the steering table handling to significantly reduce the amount of memory used - add support for complex matches in H/W flow steering - improve flow streeing error handling - convert to netdev instance locking - Intel (100G, ice, igb, ixgbe, idpf): - ice: add switchdev support for LLDP traffic over VF - ixgbe: add firmware manipulation and regions devlink support - igb: introduce support for frame transmission premption - igb: adds persistent NAPI configuration - idpf: introduce RDMA support - idpf: add initial PTP support - Meta (fbnic): - extend hardware stats coverage - add devlink dev flash support - Broadcom (bnxt): - add support for RX-side device memory TCP - Wangxun (txgbe): - implement support for udp tunnel offload - complete PTP and SRIOV support for AML 25G/10G devices - Ethernet NICs embedded and virtual: - Google (gve): - add device memory TCP TX support - Amazon (ena): - support persistent per-NAPI config - Airoha: - add H/W support for L2 traffic offload - add per flow stats for flow offloading - RealTek (rtl8211): add support for WoL magic packet - Synopsys (stmmac): - dwmac-socfpga 1000BaseX support - add Loongson-2K3000 support - introduce support for hardware-accelerated VLAN stripping - Broadcom (bcmgenet): - expose more H/W stats - Freescale (enetc, dpaa2-eth): - enetc: add MAC filter, VLAN filter RSS and loopback support - dpaa2-eth: convert to H/W timestamping APIs - vxlan: convert FDB table to rhashtable, for better scalabilty - veth: apply qdisc backpressure on full ring to reduce TX drops - Ethernet switches: - Microchip (kzZ88x3): add ETS scheduler support - Ethernet PHYs: - RealTek (rtl8211): - add support for WoL magic packet - add support for PHY LEDs - CAN: - Adds RZ/G3E CANFD support to the rcar_canfd driver. - Preparatory work for CAN-XL support. - Add self-tests framework with support for CAN physical interfaces. - WiFi: - mac80211: - scan improvements with multi-link operation (MLO) - Qualcomm (ath12k): - enable AHB support for IPQ5332 - add monitor interface support to QCN9274 - add multi-link operation support to WCN7850 - add 802.11d scan offload support to WCN7850 - monitor mode for WCN7850, better 6 GHz regulatory - Qualcomm (ath11k): - restore hibernation support - MediaTek (mt76): - WiFi-7 improvements - implement support for mt7990 - Intel (iwlwifi): - enhanced multi-link single-radio (EMLSR) support on 5 GHz links - rework device configuration - RealTek (rtw88): - improve throughput for RTL8814AU - RealTek (rtw89): - add multi-link operation support - STA/P2P concurrency improvements - support different SAR configs by antenna - Bluetooth: - introduce HCI Driver protocol - btintel_pcie: do not generate coredump for diagnostic events - btusb: add HCI Drv commands for configuring altsetting - btusb: add RTL8851BE device 0x0bda:0xb850 - btusb: add new VID/PID 13d3/3584 for MT7922 - btusb: add new VID/PID 13d3/3630 and 13d3/3613 for MT7925 - btnxpuart: implement host-wakeup feature" * tag 'net-next-6.16' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (1611 commits) selftests/bpf: Fix bpf selftest build warning selftests: netfilter: Fix skip of wildcard interface test net: phy: mscc: Stop clearing the the UDPv4 checksum for L2 frames net: openvswitch: Fix the dead loop of MPLS parse calipso: Don't call calipso functions for AF_INET sk. selftests/tc-testing: Add a test for HFSC eltree double add with reentrant enqueue behaviour on netem net_sched: hfsc: Address reentrant enqueue adding class to eltree twice octeontx2-pf: QOS: Refactor TC_HTB_LEAF_DEL_LAST callback octeontx2-pf: QOS: Perform cache sync on send queue teardown net: mana: Add support for Multi Vports on Bare metal net: devmem: ncdevmem: remove unused variable net: devmem: ksft: upgrade rx test to send 1K data net: devmem: ksft: add 5 tuple FS support net: devmem: ksft: add exit_wait to make rx test pass net: devmem: ksft: add ipv4 support net: devmem: preserve sockc_err page_pool: fix ugly page_pool formatting net: devmem: move list_add to net_devmem_bind_dmabuf. selftests: netfilter: nft_queue.sh: include file transfer duration in log message net: phy: mscc: Fix memory leak when using one step timestamping ...

Linus Torvalds committed 1 year ago

Commit 1b98f352 parents 47cf96f f6bd8fa1735 files · +83145 −38939Browse files

Showing the changes to include/uapi/linux (35 of 1735 files). Show all

Unified · Split

35 files
  1. include/uapi/linux/devlink.h +15 −0
  2. include/uapi/linux/ethtool.h +69 −65
  3. include/uapi/linux/ethtool_netlink_generated.h +14 −0
  4. include/uapi/linux/fib_rules.h +2 −2
  5. include/uapi/linux/if_addr.h +2 −2
  6. include/uapi/linux/if_addrlabel.h +2 −2
  7. include/uapi/linux/if_alg.h +3 −3
  8. include/uapi/linux/if_arcnet.h +3 −3
  9. include/uapi/linux/if_bonding.h +3 −3
  10. include/uapi/linux/if_bridge.h +6 −4
  11. include/uapi/linux/if_fc.h +3 −3
  12. include/uapi/linux/if_hippi.h +3 −3
  13. include/uapi/linux/if_link.h +15 −0
  14. include/uapi/linux/if_packet.h +2 −2
  15. include/uapi/linux/if_plip.h +2 −2
  16. include/uapi/linux/if_slip.h +2 −2
  17. include/uapi/linux/if_x25.h +3 −3
  18. include/uapi/linux/if_xdp.h +3 −3
  19. include/uapi/linux/ip6_tunnel.h +2 −2
  20. include/uapi/linux/neighbour.h +2 −2
  21. include/uapi/linux/net_dropmon.h +2 −2
  22. include/uapi/linux/net_tstamp.h +3 −3
  23. include/uapi/linux/netdev.h +1 −0
  24. include/uapi/linux/netfilter/nf_tables.h +22 −0
  25. include/uapi/linux/netfilter/nfnetlink.h +2 −0
  26. include/uapi/linux/netlink_diag.h +2 −2
  27. include/uapi/linux/nl80211.h +6 −0
  28. include/uapi/linux/ovpn.h +109 −0
  29. include/uapi/linux/pkt_cls.h +3 −2
  30. include/uapi/linux/pkt_sched.h +3 −2
  31. include/uapi/linux/rxrpc.h +65 −12
  32. include/uapi/linux/snmp.h +1 −0
  33. include/uapi/linux/tcp.h +1 −0
  34. include/uapi/linux/udp.h +1 −0
  35. include/uapi/linux/wireguard.h +9 −0
include/uapi/linux/devlink.h+15−0
@@ -385,6 +385,21 @@ enum devlink_linecard_state { · 384 unmodified lines
385385 DEVLINK_LINECARD_STATE_MAX = __DEVLINK_LINECARD_STATE_MAX - 1
386386 };
387387
388+/* Variable attribute type. */
389+enum devlink_var_attr_type {
390+ /* Following values relate to the internal NLA_* values */
391+ DEVLINK_VAR_ATTR_TYPE_U8 = 1,
392+ DEVLINK_VAR_ATTR_TYPE_U16,
393+ DEVLINK_VAR_ATTR_TYPE_U32,
394+ DEVLINK_VAR_ATTR_TYPE_U64,
395+ DEVLINK_VAR_ATTR_TYPE_STRING,
396+ DEVLINK_VAR_ATTR_TYPE_FLAG,
397+ DEVLINK_VAR_ATTR_TYPE_NUL_STRING = 10,
398+ DEVLINK_VAR_ATTR_TYPE_BINARY,
399+ __DEVLINK_VAR_ATTR_TYPE_CUSTOM_BASE = 0x80,
400+ /* Any possible custom types, unrelated to NLA_* values go below */
401+};
402+
388403 enum devlink_attr {
389404 /* don't change the order or add anything between, this is ABI! */
390405 DEVLINK_ATTR_UNSPEC,
include/uapi/linux/ethtool.h+69−65
@@ -2295,71 +2295,75 @@ static inline int ethtool_validate_duplex(__u8 duplex) · 2294 unmodified lines
22952295 #define RXH_XFRM_SYM_OR_XOR (1 << 1)
22962296 #define RXH_XFRM_NO_CHANGE 0xff
22972297
2298−/* L2-L4 network traffic flow types */
2299−#define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
2300−#define UDP_V4_FLOW 0x02 /* hash or spec (udp_ip4_spec) */
2301−#define SCTP_V4_FLOW 0x03 /* hash or spec (sctp_ip4_spec) */
2302−#define AH_ESP_V4_FLOW 0x04 /* hash only */
2303−#define TCP_V6_FLOW 0x05 /* hash or spec (tcp_ip6_spec; nfc only) */
2304−#define UDP_V6_FLOW 0x06 /* hash or spec (udp_ip6_spec; nfc only) */
2305−#define SCTP_V6_FLOW 0x07 /* hash or spec (sctp_ip6_spec; nfc only) */
2306−#define AH_ESP_V6_FLOW 0x08 /* hash only */
2307−#define AH_V4_FLOW 0x09 /* hash or spec (ah_ip4_spec) */
2308−#define ESP_V4_FLOW 0x0a /* hash or spec (esp_ip4_spec) */
2309−#define AH_V6_FLOW 0x0b /* hash or spec (ah_ip6_spec; nfc only) */
2310−#define ESP_V6_FLOW 0x0c /* hash or spec (esp_ip6_spec; nfc only) */
2311−#define IPV4_USER_FLOW 0x0d /* spec only (usr_ip4_spec) */
2312−#define IP_USER_FLOW IPV4_USER_FLOW
2313−#define IPV6_USER_FLOW 0x0e /* spec only (usr_ip6_spec; nfc only) */
2314−#define IPV4_FLOW 0x10 /* hash only */
2315−#define IPV6_FLOW 0x11 /* hash only */
2316−#define ETHER_FLOW 0x12 /* spec only (ether_spec) */
2317−
2318−/* Used for GTP-U IPv4 and IPv6.
2319− * The format of GTP packets only includes
2320− * elements such as TEID and GTP version.
2321− * It is primarily intended for data communication of the UE.
2322− */
2323−#define GTPU_V4_FLOW 0x13 /* hash only */
2324−#define GTPU_V6_FLOW 0x14 /* hash only */
2325−
2326−/* Use for GTP-C IPv4 and v6.
2327− * The format of these GTP packets does not include TEID.
2328− * Primarily expected to be used for communication
2329− * to create sessions for UE data communication,
2330− * commonly referred to as CSR (Create Session Request).
2331− */
2332−#define GTPC_V4_FLOW 0x15 /* hash only */
2333−#define GTPC_V6_FLOW 0x16 /* hash only */
2334−
2335−/* Use for GTP-C IPv4 and v6.
2336− * Unlike GTPC_V4_FLOW, the format of these GTP packets includes TEID.
2337− * After session creation, it becomes this packet.
2338− * This is mainly used for requests to realize UE handover.
2339− */
2340−#define GTPC_TEID_V4_FLOW 0x17 /* hash only */
2341−#define GTPC_TEID_V6_FLOW 0x18 /* hash only */
2342−
2343−/* Use for GTP-U and extended headers for the PSC (PDU Session Container).
2344− * The format of these GTP packets includes TEID and QFI.
2345− * In 5G communication using UPF (User Plane Function),
2346− * data communication with this extended header is performed.
2347− */
2348−#define GTPU_EH_V4_FLOW 0x19 /* hash only */
2349−#define GTPU_EH_V6_FLOW 0x1a /* hash only */
2350−
2351−/* Use for GTP-U IPv4 and v6 PSC (PDU Session Container) extended headers.
2352− * This differs from GTPU_EH_V(4|6)_FLOW in that it is distinguished by
2353− * UL/DL included in the PSC.
2354− * There are differences in the data included based on Downlink/Uplink,
2355− * and can be used to distinguish packets.
2356− * The functions described so far are useful when you want to
2357− * handle communication from the mobile network in UPF, PGW, etc.
2358− */
2359−#define GTPU_UL_V4_FLOW 0x1b /* hash only */
2360−#define GTPU_UL_V6_FLOW 0x1c /* hash only */
2361−#define GTPU_DL_V4_FLOW 0x1d /* hash only */
2362−#define GTPU_DL_V6_FLOW 0x1e /* hash only */
2298+enum {
2299+ /* L2-L4 network traffic flow types */
2300+ TCP_V4_FLOW = 0x01, /* hash or spec (tcp_ip4_spec) */
2301+ UDP_V4_FLOW = 0x02, /* hash or spec (udp_ip4_spec) */
2302+ SCTP_V4_FLOW = 0x03, /* hash or spec (sctp_ip4_spec) */
2303+ AH_ESP_V4_FLOW = 0x04, /* hash only */
2304+ TCP_V6_FLOW = 0x05, /* hash or spec (tcp_ip6_spec; nfc only) */
2305+ UDP_V6_FLOW = 0x06, /* hash or spec (udp_ip6_spec; nfc only) */
2306+ SCTP_V6_FLOW = 0x07, /* hash or spec (sctp_ip6_spec; nfc only) */
2307+ AH_ESP_V6_FLOW = 0x08, /* hash only */
2308+ AH_V4_FLOW = 0x09, /* hash or spec (ah_ip4_spec) */
2309+ ESP_V4_FLOW = 0x0a, /* hash or spec (esp_ip4_spec) */
2310+ AH_V6_FLOW = 0x0b, /* hash or spec (ah_ip6_spec; nfc only) */
2311+ ESP_V6_FLOW = 0x0c, /* hash or spec (esp_ip6_spec; nfc only) */
2312+ IPV4_USER_FLOW = 0x0d, /* spec only (usr_ip4_spec) */
2313+ IP_USER_FLOW = IPV4_USER_FLOW,
2314+ IPV6_USER_FLOW = 0x0e, /* spec only (usr_ip6_spec; nfc only) */
2315+ IPV4_FLOW = 0x10, /* hash only */
2316+ IPV6_FLOW = 0x11, /* hash only */
2317+ ETHER_FLOW = 0x12, /* spec only (ether_spec) */
2318+
2319+ /* Used for GTP-U IPv4 and IPv6.
2320+ * The format of GTP packets only includes
2321+ * elements such as TEID and GTP version.
2322+ * It is primarily intended for data communication of the UE.
2323+ */
2324+ GTPU_V4_FLOW = 0x13, /* hash only */
2325+ GTPU_V6_FLOW = 0x14, /* hash only */
2326+
2327+ /* Use for GTP-C IPv4 and v6.
2328+ * The format of these GTP packets does not include TEID.
2329+ * Primarily expected to be used for communication
2330+ * to create sessions for UE data communication,
2331+ * commonly referred to as CSR (Create Session Request).
2332+ */
2333+ GTPC_V4_FLOW = 0x15, /* hash only */
2334+ GTPC_V6_FLOW = 0x16, /* hash only */
2335+
2336+ /* Use for GTP-C IPv4 and v6.
2337+ * Unlike GTPC_V4_FLOW, the format of these GTP packets includes TEID.
2338+ * After session creation, it becomes this packet.
2339+ * This is mainly used for requests to realize UE handover.
2340+ */
2341+ GTPC_TEID_V4_FLOW = 0x17, /* hash only */
2342+ GTPC_TEID_V6_FLOW = 0x18, /* hash only */
2343+
2344+ /* Use for GTP-U and extended headers for the PSC (PDU Session Container).
2345+ * The format of these GTP packets includes TEID and QFI.
2346+ * In 5G communication using UPF (User Plane Function),
2347+ * data communication with this extended header is performed.
2348+ */
2349+ GTPU_EH_V4_FLOW = 0x19, /* hash only */
2350+ GTPU_EH_V6_FLOW = 0x1a, /* hash only */
2351+
2352+ /* Use for GTP-U IPv4 and v6 PSC (PDU Session Container) extended headers.
2353+ * This differs from GTPU_EH_V(4|6)_FLOW in that it is distinguished by
2354+ * UL/DL included in the PSC.
2355+ * There are differences in the data included based on Downlink/Uplink,
2356+ * and can be used to distinguish packets.
2357+ * The functions described so far are useful when you want to
2358+ * handle communication from the mobile network in UPF, PGW, etc.
2359+ */
2360+ GTPU_UL_V4_FLOW = 0x1b, /* hash only */
2361+ GTPU_UL_V6_FLOW = 0x1c, /* hash only */
2362+ GTPU_DL_V4_FLOW = 0x1d, /* hash only */
2363+ GTPU_DL_V6_FLOW = 0x1e, /* hash only */
2364+
2365+ __FLOW_TYPE_COUNT,
2366+};
23632367
23642368 /* Flag to enable additional fields in struct ethtool_rx_flow_spec */
23652369 #define FLOW_EXT 0x80000000
include/uapi/linux/ethtool_netlink_generated.h+14−0
@@ -37,6 +37,18 @@ enum ethtool_tcp_data_split { · 36 unmodified lines
3737 ETHTOOL_TCP_DATA_SPLIT_ENABLED,
3838 };
3939
40+/**
41+ * enum hwtstamp_source - Source of the hardware timestamp
42+ * @HWTSTAMP_SOURCE_NETDEV: Hardware timestamp comes from a MAC or a device
43+ * which has MAC and PHY integrated
44+ * @HWTSTAMP_SOURCE_PHYLIB: Hardware timestamp comes from one PHY device of the
45+ * network topology
46+ */
47+enum hwtstamp_source {
48+ HWTSTAMP_SOURCE_NETDEV = 1,
49+ HWTSTAMP_SOURCE_PHYLIB,
50+};
51+
4052 enum {
4153 ETHTOOL_A_HEADER_UNSPEC,
4254 ETHTOOL_A_HEADER_DEV_INDEX,
@@ -401,6 +413,8 @@ enum { · 358 unmodified lines
401413 ETHTOOL_A_TSINFO_PHC_INDEX,
402414 ETHTOOL_A_TSINFO_STATS,
403415 ETHTOOL_A_TSINFO_HWTSTAMP_PROVIDER,
416+ ETHTOOL_A_TSINFO_HWTSTAMP_SOURCE,
417+ ETHTOOL_A_TSINFO_HWTSTAMP_PHYINDEX,
404418
405419 __ETHTOOL_A_TSINFO_CNT,
406420 ETHTOOL_A_TSINFO_MAX = (__ETHTOOL_A_TSINFO_CNT - 1)
include/uapi/linux/fib_rules.h+2−2
@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2−#ifndef __LINUX_FIB_RULES_H
3−#define __LINUX_FIB_RULES_H
2+#ifndef _UAPI__LINUX_FIB_RULES_H
3+#define _UAPI__LINUX_FIB_RULES_H
44
55 #include <linux/types.h>
66 #include <linux/rtnetlink.h>
include/uapi/linux/if_addr.h+2−2
@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2−#ifndef __LINUX_IF_ADDR_H
3−#define __LINUX_IF_ADDR_H
2+#ifndef _UAPI__LINUX_IF_ADDR_H
3+#define _UAPI__LINUX_IF_ADDR_H
44
55 #include <linux/types.h>
66 #include <linux/netlink.h>
include/uapi/linux/if_addrlabel.h+2−2
@@ -8,8 +8,8 @@ · 7 unmodified lines
88 * YOSHIFUJI Hideaki @ USAGI/WIDE <yoshfuji@linux-ipv6.org>
99 */
1010
11−#ifndef __LINUX_IF_ADDRLABEL_H
12−#define __LINUX_IF_ADDRLABEL_H
11+#ifndef _UAPI__LINUX_IF_ADDRLABEL_H
12+#define _UAPI__LINUX_IF_ADDRLABEL_H
1313
1414 #include <linux/types.h>
1515
include/uapi/linux/if_alg.h+3−3
@@ -11,8 +11,8 @@ · 10 unmodified lines
1111 *
1212 */
1313
14−#ifndef _LINUX_IF_ALG_H
15−#define _LINUX_IF_ALG_H
14+#ifndef _UAPI_LINUX_IF_ALG_H
15+#define _UAPI_LINUX_IF_ALG_H
1616
1717 #include <linux/types.h>
1818
@@ -58,4 +58,4 @@ struct af_alg_iv { · 39 unmodified lines
5858 #define ALG_OP_DECRYPT 0
5959 #define ALG_OP_ENCRYPT 1
6060
61−#endif /* _LINUX_IF_ALG_H */
61+#endif /* _UAPI_LINUX_IF_ALG_H */
include/uapi/linux/if_arcnet.h+3−3
@@ -14,8 +14,8 @@ · 13 unmodified lines
1414 * 2 of the License, or (at your option) any later version.
1515 */
1616
17−#ifndef _LINUX_IF_ARCNET_H
18−#define _LINUX_IF_ARCNET_H
17+#ifndef _UAPI_LINUX_IF_ARCNET_H
18+#define _UAPI_LINUX_IF_ARCNET_H
1919
2020 #include <linux/types.h>
2121 #include <linux/if_ether.h>
@@ -127,4 +127,4 @@ struct archdr { · 105 unmodified lines
127127 } soft;
128128 };
129129
130−#endif /* _LINUX_IF_ARCNET_H */
130+#endif /* _UAPI_LINUX_IF_ARCNET_H */
include/uapi/linux/if_bonding.h+3−3
@@ -41,8 +41,8 @@ · 40 unmodified lines
4141 * - added definitions for various XOR hashing policies
4242 */
4343
44−#ifndef _LINUX_IF_BONDING_H
45−#define _LINUX_IF_BONDING_H
44+#ifndef _UAPI_LINUX_IF_BONDING_H
45+#define _UAPI_LINUX_IF_BONDING_H
4646
4747 #include <linux/if.h>
4848 #include <linux/types.h>
@@ -152,4 +152,4 @@ enum { · 103 unmodified lines
152152 };
153153 #define BOND_3AD_STAT_MAX (__BOND_3AD_STAT_MAX - 1)
154154
155−#endif /* _LINUX_IF_BONDING_H */
155+#endif /* _UAPI_LINUX_IF_BONDING_H */
include/uapi/linux/if_bridge.h+6−4
@@ -699,10 +699,11 @@ struct br_mdb_entry { · 698 unmodified lines
699699 #define MDB_TEMPORARY 0
700700 #define MDB_PERMANENT 1
701701 __u8 state;
702−#define MDB_FLAGS_OFFLOAD (1 << 0)
703−#define MDB_FLAGS_FAST_LEAVE (1 << 1)
704−#define MDB_FLAGS_STAR_EXCL (1 << 2)
705−#define MDB_FLAGS_BLOCKED (1 << 3)
702+#define MDB_FLAGS_OFFLOAD (1 << 0)
703+#define MDB_FLAGS_FAST_LEAVE (1 << 1)
704+#define MDB_FLAGS_STAR_EXCL (1 << 2)
705+#define MDB_FLAGS_BLOCKED (1 << 3)
706+#define MDB_FLAGS_OFFLOAD_FAILED (1 << 4)
706707 __u8 flags;
707708 __u16 vid;
708709 struct {
@@ -830,6 +831,7 @@ enum br_boolopt_id { · 121 unmodified lines
830831 BR_BOOLOPT_NO_LL_LEARN,
831832 BR_BOOLOPT_MCAST_VLAN_SNOOPING,
832833 BR_BOOLOPT_MST_ENABLE,
834+ BR_BOOLOPT_MDB_OFFLOAD_FAIL_NOTIFICATION,
833835 BR_BOOLOPT_MAX
834836 };
835837
include/uapi/linux/if_fc.h+3−3
@@ -18,8 +18,8 @@ · 17 unmodified lines
1818 * as published by the Free Software Foundation; either version
1919 * 2 of the License, or (at your option) any later version.
2020 */
21−#ifndef _LINUX_IF_FC_H
22−#define _LINUX_IF_FC_H
21+#ifndef _UAPI_LINUX_IF_FC_H
22+#define _UAPI_LINUX_IF_FC_H
2323
2424 #include <linux/types.h>
2525
@@ -49,4 +49,4 @@ struct fcllc { · 23 unmodified lines
4949 __be16 ethertype; /* ether type field */
5050 };
5151
52−#endif /* _LINUX_IF_FC_H */
52+#endif /* _UAPI_LINUX_IF_FC_H */
include/uapi/linux/if_hippi.h+3−3
@@ -20,8 +20,8 @@ · 19 unmodified lines
2020 * 2 of the License, or (at your option) any later version.
2121 */
2222
23−#ifndef _LINUX_IF_HIPPI_H
24−#define _LINUX_IF_HIPPI_H
23+#ifndef _UAPI_LINUX_IF_HIPPI_H
24+#define _UAPI_LINUX_IF_HIPPI_H
2525
2626 #include <linux/types.h>
2727 #include <asm/byteorder.h>
@@ -151,4 +151,4 @@ struct hippi_hdr { · 123 unmodified lines
151151 struct hippi_snap_hdr snap;
152152 } __attribute__((packed));
153153
154−#endif /* _LINUX_IF_HIPPI_H */
154+#endif /* _UAPI_LINUX_IF_HIPPI_H */
include/uapi/linux/if_link.h+15−0
@@ -1986,4 +1986,19 @@ enum { · 1985 unmodified lines
19861986
19871987 #define IFLA_DSA_MAX (__IFLA_DSA_MAX - 1)
19881988
1989+/* OVPN section */
1990+
1991+enum ovpn_mode {
1992+ OVPN_MODE_P2P,
1993+ OVPN_MODE_MP,
1994+};
1995+
1996+enum {
1997+ IFLA_OVPN_UNSPEC,
1998+ IFLA_OVPN_MODE,
1999+ __IFLA_OVPN_MAX,
2000+};
2001+
2002+#define IFLA_OVPN_MAX (__IFLA_OVPN_MAX - 1)
2003+
19892004 #endif /* _UAPI_LINUX_IF_LINK_H */
include/uapi/linux/if_packet.h+2−2
@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2−#ifndef __LINUX_IF_PACKET_H
3−#define __LINUX_IF_PACKET_H
2+#ifndef _UAPI__LINUX_IF_PACKET_H
3+#define _UAPI__LINUX_IF_PACKET_H
44
55 #include <asm/byteorder.h>
66 #include <linux/types.h>
include/uapi/linux/if_plip.h+2−2
@@ -9,8 +9,8 @@ · 8 unmodified lines
99 *
1010 */
1111
12−#ifndef _LINUX_IF_PLIP_H
13−#define _LINUX_IF_PLIP_H
12+#ifndef _UAPI_LINUX_IF_PLIP_H
13+#define _UAPI_LINUX_IF_PLIP_H
1414
1515 #include <linux/sockios.h>
1616
include/uapi/linux/if_slip.h+2−2
@@ -6,8 +6,8 @@ · 5 unmodified lines
66 * KISS TNC driver.
77 */
88
9−#ifndef __LINUX_SLIP_H
10−#define __LINUX_SLIP_H
9+#ifndef _UAPI__LINUX_SLIP_H
10+#define _UAPI__LINUX_SLIP_H
1111
1212 #define SL_MODE_SLIP 0
1313 #define SL_MODE_CSLIP 1
include/uapi/linux/if_x25.h+3−3
@@ -13,8 +13,8 @@ · 12 unmodified lines
1313 * GNU General Public License for more details.
1414 */
1515
16−#ifndef _IF_X25_H
17−#define _IF_X25_H
16+#ifndef _UAPI_IF_X25_H
17+#define _UAPI_IF_X25_H
1818
1919 #include <linux/types.h>
2020
@@ -24,4 +24,4 @@ · 3 unmodified lines
2424 #define X25_IFACE_DISCONNECT 0x02
2525 #define X25_IFACE_PARAMS 0x03
2626
27−#endif /* _IF_X25_H */
27+#endif /* _UAPI_IF_X25_H */
include/uapi/linux/if_xdp.h+3−3
@@ -7,8 +7,8 @@ · 6 unmodified lines
77 * Magnus Karlsson <magnus.karlsson@intel.com>
88 */
99
10−#ifndef _LINUX_IF_XDP_H
11−#define _LINUX_IF_XDP_H
10+#ifndef _UAPI_LINUX_IF_XDP_H
11+#define _UAPI_LINUX_IF_XDP_H
1212
1313 #include <linux/types.h>
1414
@@ -180,4 +180,4 @@ struct xdp_desc { · 165 unmodified lines
180180 /* TX packet carries valid metadata. */
181181 #define XDP_TX_METADATA (1 << 1)
182182
183−#endif /* _LINUX_IF_XDP_H */
183+#endif /* _UAPI_LINUX_IF_XDP_H */
include/uapi/linux/ip6_tunnel.h+2−2
@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2−#ifndef _IP6_TUNNEL_H
3−#define _IP6_TUNNEL_H
2+#ifndef _UAPI_IP6_TUNNEL_H
3+#define _UAPI_IP6_TUNNEL_H
44
55 #include <linux/types.h>
66 #include <linux/if.h> /* For IFNAMSIZ. */
include/uapi/linux/neighbour.h+2−2
@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2−#ifndef __LINUX_NEIGHBOUR_H
3−#define __LINUX_NEIGHBOUR_H
2+#ifndef _UAPI__LINUX_NEIGHBOUR_H
3+#define _UAPI__LINUX_NEIGHBOUR_H
44
55 #include <linux/types.h>
66 #include <linux/netlink.h>
include/uapi/linux/net_dropmon.h+2−2
@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2−#ifndef __NET_DROPMON_H
3−#define __NET_DROPMON_H
2+#ifndef _UAPI__NET_DROPMON_H
3+#define _UAPI__NET_DROPMON_H
44
55 #include <linux/types.h>
66 #include <linux/netlink.h>
include/uapi/linux/net_tstamp.h+3−3
@@ -7,8 +7,8 @@ · 6 unmodified lines
77 *
88 */
99
10−#ifndef _NET_TIMESTAMPING_H
11−#define _NET_TIMESTAMPING_H
10+#ifndef _UAPI_NET_TIMESTAMPING_H
11+#define _UAPI_NET_TIMESTAMPING_H
1212
1313 #include <linux/types.h>
1414 #include <linux/socket.h> /* for SO_TIMESTAMPING */
@@ -216,4 +216,4 @@ struct sock_txtime { · 201 unmodified lines
216216 __u32 flags; /* as defined by enum txtime_flags */
217217 };
218218
219−#endif /* _NET_TIMESTAMPING_H */
219+#endif /* _UAPI_NET_TIMESTAMPING_H */
include/uapi/linux/netdev.h+1−0
@@ -219,6 +219,7 @@ enum { · 218 unmodified lines
219219 NETDEV_CMD_QSTATS_GET,
220220 NETDEV_CMD_BIND_RX,
221221 NETDEV_CMD_NAPI_SET,
222+ NETDEV_CMD_BIND_TX,
222223
223224 __NETDEV_CMD_MAX,
224225 NETDEV_CMD_MAX = (__NETDEV_CMD_MAX - 1)
include/uapi/linux/netfilter/nf_tables.h+22−0
@@ -142,6 +142,8 @@ enum nf_tables_msg_types { · 141 unmodified lines
142142 NFT_MSG_DESTROYOBJ,
143143 NFT_MSG_DESTROYFLOWTABLE,
144144 NFT_MSG_GETSETELEM_RESET,
145+ NFT_MSG_NEWDEV,
146+ NFT_MSG_DELDEV,
145147 NFT_MSG_MAX,
146148 };
147149
@@ -394,6 +396,8 @@ enum nft_set_field_attributes { · 246 unmodified lines
394396 * @NFTA_SET_HANDLE: set handle (NLA_U64)
395397 * @NFTA_SET_EXPR: set expression (NLA_NESTED: nft_expr_attributes)
396398 * @NFTA_SET_EXPRESSIONS: list of expressions (NLA_NESTED: nft_list_attributes)
399+ * @NFTA_SET_TYPE: set backend type (NLA_STRING)
400+ * @NFTA_SET_COUNT: number of set elements (NLA_U32)
397401 */
398402 enum nft_set_attributes {
399403 NFTA_SET_UNSPEC,
@@ -415,6 +419,8 @@ enum nft_set_attributes { · 15 unmodified lines
415419 NFTA_SET_HANDLE,
416420 NFTA_SET_EXPR,
417421 NFTA_SET_EXPRESSIONS,
422+ NFTA_SET_TYPE,
423+ NFTA_SET_COUNT,
418424 __NFTA_SET_MAX
419425 };
420426 #define NFTA_SET_MAX (__NFTA_SET_MAX - 1)
@@ -1780,10 +1786,18 @@ enum nft_synproxy_attributes { · 1359 unmodified lines
17801786 * enum nft_device_attributes - nf_tables device netlink attributes
17811787 *
17821788 * @NFTA_DEVICE_NAME: name of this device (NLA_STRING)
1789+ * @NFTA_DEVICE_TABLE: table containing the flowtable or chain hooking into the device (NLA_STRING)
1790+ * @NFTA_DEVICE_FLOWTABLE: flowtable hooking into the device (NLA_STRING)
1791+ * @NFTA_DEVICE_CHAIN: chain hooking into the device (NLA_STRING)
1792+ * @NFTA_DEVICE_SPEC: hook spec matching the device (NLA_STRING)
17831793 */
17841794 enum nft_devices_attributes {
17851795 NFTA_DEVICE_UNSPEC,
17861796 NFTA_DEVICE_NAME,
1797+ NFTA_DEVICE_TABLE,
1798+ NFTA_DEVICE_FLOWTABLE,
1799+ NFTA_DEVICE_CHAIN,
1800+ NFTA_DEVICE_SPEC,
17871801 __NFTA_DEVICE_MAX
17881802 };
17891803 #define NFTA_DEVICE_MAX (__NFTA_DEVICE_MAX - 1)
@@ -1837,6 +1851,10 @@ enum nft_xfrm_keys { · 47 unmodified lines
18371851 * @NFTA_TRACE_MARK: nfmark (NLA_U32)
18381852 * @NFTA_TRACE_NFPROTO: nf protocol processed (NLA_U32)
18391853 * @NFTA_TRACE_POLICY: policy that decided fate of packet (NLA_U32)
1854+ * @NFTA_TRACE_CT_ID: conntrack id (NLA_U32)
1855+ * @NFTA_TRACE_CT_DIRECTION: packets direction (NLA_U8)
1856+ * @NFTA_TRACE_CT_STATUS: conntrack status (NLA_U32)
1857+ * @NFTA_TRACE_CT_STATE: packet state (new, established, ...) (NLA_U32)
18401858 */
18411859 enum nft_trace_attributes {
18421860 NFTA_TRACE_UNSPEC,
@@ -1857,6 +1875,10 @@ enum nft_trace_attributes { · 14 unmodified lines
18571875 NFTA_TRACE_NFPROTO,
18581876 NFTA_TRACE_POLICY,
18591877 NFTA_TRACE_PAD,
1878+ NFTA_TRACE_CT_ID,
1879+ NFTA_TRACE_CT_DIRECTION,
1880+ NFTA_TRACE_CT_STATUS,
1881+ NFTA_TRACE_CT_STATE,
18601882 __NFTA_TRACE_MAX
18611883 };
18621884 #define NFTA_TRACE_MAX (__NFTA_TRACE_MAX - 1)
include/uapi/linux/netfilter/nfnetlink.h+2−0
@@ -25,6 +25,8 @@ enum nfnetlink_groups { · 24 unmodified lines
2525 #define NFNLGRP_ACCT_QUOTA NFNLGRP_ACCT_QUOTA
2626 NFNLGRP_NFTRACE,
2727 #define NFNLGRP_NFTRACE NFNLGRP_NFTRACE
28+ NFNLGRP_NFT_DEV,
29+#define NFNLGRP_NFT_DEV NFNLGRP_NFT_DEV
2830 __NFNLGRP_MAX,
2931 };
3032 #define NFNLGRP_MAX (__NFNLGRP_MAX - 1)
include/uapi/linux/netlink_diag.h+2−2
@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2−#ifndef __NETLINK_DIAG_H__
3−#define __NETLINK_DIAG_H__
2+#ifndef _UAPI__NETLINK_DIAG_H__
3+#define _UAPI__NETLINK_DIAG_H__
44
55 #include <linux/types.h>
66
include/uapi/linux/nl80211.h+6−0
@@ -8036,6 +8036,11 @@ enum nl80211_sar_specs_attrs { · 8035 unmodified lines
80368036 * Setting this flag is permitted only if the driver advertises EMA support
80378037 * by setting wiphy->ema_max_profile_periodicity to non-zero.
80388038 *
8039+ * @NL80211_MBSSID_CONFIG_ATTR_TX_LINK_ID: Link ID of the transmitted profile.
8040+ * This parameter is mandatory when NL80211_ATTR_MBSSID_CONFIG attributes
8041+ * are sent for a non-transmitted profile and if the transmitted profile
8042+ * is part of an MLD. For all other cases this parameter is unnecessary.
8043+ *
80398044 * @__NL80211_MBSSID_CONFIG_ATTR_LAST: Internal
80408045 * @NL80211_MBSSID_CONFIG_ATTR_MAX: highest attribute
80418046 */
@@ -8047,6 +8052,7 @@ enum nl80211_mbssid_config_attributes { · 5 unmodified lines
80478052 NL80211_MBSSID_CONFIG_ATTR_INDEX,
80488053 NL80211_MBSSID_CONFIG_ATTR_TX_IFINDEX,
80498054 NL80211_MBSSID_CONFIG_ATTR_EMA,
8055+ NL80211_MBSSID_CONFIG_ATTR_TX_LINK_ID,
80508056
80518057 /* keep last */
80528058 __NL80211_MBSSID_CONFIG_ATTR_LAST,
include/uapi/linux/ovpn.h+109−0
@@ -0,0 +1,109 @@
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/ovpn.yaml */
4+/* YNL-GEN uapi header */
5+
6+#ifndef _UAPI_LINUX_OVPN_H
7+#define _UAPI_LINUX_OVPN_H
8+
9+#define OVPN_FAMILY_NAME "ovpn"
10+#define OVPN_FAMILY_VERSION 1
11+
12+#define OVPN_NONCE_TAIL_SIZE 8
13+
14+enum ovpn_cipher_alg {
15+ OVPN_CIPHER_ALG_NONE,
16+ OVPN_CIPHER_ALG_AES_GCM,
17+ OVPN_CIPHER_ALG_CHACHA20_POLY1305,
18+};
19+
20+enum ovpn_del_peer_reason {
21+ OVPN_DEL_PEER_REASON_TEARDOWN,
22+ OVPN_DEL_PEER_REASON_USERSPACE,
23+ OVPN_DEL_PEER_REASON_EXPIRED,
24+ OVPN_DEL_PEER_REASON_TRANSPORT_ERROR,
25+ OVPN_DEL_PEER_REASON_TRANSPORT_DISCONNECT,
26+};
27+
28+enum ovpn_key_slot {
29+ OVPN_KEY_SLOT_PRIMARY,
30+ OVPN_KEY_SLOT_SECONDARY,
31+};
32+
33+enum {
34+ OVPN_A_PEER_ID = 1,
35+ OVPN_A_PEER_REMOTE_IPV4,
36+ OVPN_A_PEER_REMOTE_IPV6,
37+ OVPN_A_PEER_REMOTE_IPV6_SCOPE_ID,
38+ OVPN_A_PEER_REMOTE_PORT,
39+ OVPN_A_PEER_SOCKET,
40+ OVPN_A_PEER_SOCKET_NETNSID,
41+ OVPN_A_PEER_VPN_IPV4,
42+ OVPN_A_PEER_VPN_IPV6,
43+ OVPN_A_PEER_LOCAL_IPV4,
44+ OVPN_A_PEER_LOCAL_IPV6,
45+ OVPN_A_PEER_LOCAL_PORT,
46+ OVPN_A_PEER_KEEPALIVE_INTERVAL,
47+ OVPN_A_PEER_KEEPALIVE_TIMEOUT,
48+ OVPN_A_PEER_DEL_REASON,
49+ OVPN_A_PEER_VPN_RX_BYTES,
50+ OVPN_A_PEER_VPN_TX_BYTES,
51+ OVPN_A_PEER_VPN_RX_PACKETS,
52+ OVPN_A_PEER_VPN_TX_PACKETS,
53+ OVPN_A_PEER_LINK_RX_BYTES,
54+ OVPN_A_PEER_LINK_TX_BYTES,
55+ OVPN_A_PEER_LINK_RX_PACKETS,
56+ OVPN_A_PEER_LINK_TX_PACKETS,
57+
58+ __OVPN_A_PEER_MAX,
59+ OVPN_A_PEER_MAX = (__OVPN_A_PEER_MAX - 1)
60+};
61+
62+enum {
63+ OVPN_A_KEYCONF_PEER_ID = 1,
64+ OVPN_A_KEYCONF_SLOT,
65+ OVPN_A_KEYCONF_KEY_ID,
66+ OVPN_A_KEYCONF_CIPHER_ALG,
67+ OVPN_A_KEYCONF_ENCRYPT_DIR,
68+ OVPN_A_KEYCONF_DECRYPT_DIR,
69+
70+ __OVPN_A_KEYCONF_MAX,
71+ OVPN_A_KEYCONF_MAX = (__OVPN_A_KEYCONF_MAX - 1)
72+};
73+
74+enum {
75+ OVPN_A_KEYDIR_CIPHER_KEY = 1,
76+ OVPN_A_KEYDIR_NONCE_TAIL,
77+
78+ __OVPN_A_KEYDIR_MAX,
79+ OVPN_A_KEYDIR_MAX = (__OVPN_A_KEYDIR_MAX - 1)
80+};
81+
82+enum {
83+ OVPN_A_IFINDEX = 1,
84+ OVPN_A_PEER,
85+ OVPN_A_KEYCONF,
86+
87+ __OVPN_A_MAX,
88+ OVPN_A_MAX = (__OVPN_A_MAX - 1)
89+};
90+
91+enum {
92+ OVPN_CMD_PEER_NEW = 1,
93+ OVPN_CMD_PEER_SET,
94+ OVPN_CMD_PEER_GET,
95+ OVPN_CMD_PEER_DEL,
96+ OVPN_CMD_PEER_DEL_NTF,
97+ OVPN_CMD_KEY_NEW,
98+ OVPN_CMD_KEY_GET,
99+ OVPN_CMD_KEY_SWAP,
100+ OVPN_CMD_KEY_SWAP_NTF,
101+ OVPN_CMD_KEY_DEL,
102+
103+ __OVPN_CMD_MAX,
104+ OVPN_CMD_MAX = (__OVPN_CMD_MAX - 1)
105+};
106+
107+#define OVPN_MCGRP_PEERS "peers"
108+
109+#endif /* _UAPI_LINUX_OVPN_H */
include/uapi/linux/pkt_cls.h+3−2
@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2−#ifndef __LINUX_PKT_CLS_H
3−#define __LINUX_PKT_CLS_H
2+#ifndef _UAPI__LINUX_PKT_CLS_H
3+#define _UAPI__LINUX_PKT_CLS_H
44
55 #include <linux/types.h>
66 #include <linux/pkt_sched.h>
@@ -697,6 +697,7 @@ enum { · 690 unmodified lines
697697 };
698698
699699 #define TCA_FLOWER_KEY_CFM_OPT_MAX (__TCA_FLOWER_KEY_CFM_OPT_MAX - 1)
700+#define TCA_FLOWER_KEY_CFM_MAX (__TCA_FLOWER_KEY_CFM_OPT_MAX - 1)
700701
701702 #define TCA_FLOWER_MASK_FLAGS_RANGE (1 << 0) /* Range-based match */
702703
include/uapi/linux/pkt_sched.h+3−2
@@ -1,6 +1,6 @@
11 /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2−#ifndef __LINUX_PKT_SCHED_H
3−#define __LINUX_PKT_SCHED_H
2+#ifndef _UAPI__LINUX_PKT_SCHED_H
3+#define _UAPI__LINUX_PKT_SCHED_H
44
55 #include <linux/const.h>
66 #include <linux/types.h>
@@ -1182,6 +1182,7 @@ enum { · 1175 unmodified lines
11821182 TCA_TAPRIO_ATTR_SCHED_SINGLE_ENTRY, /* single entry */
11831183 TCA_TAPRIO_ATTR_SCHED_CLOCKID, /* s32 */
11841184 TCA_TAPRIO_PAD,
1185+ TCA_TAPRIO_ATTR_PAD = TCA_TAPRIO_PAD,
11851186 TCA_TAPRIO_ATTR_ADMIN_SCHED, /* The admin sched, only used in dump */
11861187 TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME, /* s64 */
11871188 TCA_TAPRIO_ATTR_SCHED_CYCLE_TIME_EXTENSION, /* s64 */
include/uapi/linux/rxrpc.h+65−12
@@ -36,26 +36,33 @@ struct sockaddr_rxrpc { · 35 unmodified lines
3636 #define RXRPC_MIN_SECURITY_LEVEL 4 /* minimum security level */
3737 #define RXRPC_UPGRADEABLE_SERVICE 5 /* Upgrade service[0] -> service[1] */
3838 #define RXRPC_SUPPORTED_CMSG 6 /* Get highest supported control message type */
39+#define RXRPC_MANAGE_RESPONSE 7 /* [clnt] Want to manage RESPONSE packets */
3940
4041 /*
4142 * RxRPC control messages
4243 * - If neither abort or accept are specified, the message is a data message.
4344 * - terminal messages mean that a user call ID tag can be recycled
45+ * - C/S/- indicate whether these are applicable to client, server or both
4446 * - s/r/- indicate whether these are applicable to sendmsg() and/or recvmsg()
4547 */
4648 enum rxrpc_cmsg_type {
47− RXRPC_USER_CALL_ID = 1, /* sr: user call ID specifier */
48− RXRPC_ABORT = 2, /* sr: abort request / notification [terminal] */
49− RXRPC_ACK = 3, /* -r: [Service] RPC op final ACK received [terminal] */
50− RXRPC_NET_ERROR = 5, /* -r: network error received [terminal] */
51− RXRPC_BUSY = 6, /* -r: server busy received [terminal] */
52− RXRPC_LOCAL_ERROR = 7, /* -r: local error generated [terminal] */
53− RXRPC_NEW_CALL = 8, /* -r: [Service] new incoming call notification */
54− RXRPC_EXCLUSIVE_CALL = 10, /* s-: Call should be on exclusive connection */
55− RXRPC_UPGRADE_SERVICE = 11, /* s-: Request service upgrade for client call */
56− RXRPC_TX_LENGTH = 12, /* s-: Total length of Tx data */
57− RXRPC_SET_CALL_TIMEOUT = 13, /* s-: Set one or more call timeouts */
58− RXRPC_CHARGE_ACCEPT = 14, /* s-: Charge the accept pool with a user call ID */
49+ RXRPC_USER_CALL_ID = 1, /* -sr: User call ID specifier */
50+ RXRPC_ABORT = 2, /* -sr: Abort request / notification [terminal] */
51+ RXRPC_ACK = 3, /* S-r: RPC op final ACK received [terminal] */
52+ RXRPC_NET_ERROR = 5, /* --r: Network error received [terminal] */
53+ RXRPC_BUSY = 6, /* C-r: Server busy received [terminal] */
54+ RXRPC_LOCAL_ERROR = 7, /* --r: Local error generated [terminal] */
55+ RXRPC_NEW_CALL = 8, /* S-r: New incoming call notification */
56+ RXRPC_EXCLUSIVE_CALL = 10, /* Cs-: Call should be on exclusive connection */
57+ RXRPC_UPGRADE_SERVICE = 11, /* Cs-: Request service upgrade for client call */
58+ RXRPC_TX_LENGTH = 12, /* -s-: Total length of Tx data */
59+ RXRPC_SET_CALL_TIMEOUT = 13, /* -s-: Set one or more call timeouts */
60+ RXRPC_CHARGE_ACCEPT = 14, /* Ss-: Charge the accept pool with a user call ID */
61+ RXRPC_OOB_ID = 15, /* -sr: OOB message ID */
62+ RXRPC_CHALLENGED = 16, /* C-r: Info on a received CHALLENGE */
63+ RXRPC_RESPOND = 17, /* Cs-: Respond to a challenge */
64+ RXRPC_RESPONDED = 18, /* S-r: Data received in RESPONSE */
65+ RXRPC_RESP_RXGK_APPDATA = 19, /* Cs-: RESPONSE: RxGK app data to include */
5966 RXRPC__SUPPORTED
6067 };
6168
@@ -73,6 +80,7 @@ enum rxrpc_cmsg_type { · 11 unmodified lines
7380 #define RXRPC_SECURITY_RXKAD 2 /* kaserver or kerberos 4 */
7481 #define RXRPC_SECURITY_RXGK 4 /* gssapi-based */
7582 #define RXRPC_SECURITY_RXK5 5 /* kerberos 5 */
83+#define RXRPC_SECURITY_YFS_RXGK 6 /* YFS gssapi-based */
7684
7785 /*
7886 * RxRPC-level abort codes
@@ -118,4 +126,49 @@ enum rxrpc_cmsg_type { · 39 unmodified lines
118126 #define RXKADDATALEN 19270411 /* user data too long */
119127 #define RXKADILLEGALLEVEL 19270412 /* caller not authorised to use encrypted conns */
120128
129+/*
130+ * RxGK GSSAPI security abort codes.
131+ */
132+#if 0 /* Original standard abort codes (used by OpenAFS) */
133+#define RXGK_INCONSISTENCY 1233242880 /* Security module structure inconsistent */
134+#define RXGK_PACKETSHORT 1233242881 /* Packet too short for security challenge */
135+#define RXGK_BADCHALLENGE 1233242882 /* Invalid security challenge */
136+#define RXGK_BADETYPE 1233242883 /* Invalid or impermissible encryption type */
137+#define RXGK_BADLEVEL 1233242884 /* Invalid or impermissible security level */
138+#define RXGK_BADKEYNO 1233242885 /* Key version number not found */
139+#define RXGK_EXPIRED 1233242886 /* Token has expired */
140+#define RXGK_NOTAUTH 1233242887 /* Caller not authorized */
141+#define RXGK_BAD_TOKEN 1233242888 /* Security object was passed a bad token */
142+#define RXGK_SEALED_INCON 1233242889 /* Sealed data inconsistent */
143+#define RXGK_DATA_LEN 1233242890 /* User data too long */
144+#define RXGK_BAD_QOP 1233242891 /* Inadequate quality of protection available */
145+#else /* Revised standard abort codes (used by YFS) */
146+#define RXGK_INCONSISTENCY 1233242880 /* Security module structure inconsistent */
147+#define RXGK_PACKETSHORT 1233242881 /* Packet too short for security challenge */
148+#define RXGK_BADCHALLENGE 1233242882 /* Security challenge/response failed */
149+#define RXGK_SEALEDINCON 1233242883 /* Sealed data is inconsistent */
150+#define RXGK_NOTAUTH 1233242884 /* Caller not authorised */
151+#define RXGK_EXPIRED 1233242885 /* Authentication expired */
152+#define RXGK_BADLEVEL 1233242886 /* Unsupported or not permitted security level */
153+#define RXGK_BADKEYNO 1233242887 /* Bad transport key number */
154+#define RXGK_NOTRXGK 1233242888 /* Security layer is not rxgk */
155+#define RXGK_UNSUPPORTED 1233242889 /* Endpoint does not support rxgk */
156+#define RXGK_GSSERROR 1233242890 /* GSSAPI mechanism error */
157+#endif
158+
159+/*
160+ * Challenge information in the RXRPC_CHALLENGED control message.
161+ */
162+struct rxrpc_challenge {
163+ __u16 service_id; /* The service ID of the connection (may be upgraded) */
164+ __u8 security_index; /* The security index of the connection */
165+ __u8 pad; /* Round out to a multiple of 4 bytes. */
166+ /* ... The security class gets to append extra information ... */
167+};
168+
169+struct rxgk_challenge {
170+ struct rxrpc_challenge base;
171+ __u32 enctype; /* Krb5 encoding type */
172+};
173+
121174 #endif /* _UAPI_LINUX_RXRPC_H */
include/uapi/linux/snmp.h+1−0
@@ -188,6 +188,7 @@ enum · 187 unmodified lines
188188 LINUX_MIB_PAWSESTABREJECTED, /* PAWSEstabRejected */
189189 LINUX_MIB_TSECRREJECTED, /* TSEcrRejected */
190190 LINUX_MIB_PAWS_OLD_ACK, /* PAWSOldAck */
191+ LINUX_MIB_PAWS_TW_REJECTED, /* PAWSTimewait */
191192 LINUX_MIB_DELAYEDACKS, /* DelayedACKs */
192193 LINUX_MIB_DELAYEDACKLOCKED, /* DelayedACKLocked */
193194 LINUX_MIB_DELAYEDACKLOST, /* DelayedACKLost */
include/uapi/linux/tcp.h+1−0
@@ -184,6 +184,7 @@ enum tcp_fastopen_client_fail { · 183 unmodified lines
184184 #define TCPI_OPT_ECN_SEEN 16 /* we received at least one packet with ECT */
185185 #define TCPI_OPT_SYN_DATA 32 /* SYN-ACK acked data in SYN sent or rcvd */
186186 #define TCPI_OPT_USEC_TS 64 /* usec timestamps */
187+#define TCPI_OPT_TFO_CHILD 128 /* child from a Fast Open option on SYN */
187188
188189 /*
189190 * Sender's congestion state indicating normal or abnormal situations
include/uapi/linux/udp.h+1−0
@@ -43,5 +43,6 @@ struct udphdr { · 42 unmodified lines
4343 #define UDP_ENCAP_GTP1U 5 /* 3GPP TS 29.060 */
4444 #define UDP_ENCAP_RXRPC 6
4545 #define TCP_ENCAP_ESPINTCP 7 /* Yikes, this is really xfrm encap types. */
46+#define UDP_ENCAP_OVPNINUDP 8 /* OpenVPN traffic */
4647
4748 #endif /* _UAPI_LINUX_UDP_H */
include/uapi/linux/wireguard.h+9−0
@@ -101,6 +101,10 @@ · 100 unmodified lines
101101 * WGALLOWEDIP_A_FAMILY: NLA_U16
102102 * WGALLOWEDIP_A_IPADDR: struct in_addr or struct in6_addr
103103 * WGALLOWEDIP_A_CIDR_MASK: NLA_U8
104+ * WGALLOWEDIP_A_FLAGS: NLA_U32, WGALLOWEDIP_F_REMOVE_ME if
105+ * the specified IP should be removed;
106+ * otherwise, this IP will be added if
107+ * it is not already present.
104108 * 0: NLA_NESTED
105109 * ...
106110 * 0: NLA_NESTED
@@ -184,11 +188,16 @@ enum wgpeer_attribute { · 77 unmodified lines
184188 };
185189 #define WGPEER_A_MAX (__WGPEER_A_LAST - 1)
186190
191+enum wgallowedip_flag {
192+ WGALLOWEDIP_F_REMOVE_ME = 1U << 0,
193+ __WGALLOWEDIP_F_ALL = WGALLOWEDIP_F_REMOVE_ME
194+};
187195 enum wgallowedip_attribute {
188196 WGALLOWEDIP_A_UNSPEC,
189197 WGALLOWEDIP_A_FAMILY,
190198 WGALLOWEDIP_A_IPADDR,
191199 WGALLOWEDIP_A_CIDR_MASK,
200+ WGALLOWEDIP_A_FLAGS,
192201 __WGALLOWEDIP_A_LAST
193202 };
194203 #define WGALLOWEDIP_A_MAX (__WGALLOWEDIP_A_LAST - 1)