]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
uapi: headers update from 7.0-rc0 main
authorStephen Hemminger <stephen@networkplumber.org>
Mon, 16 Feb 2026 01:16:48 +0000 (17:16 -0800)
committerStephen Hemminger <stephen@networkplumber.org>
Mon, 16 Feb 2026 01:16:48 +0000 (17:16 -0800)
Updates from upstream.

Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
12 files changed:
include/uapi/linux/bpf.h
include/uapi/linux/dpll.h
include/uapi/linux/if_alg.h
include/uapi/linux/if_link.h
include/uapi/linux/magic.h
include/uapi/linux/mptcp_pm.h
include/uapi/linux/netfilter_ipv4.h
include/uapi/linux/netfilter_ipv6.h
include/uapi/linux/pkt_sched.h
include/uapi/linux/stddef.h
include/uapi/linux/tcp.h
vdpa/include/uapi/linux/virtio_ring.h

index 22eae247bf35f65a1efab460d635b7bec8ee9a41..14c80da5df87f43cfde6b7c1367e8e6c92a48737 100644 (file)
@@ -119,6 +119,14 @@ enum bpf_cgroup_iter_order {
        BPF_CGROUP_ITER_DESCENDANTS_PRE,        /* walk descendants in pre-order. */
        BPF_CGROUP_ITER_DESCENDANTS_POST,       /* walk descendants in post-order. */
        BPF_CGROUP_ITER_ANCESTORS_UP,           /* walk ancestors upward. */
+       /*
+        * Walks the immediate children of the specified parent
+        * cgroup_subsys_state. Unlike BPF_CGROUP_ITER_DESCENDANTS_PRE,
+        * BPF_CGROUP_ITER_DESCENDANTS_POST, and BPF_CGROUP_ITER_ANCESTORS_UP
+        * the iterator does not include the specified parent as one of the
+        * returned iterator elements.
+        */
+       BPF_CGROUP_ITER_CHILDREN,
 };
 
 union bpf_iter_link_info {
@@ -918,6 +926,16 @@ union bpf_iter_link_info {
  *             Number of bytes read from the stream on success, or -1 if an
  *             error occurred (in which case, *errno* is set appropriately).
  *
+ * BPF_PROG_ASSOC_STRUCT_OPS
+ *     Description
+ *             Associate a BPF program with a struct_ops map. The struct_ops
+ *             map is identified by *map_fd* and the BPF program is
+ *             identified by *prog_fd*.
+ *
+ *     Return
+ *             0 on success or -1 if an error occurred (in which case,
+ *             *errno* is set appropriately).
+ *
  * NOTES
  *     eBPF objects (maps and programs) can be shared between processes.
  *
@@ -974,6 +992,7 @@ enum bpf_cmd {
        BPF_PROG_BIND_MAP,
        BPF_TOKEN_CREATE,
        BPF_PROG_STREAM_READ_BY_FD,
+       BPF_PROG_ASSOC_STRUCT_OPS,
        __MAX_BPF_CMD,
 };
 
@@ -1134,6 +1153,7 @@ enum bpf_attach_type {
        BPF_NETKIT_PEER,
        BPF_TRACE_KPROBE_SESSION,
        BPF_TRACE_UPROBE_SESSION,
+       BPF_TRACE_FSESSION,
        __MAX_BPF_ATTACH_TYPE
 };
 
@@ -1373,6 +1393,8 @@ enum {
        BPF_NOEXIST     = 1, /* create new element if it didn't exist */
        BPF_EXIST       = 2, /* update existing element */
        BPF_F_LOCK      = 4, /* spin_lock-ed map_lookup/map_update */
+       BPF_F_CPU       = 8, /* cpu flag for percpu maps, upper 32-bit of flags is a cpu number */
+       BPF_F_ALL_CPUS  = 16, /* update value across all CPUs for percpu maps */
 };
 
 /* flags for BPF_MAP_CREATE command */
@@ -1894,6 +1916,12 @@ union bpf_attr {
                __u32           prog_fd;
        } prog_stream_read;
 
+       struct {
+               __u32           map_fd;
+               __u32           prog_fd;
+               __u32           flags;
+       } prog_assoc_struct_ops;
+
 } __attribute__((aligned(8)));
 
 /* The description below is an attempt at providing documentation to eBPF
index 2fd8091f530f193e431997f2cba548c9c9e51958..f03141ddcd6268f387fa546957342235b6d1595f 100644 (file)
@@ -253,6 +253,7 @@ enum dpll_a_pin {
        DPLL_A_PIN_ESYNC_PULSE,
        DPLL_A_PIN_REFERENCE_SYNC,
        DPLL_A_PIN_PHASE_ADJUST_GRAN,
+       DPLL_A_PIN_FRACTIONAL_FREQUENCY_OFFSET_PPT,
 
        __DPLL_A_PIN_MAX,
        DPLL_A_PIN_MAX = (__DPLL_A_PIN_MAX - 1)
index 0824fbc026a1c166b41d8ca7733cb8d73435276f..79fd8956c4adc018af86d4180a78ff18defaabeb 100644 (file)
@@ -42,7 +42,7 @@ struct sockaddr_alg_new {
 
 struct af_alg_iv {
        __u32   ivlen;
-       __u8    iv[];
+       __u8    iv[] __counted_by(ivlen);
 };
 
 /* Socket options */
index d05f5cc750ff4afa557bf2ea92f284c4decbcea8..2037afbc4b3303862d8de956a8ed1fc17dcac3fe 100644 (file)
@@ -1441,6 +1441,7 @@ enum {
        IFLA_GENEVE_DF,
        IFLA_GENEVE_INNER_PROTO_INHERIT,
        IFLA_GENEVE_PORT_RANGE,
+       IFLA_GENEVE_GRO_HINT,
        __IFLA_GENEVE_MAX
 };
 #define IFLA_GENEVE_MAX        (__IFLA_GENEVE_MAX - 1)
index 638ca21b7a9095d51787b6561471c15646e68605..4f2da935a76ccae6e1c3310b2fae5379186548b8 100644 (file)
 #define SECRETMEM_MAGIC                0x5345434d      /* "SECM" */
 #define PID_FS_MAGIC           0x50494446      /* "PIDF" */
 #define GUEST_MEMFD_MAGIC      0x474d454d      /* "GMEM" */
+#define NULL_FS_MAGIC          0x4E554C4C      /* "NULL" */
 
 #endif /* __LINUX_MAGIC_H__ */
index 593be618b0edd13520720e610e5743597c0200f1..6e38dfc9f258c5d63ef51603ce59e89a2f413d8d 100644 (file)
@@ -11,7 +11,7 @@
 #define MPTCP_PM_VER   1
 
 /**
- * enum mptcp_event_type
+ * enum mptcp_event_type - Netlink MPTCP event types
  * @MPTCP_EVENT_UNSPEC: unused event
  * @MPTCP_EVENT_CREATED: A new MPTCP connection has been created. It is the
  *   good time to allocate memory and send ADD_ADDR if needed. Depending on the
index 96979e37849995a1074ab534c606a4082f6a9d40..9643525d59173ad095b99af251441d7aa548bf1f 100644 (file)
@@ -7,11 +7,10 @@
 
 
 #include <linux/netfilter.h>
+#include <linux/typelimits.h>
 
 /* only for userspace compatibility */
 
-#include <limits.h> /* for INT_MIN, INT_MAX */
-
 /* IP Hooks */
 /* After promisc drops, checksum checks. */
 #define NF_IP_PRE_ROUTING      0
@@ -26,7 +25,7 @@
 #define NF_IP_NUMHOOKS         5
 
 enum nf_ip_hook_priorities {
-       NF_IP_PRI_FIRST = INT_MIN,
+       NF_IP_PRI_FIRST = __KERNEL_INT_MIN,
        NF_IP_PRI_RAW_BEFORE_DEFRAG = -450,
        NF_IP_PRI_CONNTRACK_DEFRAG = -400,
        NF_IP_PRI_RAW = -300,
@@ -39,8 +38,8 @@ enum nf_ip_hook_priorities {
        NF_IP_PRI_NAT_SRC = 100,
        NF_IP_PRI_SELINUX_LAST = 225,
        NF_IP_PRI_CONNTRACK_HELPER = 300,
-       NF_IP_PRI_CONNTRACK_CONFIRM = INT_MAX,
-       NF_IP_PRI_LAST = INT_MAX,
+       NF_IP_PRI_CONNTRACK_CONFIRM = __KERNEL_INT_MAX,
+       NF_IP_PRI_LAST = __KERNEL_INT_MAX,
 };
 
 /* Arguments for setsockopt SOL_IP: */
index eedf7a2d54af8ce7f754af64b5b6a97777cb163f..924323fc2e5237e18e816bf8b0f79a6babb677e5 100644 (file)
 
 
 #include <linux/netfilter.h>
+#include <linux/typelimits.h>
 
 /* only for userspace compatibility */
 
-#include <limits.h> /* for INT_MIN, INT_MAX */
-
 /* IP6 Hooks */
 /* After promisc drops, checksum checks. */
 #define NF_IP6_PRE_ROUTING     0
@@ -30,7 +29,7 @@
 
 
 enum nf_ip6_hook_priorities {
-       NF_IP6_PRI_FIRST = INT_MIN,
+       NF_IP6_PRI_FIRST = __KERNEL_INT_MIN,
        NF_IP6_PRI_RAW_BEFORE_DEFRAG = -450,
        NF_IP6_PRI_CONNTRACK_DEFRAG = -400,
        NF_IP6_PRI_RAW = -300,
@@ -43,7 +42,7 @@ enum nf_ip6_hook_priorities {
        NF_IP6_PRI_NAT_SRC = 100,
        NF_IP6_PRI_SELINUX_LAST = 225,
        NF_IP6_PRI_CONNTRACK_HELPER = 300,
-       NF_IP6_PRI_LAST = INT_MAX,
+       NF_IP6_PRI_LAST = __KERNEL_INT_MAX,
 };
 
 
index 15d1a37ac6d8ff72e97921c41beaee87337286fb..fb07a88982257985da85a5b42af196ef2ffcef4c 100644 (file)
@@ -1036,6 +1036,7 @@ enum {
        TCA_CAKE_STATS_DROP_NEXT_US,
        TCA_CAKE_STATS_P_DROP,
        TCA_CAKE_STATS_BLUE_TIMER_US,
+       TCA_CAKE_STATS_ACTIVE_QUEUES,
        __TCA_CAKE_STATS_MAX
 };
 #define TCA_CAKE_STATS_MAX (__TCA_CAKE_STATS_MAX - 1)
index 48ee4438e0ef053680c64af21553e8180ce5fdee..457498259494646e52c8c8a8acf20d542ad97e29 100644 (file)
 #define __counted_by_be(m)
 #endif
 
+#ifndef __counted_by_ptr
+#define __counted_by_ptr(m)
+#endif
+
 #define __kernel_nonstring
 
 #endif /* _LINUX_STDDEF_H */
index e35d416b45d99f232763e098b20b5f1e8bda7f57..bac6e83f9652aceabda458d94051c1c11e0702a2 100644 (file)
@@ -226,6 +226,24 @@ enum tcp_ca_state {
 #define TCPF_CA_Loss   (1<<TCP_CA_Loss)
 };
 
+/* Values for tcpi_ecn_mode after negotiation */
+#define TCPI_ECN_MODE_DISABLED         0x0
+#define TCPI_ECN_MODE_RFC3168          0x1
+#define TCPI_ECN_MODE_ACCECN           0x2
+#define TCPI_ECN_MODE_PENDING          0x3
+
+/* Values for accecn_opt_seen */
+#define TCP_ACCECN_OPT_NOT_SEEN                0x0
+#define TCP_ACCECN_OPT_EMPTY_SEEN      0x1
+#define TCP_ACCECN_OPT_COUNTER_SEEN    0x2
+#define TCP_ACCECN_OPT_FAIL_SEEN       0x3
+
+/* Values for accecn_fail_mode */
+#define TCP_ACCECN_ACE_FAIL_SEND       BIT(0)
+#define TCP_ACCECN_ACE_FAIL_RECV       BIT(1)
+#define TCP_ACCECN_OPT_FAIL_SEND       BIT(2)
+#define TCP_ACCECN_OPT_FAIL_RECV       BIT(3)
+
 struct tcp_info {
        __u8    tcpi_state;
        __u8    tcpi_ca_state;
@@ -316,15 +334,17 @@ struct tcp_info {
                                         * in milliseconds, including any
                                         * unfinished recovery.
                                         */
-       __u32   tcpi_received_ce;    /* # of CE marks received */
+       __u32   tcpi_received_ce;    /* # of CE marked segments received */
        __u32   tcpi_delivered_e1_bytes;  /* Accurate ECN byte counters */
        __u32   tcpi_delivered_e0_bytes;
        __u32   tcpi_delivered_ce_bytes;
        __u32   tcpi_received_e1_bytes;
        __u32   tcpi_received_e0_bytes;
        __u32   tcpi_received_ce_bytes;
-       __u16   tcpi_accecn_fail_mode;
-       __u16   tcpi_accecn_opt_seen;
+       __u32   tcpi_ecn_mode:2,
+               tcpi_accecn_opt_seen:2,
+               tcpi_accecn_fail_mode:4,
+               tcpi_options2:24;
 };
 
 /* netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */
index 0e827fb50c6078f50761d5e806485c846ee95457..dcaf179874918706723cde1d7587ab2769b802e4 100644 (file)
@@ -31,7 +31,6 @@
  * SUCH DAMAGE.
  *
  * Copyright Rusty Russell IBM Corporation 2007. */
-#include <stdint.h>
 #include <linux/types.h>
 #include <linux/virtio_types.h>
 
@@ -200,7 +199,7 @@ static __inline__ void vring_init(struct vring *vr, unsigned int num, void *p,
        vr->num = num;
        vr->desc = p;
        vr->avail = (struct vring_avail *)((char *)p + num * sizeof(struct vring_desc));
-       vr->used = (void *)(((uintptr_t)&vr->avail->ring[num] + sizeof(__virtio16)
+       vr->used = (void *)(((unsigned long)&vr->avail->ring[num] + sizeof(__virtio16)
                + align-1) & ~(align - 1));
 }