Update kernel headers
Update kernel headers to commit:
354d86141796 ("Merge branch 'net-reduce-dynamic-lockdep-keys'")
Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
4e578c78fe
commit
ae57e82da0
|
|
@ -113,6 +113,9 @@ enum bpf_cmd {
|
||||||
BPF_MAP_DELETE_BATCH,
|
BPF_MAP_DELETE_BATCH,
|
||||||
BPF_LINK_CREATE,
|
BPF_LINK_CREATE,
|
||||||
BPF_LINK_UPDATE,
|
BPF_LINK_UPDATE,
|
||||||
|
BPF_LINK_GET_FD_BY_ID,
|
||||||
|
BPF_LINK_GET_NEXT_ID,
|
||||||
|
BPF_ENABLE_STATS,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum bpf_map_type {
|
enum bpf_map_type {
|
||||||
|
|
@ -220,6 +223,15 @@ enum bpf_attach_type {
|
||||||
|
|
||||||
#define MAX_BPF_ATTACH_TYPE __MAX_BPF_ATTACH_TYPE
|
#define MAX_BPF_ATTACH_TYPE __MAX_BPF_ATTACH_TYPE
|
||||||
|
|
||||||
|
enum bpf_link_type {
|
||||||
|
BPF_LINK_TYPE_UNSPEC = 0,
|
||||||
|
BPF_LINK_TYPE_RAW_TRACEPOINT = 1,
|
||||||
|
BPF_LINK_TYPE_TRACING = 2,
|
||||||
|
BPF_LINK_TYPE_CGROUP = 3,
|
||||||
|
|
||||||
|
MAX_BPF_LINK_TYPE,
|
||||||
|
};
|
||||||
|
|
||||||
/* cgroup-bpf attach flags used in BPF_PROG_ATTACH command
|
/* cgroup-bpf attach flags used in BPF_PROG_ATTACH command
|
||||||
*
|
*
|
||||||
* NONE(default): No further bpf programs allowed in the subtree.
|
* NONE(default): No further bpf programs allowed in the subtree.
|
||||||
|
|
@ -379,6 +391,12 @@ enum {
|
||||||
*/
|
*/
|
||||||
#define BPF_F_QUERY_EFFECTIVE (1U << 0)
|
#define BPF_F_QUERY_EFFECTIVE (1U << 0)
|
||||||
|
|
||||||
|
/* type for BPF_ENABLE_STATS */
|
||||||
|
enum bpf_stats_type {
|
||||||
|
/* enabled run_time_ns and run_cnt */
|
||||||
|
BPF_STATS_RUN_TIME = 0,
|
||||||
|
};
|
||||||
|
|
||||||
enum bpf_stack_build_id_status {
|
enum bpf_stack_build_id_status {
|
||||||
/* user space need an empty entry to identify end of a trace */
|
/* user space need an empty entry to identify end of a trace */
|
||||||
BPF_STACK_BUILD_ID_EMPTY = 0,
|
BPF_STACK_BUILD_ID_EMPTY = 0,
|
||||||
|
|
@ -523,6 +541,7 @@ union bpf_attr {
|
||||||
__u32 prog_id;
|
__u32 prog_id;
|
||||||
__u32 map_id;
|
__u32 map_id;
|
||||||
__u32 btf_id;
|
__u32 btf_id;
|
||||||
|
__u32 link_id;
|
||||||
};
|
};
|
||||||
__u32 next_id;
|
__u32 next_id;
|
||||||
__u32 open_flags;
|
__u32 open_flags;
|
||||||
|
|
@ -589,6 +608,10 @@ union bpf_attr {
|
||||||
__u32 old_prog_fd;
|
__u32 old_prog_fd;
|
||||||
} link_update;
|
} link_update;
|
||||||
|
|
||||||
|
struct { /* struct used by BPF_ENABLE_STATS command */
|
||||||
|
__u32 type;
|
||||||
|
} enable_stats;
|
||||||
|
|
||||||
} __attribute__((aligned(8)));
|
} __attribute__((aligned(8)));
|
||||||
|
|
||||||
/* The description below is an attempt at providing documentation to eBPF
|
/* The description below is an attempt at providing documentation to eBPF
|
||||||
|
|
@ -652,6 +675,8 @@ union bpf_attr {
|
||||||
* u64 bpf_ktime_get_ns(void)
|
* u64 bpf_ktime_get_ns(void)
|
||||||
* Description
|
* Description
|
||||||
* Return the time elapsed since system boot, in nanoseconds.
|
* Return the time elapsed since system boot, in nanoseconds.
|
||||||
|
* Does not include time the system was suspended.
|
||||||
|
* See: clock_gettime(CLOCK_MONOTONIC)
|
||||||
* Return
|
* Return
|
||||||
* Current *ktime*.
|
* Current *ktime*.
|
||||||
*
|
*
|
||||||
|
|
@ -1562,7 +1587,7 @@ union bpf_attr {
|
||||||
* Return
|
* Return
|
||||||
* 0
|
* 0
|
||||||
*
|
*
|
||||||
* int bpf_setsockopt(struct bpf_sock_ops *bpf_socket, int level, int optname, void *optval, int optlen)
|
* int bpf_setsockopt(void *bpf_socket, int level, int optname, void *optval, int optlen)
|
||||||
* Description
|
* Description
|
||||||
* Emulate a call to **setsockopt()** on the socket associated to
|
* Emulate a call to **setsockopt()** on the socket associated to
|
||||||
* *bpf_socket*, which must be a full socket. The *level* at
|
* *bpf_socket*, which must be a full socket. The *level* at
|
||||||
|
|
@ -1570,6 +1595,11 @@ union bpf_attr {
|
||||||
* must be specified, see **setsockopt(2)** for more information.
|
* must be specified, see **setsockopt(2)** for more information.
|
||||||
* The option value of length *optlen* is pointed by *optval*.
|
* The option value of length *optlen* is pointed by *optval*.
|
||||||
*
|
*
|
||||||
|
* *bpf_socket* should be one of the following:
|
||||||
|
* * **struct bpf_sock_ops** for **BPF_PROG_TYPE_SOCK_OPS**.
|
||||||
|
* * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT**
|
||||||
|
* and **BPF_CGROUP_INET6_CONNECT**.
|
||||||
|
*
|
||||||
* This helper actually implements a subset of **setsockopt()**.
|
* This helper actually implements a subset of **setsockopt()**.
|
||||||
* It supports the following *level*\ s:
|
* It supports the following *level*\ s:
|
||||||
*
|
*
|
||||||
|
|
@ -1764,7 +1794,7 @@ union bpf_attr {
|
||||||
* Return
|
* Return
|
||||||
* 0 on success, or a negative error in case of failure.
|
* 0 on success, or a negative error in case of failure.
|
||||||
*
|
*
|
||||||
* int bpf_getsockopt(struct bpf_sock_ops *bpf_socket, int level, int optname, void *optval, int optlen)
|
* int bpf_getsockopt(void *bpf_socket, int level, int optname, void *optval, int optlen)
|
||||||
* Description
|
* Description
|
||||||
* Emulate a call to **getsockopt()** on the socket associated to
|
* Emulate a call to **getsockopt()** on the socket associated to
|
||||||
* *bpf_socket*, which must be a full socket. The *level* at
|
* *bpf_socket*, which must be a full socket. The *level* at
|
||||||
|
|
@ -1773,6 +1803,11 @@ union bpf_attr {
|
||||||
* The retrieved value is stored in the structure pointed by
|
* The retrieved value is stored in the structure pointed by
|
||||||
* *opval* and of length *optlen*.
|
* *opval* and of length *optlen*.
|
||||||
*
|
*
|
||||||
|
* *bpf_socket* should be one of the following:
|
||||||
|
* * **struct bpf_sock_ops** for **BPF_PROG_TYPE_SOCK_OPS**.
|
||||||
|
* * **struct bpf_sock_addr** for **BPF_CGROUP_INET4_CONNECT**
|
||||||
|
* and **BPF_CGROUP_INET6_CONNECT**.
|
||||||
|
*
|
||||||
* This helper actually implements a subset of **getsockopt()**.
|
* This helper actually implements a subset of **getsockopt()**.
|
||||||
* It supports the following *level*\ s:
|
* It supports the following *level*\ s:
|
||||||
*
|
*
|
||||||
|
|
@ -3025,6 +3060,14 @@ union bpf_attr {
|
||||||
* * **-EOPNOTSUPP** Unsupported operation, for example a
|
* * **-EOPNOTSUPP** Unsupported operation, for example a
|
||||||
* call from outside of TC ingress.
|
* call from outside of TC ingress.
|
||||||
* * **-ESOCKTNOSUPPORT** Socket type not supported (reuseport).
|
* * **-ESOCKTNOSUPPORT** Socket type not supported (reuseport).
|
||||||
|
*
|
||||||
|
* u64 bpf_ktime_get_boot_ns(void)
|
||||||
|
* Description
|
||||||
|
* Return the time elapsed since system boot, in nanoseconds.
|
||||||
|
* Does include the time the system was suspended.
|
||||||
|
* See: clock_gettime(CLOCK_BOOTTIME)
|
||||||
|
* Return
|
||||||
|
* Current *ktime*.
|
||||||
*/
|
*/
|
||||||
#define __BPF_FUNC_MAPPER(FN) \
|
#define __BPF_FUNC_MAPPER(FN) \
|
||||||
FN(unspec), \
|
FN(unspec), \
|
||||||
|
|
@ -3151,7 +3194,8 @@ union bpf_attr {
|
||||||
FN(xdp_output), \
|
FN(xdp_output), \
|
||||||
FN(get_netns_cookie), \
|
FN(get_netns_cookie), \
|
||||||
FN(get_current_ancestor_cgroup_id), \
|
FN(get_current_ancestor_cgroup_id), \
|
||||||
FN(sk_assign),
|
FN(sk_assign), \
|
||||||
|
FN(ktime_get_boot_ns),
|
||||||
|
|
||||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||||
* function eBPF program intends to call
|
* function eBPF program intends to call
|
||||||
|
|
@ -3598,6 +3642,25 @@ struct bpf_btf_info {
|
||||||
__u32 id;
|
__u32 id;
|
||||||
} __attribute__((aligned(8)));
|
} __attribute__((aligned(8)));
|
||||||
|
|
||||||
|
struct bpf_link_info {
|
||||||
|
__u32 type;
|
||||||
|
__u32 id;
|
||||||
|
__u32 prog_id;
|
||||||
|
union {
|
||||||
|
struct {
|
||||||
|
__aligned_u64 tp_name; /* in/out: tp_name buffer ptr */
|
||||||
|
__u32 tp_name_len; /* in/out: tp_name buffer len */
|
||||||
|
} raw_tracepoint;
|
||||||
|
struct {
|
||||||
|
__u32 attach_type;
|
||||||
|
} tracing;
|
||||||
|
struct {
|
||||||
|
__u64 cgroup_id;
|
||||||
|
__u32 attach_type;
|
||||||
|
} cgroup;
|
||||||
|
};
|
||||||
|
} __attribute__((aligned(8)));
|
||||||
|
|
||||||
/* User bpf_sock_addr struct to access socket fields and sockaddr struct passed
|
/* User bpf_sock_addr struct to access socket fields and sockaddr struct passed
|
||||||
* by user and intended to be used by socket (e.g. to bind to, depends on
|
* by user and intended to be used by socket (e.g. to bind to, depends on
|
||||||
* attach attach type).
|
* attach attach type).
|
||||||
|
|
|
||||||
|
|
@ -48,6 +48,7 @@ enum {
|
||||||
CTRL_CMD_NEWMCAST_GRP,
|
CTRL_CMD_NEWMCAST_GRP,
|
||||||
CTRL_CMD_DELMCAST_GRP,
|
CTRL_CMD_DELMCAST_GRP,
|
||||||
CTRL_CMD_GETMCAST_GRP, /* unused */
|
CTRL_CMD_GETMCAST_GRP, /* unused */
|
||||||
|
CTRL_CMD_GETPOLICY,
|
||||||
__CTRL_CMD_MAX,
|
__CTRL_CMD_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -62,6 +63,7 @@ enum {
|
||||||
CTRL_ATTR_MAXATTR,
|
CTRL_ATTR_MAXATTR,
|
||||||
CTRL_ATTR_OPS,
|
CTRL_ATTR_OPS,
|
||||||
CTRL_ATTR_MCAST_GROUPS,
|
CTRL_ATTR_MCAST_GROUPS,
|
||||||
|
CTRL_ATTR_POLICY,
|
||||||
__CTRL_ATTR_MAX,
|
__CTRL_ATTR_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -96,6 +96,7 @@ enum {
|
||||||
INET_DIAG_BC_MARK_COND,
|
INET_DIAG_BC_MARK_COND,
|
||||||
INET_DIAG_BC_S_EQ,
|
INET_DIAG_BC_S_EQ,
|
||||||
INET_DIAG_BC_D_EQ,
|
INET_DIAG_BC_D_EQ,
|
||||||
|
INET_DIAG_BC_CGROUP_COND, /* u64 cgroup v2 ID */
|
||||||
};
|
};
|
||||||
|
|
||||||
struct inet_diag_hostcond {
|
struct inet_diag_hostcond {
|
||||||
|
|
@ -157,6 +158,7 @@ enum {
|
||||||
INET_DIAG_MD5SIG,
|
INET_DIAG_MD5SIG,
|
||||||
INET_DIAG_ULP_INFO,
|
INET_DIAG_ULP_INFO,
|
||||||
INET_DIAG_SK_BPF_STORAGES,
|
INET_DIAG_SK_BPF_STORAGES,
|
||||||
|
INET_DIAG_CGROUP_ID,
|
||||||
__INET_DIAG_MAX,
|
__INET_DIAG_MAX,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -245,4 +245,107 @@ struct nla_bitfield32 {
|
||||||
__u32 selector;
|
__u32 selector;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* policy descriptions - it's specific to each family how this is used
|
||||||
|
* Normally, it should be retrieved via a dump inside another attribute
|
||||||
|
* specifying where it applies.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum netlink_attribute_type - type of an attribute
|
||||||
|
* @NL_ATTR_TYPE_INVALID: unused
|
||||||
|
* @NL_ATTR_TYPE_FLAG: flag attribute (present/not present)
|
||||||
|
* @NL_ATTR_TYPE_U8: 8-bit unsigned attribute
|
||||||
|
* @NL_ATTR_TYPE_U16: 16-bit unsigned attribute
|
||||||
|
* @NL_ATTR_TYPE_U32: 32-bit unsigned attribute
|
||||||
|
* @NL_ATTR_TYPE_U64: 64-bit unsigned attribute
|
||||||
|
* @NL_ATTR_TYPE_S8: 8-bit signed attribute
|
||||||
|
* @NL_ATTR_TYPE_S16: 16-bit signed attribute
|
||||||
|
* @NL_ATTR_TYPE_S32: 32-bit signed attribute
|
||||||
|
* @NL_ATTR_TYPE_S64: 64-bit signed attribute
|
||||||
|
* @NL_ATTR_TYPE_BINARY: binary data, min/max length may be specified
|
||||||
|
* @NL_ATTR_TYPE_STRING: string, min/max length may be specified
|
||||||
|
* @NL_ATTR_TYPE_NUL_STRING: NUL-terminated string,
|
||||||
|
* min/max length may be specified
|
||||||
|
* @NL_ATTR_TYPE_NESTED: nested, i.e. the content of this attribute
|
||||||
|
* consists of sub-attributes. The nested policy and maxtype
|
||||||
|
* inside may be specified.
|
||||||
|
* @NL_ATTR_TYPE_NESTED_ARRAY: nested array, i.e. the content of this
|
||||||
|
* attribute contains sub-attributes whose type is irrelevant
|
||||||
|
* (just used to separate the array entries) and each such array
|
||||||
|
* entry has attributes again, the policy for those inner ones
|
||||||
|
* and the corresponding maxtype may be specified.
|
||||||
|
* @NL_ATTR_TYPE_BITFIELD32: &struct nla_bitfield32 attribute
|
||||||
|
*/
|
||||||
|
enum netlink_attribute_type {
|
||||||
|
NL_ATTR_TYPE_INVALID,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_FLAG,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_U8,
|
||||||
|
NL_ATTR_TYPE_U16,
|
||||||
|
NL_ATTR_TYPE_U32,
|
||||||
|
NL_ATTR_TYPE_U64,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_S8,
|
||||||
|
NL_ATTR_TYPE_S16,
|
||||||
|
NL_ATTR_TYPE_S32,
|
||||||
|
NL_ATTR_TYPE_S64,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_BINARY,
|
||||||
|
NL_ATTR_TYPE_STRING,
|
||||||
|
NL_ATTR_TYPE_NUL_STRING,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_NESTED,
|
||||||
|
NL_ATTR_TYPE_NESTED_ARRAY,
|
||||||
|
|
||||||
|
NL_ATTR_TYPE_BITFIELD32,
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* enum netlink_policy_type_attr - policy type attributes
|
||||||
|
* @NL_POLICY_TYPE_ATTR_UNSPEC: unused
|
||||||
|
* @NL_POLICY_TYPE_ATTR_TYPE: type of the attribute,
|
||||||
|
* &enum netlink_attribute_type (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MIN_VALUE_S: minimum value for signed
|
||||||
|
* integers (S64)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MAX_VALUE_S: maximum value for signed
|
||||||
|
* integers (S64)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MIN_VALUE_U: minimum value for unsigned
|
||||||
|
* integers (U64)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MAX_VALUE_U: maximum value for unsigned
|
||||||
|
* integers (U64)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MIN_LENGTH: minimum length for binary
|
||||||
|
* attributes, no minimum if not given (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_MAX_LENGTH: maximum length for binary
|
||||||
|
* attributes, no maximum if not given (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_POLICY_IDX: sub policy for nested and
|
||||||
|
* nested array types (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE: maximum sub policy
|
||||||
|
* attribute for nested and nested array types, this can
|
||||||
|
* in theory be < the size of the policy pointed to by
|
||||||
|
* the index, if limited inside the nesting (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_BITFIELD32_MASK: valid mask for the
|
||||||
|
* bitfield32 type (U32)
|
||||||
|
* @NL_POLICY_TYPE_ATTR_PAD: pad attribute for 64-bit alignment
|
||||||
|
*/
|
||||||
|
enum netlink_policy_type_attr {
|
||||||
|
NL_POLICY_TYPE_ATTR_UNSPEC,
|
||||||
|
NL_POLICY_TYPE_ATTR_TYPE,
|
||||||
|
NL_POLICY_TYPE_ATTR_MIN_VALUE_S,
|
||||||
|
NL_POLICY_TYPE_ATTR_MAX_VALUE_S,
|
||||||
|
NL_POLICY_TYPE_ATTR_MIN_VALUE_U,
|
||||||
|
NL_POLICY_TYPE_ATTR_MAX_VALUE_U,
|
||||||
|
NL_POLICY_TYPE_ATTR_MIN_LENGTH,
|
||||||
|
NL_POLICY_TYPE_ATTR_MAX_LENGTH,
|
||||||
|
NL_POLICY_TYPE_ATTR_POLICY_IDX,
|
||||||
|
NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE,
|
||||||
|
NL_POLICY_TYPE_ATTR_BITFIELD32_MASK,
|
||||||
|
NL_POLICY_TYPE_ATTR_PAD,
|
||||||
|
|
||||||
|
/* keep last */
|
||||||
|
__NL_POLICY_TYPE_ATTR_MAX,
|
||||||
|
NL_POLICY_TYPE_ATTR_MAX = __NL_POLICY_TYPE_ATTR_MAX - 1
|
||||||
|
};
|
||||||
|
|
||||||
#endif /* __LINUX_NETLINK_H */
|
#endif /* __LINUX_NETLINK_H */
|
||||||
|
|
|
||||||
|
|
@ -134,6 +134,7 @@ enum tca_id {
|
||||||
TCA_ID_CTINFO,
|
TCA_ID_CTINFO,
|
||||||
TCA_ID_MPLS,
|
TCA_ID_MPLS,
|
||||||
TCA_ID_CT,
|
TCA_ID_CT,
|
||||||
|
TCA_ID_GATE,
|
||||||
/* other actions go here */
|
/* other actions go here */
|
||||||
__TCA_ID_MAX = 255
|
__TCA_ID_MAX = 255
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -913,6 +913,10 @@ enum {
|
||||||
|
|
||||||
TCA_FQ_TIMER_SLACK, /* timer slack */
|
TCA_FQ_TIMER_SLACK, /* timer slack */
|
||||||
|
|
||||||
|
TCA_FQ_HORIZON, /* time horizon in us */
|
||||||
|
|
||||||
|
TCA_FQ_HORIZON_DROP, /* drop packets beyond horizon, or cap their EDT */
|
||||||
|
|
||||||
__TCA_FQ_MAX
|
__TCA_FQ_MAX
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -932,6 +936,8 @@ struct tc_fq_qd_stats {
|
||||||
__u32 throttled_flows;
|
__u32 throttled_flows;
|
||||||
__u32 unthrottle_latency_ns;
|
__u32 unthrottle_latency_ns;
|
||||||
__u64 ce_mark; /* packets above ce_threshold */
|
__u64 ce_mark; /* packets above ce_threshold */
|
||||||
|
__u64 horizon_drops;
|
||||||
|
__u64 horizon_caps;
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Heavy-Hitter Filter */
|
/* Heavy-Hitter Filter */
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue