History

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

Pull networking updates from Paolo Abeni: "Core: - Allow live renaming when an interface is up - Add retpoline wrappers for tc, improving considerably the performances of complex queue discipline configurations - Add inet drop monitor support - A few GRO performance improvements - Add infrastructure for atomic dev stats, addressing long standing data races - De-duplicate common code between OVS and conntrack offloading infrastructure - A bunch of UBSAN_BOUNDS/FORTIFY_SOURCE improvements - Netfilter: introduce packet parser for tunneled packets - Replace IPVS timer-based estimators with kthreads to scale up the workload with the number of available CPUs - Add the helper support for connection-tracking OVS offload BPF: - Support for user defined BPF objects: the use case is to allocate own objects, build own object hierarchies and use the building blocks to build own data structures flexibly, for example, linked lists in BPF - Make cgroup local storage available to non-cgroup attached BPF programs - Avoid unnecessary deadlock detection and failures wrt BPF task storage helpers - A relevant bunch of BPF verifier fixes and improvements - Veristat tool improvements to support custom filtering, sorting, and replay of results - Add LLVM disassembler as default library for dumping JITed code - Lots of new BPF documentation for various BPF maps - Add bpf_rcu_read_{,un}lock() support for sleepable programs - Add RCU grace period chaining to BPF to wait for the completion of access from both sleepable and non-sleepable BPF programs - Add support storing struct task_struct objects as kptrs in maps - Improve helper UAPI by explicitly defining BPF_FUNC_xxx integer values - Add libbpf *_opts API-variants for bpf_*_get_fd_by_id() functions Protocols: - TCP: implement Protective Load Balancing across switch links - TCP: allow dynamically disabling TCP-MD5 static key, reverting back to fast[er]-path - UDP: Introduce optional per-netns hash lookup table - IPv6: simplify and cleanup sockets disposal - Netlink: support different type policies for each generic netlink operation - MPTCP: add MSG_FASTOPEN and FastOpen listener side support - MPTCP: add netlink notification support for listener sockets events - SCTP: add VRF support, allowing sctp sockets binding to VRF devices - Add bridging MAC Authentication Bypass (MAB) support - Extensions for Ethernet VPN bridging implementation to better support multicast scenarios - More work for Wi-Fi 7 support, comprising conversion of all the existing drivers to internal TX queue usage - IPSec: introduce a new offload type (packet offload) allowing complete header processing and crypto offloading - IPSec: extended ack support for more descriptive XFRM error reporting - RXRPC: increase SACK table size and move processing into a per-local endpoint kernel thread, reducing considerably the required locking - IEEE 802154: synchronous send frame and extended filtering support, initial support for scanning available 15.4 networks - Tun: bump the link speed from 10Mbps to 10Gbps - Tun/VirtioNet: implement UDP segmentation offload support Driver API: - PHY/SFP: improve power level switching between standard level 1 and the higher power levels - New API for netdev <-> devlink_port linkage - PTP: convert existing drivers to new frequency adjustment implementation - DSA: add support for rx offloading - Autoload DSA tagging driver when dynamically changing protocol - Add new PCP and APPTRUST attributes to Data Center Bridging - Add configuration support for 800Gbps link speed - Add devlink port function attribute to enable/disable RoCE and migratable - Extend devlink-rate to support strict prioriry and weighted fair queuing - Add devlink support to directly reading from region memory - New device tree helper to fetch MAC address from nvmem - New big TCP helper to simplify temporary header stripping New hardware / drivers: - Ethernet: - Marvel Octeon CNF95N and CN10KB Ethernet Switches - Marvel Prestera AC5X Ethernet Switch - WangXun 10 Gigabit NIC - Motorcomm yt8521 Gigabit Ethernet - Microchip ksz9563 Gigabit Ethernet Switch - Microsoft Azure Network Adapter - Linux Automation 10Base-T1L adapter - PHY: - Aquantia AQR112 and AQR412 - Motorcomm YT8531S - PTP: - Orolia ART-CARD - WiFi: - MediaTek Wi-Fi 7 (802.11be) devices - RealTek rtw8821cu, rtw8822bu, rtw8822cu and rtw8723du USB devices - Bluetooth: - Broadcom BCM4377/4378/4387 Bluetooth chipsets - Realtek RTL8852BE and RTL8723DS - Cypress.CYW4373A0 WiFi + Bluetooth combo device Drivers: - CAN: - gs_usb: bus error reporting support - kvaser_usb: listen only and bus error reporting support - Ethernet NICs: - Intel (100G): - extend action skbedit to RX queue mapping - implement devlink-rate support - support direct read from memory - nVidia/Mellanox (mlx5): - SW steering improvements, increasing rules update rate - Support for enhanced events compression - extend H/W offload packet manipulation capabilities - implement IPSec packet offload mode - nVidia/Mellanox (mlx4): - better big TCP support - Netronome Ethernet NICs (nfp): - IPsec offload support - add support for multicast filter - Broadcom: - RSS and PTP support improvements - AMD/SolarFlare: - netlink extened ack improvements - add basic flower matches to offload, and related stats - Virtual NICs: - ibmvnic: introduce affinity hint support - small / embedded: - FreeScale fec: add initial XDP support - Marvel mv643xx_eth: support MII/GMII/RGMII modes for Kirkwood - TI am65-cpsw: add suspend/resume support - Mediatek MT7986: add RX wireless wthernet dispatch support - Realtek 8169: enable GRO software interrupt coalescing per default - Ethernet high-speed switches: - Microchip (sparx5): - add support for Sparx5 TC/flower H/W offload via VCAP - Mellanox mlxsw: - add 802.1X and MAC Authentication Bypass offload support - add ip6gre support - Embedded Ethernet switches: - Mediatek (mtk_eth_soc): - improve PCS implementation, add DSA untag support - enable flow offload support - Renesas: - add rswitch R-Car Gen4 gPTP support - Microchip (lan966x): - add full XDP support - add TC H/W offload via VCAP - enable PTP on bridge interfaces - Microchip (ksz8): - add MTU support for KSZ8 series - Qualcomm 802.11ax WiFi (ath11k): - support configuring channel dwell time during scan - MediaTek WiFi (mt76): - enable Wireless Ethernet Dispatch (WED) offload support - add ack signal support - enable coredump support - remain_on_channel support - Intel WiFi (iwlwifi): - enable Wi-Fi 7 Extremely High Throughput (EHT) PHY capabilities - 320 MHz channels support - RealTek WiFi (rtw89): - new dynamic header firmware format support - wake-over-WLAN support" * tag 'net-next-6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net-next: (2002 commits) ipvs: fix type warning in do_div() on 32 bit net: lan966x: Remove a useless test in lan966x_ptp_add_trap() net: ipa: add IPA v4.7 support dt-bindings: net: qcom,ipa: Add SM6350 compatible bnxt: Use generic HBH removal helper in tx path IPv6/GRO: generic helper to remove temporary HBH/jumbo header in driver selftests: forwarding: Add bridge MDB test selftests: forwarding: Rename bridge_mdb test bridge: mcast: Support replacement of MDB port group entries bridge: mcast: Allow user space to specify MDB entry routing protocol bridge: mcast: Allow user space to add (*, G) with a source list and filter mode bridge: mcast: Add support for (*, G) with a source list and filter mode bridge: mcast: Avoid arming group timer when (S, G) corresponds to a source bridge: mcast: Add a flag for user installed source entries bridge: mcast: Expose __br_multicast_del_group_src() bridge: mcast: Expose br_multicast_new_group_src() bridge: mcast: Add a centralized error path bridge: mcast: Place netlink policy before validation functions bridge: mcast: Split (*, G) and (S, G) addition into different functions bridge: mcast: Do not derive entry type from its filter mode ...

Linus Torvalds committed 3 years ago

Commit 7e68dd72 parents 1ca06f1 7c4a6302013 files · +165982 −34401Browse files

Showing the changes to include/uapi (24 of 2013 files). Show all

Unified · Split

24 files
  1. include/uapi/linux/bpf.h +296 −228
  2. include/uapi/linux/dcbnl.h +8 −0
  3. include/uapi/linux/devlink.h +18 −0
  4. include/uapi/linux/ethtool.h +12 −6
  5. include/uapi/linux/ethtool_netlink.h +15 −0
  6. include/uapi/linux/if_bridge.h +21 −0
  7. include/uapi/linux/if_link.h +3 −0
  8. include/uapi/linux/if_packet.h +1 −0
  9. include/uapi/linux/if_tun.h +2 −0
  10. include/uapi/linux/mptcp.h +9 −0
  11. include/uapi/linux/neighbour.h +7 −1
  12. include/uapi/linux/net_tstamp.h +2 −1
  13. include/uapi/linux/netfilter/ipset/ip_set.h +2 −0
  14. include/uapi/linux/netfilter/nf_conntrack_sctp.h +1 −0
  15. include/uapi/linux/netfilter/nf_tables.h +29 −0
  16. include/uapi/linux/netfilter/nfnetlink_cttimeout.h +1 −0
  17. include/uapi/linux/nl80211.h +3 −0
  18. include/uapi/linux/openvswitch.h +14 −0
  19. include/uapi/linux/snmp.h +1 −0
  20. include/uapi/linux/tc_act/tc_ct.h +3 −0
  21. include/uapi/linux/tcp.h +6 −0
  22. include/uapi/linux/virtio_bt.h +8 −0
  23. include/uapi/linux/virtio_net.h +4 −0
  24. include/uapi/linux/xfrm.h +6 −0
include/uapi/linux/bpf.h+296−228
@@ -922,7 +922,14 @@ enum bpf_map_type { · 921 unmodified lines
922 BPF_MAP_TYPE_CPUMAP,922 BPF_MAP_TYPE_CPUMAP,
923 BPF_MAP_TYPE_XSKMAP,923 BPF_MAP_TYPE_XSKMAP,
924 BPF_MAP_TYPE_SOCKHASH,924 BPF_MAP_TYPE_SOCKHASH,
925 BPF_MAP_TYPE_CGROUP_STORAGE,925 BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED,
926 /* BPF_MAP_TYPE_CGROUP_STORAGE is available to bpf programs attaching
927 * to a cgroup. The newer BPF_MAP_TYPE_CGRP_STORAGE is available to
928 * both cgroup-attached and other progs and supports all functionality
929 * provided by BPF_MAP_TYPE_CGROUP_STORAGE. So mark
930 * BPF_MAP_TYPE_CGROUP_STORAGE deprecated.
931 */
932 BPF_MAP_TYPE_CGROUP_STORAGE = BPF_MAP_TYPE_CGROUP_STORAGE_DEPRECATED,
926 BPF_MAP_TYPE_REUSEPORT_SOCKARRAY,933 BPF_MAP_TYPE_REUSEPORT_SOCKARRAY,
927 BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE,934 BPF_MAP_TYPE_PERCPU_CGROUP_STORAGE,
928 BPF_MAP_TYPE_QUEUE,935 BPF_MAP_TYPE_QUEUE,
@@ -935,6 +942,7 @@ enum bpf_map_type { · 6 unmodified lines
935 BPF_MAP_TYPE_TASK_STORAGE,942 BPF_MAP_TYPE_TASK_STORAGE,
936 BPF_MAP_TYPE_BLOOM_FILTER,943 BPF_MAP_TYPE_BLOOM_FILTER,
937 BPF_MAP_TYPE_USER_RINGBUF,944 BPF_MAP_TYPE_USER_RINGBUF,
945 BPF_MAP_TYPE_CGRP_STORAGE,
938};946};
939 947
940/* Note that tracing related programs such as948/* Note that tracing related programs such as
@@ -2576,14 +2584,19 @@ union bpf_attr { · 1635 unmodified lines
2576 * * **SOL_SOCKET**, which supports the following *optname*\ s:2584 * * **SOL_SOCKET**, which supports the following *optname*\ s:
2577 * **SO_RCVBUF**, **SO_SNDBUF**, **SO_MAX_PACING_RATE**,2585 * **SO_RCVBUF**, **SO_SNDBUF**, **SO_MAX_PACING_RATE**,
2578 * **SO_PRIORITY**, **SO_RCVLOWAT**, **SO_MARK**,2586 * **SO_PRIORITY**, **SO_RCVLOWAT**, **SO_MARK**,
2579 * **SO_BINDTODEVICE**, **SO_KEEPALIVE**.2587 * **SO_BINDTODEVICE**, **SO_KEEPALIVE**, **SO_REUSEADDR**,
2588 * **SO_REUSEPORT**, **SO_BINDTOIFINDEX**, **SO_TXREHASH**.
2580 * * **IPPROTO_TCP**, which supports the following *optname*\ s:2589 * * **IPPROTO_TCP**, which supports the following *optname*\ s:
2581 * **TCP_CONGESTION**, **TCP_BPF_IW**,2590 * **TCP_CONGESTION**, **TCP_BPF_IW**,
2582 * **TCP_BPF_SNDCWND_CLAMP**, **TCP_SAVE_SYN**,2591 * **TCP_BPF_SNDCWND_CLAMP**, **TCP_SAVE_SYN**,
2583 * **TCP_KEEPIDLE**, **TCP_KEEPINTVL**, **TCP_KEEPCNT**,2592 * **TCP_KEEPIDLE**, **TCP_KEEPINTVL**, **TCP_KEEPCNT**,
2584 * **TCP_SYNCNT**, **TCP_USER_TIMEOUT**, **TCP_NOTSENT_LOWAT**.2593 * **TCP_SYNCNT**, **TCP_USER_TIMEOUT**, **TCP_NOTSENT_LOWAT**,
2594 * **TCP_NODELAY**, **TCP_MAXSEG**, **TCP_WINDOW_CLAMP**,
2595 * **TCP_THIN_LINEAR_TIMEOUTS**, **TCP_BPF_DELACK_MAX**,
2596 * **TCP_BPF_RTO_MIN**.
2585 * * **IPPROTO_IP**, which supports *optname* **IP_TOS**.2597 * * **IPPROTO_IP**, which supports *optname* **IP_TOS**.
2586 * * **IPPROTO_IPV6**, which supports *optname* **IPV6_TCLASS**.2598 * * **IPPROTO_IPV6**, which supports the following *optname*\ s:
2599 * **IPV6_TCLASS**, **IPV6_AUTOFLOWLABEL**.
2587 * Return2600 * Return
2588 * 0 on success, or a negative error in case of failure.2601 * 0 on success, or a negative error in case of failure.
2589 *2602 *
@@ -2639,7 +2652,7 @@ union bpf_attr { · 49 unmodified lines
2639 * Return2652 * Return
2640 * 0 on success, or a negative error in case of failure.2653 * 0 on success, or a negative error in case of failure.
2641 *2654 *
2642 * long bpf_redirect_map(struct bpf_map *map, u32 key, u64 flags)2655 * long bpf_redirect_map(struct bpf_map *map, u64 key, u64 flags)
2643 * Description2656 * Description
2644 * Redirect the packet to the endpoint referenced by *map* at2657 * Redirect the packet to the endpoint referenced by *map* at
2645 * index *key*. Depending on its type, this *map* can contain2658 * index *key*. Depending on its type, this *map* can contain
@@ -2800,12 +2813,10 @@ union bpf_attr { · 154 unmodified lines
2800 * and **BPF_CGROUP_INET6_CONNECT**.2813 * and **BPF_CGROUP_INET6_CONNECT**.
2801 *2814 *
2802 * This helper actually implements a subset of **getsockopt()**.2815 * This helper actually implements a subset of **getsockopt()**.
2803 * It supports the following *level*\ s:2816 * It supports the same set of *optname*\ s that is supported by
2804 *2817 * the **bpf_setsockopt**\ () helper. The exceptions are
2805 * * **IPPROTO_TCP**, which supports *optname*2818 * **TCP_BPF_*** is **bpf_setsockopt**\ () only and
2806 * **TCP_CONGESTION**.2819 * **TCP_SAVED_SYN** is **bpf_getsockopt**\ () only.
2807 * * **IPPROTO_IP**, which supports *optname* **IP_TOS**.
2808 * * **IPPROTO_IPV6**, which supports *optname* **IPV6_TCLASS**.
2809 * Return2820 * Return
2810 * 0 on success, or a negative error in case of failure.2821 * 0 on success, or a negative error in case of failure.
2811 *2822 *
@@ -5282,7 +5293,7 @@ union bpf_attr { · 2470 unmodified lines
5282 * Return5293 * Return
5283 * Nothing. Always succeeds.5294 * Nothing. Always succeeds.
5284 *5295 *
5285 * long bpf_dynptr_read(void *dst, u32 len, struct bpf_dynptr *src, u32 offset, u64 flags)5296 * long bpf_dynptr_read(void *dst, u32 len, const struct bpf_dynptr *src, u32 offset, u64 flags)
5286 * Description5297 * Description
5287 * Read *len* bytes from *src* into *dst*, starting from *offset*5298 * Read *len* bytes from *src* into *dst*, starting from *offset*
5288 * into *src*.5299 * into *src*.
@@ -5292,7 +5303,7 @@ union bpf_attr { · 3 unmodified lines
5292 * of *src*'s data, -EINVAL if *src* is an invalid dynptr or if5303 * of *src*'s data, -EINVAL if *src* is an invalid dynptr or if
5293 * *flags* is not 0.5304 * *flags* is not 0.
5294 *5305 *
5295 * long bpf_dynptr_write(struct bpf_dynptr *dst, u32 offset, void *src, u32 len, u64 flags)5306 * long bpf_dynptr_write(const struct bpf_dynptr *dst, u32 offset, void *src, u32 len, u64 flags)
5296 * Description5307 * Description
5297 * Write *len* bytes from *src* into *dst*, starting from *offset*5308 * Write *len* bytes from *src* into *dst*, starting from *offset*
5298 * into *dst*.5309 * into *dst*.
@@ -5302,7 +5313,7 @@ union bpf_attr { · 3 unmodified lines
5302 * of *dst*'s data, -EINVAL if *dst* is an invalid dynptr or if *dst*5313 * of *dst*'s data, -EINVAL if *dst* is an invalid dynptr or if *dst*
5303 * is a read-only dynptr or if *flags* is not 0.5314 * is a read-only dynptr or if *flags* is not 0.
5304 *5315 *
5305 * void *bpf_dynptr_data(struct bpf_dynptr *ptr, u32 offset, u32 len)5316 * void *bpf_dynptr_data(const struct bpf_dynptr *ptr, u32 offset, u32 len)
5306 * Description5317 * Description
5307 * Get a pointer to the underlying dynptr data.5318 * Get a pointer to the underlying dynptr data.
5308 *5319 *
@@ -5403,7 +5414,7 @@ union bpf_attr { · 94 unmodified lines
5403 * Drain samples from the specified user ring buffer, and invoke5414 * Drain samples from the specified user ring buffer, and invoke
5404 * the provided callback for each such sample:5415 * the provided callback for each such sample:
5405 *5416 *
5406 * long (\*callback_fn)(struct bpf_dynptr \*dynptr, void \*ctx);5417 * long (\*callback_fn)(const struct bpf_dynptr \*dynptr, void \*ctx);
5407 *5418 *
5408 * If **callback_fn** returns 0, the helper will continue to try5419 * If **callback_fn** returns 0, the helper will continue to try
5409 * and drain the next sample, up to a maximum of5420 * and drain the next sample, up to a maximum of
@@ -5435,226 +5446,272 @@ union bpf_attr { · 25 unmodified lines
5435 * **-E2BIG** if user-space has tried to publish a sample which is5446 * **-E2BIG** if user-space has tried to publish a sample which is
5436 * larger than the size of the ring buffer, or which cannot fit5447 * larger than the size of the ring buffer, or which cannot fit
5437 * within a struct bpf_dynptr.5448 * within a struct bpf_dynptr.
5449 *
5450 * void *bpf_cgrp_storage_get(struct bpf_map *map, struct cgroup *cgroup, void *value, u64 flags)
5451 * Description
5452 * Get a bpf_local_storage from the *cgroup*.
5453 *
5454 * Logically, it could be thought of as getting the value from
5455 * a *map* with *cgroup* as the **key**. From this
5456 * perspective, the usage is not much different from
5457 * **bpf_map_lookup_elem**\ (*map*, **&**\ *cgroup*) except this
5458 * helper enforces the key must be a cgroup struct and the map must also
5459 * be a **BPF_MAP_TYPE_CGRP_STORAGE**.
5460 *
5461 * In reality, the local-storage value is embedded directly inside of the
5462 * *cgroup* object itself, rather than being located in the
5463 * **BPF_MAP_TYPE_CGRP_STORAGE** map. When the local-storage value is
5464 * queried for some *map* on a *cgroup* object, the kernel will perform an
5465 * O(n) iteration over all of the live local-storage values for that
5466 * *cgroup* object until the local-storage value for the *map* is found.
5467 *
5468 * An optional *flags* (**BPF_LOCAL_STORAGE_GET_F_CREATE**) can be
5469 * used such that a new bpf_local_storage will be
5470 * created if one does not exist. *value* can be used
5471 * together with **BPF_LOCAL_STORAGE_GET_F_CREATE** to specify
5472 * the initial value of a bpf_local_storage. If *value* is
5473 * **NULL**, the new bpf_local_storage will be zero initialized.
5474 * Return
5475 * A bpf_local_storage pointer is returned on success.
5476 *
5477 * **NULL** if not found or there was an error in adding
5478 * a new bpf_local_storage.
5479 *
5480 * long bpf_cgrp_storage_delete(struct bpf_map *map, struct cgroup *cgroup)
5481 * Description
5482 * Delete a bpf_local_storage from a *cgroup*.
5483 * Return
5484 * 0 on success.
5485 *
5486 * **-ENOENT** if the bpf_local_storage cannot be found.
5438 */5487 */
5439#define __BPF_FUNC_MAPPER(FN) \5488#define ___BPF_FUNC_MAPPER(FN, ctx...) \
5440 FN(unspec), \5489 FN(unspec, 0, ##ctx) \
5441 FN(map_lookup_elem), \5490 FN(map_lookup_elem, 1, ##ctx) \
5442 FN(map_update_elem), \5491 FN(map_update_elem, 2, ##ctx) \
5443 FN(map_delete_elem), \5492 FN(map_delete_elem, 3, ##ctx) \
5444 FN(probe_read), \5493 FN(probe_read, 4, ##ctx) \
5445 FN(ktime_get_ns), \5494 FN(ktime_get_ns, 5, ##ctx) \
5446 FN(trace_printk), \5495 FN(trace_printk, 6, ##ctx) \
5447 FN(get_prandom_u32), \5496 FN(get_prandom_u32, 7, ##ctx) \
5448 FN(get_smp_processor_id), \5497 FN(get_smp_processor_id, 8, ##ctx) \
5449 FN(skb_store_bytes), \5498 FN(skb_store_bytes, 9, ##ctx) \
5450 FN(l3_csum_replace), \5499 FN(l3_csum_replace, 10, ##ctx) \
5451 FN(l4_csum_replace), \5500 FN(l4_csum_replace, 11, ##ctx) \
5452 FN(tail_call), \5501 FN(tail_call, 12, ##ctx) \
5453 FN(clone_redirect), \5502 FN(clone_redirect, 13, ##ctx) \
5454 FN(get_current_pid_tgid), \5503 FN(get_current_pid_tgid, 14, ##ctx) \
5455 FN(get_current_uid_gid), \5504 FN(get_current_uid_gid, 15, ##ctx) \
5456 FN(get_current_comm), \5505 FN(get_current_comm, 16, ##ctx) \
5457 FN(get_cgroup_classid), \5506 FN(get_cgroup_classid, 17, ##ctx) \
5458 FN(skb_vlan_push), \5507 FN(skb_vlan_push, 18, ##ctx) \
5459 FN(skb_vlan_pop), \5508 FN(skb_vlan_pop, 19, ##ctx) \
5460 FN(skb_get_tunnel_key), \5509 FN(skb_get_tunnel_key, 20, ##ctx) \
5461 FN(skb_set_tunnel_key), \5510 FN(skb_set_tunnel_key, 21, ##ctx) \
5462 FN(perf_event_read), \5511 FN(perf_event_read, 22, ##ctx) \
5463 FN(redirect), \5512 FN(redirect, 23, ##ctx) \
5464 FN(get_route_realm), \5513 FN(get_route_realm, 24, ##ctx) \
5465 FN(perf_event_output), \5514 FN(perf_event_output, 25, ##ctx) \
5466 FN(skb_load_bytes), \5515 FN(skb_load_bytes, 26, ##ctx) \
5467 FN(get_stackid), \5516 FN(get_stackid, 27, ##ctx) \
5468 FN(csum_diff), \5517 FN(csum_diff, 28, ##ctx) \
5469 FN(skb_get_tunnel_opt), \5518 FN(skb_get_tunnel_opt, 29, ##ctx) \
5470 FN(skb_set_tunnel_opt), \5519 FN(skb_set_tunnel_opt, 30, ##ctx) \
5471 FN(skb_change_proto), \5520 FN(skb_change_proto, 31, ##ctx) \
5472 FN(skb_change_type), \5521 FN(skb_change_type, 32, ##ctx) \
5473 FN(skb_under_cgroup), \5522 FN(skb_under_cgroup, 33, ##ctx) \
5474 FN(get_hash_recalc), \5523 FN(get_hash_recalc, 34, ##ctx) \
5475 FN(get_current_task), \5524 FN(get_current_task, 35, ##ctx) \
5476 FN(probe_write_user), \5525 FN(probe_write_user, 36, ##ctx) \
5477 FN(current_task_under_cgroup), \5526 FN(current_task_under_cgroup, 37, ##ctx) \
5478 FN(skb_change_tail), \5527 FN(skb_change_tail, 38, ##ctx) \
5479 FN(skb_pull_data), \5528 FN(skb_pull_data, 39, ##ctx) \
5480 FN(csum_update), \5529 FN(csum_update, 40, ##ctx) \
5481 FN(set_hash_invalid), \5530 FN(set_hash_invalid, 41, ##ctx) \
5482 FN(get_numa_node_id), \5531 FN(get_numa_node_id, 42, ##ctx) \
5483 FN(skb_change_head), \5532 FN(skb_change_head, 43, ##ctx) \
5484 FN(xdp_adjust_head), \5533 FN(xdp_adjust_head, 44, ##ctx) \
5485 FN(probe_read_str), \5534 FN(probe_read_str, 45, ##ctx) \
5486 FN(get_socket_cookie), \5535 FN(get_socket_cookie, 46, ##ctx) \
5487 FN(get_socket_uid), \5536 FN(get_socket_uid, 47, ##ctx) \
5488 FN(set_hash), \5537 FN(set_hash, 48, ##ctx) \
5489 FN(setsockopt), \5538 FN(setsockopt, 49, ##ctx) \
5490 FN(skb_adjust_room), \5539 FN(skb_adjust_room, 50, ##ctx) \
5491 FN(redirect_map), \5540 FN(redirect_map, 51, ##ctx) \
5492 FN(sk_redirect_map), \5541 FN(sk_redirect_map, 52, ##ctx) \
5493 FN(sock_map_update), \5542 FN(sock_map_update, 53, ##ctx) \
5494 FN(xdp_adjust_meta), \5543 FN(xdp_adjust_meta, 54, ##ctx) \
5495 FN(perf_event_read_value), \5544 FN(perf_event_read_value, 55, ##ctx) \
5496 FN(perf_prog_read_value), \5545 FN(perf_prog_read_value, 56, ##ctx) \
5497 FN(getsockopt), \5546 FN(getsockopt, 57, ##ctx) \
5498 FN(override_return), \5547 FN(override_return, 58, ##ctx) \
5499 FN(sock_ops_cb_flags_set), \5548 FN(sock_ops_cb_flags_set, 59, ##ctx) \
5500 FN(msg_redirect_map), \5549 FN(msg_redirect_map, 60, ##ctx) \
5501 FN(msg_apply_bytes), \5550 FN(msg_apply_bytes, 61, ##ctx) \
5502 FN(msg_cork_bytes), \5551 FN(msg_cork_bytes, 62, ##ctx) \
5503 FN(msg_pull_data), \5552 FN(msg_pull_data, 63, ##ctx) \
5504 FN(bind), \5553 FN(bind, 64, ##ctx) \
5505 FN(xdp_adjust_tail), \5554 FN(xdp_adjust_tail, 65, ##ctx) \
5506 FN(skb_get_xfrm_state), \5555 FN(skb_get_xfrm_state, 66, ##ctx) \
5507 FN(get_stack), \5556 FN(get_stack, 67, ##ctx) \
5508 FN(skb_load_bytes_relative), \5557 FN(skb_load_bytes_relative, 68, ##ctx) \
5509 FN(fib_lookup), \5558 FN(fib_lookup, 69, ##ctx) \
5510 FN(sock_hash_update), \5559 FN(sock_hash_update, 70, ##ctx) \
5511 FN(msg_redirect_hash), \5560 FN(msg_redirect_hash, 71, ##ctx) \
5512 FN(sk_redirect_hash), \5561 FN(sk_redirect_hash, 72, ##ctx) \
5513 FN(lwt_push_encap), \5562 FN(lwt_push_encap, 73, ##ctx) \
5514 FN(lwt_seg6_store_bytes), \5563 FN(lwt_seg6_store_bytes, 74, ##ctx) \
5515 FN(lwt_seg6_adjust_srh), \5564 FN(lwt_seg6_adjust_srh, 75, ##ctx) \
5516 FN(lwt_seg6_action), \5565 FN(lwt_seg6_action, 76, ##ctx) \
5517 FN(rc_repeat), \5566 FN(rc_repeat, 77, ##ctx) \
5518 FN(rc_keydown), \5567 FN(rc_keydown, 78, ##ctx) \
5519 FN(skb_cgroup_id), \5568 FN(skb_cgroup_id, 79, ##ctx) \
5520 FN(get_current_cgroup_id), \5569 FN(get_current_cgroup_id, 80, ##ctx) \
5521 FN(get_local_storage), \5570 FN(get_local_storage, 81, ##ctx) \
5522 FN(sk_select_reuseport), \5571 FN(sk_select_reuseport, 82, ##ctx) \
5523 FN(skb_ancestor_cgroup_id), \5572 FN(skb_ancestor_cgroup_id, 83, ##ctx) \
5524 FN(sk_lookup_tcp), \5573 FN(sk_lookup_tcp, 84, ##ctx) \
5525 FN(sk_lookup_udp), \5574 FN(sk_lookup_udp, 85, ##ctx) \
5526 FN(sk_release), \5575 FN(sk_release, 86, ##ctx) \
5527 FN(map_push_elem), \5576 FN(map_push_elem, 87, ##ctx) \
5528 FN(map_pop_elem), \5577 FN(map_pop_elem, 88, ##ctx) \
5529 FN(map_peek_elem), \5578 FN(map_peek_elem, 89, ##ctx) \
5530 FN(msg_push_data), \5579 FN(msg_push_data, 90, ##ctx) \
5531 FN(msg_pop_data), \5580 FN(msg_pop_data, 91, ##ctx) \
5532 FN(rc_pointer_rel), \5581 FN(rc_pointer_rel, 92, ##ctx) \
5533 FN(spin_lock), \5582 FN(spin_lock, 93, ##ctx) \
5534 FN(spin_unlock), \5583 FN(spin_unlock, 94, ##ctx) \
5535 FN(sk_fullsock), \5584 FN(sk_fullsock, 95, ##ctx) \
5536 FN(tcp_sock), \5585 FN(tcp_sock, 96, ##ctx) \
5537 FN(skb_ecn_set_ce), \5586 FN(skb_ecn_set_ce, 97, ##ctx) \
5538 FN(get_listener_sock), \5587 FN(get_listener_sock, 98, ##ctx) \
5539 FN(skc_lookup_tcp), \5588 FN(skc_lookup_tcp, 99, ##ctx) \
5540 FN(tcp_check_syncookie), \5589 FN(tcp_check_syncookie, 100, ##ctx) \
5541 FN(sysctl_get_name), \5590 FN(sysctl_get_name, 101, ##ctx) \
5542 FN(sysctl_get_current_value), \5591 FN(sysctl_get_current_value, 102, ##ctx) \
5543 FN(sysctl_get_new_value), \5592 FN(sysctl_get_new_value, 103, ##ctx) \
5544 FN(sysctl_set_new_value), \5593 FN(sysctl_set_new_value, 104, ##ctx) \
5545 FN(strtol), \5594 FN(strtol, 105, ##ctx) \
5546 FN(strtoul), \5595 FN(strtoul, 106, ##ctx) \
5547 FN(sk_storage_get), \5596 FN(sk_storage_get, 107, ##ctx) \
5548 FN(sk_storage_delete), \5597 FN(sk_storage_delete, 108, ##ctx) \
5549 FN(send_signal), \5598 FN(send_signal, 109, ##ctx) \
5550 FN(tcp_gen_syncookie), \5599 FN(tcp_gen_syncookie, 110, ##ctx) \
5551 FN(skb_output), \5600 FN(skb_output, 111, ##ctx) \
5552 FN(probe_read_user), \5601 FN(probe_read_user, 112, ##ctx) \
5553 FN(probe_read_kernel), \5602 FN(probe_read_kernel, 113, ##ctx) \
5554 FN(probe_read_user_str), \5603 FN(probe_read_user_str, 114, ##ctx) \
5555 FN(probe_read_kernel_str), \5604 FN(probe_read_kernel_str, 115, ##ctx) \
5556 FN(tcp_send_ack), \5605 FN(tcp_send_ack, 116, ##ctx) \
5557 FN(send_signal_thread), \5606 FN(send_signal_thread, 117, ##ctx) \
5558 FN(jiffies64), \5607 FN(jiffies64, 118, ##ctx) \
5559 FN(read_branch_records), \5608 FN(read_branch_records, 119, ##ctx) \
5560 FN(get_ns_current_pid_tgid), \5609 FN(get_ns_current_pid_tgid, 120, ##ctx) \
5561 FN(xdp_output), \5610 FN(xdp_output, 121, ##ctx) \
5562 FN(get_netns_cookie), \5611 FN(get_netns_cookie, 122, ##ctx) \
5563 FN(get_current_ancestor_cgroup_id), \5612 FN(get_current_ancestor_cgroup_id, 123, ##ctx) \
5564 FN(sk_assign), \5613 FN(sk_assign, 124, ##ctx) \
5565 FN(ktime_get_boot_ns), \5614 FN(ktime_get_boot_ns, 125, ##ctx) \
5566 FN(seq_printf), \5615 FN(seq_printf, 126, ##ctx) \
5567 FN(seq_write), \5616 FN(seq_write, 127, ##ctx) \
5568 FN(sk_cgroup_id), \5617 FN(sk_cgroup_id, 128, ##ctx) \
5569 FN(sk_ancestor_cgroup_id), \5618 FN(sk_ancestor_cgroup_id, 129, ##ctx) \
5570 FN(ringbuf_output), \5619 FN(ringbuf_output, 130, ##ctx) \
5571 FN(ringbuf_reserve), \5620 FN(ringbuf_reserve, 131, ##ctx) \
5572 FN(ringbuf_submit), \5621 FN(ringbuf_submit, 132, ##ctx) \
5573 FN(ringbuf_discard), \5622 FN(ringbuf_discard, 133, ##ctx) \
5574 FN(ringbuf_query), \5623 FN(ringbuf_query, 134, ##ctx) \
5575 FN(csum_level), \5624 FN(csum_level, 135, ##ctx) \
5576 FN(skc_to_tcp6_sock), \5625 FN(skc_to_tcp6_sock, 136, ##ctx) \
5577 FN(skc_to_tcp_sock), \5626 FN(skc_to_tcp_sock, 137, ##ctx) \
5578 FN(skc_to_tcp_timewait_sock), \5627 FN(skc_to_tcp_timewait_sock, 138, ##ctx) \
5579 FN(skc_to_tcp_request_sock), \5628 FN(skc_to_tcp_request_sock, 139, ##ctx) \
5580 FN(skc_to_udp6_sock), \5629 FN(skc_to_udp6_sock, 140, ##ctx) \
5581 FN(get_task_stack), \5630 FN(get_task_stack, 141, ##ctx) \
5582 FN(load_hdr_opt), \5631 FN(load_hdr_opt, 142, ##ctx) \
5583 FN(store_hdr_opt), \5632 FN(store_hdr_opt, 143, ##ctx) \
5584 FN(reserve_hdr_opt), \5633 FN(reserve_hdr_opt, 144, ##ctx) \
5585 FN(inode_storage_get), \5634 FN(inode_storage_get, 145, ##ctx) \
5586 FN(inode_storage_delete), \5635 FN(inode_storage_delete, 146, ##ctx) \
5587 FN(d_path), \5636 FN(d_path, 147, ##ctx) \
5588 FN(copy_from_user), \5637 FN(copy_from_user, 148, ##ctx) \
5589 FN(snprintf_btf), \5638 FN(snprintf_btf, 149, ##ctx) \
5590 FN(seq_printf_btf), \5639 FN(seq_printf_btf, 150, ##ctx) \
5591 FN(skb_cgroup_classid), \5640 FN(skb_cgroup_classid, 151, ##ctx) \
5592 FN(redirect_neigh), \5641 FN(redirect_neigh, 152, ##ctx) \
5593 FN(per_cpu_ptr), \5642 FN(per_cpu_ptr, 153, ##ctx) \
5594 FN(this_cpu_ptr), \5643 FN(this_cpu_ptr, 154, ##ctx) \
5595 FN(redirect_peer), \5644 FN(redirect_peer, 155, ##ctx) \
5596 FN(task_storage_get), \5645 FN(task_storage_get, 156, ##ctx) \
5597 FN(task_storage_delete), \5646 FN(task_storage_delete, 157, ##ctx) \
5598 FN(get_current_task_btf), \5647 FN(get_current_task_btf, 158, ##ctx) \
5599 FN(bprm_opts_set), \5648 FN(bprm_opts_set, 159, ##ctx) \
5600 FN(ktime_get_coarse_ns), \5649 FN(ktime_get_coarse_ns, 160, ##ctx) \
5601 FN(ima_inode_hash), \5650 FN(ima_inode_hash, 161, ##ctx) \
5602 FN(sock_from_file), \5651 FN(sock_from_file, 162, ##ctx) \
5603 FN(check_mtu), \5652 FN(check_mtu, 163, ##ctx) \
5604 FN(for_each_map_elem), \5653 FN(for_each_map_elem, 164, ##ctx) \
5605 FN(snprintf), \5654 FN(snprintf, 165, ##ctx) \
5606 FN(sys_bpf), \5655 FN(sys_bpf, 166, ##ctx) \
5607 FN(btf_find_by_name_kind), \5656 FN(btf_find_by_name_kind, 167, ##ctx) \
5608 FN(sys_close), \5657 FN(sys_close, 168, ##ctx) \
5609 FN(timer_init), \5658 FN(timer_init, 169, ##ctx) \
5610 FN(timer_set_callback), \5659 FN(timer_set_callback, 170, ##ctx) \
5611 FN(timer_start), \5660 FN(timer_start, 171, ##ctx) \
5612 FN(timer_cancel), \5661 FN(timer_cancel, 172, ##ctx) \
5613 FN(get_func_ip), \5662 FN(get_func_ip, 173, ##ctx) \
5614 FN(get_attach_cookie), \5663 FN(get_attach_cookie, 174, ##ctx) \
5615 FN(task_pt_regs), \5664 FN(task_pt_regs, 175, ##ctx) \
5616 FN(get_branch_snapshot), \5665 FN(get_branch_snapshot, 176, ##ctx) \
5617 FN(trace_vprintk), \5666 FN(trace_vprintk, 177, ##ctx) \
5618 FN(skc_to_unix_sock), \5667 FN(skc_to_unix_sock, 178, ##ctx) \
5619 FN(kallsyms_lookup_name), \5668 FN(kallsyms_lookup_name, 179, ##ctx) \
5620 FN(find_vma), \5669 FN(find_vma, 180, ##ctx) \
5621 FN(loop), \5670 FN(loop, 181, ##ctx) \
5622 FN(strncmp), \5671 FN(strncmp, 182, ##ctx) \
5623 FN(get_func_arg), \5672 FN(get_func_arg, 183, ##ctx) \
5624 FN(get_func_ret), \5673 FN(get_func_ret, 184, ##ctx) \
5625 FN(get_func_arg_cnt), \5674 FN(get_func_arg_cnt, 185, ##ctx) \
5626 FN(get_retval), \5675 FN(get_retval, 186, ##ctx) \
5627 FN(set_retval), \5676 FN(set_retval, 187, ##ctx) \
5628 FN(xdp_get_buff_len), \5677 FN(xdp_get_buff_len, 188, ##ctx) \
5629 FN(xdp_load_bytes), \5678 FN(xdp_load_bytes, 189, ##ctx) \
5630 FN(xdp_store_bytes), \5679 FN(xdp_store_bytes, 190, ##ctx) \
5631 FN(copy_from_user_task), \5680 FN(copy_from_user_task, 191, ##ctx) \
5632 FN(skb_set_tstamp), \5681 FN(skb_set_tstamp, 192, ##ctx) \
5633 FN(ima_file_hash), \5682 FN(ima_file_hash, 193, ##ctx) \
5634 FN(kptr_xchg), \5683 FN(kptr_xchg, 194, ##ctx) \
5635 FN(map_lookup_percpu_elem), \5684 FN(map_lookup_percpu_elem, 195, ##ctx) \
5636 FN(skc_to_mptcp_sock), \5685 FN(skc_to_mptcp_sock, 196, ##ctx) \
5637 FN(dynptr_from_mem), \5686 FN(dynptr_from_mem, 197, ##ctx) \
5638 FN(ringbuf_reserve_dynptr), \5687 FN(ringbuf_reserve_dynptr, 198, ##ctx) \
5639 FN(ringbuf_submit_dynptr), \5688 FN(ringbuf_submit_dynptr, 199, ##ctx) \
5640 FN(ringbuf_discard_dynptr), \5689 FN(ringbuf_discard_dynptr, 200, ##ctx) \
5641 FN(dynptr_read), \5690 FN(dynptr_read, 201, ##ctx) \
5642 FN(dynptr_write), \5691 FN(dynptr_write, 202, ##ctx) \
5643 FN(dynptr_data), \5692 FN(dynptr_data, 203, ##ctx) \
5644 FN(tcp_raw_gen_syncookie_ipv4), \5693 FN(tcp_raw_gen_syncookie_ipv4, 204, ##ctx) \
5645 FN(tcp_raw_gen_syncookie_ipv6), \5694 FN(tcp_raw_gen_syncookie_ipv6, 205, ##ctx) \
5646 FN(tcp_raw_check_syncookie_ipv4), \5695 FN(tcp_raw_check_syncookie_ipv4, 206, ##ctx) \
5647 FN(tcp_raw_check_syncookie_ipv6), \5696 FN(tcp_raw_check_syncookie_ipv6, 207, ##ctx) \
5648 FN(ktime_get_tai_ns), \5697 FN(ktime_get_tai_ns, 208, ##ctx) \
5649 FN(user_ringbuf_drain), \5698 FN(user_ringbuf_drain, 209, ##ctx) \
5699 FN(cgrp_storage_get, 210, ##ctx) \
5700 FN(cgrp_storage_delete, 211, ##ctx) \
5650 /* */5701 /* */
5651 5702
5703/* backwards-compatibility macros for users of __BPF_FUNC_MAPPER that don't
5704 * know or care about integer value that is now passed as second argument
5705 */
5706#define __BPF_FUNC_MAPPER_APPLY(name, value, FN) FN(name),
5707#define __BPF_FUNC_MAPPER(FN) ___BPF_FUNC_MAPPER(__BPF_FUNC_MAPPER_APPLY, FN)
5708
5652/* integer value in 'imm' field of BPF_CALL instruction selects which helper5709/* integer value in 'imm' field of BPF_CALL instruction selects which helper
5653 * function eBPF program intends to call5710 * function eBPF program intends to call
5654 */5711 */
5655#define __BPF_ENUM_FN(x) BPF_FUNC_ ## x5712#define __BPF_ENUM_FN(x, y) BPF_FUNC_ ## x = y,
5656enum bpf_func_id {5713enum bpf_func_id {
5657 __BPF_FUNC_MAPPER(__BPF_ENUM_FN)5714 ___BPF_FUNC_MAPPER(__BPF_ENUM_FN)
5658 __BPF_FUNC_MAX_ID,5715 __BPF_FUNC_MAX_ID,
5659};5716};
5660#undef __BPF_ENUM_FN5717#undef __BPF_ENUM_FN
@@ -6391,6 +6448,7 @@ struct bpf_sock_ops { · 730 unmodified lines
6391 * the outgoing header has not6448 * the outgoing header has not
6392 * been written yet.6449 * been written yet.
6393 */6450 */
6451 __u64 skb_hwtstamp;
6394};6452};
6395 6453
6396/* Definitions for bpf_sock_ops_cb_flags */6454/* Definitions for bpf_sock_ops_cb_flags */
@@ -6833,6 +6891,16 @@ struct bpf_dynptr { · 436 unmodified lines
6833 __u64 :64;6891 __u64 :64;
6834} __attribute__((aligned(8)));6892} __attribute__((aligned(8)));
6835 6893
6894struct bpf_list_head {
6895 __u64 :64;
6896 __u64 :64;
6897} __attribute__((aligned(8)));
6898
6899struct bpf_list_node {
6900 __u64 :64;
6901 __u64 :64;
6902} __attribute__((aligned(8)));
6903
6836struct bpf_sysctl {6904struct bpf_sysctl {
6837 __u32 write; /* Sysctl is being read (= 0) or written (= 1).6905 __u32 write; /* Sysctl is being read (= 0) or written (= 1).
6838 * Allows 1,2,4-byte read, but no write.6906 * Allows 1,2,4-byte read, but no write.
include/uapi/linux/dcbnl.h+8−0
@@ -218,6 +218,9 @@ struct cee_pfc { · 217 unmodified lines
218#define IEEE_8021QAZ_APP_SEL_ANY 4218#define IEEE_8021QAZ_APP_SEL_ANY 4
219#define IEEE_8021QAZ_APP_SEL_DSCP 5219#define IEEE_8021QAZ_APP_SEL_DSCP 5
220 220
221/* Non-std selector values */
222#define DCB_APP_SEL_PCP 255
223
221/* This structure contains the IEEE 802.1Qaz APP managed object. This224/* This structure contains the IEEE 802.1Qaz APP managed object. This
222 * object is also used for the CEE std as well.225 * object is also used for the CEE std as well.
223 *226 *
@@ -247,6 +250,8 @@ struct dcb_app { · 23 unmodified lines
247 __u16 protocol;250 __u16 protocol;
248};251};
249 252
253#define IEEE_8021QAZ_APP_SEL_MAX 255
254
250/**255/**
251 * struct dcb_peer_app_info - APP feature information sent by the peer256 * struct dcb_peer_app_info - APP feature information sent by the peer
252 *257 *
@@ -405,6 +410,7 @@ enum dcbnl_attrs { · 152 unmodified lines
405 * @DCB_ATTR_IEEE_PEER_ETS: peer ETS configuration - get only410 * @DCB_ATTR_IEEE_PEER_ETS: peer ETS configuration - get only
406 * @DCB_ATTR_IEEE_PEER_PFC: peer PFC configuration - get only411 * @DCB_ATTR_IEEE_PEER_PFC: peer PFC configuration - get only
407 * @DCB_ATTR_IEEE_PEER_APP: peer APP tlv - get only412 * @DCB_ATTR_IEEE_PEER_APP: peer APP tlv - get only
413 * @DCB_ATTR_DCB_APP_TRUST_TABLE: selector trust table
408 */414 */
409enum ieee_attrs {415enum ieee_attrs {
410 DCB_ATTR_IEEE_UNSPEC,416 DCB_ATTR_IEEE_UNSPEC,
@@ -418,6 +424,7 @@ enum ieee_attrs { · 7 unmodified lines
418 DCB_ATTR_IEEE_QCN,424 DCB_ATTR_IEEE_QCN,
419 DCB_ATTR_IEEE_QCN_STATS,425 DCB_ATTR_IEEE_QCN_STATS,
420 DCB_ATTR_DCB_BUFFER,426 DCB_ATTR_DCB_BUFFER,
427 DCB_ATTR_DCB_APP_TRUST_TABLE,
421 __DCB_ATTR_IEEE_MAX428 __DCB_ATTR_IEEE_MAX
422};429};
423#define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1)430#define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1)
@@ -425,6 +432,7 @@ enum ieee_attrs { · 1 unmodified line
425enum ieee_attrs_app {432enum ieee_attrs_app {
426 DCB_ATTR_IEEE_APP_UNSPEC,433 DCB_ATTR_IEEE_APP_UNSPEC,
427 DCB_ATTR_IEEE_APP,434 DCB_ATTR_IEEE_APP,
435 DCB_ATTR_DCB_APP,
428 __DCB_ATTR_IEEE_APP_MAX436 __DCB_ATTR_IEEE_APP_MAX
429};437};
430#define DCB_ATTR_IEEE_APP_MAX (__DCB_ATTR_IEEE_APP_MAX - 1)438#define DCB_ATTR_IEEE_APP_MAX (__DCB_ATTR_IEEE_APP_MAX - 1)
include/uapi/linux/devlink.h+18−0
@@ -607,6 +607,11 @@ enum devlink_attr { · 606 unmodified lines
607 607
608 DEVLINK_ATTR_SELFTESTS, /* nested */608 DEVLINK_ATTR_SELFTESTS, /* nested */
609 609
610 DEVLINK_ATTR_RATE_TX_PRIORITY, /* u32 */
611 DEVLINK_ATTR_RATE_TX_WEIGHT, /* u32 */
612
613 DEVLINK_ATTR_REGION_DIRECT, /* flag */
614
610 /* add new attributes above here, update the policy in devlink.c */615 /* add new attributes above here, update the policy in devlink.c */
611 616
612 __DEVLINK_ATTR_MAX,617 __DEVLINK_ATTR_MAX,
@@ -653,11 +658,24 @@ enum devlink_resource_unit { · 40 unmodified lines
653 DEVLINK_RESOURCE_UNIT_ENTRY,658 DEVLINK_RESOURCE_UNIT_ENTRY,
654};659};
655 660
661enum devlink_port_fn_attr_cap {
662 DEVLINK_PORT_FN_ATTR_CAP_ROCE_BIT,
663 DEVLINK_PORT_FN_ATTR_CAP_MIGRATABLE_BIT,
664
665 /* Add new caps above */
666 __DEVLINK_PORT_FN_ATTR_CAPS_MAX,
667};
668
669#define DEVLINK_PORT_FN_CAP_ROCE _BITUL(DEVLINK_PORT_FN_ATTR_CAP_ROCE_BIT)
670#define DEVLINK_PORT_FN_CAP_MIGRATABLE \
671 _BITUL(DEVLINK_PORT_FN_ATTR_CAP_MIGRATABLE_BIT)
672
656enum devlink_port_function_attr {673enum devlink_port_function_attr {
657 DEVLINK_PORT_FUNCTION_ATTR_UNSPEC,674 DEVLINK_PORT_FUNCTION_ATTR_UNSPEC,
658 DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR, /* binary */675 DEVLINK_PORT_FUNCTION_ATTR_HW_ADDR, /* binary */
659 DEVLINK_PORT_FN_ATTR_STATE, /* u8 */676 DEVLINK_PORT_FN_ATTR_STATE, /* u8 */
660 DEVLINK_PORT_FN_ATTR_OPSTATE, /* u8 */677 DEVLINK_PORT_FN_ATTR_OPSTATE, /* u8 */
678 DEVLINK_PORT_FN_ATTR_CAPS, /* bitfield32 */
661 679
662 __DEVLINK_PORT_FUNCTION_ATTR_MAX,680 __DEVLINK_PORT_FUNCTION_ATTR_MAX,
663 DEVLINK_PORT_FUNCTION_ATTR_MAX = __DEVLINK_PORT_FUNCTION_ATTR_MAX - 1681 DEVLINK_PORT_FUNCTION_ATTR_MAX = __DEVLINK_PORT_FUNCTION_ATTR_MAX - 1
include/uapi/linux/ethtool.h+12−6
@@ -159,8 +159,10 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep) · 158 unmodified lines
159 * in its bus driver structure (e.g. pci_driver::name). Must159 * in its bus driver structure (e.g. pci_driver::name). Must
160 * not be an empty string.160 * not be an empty string.
161 * @version: Driver version string; may be an empty string161 * @version: Driver version string; may be an empty string
162 * @fw_version: Firmware version string; may be an empty string162 * @fw_version: Firmware version string; driver defined; may be an
163 * @erom_version: Expansion ROM version string; may be an empty string163 * empty string
164 * @erom_version: Expansion ROM version string; driver defined; may be
165 * an empty string
164 * @bus_info: Device bus address. This should match the dev_name()166 * @bus_info: Device bus address. This should match the dev_name()
165 * string for the underlying bus device, if there is one. May be167 * string for the underlying bus device, if there is one. May be
166 * an empty string.168 * an empty string.
@@ -179,10 +181,6 @@ static inline __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep) · 12 unmodified lines
179 *181 *
180 * Users can use the %ETHTOOL_GSSET_INFO command to get the number of182 * Users can use the %ETHTOOL_GSSET_INFO command to get the number of
181 * strings in any string set (from Linux 2.6.34).183 * strings in any string set (from Linux 2.6.34).
182 *
183 * Drivers should set at most @driver, @version, @fw_version and
184 * @bus_info in their get_drvinfo() implementation. The ethtool
185 * core fills in the other fields using other driver operations.
186 */184 */
187struct ethtool_drvinfo {185struct ethtool_drvinfo {
188 __u32 cmd;186 __u32 cmd;
@@ -1737,6 +1735,13 @@ enum ethtool_link_mode_bit_indices { · 1548 unmodified lines
1737 ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90,1735 ETHTOOL_LINK_MODE_100baseFX_Half_BIT = 90,
1738 ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91,1736 ETHTOOL_LINK_MODE_100baseFX_Full_BIT = 91,
1739 ETHTOOL_LINK_MODE_10baseT1L_Full_BIT = 92,1737 ETHTOOL_LINK_MODE_10baseT1L_Full_BIT = 92,
1738 ETHTOOL_LINK_MODE_800000baseCR8_Full_BIT = 93,
1739 ETHTOOL_LINK_MODE_800000baseKR8_Full_BIT = 94,
1740 ETHTOOL_LINK_MODE_800000baseDR8_Full_BIT = 95,
1741 ETHTOOL_LINK_MODE_800000baseDR8_2_Full_BIT = 96,
1742 ETHTOOL_LINK_MODE_800000baseSR8_Full_BIT = 97,
1743 ETHTOOL_LINK_MODE_800000baseVR8_Full_BIT = 98,
1744
1740 /* must be last entry */1745 /* must be last entry */
1741 __ETHTOOL_LINK_MODE_MASK_NBITS1746 __ETHTOOL_LINK_MODE_MASK_NBITS
1742};1747};
@@ -1848,6 +1853,7 @@ enum ethtool_link_mode_bit_indices { · 105 unmodified lines
1848#define SPEED_100000 1000001853#define SPEED_100000 100000
1849#define SPEED_200000 2000001854#define SPEED_200000 200000
1850#define SPEED_400000 4000001855#define SPEED_400000 400000
1856#define SPEED_800000 800000
1851 1857
1852#define SPEED_UNKNOWN -11858#define SPEED_UNKNOWN -1
1853 1859
include/uapi/linux/ethtool_netlink.h+15−0
@@ -51,6 +51,7 @@ enum { · 50 unmodified lines
51 ETHTOOL_MSG_MODULE_SET,51 ETHTOOL_MSG_MODULE_SET,
52 ETHTOOL_MSG_PSE_GET,52 ETHTOOL_MSG_PSE_GET,
53 ETHTOOL_MSG_PSE_SET,53 ETHTOOL_MSG_PSE_SET,
54 ETHTOOL_MSG_RSS_GET,
54 55
55 /* add new constants above here */56 /* add new constants above here */
56 __ETHTOOL_MSG_USER_CNT,57 __ETHTOOL_MSG_USER_CNT,
@@ -97,6 +98,7 @@ enum { · 40 unmodified lines
97 ETHTOOL_MSG_MODULE_GET_REPLY,98 ETHTOOL_MSG_MODULE_GET_REPLY,
98 ETHTOOL_MSG_MODULE_NTF,99 ETHTOOL_MSG_MODULE_NTF,
99 ETHTOOL_MSG_PSE_GET_REPLY,100 ETHTOOL_MSG_PSE_GET_REPLY,
101 ETHTOOL_MSG_RSS_GET_REPLY,
100 102
101 /* add new constants above here */103 /* add new constants above here */
102 __ETHTOOL_MSG_KERNEL_CNT,104 __ETHTOOL_MSG_KERNEL_CNT,
@@ -262,6 +264,7 @@ enum { · 159 unmodified lines
262 ETHTOOL_A_LINKSTATE_SQI_MAX, /* u32 */264 ETHTOOL_A_LINKSTATE_SQI_MAX, /* u32 */
263 ETHTOOL_A_LINKSTATE_EXT_STATE, /* u8 */265 ETHTOOL_A_LINKSTATE_EXT_STATE, /* u8 */
264 ETHTOOL_A_LINKSTATE_EXT_SUBSTATE, /* u8 */266 ETHTOOL_A_LINKSTATE_EXT_SUBSTATE, /* u8 */
267 ETHTOOL_A_LINKSTATE_EXT_DOWN_CNT, /* u32 */
265 268
266 /* add new constants above here */269 /* add new constants above here */
267 __ETHTOOL_A_LINKSTATE_CNT,270 __ETHTOOL_A_LINKSTATE_CNT,
@@ -879,6 +882,18 @@ enum { · 611 unmodified lines
879 ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)882 ETHTOOL_A_PSE_MAX = (__ETHTOOL_A_PSE_CNT - 1)
880};883};
881 884
885enum {
886 ETHTOOL_A_RSS_UNSPEC,
887 ETHTOOL_A_RSS_HEADER,
888 ETHTOOL_A_RSS_CONTEXT, /* u32 */
889 ETHTOOL_A_RSS_HFUNC, /* u32 */
890 ETHTOOL_A_RSS_INDIR, /* binary */
891 ETHTOOL_A_RSS_HKEY, /* binary */
892
893 __ETHTOOL_A_RSS_CNT,
894 ETHTOOL_A_RSS_MAX = (__ETHTOOL_A_RSS_CNT - 1),
895};
896
882/* generic netlink info */897/* generic netlink info */
883#define ETHTOOL_GENL_NAME "ethtool"898#define ETHTOOL_GENL_NAME "ethtool"
884#define ETHTOOL_GENL_VERSION 1899#define ETHTOOL_GENL_VERSION 1
include/uapi/linux/if_bridge.h+21−0
@@ -723,10 +723,31 @@ enum { · 722 unmodified lines
723enum {723enum {
724 MDBE_ATTR_UNSPEC,724 MDBE_ATTR_UNSPEC,
725 MDBE_ATTR_SOURCE,725 MDBE_ATTR_SOURCE,
726 MDBE_ATTR_SRC_LIST,
727 MDBE_ATTR_GROUP_MODE,
728 MDBE_ATTR_RTPROT,
726 __MDBE_ATTR_MAX,729 __MDBE_ATTR_MAX,
727};730};
728#define MDBE_ATTR_MAX (__MDBE_ATTR_MAX - 1)731#define MDBE_ATTR_MAX (__MDBE_ATTR_MAX - 1)
729 732
733/* per mdb entry source */
734enum {
735 MDBE_SRC_LIST_UNSPEC,
736 MDBE_SRC_LIST_ENTRY,
737 __MDBE_SRC_LIST_MAX,
738};
739#define MDBE_SRC_LIST_MAX (__MDBE_SRC_LIST_MAX - 1)
740
741/* per mdb entry per source attributes
742 * these are embedded in MDBE_SRC_LIST_ENTRY
743 */
744enum {
745 MDBE_SRCATTR_UNSPEC,
746 MDBE_SRCATTR_ADDRESS,
747 __MDBE_SRCATTR_MAX,
748};
749#define MDBE_SRCATTR_MAX (__MDBE_SRCATTR_MAX - 1)
750
730/* Embedded inside LINK_XSTATS_TYPE_BRIDGE */751/* Embedded inside LINK_XSTATS_TYPE_BRIDGE */
731enum {752enum {
732 BRIDGE_XSTATS_UNSPEC,753 BRIDGE_XSTATS_UNSPEC,
include/uapi/linux/if_link.h+3−0
@@ -372,6 +372,8 @@ enum { · 371 unmodified lines
372 IFLA_TSO_MAX_SEGS,372 IFLA_TSO_MAX_SEGS,
373 IFLA_ALLMULTI, /* Allmulti count: > 0 means acts ALLMULTI */373 IFLA_ALLMULTI, /* Allmulti count: > 0 means acts ALLMULTI */
374 374
375 IFLA_DEVLINK_PORT,
376
375 __IFLA_MAX377 __IFLA_MAX
376};378};
377 379
@@ -561,6 +563,7 @@ enum { · 183 unmodified lines
561 IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT,563 IFLA_BRPORT_MCAST_EHT_HOSTS_LIMIT,
562 IFLA_BRPORT_MCAST_EHT_HOSTS_CNT,564 IFLA_BRPORT_MCAST_EHT_HOSTS_CNT,
563 IFLA_BRPORT_LOCKED,565 IFLA_BRPORT_LOCKED,
566 IFLA_BRPORT_MAB,
564 __IFLA_BRPORT_MAX567 __IFLA_BRPORT_MAX
565};568};
566#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)569#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
include/uapi/linux/if_packet.h+1−0
@@ -70,6 +70,7 @@ struct sockaddr_ll { · 69 unmodified lines
70#define PACKET_FANOUT_EBPF 770#define PACKET_FANOUT_EBPF 7
71#define PACKET_FANOUT_FLAG_ROLLOVER 0x100071#define PACKET_FANOUT_FLAG_ROLLOVER 0x1000
72#define PACKET_FANOUT_FLAG_UNIQUEID 0x200072#define PACKET_FANOUT_FLAG_UNIQUEID 0x2000
73#define PACKET_FANOUT_FLAG_IGNORE_OUTGOING 0x4000
73#define PACKET_FANOUT_FLAG_DEFRAG 0x800074#define PACKET_FANOUT_FLAG_DEFRAG 0x8000
74 75
75struct tpacket_stats {76struct tpacket_stats {
include/uapi/linux/if_tun.h+2−0
@@ -90,6 +90,8 @@ · 89 unmodified lines
90#define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */90#define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */
91#define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */91#define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */
92#define TUN_F_UFO 0x10 /* I can handle UFO packets */92#define TUN_F_UFO 0x10 /* I can handle UFO 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 */
93 95
94/* Protocol info prepended to the packets (when IFF_NO_PI is not set) */96/* Protocol info prepended to the packets (when IFF_NO_PI is not set) */
95#define TUN_PKT_STRIP 0x000197#define TUN_PKT_STRIP 0x0001
include/uapi/linux/mptcp.h+9−0
@@ -160,6 +160,12 @@ struct mptcp_info { · 159 unmodified lines
160 * daddr4 | daddr6, sport, dport, backup, if_idx160 * daddr4 | daddr6, sport, dport, backup, if_idx
161 * [, error]161 * [, error]
162 * The priority of a subflow has changed. 'error' should not be set.162 * The priority of a subflow has changed. 'error' should not be set.
163 *
164 * MPTCP_EVENT_LISTENER_CREATED: family, sport, saddr4 | saddr6
165 * A new PM listener is created.
166 *
167 * MPTCP_EVENT_LISTENER_CLOSED: family, sport, saddr4 | saddr6
168 * A PM listener is closed.
163 */169 */
164enum mptcp_event_type {170enum mptcp_event_type {
165 MPTCP_EVENT_UNSPEC = 0,171 MPTCP_EVENT_UNSPEC = 0,
@@ -174,6 +180,9 @@ enum mptcp_event_type { · 8 unmodified lines
174 MPTCP_EVENT_SUB_CLOSED = 11,180 MPTCP_EVENT_SUB_CLOSED = 11,
175 181
176 MPTCP_EVENT_SUB_PRIORITY = 13,182 MPTCP_EVENT_SUB_PRIORITY = 13,
183
184 MPTCP_EVENT_LISTENER_CREATED = 15,
185 MPTCP_EVENT_LISTENER_CLOSED = 16,
177};186};
178 187
179enum mptcp_event_attr {188enum mptcp_event_attr {
include/uapi/linux/neighbour.h+7−1
@@ -52,7 +52,8 @@ enum { · 51 unmodified lines
52#define NTF_STICKY (1 << 6)52#define NTF_STICKY (1 << 6)
53#define NTF_ROUTER (1 << 7)53#define NTF_ROUTER (1 << 7)
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 57
57/*58/*
58 * Neighbor Cache Entry States.59 * Neighbor Cache Entry States.
@@ -86,6 +87,11 @@ enum { · 27 unmodified lines
86 * NTF_EXT_MANAGED flagged neigbor entries are managed by the kernel on behalf87 * NTF_EXT_MANAGED flagged neigbor entries are managed by the kernel on behalf
87 * of a user space control plane, and automatically refreshed so that (if88 * of a user space control plane, and automatically refreshed so that (if
88 * possible) they remain in NUD_REACHABLE state.89 * possible) they remain in NUD_REACHABLE state.
90 *
91 * NTF_EXT_LOCKED flagged bridge FDB entries are entries generated by the
92 * bridge in response to a host trying to communicate via a locked bridge port
93 * with MAB enabled. Their purpose is to notify user space that a host requires
94 * authentication.
89 */95 */
90 96
91struct nda_cacheinfo {97struct nda_cacheinfo {
include/uapi/linux/net_tstamp.h+2−1
@@ -31,8 +31,9 @@ enum { · 30 unmodified lines
31 SOF_TIMESTAMPING_OPT_PKTINFO = (1<<13),31 SOF_TIMESTAMPING_OPT_PKTINFO = (1<<13),
32 SOF_TIMESTAMPING_OPT_TX_SWHW = (1<<14),32 SOF_TIMESTAMPING_OPT_TX_SWHW = (1<<14),
33 SOF_TIMESTAMPING_BIND_PHC = (1 << 15),33 SOF_TIMESTAMPING_BIND_PHC = (1 << 15),
34 SOF_TIMESTAMPING_OPT_ID_TCP = (1 << 16),
34 35
35 SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_BIND_PHC,36 SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_ID_TCP,
36 SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |37 SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |
37 SOF_TIMESTAMPING_LAST38 SOF_TIMESTAMPING_LAST
38};39};
include/uapi/linux/netfilter/ipset/ip_set.h+2−0
@@ -85,6 +85,7 @@ enum { · 84 unmodified lines
85 IPSET_ATTR_CADT_LINENO = IPSET_ATTR_LINENO, /* 9 */85 IPSET_ATTR_CADT_LINENO = IPSET_ATTR_LINENO, /* 9 */
86 IPSET_ATTR_MARK, /* 10 */86 IPSET_ATTR_MARK, /* 10 */
87 IPSET_ATTR_MARKMASK, /* 11 */87 IPSET_ATTR_MARKMASK, /* 11 */
88 IPSET_ATTR_BITMASK, /* 12 */
88 /* Reserve empty slots */89 /* Reserve empty slots */
89 IPSET_ATTR_CADT_MAX = 16,90 IPSET_ATTR_CADT_MAX = 16,
90 /* Create-only specific attributes */91 /* Create-only specific attributes */
@@ -153,6 +154,7 @@ enum ipset_errno { · 62 unmodified lines
153 IPSET_ERR_COMMENT,154 IPSET_ERR_COMMENT,
154 IPSET_ERR_INVALID_MARKMASK,155 IPSET_ERR_INVALID_MARKMASK,
155 IPSET_ERR_SKBINFO,156 IPSET_ERR_SKBINFO,
157 IPSET_ERR_BITMASK_NETMASK_EXCL,
156 158
157 /* Type specific error codes */159 /* Type specific error codes */
158 IPSET_ERR_TYPE_SPECIFIC = 4352,160 IPSET_ERR_TYPE_SPECIFIC = 4352,
include/uapi/linux/netfilter/nf_conntrack_sctp.h+1−0
@@ -16,6 +16,7 @@ enum sctp_conntrack { · 15 unmodified lines
16 SCTP_CONNTRACK_SHUTDOWN_ACK_SENT,16 SCTP_CONNTRACK_SHUTDOWN_ACK_SENT,
17 SCTP_CONNTRACK_HEARTBEAT_SENT,17 SCTP_CONNTRACK_HEARTBEAT_SENT,
18 SCTP_CONNTRACK_HEARTBEAT_ACKED,18 SCTP_CONNTRACK_HEARTBEAT_ACKED,
19 SCTP_CONNTRACK_DATA_SENT,
19 SCTP_CONNTRACK_MAX20 SCTP_CONNTRACK_MAX
20};21};
21 22
include/uapi/linux/netfilter/nf_tables.h+29−0
@@ -97,6 +97,7 @@ enum nft_verdicts { · 96 unmodified lines
97 * @NFT_MSG_NEWFLOWTABLE: add new flow table (enum nft_flowtable_attributes)97 * @NFT_MSG_NEWFLOWTABLE: add new flow table (enum nft_flowtable_attributes)
98 * @NFT_MSG_GETFLOWTABLE: get flow table (enum nft_flowtable_attributes)98 * @NFT_MSG_GETFLOWTABLE: get flow table (enum nft_flowtable_attributes)
99 * @NFT_MSG_DELFLOWTABLE: delete flow table (enum nft_flowtable_attributes)99 * @NFT_MSG_DELFLOWTABLE: delete flow table (enum nft_flowtable_attributes)
100 * @NFT_MSG_GETRULE_RESET: get rules and reset stateful expressions (enum nft_obj_attributes)
100 */101 */
101enum nf_tables_msg_types {102enum nf_tables_msg_types {
102 NFT_MSG_NEWTABLE,103 NFT_MSG_NEWTABLE,
@@ -124,6 +125,7 @@ enum nf_tables_msg_types { · 21 unmodified lines
124 NFT_MSG_NEWFLOWTABLE,125 NFT_MSG_NEWFLOWTABLE,
125 NFT_MSG_GETFLOWTABLE,126 NFT_MSG_GETFLOWTABLE,
126 NFT_MSG_DELFLOWTABLE,127 NFT_MSG_DELFLOWTABLE,
128 NFT_MSG_GETRULE_RESET,
127 NFT_MSG_MAX,129 NFT_MSG_MAX,
128};130};
129 131
@@ -760,6 +762,7 @@ enum nft_payload_bases { · 630 unmodified lines
760 NFT_PAYLOAD_NETWORK_HEADER,762 NFT_PAYLOAD_NETWORK_HEADER,
761 NFT_PAYLOAD_TRANSPORT_HEADER,763 NFT_PAYLOAD_TRANSPORT_HEADER,
762 NFT_PAYLOAD_INNER_HEADER,764 NFT_PAYLOAD_INNER_HEADER,
765 NFT_PAYLOAD_TUN_HEADER,
763};766};
764 767
765/**768/**
@@ -779,6 +782,32 @@ enum nft_payload_csum_flags { · 13 unmodified lines
779 NFT_PAYLOAD_L4CSUM_PSEUDOHDR = (1 << 0),782 NFT_PAYLOAD_L4CSUM_PSEUDOHDR = (1 << 0),
780};783};
781 784
785enum nft_inner_type {
786 NFT_INNER_UNSPEC = 0,
787 NFT_INNER_VXLAN,
788 NFT_INNER_GENEVE,
789};
790
791enum nft_inner_flags {
792 NFT_INNER_HDRSIZE = (1 << 0),
793 NFT_INNER_LL = (1 << 1),
794 NFT_INNER_NH = (1 << 2),
795 NFT_INNER_TH = (1 << 3),
796};
797#define NFT_INNER_MASK (NFT_INNER_HDRSIZE | NFT_INNER_LL | \
798 NFT_INNER_NH | NFT_INNER_TH)
799
800enum nft_inner_attributes {
801 NFTA_INNER_UNSPEC,
802 NFTA_INNER_NUM,
803 NFTA_INNER_TYPE,
804 NFTA_INNER_FLAGS,
805 NFTA_INNER_HDRSIZE,
806 NFTA_INNER_EXPR,
807 __NFTA_INNER_MAX
808};
809#define NFTA_INNER_MAX (__NFTA_INNER_MAX - 1)
810
782/**811/**
783 * enum nft_payload_attributes - nf_tables payload expression netlink attributes812 * enum nft_payload_attributes - nf_tables payload expression netlink attributes
784 *813 *
include/uapi/linux/netfilter/nfnetlink_cttimeout.h+1−0
@@ -95,6 +95,7 @@ enum ctattr_timeout_sctp { · 94 unmodified lines
95 CTA_TIMEOUT_SCTP_SHUTDOWN_ACK_SENT,95 CTA_TIMEOUT_SCTP_SHUTDOWN_ACK_SENT,
96 CTA_TIMEOUT_SCTP_HEARTBEAT_SENT,96 CTA_TIMEOUT_SCTP_HEARTBEAT_SENT,
97 CTA_TIMEOUT_SCTP_HEARTBEAT_ACKED,97 CTA_TIMEOUT_SCTP_HEARTBEAT_ACKED,
98 CTA_TIMEOUT_SCTP_DATA_SENT,
98 __CTA_TIMEOUT_SCTP_MAX99 __CTA_TIMEOUT_SCTP_MAX
99};100};
100#define CTA_TIMEOUT_SCTP_MAX (__CTA_TIMEOUT_SCTP_MAX - 1)101#define CTA_TIMEOUT_SCTP_MAX (__CTA_TIMEOUT_SCTP_MAX - 1)
include/uapi/linux/nl80211.h+3−0
@@ -2749,6 +2749,8 @@ enum nl80211_commands { · 2748 unmodified lines
2749 * When used with %NL80211_CMD_FRAME_TX_STATUS, indicates the ack RX2749 * When used with %NL80211_CMD_FRAME_TX_STATUS, indicates the ack RX
2750 * timestamp. When used with %NL80211_CMD_FRAME RX notification, indicates2750 * timestamp. When used with %NL80211_CMD_FRAME RX notification, indicates
2751 * the incoming frame RX timestamp.2751 * the incoming frame RX timestamp.
2752 * @NL80211_ATTR_TD_BITMAP: Transition Disable bitmap, for subsequent
2753 * (re)associations.
2752 * @NUM_NL80211_ATTR: total number of nl80211_attrs available2754 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
2753 * @NL80211_ATTR_MAX: highest attribute number currently defined2755 * @NL80211_ATTR_MAX: highest attribute number currently defined
2754 * @__NL80211_ATTR_AFTER_LAST: internal use2756 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -3276,6 +3278,7 @@ enum nl80211_attrs { · 521 unmodified lines
3276 3278
3277 NL80211_ATTR_TX_HW_TIMESTAMP,3279 NL80211_ATTR_TX_HW_TIMESTAMP,
3278 NL80211_ATTR_RX_HW_TIMESTAMP,3280 NL80211_ATTR_RX_HW_TIMESTAMP,
3281 NL80211_ATTR_TD_BITMAP,
3279 3282
3280 /* add attributes here, update the policy in nl80211.c */3283 /* add attributes here, update the policy in nl80211.c */
3281 3284
include/uapi/linux/openvswitch.h+14−0
@@ -277,11 +277,25 @@ enum ovs_vport_attr { · 276 unmodified lines
277 OVS_VPORT_ATTR_PAD,277 OVS_VPORT_ATTR_PAD,
278 OVS_VPORT_ATTR_IFINDEX,278 OVS_VPORT_ATTR_IFINDEX,
279 OVS_VPORT_ATTR_NETNSID,279 OVS_VPORT_ATTR_NETNSID,
280 OVS_VPORT_ATTR_UPCALL_STATS,
280 __OVS_VPORT_ATTR_MAX281 __OVS_VPORT_ATTR_MAX
281};282};
282 283
283#define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1)284#define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1)
284 285
286/**
287 * enum ovs_vport_upcall_attr - attributes for %OVS_VPORT_UPCALL* commands
288 * @OVS_VPORT_UPCALL_SUCCESS: 64-bit upcall success packets.
289 * @OVS_VPORT_UPCALL_FAIL: 64-bit upcall fail packets.
290 */
291enum ovs_vport_upcall_attr {
292 OVS_VPORT_UPCALL_ATTR_SUCCESS,
293 OVS_VPORT_UPCALL_ATTR_FAIL,
294 __OVS_VPORT_UPCALL_ATTR_MAX
295};
296
297#define OVS_VPORT_UPCALL_ATTR_MAX (__OVS_VPORT_UPCALL_ATTR_MAX - 1)
298
285enum {299enum {
286 OVS_VXLAN_EXT_UNSPEC,300 OVS_VXLAN_EXT_UNSPEC,
287 OVS_VXLAN_EXT_GBP, /* Flag or __u32 */301 OVS_VXLAN_EXT_GBP, /* Flag or __u32 */
include/uapi/linux/snmp.h+1−0
@@ -292,6 +292,7 @@ enum · 291 unmodified lines
292 LINUX_MIB_TCPDSACKIGNOREDDUBIOUS, /* TCPDSACKIgnoredDubious */292 LINUX_MIB_TCPDSACKIGNOREDDUBIOUS, /* TCPDSACKIgnoredDubious */
293 LINUX_MIB_TCPMIGRATEREQSUCCESS, /* TCPMigrateReqSuccess */293 LINUX_MIB_TCPMIGRATEREQSUCCESS, /* TCPMigrateReqSuccess */
294 LINUX_MIB_TCPMIGRATEREQFAILURE, /* TCPMigrateReqFailure */294 LINUX_MIB_TCPMIGRATEREQFAILURE, /* TCPMigrateReqFailure */
295 LINUX_MIB_TCPPLBREHASH, /* TCPPLBRehash */
295 __LINUX_MIB_MAX296 __LINUX_MIB_MAX
296};297};
297 298
include/uapi/linux/tc_act/tc_ct.h+3−0
@@ -22,6 +22,9 @@ enum { · 21 unmodified lines
22 TCA_CT_NAT_PORT_MIN, /* be16 */22 TCA_CT_NAT_PORT_MIN, /* be16 */
23 TCA_CT_NAT_PORT_MAX, /* be16 */23 TCA_CT_NAT_PORT_MAX, /* be16 */
24 TCA_CT_PAD,24 TCA_CT_PAD,
25 TCA_CT_HELPER_NAME, /* string */
26 TCA_CT_HELPER_FAMILY, /* u8 */
27 TCA_CT_HELPER_PROTO, /* u8 */
25 __TCA_CT_MAX28 __TCA_CT_MAX
26};29};
27 30
include/uapi/linux/tcp.h+6−0
@@ -284,6 +284,11 @@ struct tcp_info { · 283 unmodified lines
284 __u32 tcpi_snd_wnd; /* peer's advertised receive window after284 __u32 tcpi_snd_wnd; /* peer's advertised receive window after
285 * scaling (bytes)285 * scaling (bytes)
286 */286 */
287 __u32 tcpi_rcv_wnd; /* local advertised receive window after
288 * scaling (bytes)
289 */
290
291 __u32 tcpi_rehash; /* PLB or timeout triggered rehash attempts */
287};292};
288 293
289/* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */294/* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */
@@ -315,6 +320,7 @@ enum { · 25 unmodified lines
315 TCP_NLA_BYTES_NOTSENT, /* Bytes in write queue not yet sent */320 TCP_NLA_BYTES_NOTSENT, /* Bytes in write queue not yet sent */
316 TCP_NLA_EDT, /* Earliest departure time (CLOCK_MONOTONIC) */321 TCP_NLA_EDT, /* Earliest departure time (CLOCK_MONOTONIC) */
317 TCP_NLA_TTL, /* TTL or hop limit of a packet received */322 TCP_NLA_TTL, /* TTL or hop limit of a packet received */
323 TCP_NLA_REHASH, /* PLB and timeout triggered rehash attempts */
318};324};
319 325
320/* for TCP_MD5SIG socket option */326/* for TCP_MD5SIG socket option */
include/uapi/linux/virtio_bt.h+8−0
@@ -9,6 +9,7 @@ · 8 unmodified lines
9#define VIRTIO_BT_F_VND_HCI 0 /* Indicates vendor command support */9#define VIRTIO_BT_F_VND_HCI 0 /* Indicates vendor command support */
10#define VIRTIO_BT_F_MSFT_EXT 1 /* Indicates MSFT vendor support */10#define VIRTIO_BT_F_MSFT_EXT 1 /* Indicates MSFT vendor support */
11#define VIRTIO_BT_F_AOSP_EXT 2 /* Indicates AOSP vendor support */11#define VIRTIO_BT_F_AOSP_EXT 2 /* Indicates AOSP vendor support */
12#define VIRTIO_BT_F_CONFIG_V2 3 /* Use second version configuration */
12 13
13enum virtio_bt_config_type {14enum virtio_bt_config_type {
14 VIRTIO_BT_CONFIG_TYPE_PRIMARY = 0,15 VIRTIO_BT_CONFIG_TYPE_PRIMARY = 0,
@@ -28,4 +29,11 @@ struct virtio_bt_config { · 13 unmodified lines
28 __u16 msft_opcode;29 __u16 msft_opcode;
29} __attribute__((packed));30} __attribute__((packed));
30 31
32struct virtio_bt_config_v2 {
33 __u8 type;
34 __u8 alignment;
35 __u16 vendor;
36 __u16 msft_opcode;
37};
38
31#endif /* _UAPI_LINUX_VIRTIO_BT_H */39#endif /* _UAPI_LINUX_VIRTIO_BT_H */
include/uapi/linux/virtio_net.h+4−0
@@ -57,6 +57,9 @@ · 56 unmodified lines
57 * Steering */57 * Steering */
58#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */58#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */
59#define VIRTIO_NET_F_NOTF_COAL 53 /* Device supports notifications coalescing */59#define VIRTIO_NET_F_NOTF_COAL 53 /* Device supports notifications coalescing */
60#define VIRTIO_NET_F_GUEST_USO4 54 /* Guest can handle USOv4 in. */
61#define VIRTIO_NET_F_GUEST_USO6 55 /* Guest can handle USOv6 in. */
62#define VIRTIO_NET_F_HOST_USO 56 /* Host can handle USO in. */
60#define VIRTIO_NET_F_HASH_REPORT 57 /* Supports hash report */63#define VIRTIO_NET_F_HASH_REPORT 57 /* Supports hash report */
61#define VIRTIO_NET_F_RSS 60 /* Supports RSS RX steering */64#define VIRTIO_NET_F_RSS 60 /* Supports RSS RX steering */
62#define VIRTIO_NET_F_RSC_EXT 61 /* extended coalescing info */65#define VIRTIO_NET_F_RSC_EXT 61 /* extended coalescing info */
@@ -130,6 +133,7 @@ struct virtio_net_hdr_v1 { · 67 unmodified lines
130#define VIRTIO_NET_HDR_GSO_TCPV4 1 /* GSO frame, IPv4 TCP (TSO) */133#define VIRTIO_NET_HDR_GSO_TCPV4 1 /* GSO frame, IPv4 TCP (TSO) */
131#define VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */134#define VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */
132#define VIRTIO_NET_HDR_GSO_TCPV6 4 /* GSO frame, IPv6 TCP */135#define VIRTIO_NET_HDR_GSO_TCPV6 4 /* GSO frame, IPv6 TCP */
136#define VIRTIO_NET_HDR_GSO_UDP_L4 5 /* GSO frame, IPv4& IPv6 UDP (USO) */
133#define VIRTIO_NET_HDR_GSO_ECN 0x80 /* TCP has ECN set */137#define VIRTIO_NET_HDR_GSO_ECN 0x80 /* TCP has ECN set */
134 __u8 gso_type;138 __u8 gso_type;
135 __virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */139 __virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */
include/uapi/linux/xfrm.h+6−0
@@ -519,6 +519,12 @@ struct xfrm_user_offload { · 518 unmodified lines
519 */519 */
520#define XFRM_OFFLOAD_IPV6 1520#define XFRM_OFFLOAD_IPV6 1
521#define XFRM_OFFLOAD_INBOUND 2521#define XFRM_OFFLOAD_INBOUND 2
522/* Two bits above are relevant for state path only, while
523 * offload is used for both policy and state flows.
524 *
525 * In policy offload mode, they are free and can be safely reused.
526 */
527#define XFRM_OFFLOAD_PACKET 4
522 528
523struct xfrm_userpolicy_default {529struct xfrm_userpolicy_default {
524#define XFRM_USERPOLICY_UNSPEC 0530#define XFRM_USERPOLICY_UNSPEC 0