Update kernel headers
Update kernel headers to commit:
280095713ce2 ("Merge branch 'ibmvnic-refactor-some-send-handle-functions'")
Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
b8663da049
commit
f481515c89
|
|
@ -124,6 +124,7 @@ enum bpf_cmd {
|
|||
BPF_ENABLE_STATS,
|
||||
BPF_ITER_CREATE,
|
||||
BPF_LINK_DETACH,
|
||||
BPF_PROG_BIND_MAP,
|
||||
};
|
||||
|
||||
enum bpf_map_type {
|
||||
|
|
@ -658,6 +659,12 @@ union bpf_attr {
|
|||
__u32 flags;
|
||||
} iter_create;
|
||||
|
||||
struct { /* struct used by BPF_PROG_BIND_MAP command */
|
||||
__u32 prog_fd;
|
||||
__u32 map_fd;
|
||||
__u32 flags; /* extra flags */
|
||||
} prog_bind_map;
|
||||
|
||||
} __attribute__((aligned(8)));
|
||||
|
||||
/* The description below is an attempt at providing documentation to eBPF
|
||||
|
|
@ -1447,8 +1454,8 @@ union bpf_attr {
|
|||
* Return
|
||||
* The return value depends on the result of the test, and can be:
|
||||
*
|
||||
* * 0, if the *skb* task belongs to the cgroup2.
|
||||
* * 1, if the *skb* task does not belong to the cgroup2.
|
||||
* * 0, if current task belongs to the cgroup2.
|
||||
* * 1, if current task does not belong to the cgroup2.
|
||||
* * A negative error code, if an error occurred.
|
||||
*
|
||||
* long bpf_skb_change_tail(struct sk_buff *skb, u32 len, u64 flags)
|
||||
|
|
@ -3349,37 +3356,37 @@ union bpf_attr {
|
|||
* Description
|
||||
* Dynamically cast a *sk* pointer to a *tcp6_sock* pointer.
|
||||
* Return
|
||||
* *sk* if casting is valid, or NULL otherwise.
|
||||
* *sk* if casting is valid, or **NULL** otherwise.
|
||||
*
|
||||
* struct tcp_sock *bpf_skc_to_tcp_sock(void *sk)
|
||||
* Description
|
||||
* Dynamically cast a *sk* pointer to a *tcp_sock* pointer.
|
||||
* Return
|
||||
* *sk* if casting is valid, or NULL otherwise.
|
||||
* *sk* if casting is valid, or **NULL** otherwise.
|
||||
*
|
||||
* struct tcp_timewait_sock *bpf_skc_to_tcp_timewait_sock(void *sk)
|
||||
* Description
|
||||
* Dynamically cast a *sk* pointer to a *tcp_timewait_sock* pointer.
|
||||
* Return
|
||||
* *sk* if casting is valid, or NULL otherwise.
|
||||
* *sk* if casting is valid, or **NULL** otherwise.
|
||||
*
|
||||
* struct tcp_request_sock *bpf_skc_to_tcp_request_sock(void *sk)
|
||||
* Description
|
||||
* Dynamically cast a *sk* pointer to a *tcp_request_sock* pointer.
|
||||
* Return
|
||||
* *sk* if casting is valid, or NULL otherwise.
|
||||
* *sk* if casting is valid, or **NULL** otherwise.
|
||||
*
|
||||
* struct udp6_sock *bpf_skc_to_udp6_sock(void *sk)
|
||||
* Description
|
||||
* Dynamically cast a *sk* pointer to a *udp6_sock* pointer.
|
||||
* Return
|
||||
* *sk* if casting is valid, or NULL otherwise.
|
||||
* *sk* if casting is valid, or **NULL** otherwise.
|
||||
*
|
||||
* long bpf_get_task_stack(struct task_struct *task, void *buf, u32 size, u64 flags)
|
||||
* Description
|
||||
* Return a user or a kernel stack in bpf program provided buffer.
|
||||
* To achieve this, the helper needs *task*, which is a valid
|
||||
* pointer to struct task_struct. To store the stacktrace, the
|
||||
* pointer to **struct task_struct**. To store the stacktrace, the
|
||||
* bpf program provides *buf* with a nonnegative *size*.
|
||||
*
|
||||
* The last argument, *flags*, holds the number of stack frames to
|
||||
|
|
@ -3410,12 +3417,12 @@ union bpf_attr {
|
|||
* long bpf_load_hdr_opt(struct bpf_sock_ops *skops, void *searchby_res, u32 len, u64 flags)
|
||||
* Description
|
||||
* Load header option. Support reading a particular TCP header
|
||||
* option for bpf program (BPF_PROG_TYPE_SOCK_OPS).
|
||||
* option for bpf program (**BPF_PROG_TYPE_SOCK_OPS**).
|
||||
*
|
||||
* If *flags* is 0, it will search the option from the
|
||||
* sock_ops->skb_data. The comment in "struct bpf_sock_ops"
|
||||
* *skops*\ **->skb_data**. The comment in **struct bpf_sock_ops**
|
||||
* has details on what skb_data contains under different
|
||||
* sock_ops->op.
|
||||
* *skops*\ **->op**.
|
||||
*
|
||||
* The first byte of the *searchby_res* specifies the
|
||||
* kind that it wants to search.
|
||||
|
|
@ -3435,7 +3442,7 @@ union bpf_attr {
|
|||
* [ 254, 4, 0xeB, 0x9F, 0, 0, .... 0 ].
|
||||
*
|
||||
* To search for the standard window scale option (3),
|
||||
* the searchby_res should be [ 3, 0, 0, .... 0 ].
|
||||
* the *searchby_res* should be [ 3, 0, 0, .... 0 ].
|
||||
* Note, kind-length must be 0 for regular option.
|
||||
*
|
||||
* Searching for No-Op (0) and End-of-Option-List (1) are
|
||||
|
|
@ -3445,27 +3452,30 @@ union bpf_attr {
|
|||
* of a header option.
|
||||
*
|
||||
* Supported flags:
|
||||
*
|
||||
* * **BPF_LOAD_HDR_OPT_TCP_SYN** to search from the
|
||||
* saved_syn packet or the just-received syn packet.
|
||||
*
|
||||
* Return
|
||||
* > 0 when found, the header option is copied to *searchby_res*.
|
||||
* The return value is the total length copied.
|
||||
* The return value is the total length copied. On failure, a
|
||||
* negative error code is returned:
|
||||
*
|
||||
* **-EINVAL** If param is invalid
|
||||
* **-EINVAL** if a parameter is invalid.
|
||||
*
|
||||
* **-ENOMSG** The option is not found
|
||||
* **-ENOMSG** if the option is not found.
|
||||
*
|
||||
* **-ENOENT** No syn packet available when
|
||||
* **BPF_LOAD_HDR_OPT_TCP_SYN** is used
|
||||
* **-ENOENT** if no syn packet is available when
|
||||
* **BPF_LOAD_HDR_OPT_TCP_SYN** is used.
|
||||
*
|
||||
* **-ENOSPC** Not enough space. Only *len* number of
|
||||
* **-ENOSPC** if there is not enough space. Only *len* number of
|
||||
* bytes are copied.
|
||||
*
|
||||
* **-EFAULT** Cannot parse the header options in the packet
|
||||
* **-EFAULT** on failure to parse the header options in the
|
||||
* packet.
|
||||
*
|
||||
* **-EPERM** This helper cannot be used under the
|
||||
* current sock_ops->op.
|
||||
* **-EPERM** if the helper cannot be used under the current
|
||||
* *skops*\ **->op**.
|
||||
*
|
||||
* long bpf_store_hdr_opt(struct bpf_sock_ops *skops, const void *from, u32 len, u64 flags)
|
||||
* Description
|
||||
|
|
@ -3483,44 +3493,44 @@ union bpf_attr {
|
|||
* by searching the same option in the outgoing skb.
|
||||
*
|
||||
* This helper can only be called during
|
||||
* BPF_SOCK_OPS_WRITE_HDR_OPT_CB.
|
||||
* **BPF_SOCK_OPS_WRITE_HDR_OPT_CB**.
|
||||
*
|
||||
* Return
|
||||
* 0 on success, or negative error in case of failure:
|
||||
*
|
||||
* **-EINVAL** If param is invalid
|
||||
* **-EINVAL** If param is invalid.
|
||||
*
|
||||
* **-ENOSPC** Not enough space in the header.
|
||||
* **-ENOSPC** if there is not enough space in the header.
|
||||
* Nothing has been written
|
||||
*
|
||||
* **-EEXIST** The option has already existed
|
||||
* **-EEXIST** if the option already exists.
|
||||
*
|
||||
* **-EFAULT** Cannot parse the existing header options
|
||||
* **-EFAULT** on failrue to parse the existing header options.
|
||||
*
|
||||
* **-EPERM** This helper cannot be used under the
|
||||
* current sock_ops->op.
|
||||
* **-EPERM** if the helper cannot be used under the current
|
||||
* *skops*\ **->op**.
|
||||
*
|
||||
* long bpf_reserve_hdr_opt(struct bpf_sock_ops *skops, u32 len, u64 flags)
|
||||
* Description
|
||||
* Reserve *len* bytes for the bpf header option. The
|
||||
* space will be used by bpf_store_hdr_opt() later in
|
||||
* BPF_SOCK_OPS_WRITE_HDR_OPT_CB.
|
||||
* space will be used by **bpf_store_hdr_opt**\ () later in
|
||||
* **BPF_SOCK_OPS_WRITE_HDR_OPT_CB**.
|
||||
*
|
||||
* If bpf_reserve_hdr_opt() is called multiple times,
|
||||
* If **bpf_reserve_hdr_opt**\ () is called multiple times,
|
||||
* the total number of bytes will be reserved.
|
||||
*
|
||||
* This helper can only be called during
|
||||
* BPF_SOCK_OPS_HDR_OPT_LEN_CB.
|
||||
* **BPF_SOCK_OPS_HDR_OPT_LEN_CB**.
|
||||
*
|
||||
* Return
|
||||
* 0 on success, or negative error in case of failure:
|
||||
*
|
||||
* **-EINVAL** if param is invalid
|
||||
* **-EINVAL** if a parameter is invalid.
|
||||
*
|
||||
* **-ENOSPC** Not enough space in the header.
|
||||
* **-ENOSPC** if there is not enough space in the header.
|
||||
*
|
||||
* **-EPERM** This helper cannot be used under the
|
||||
* current sock_ops->op.
|
||||
* **-EPERM** if the helper cannot be used under the current
|
||||
* *skops*\ **->op**.
|
||||
*
|
||||
* void *bpf_inode_storage_get(struct bpf_map *map, void *inode, void *value, u64 flags)
|
||||
* Description
|
||||
|
|
@ -3560,9 +3570,9 @@ union bpf_attr {
|
|||
*
|
||||
* long bpf_d_path(struct path *path, char *buf, u32 sz)
|
||||
* Description
|
||||
* Return full path for given 'struct path' object, which
|
||||
* needs to be the kernel BTF 'path' object. The path is
|
||||
* returned in the provided buffer 'buf' of size 'sz' and
|
||||
* Return full path for given **struct path** object, which
|
||||
* needs to be the kernel BTF *path* object. The path is
|
||||
* returned in the provided buffer *buf* of size *sz* and
|
||||
* is zero terminated.
|
||||
*
|
||||
* Return
|
||||
|
|
@ -3573,7 +3583,7 @@ union bpf_attr {
|
|||
* long bpf_copy_from_user(void *dst, u32 size, const void *user_ptr)
|
||||
* Description
|
||||
* Read *size* bytes from user space address *user_ptr* and store
|
||||
* the data in *dst*. This is a wrapper of copy_from_user().
|
||||
* the data in *dst*. This is a wrapper of **copy_from_user**\ ().
|
||||
* Return
|
||||
* 0 on success, or a negative error in case of failure.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -230,6 +230,28 @@ enum {
|
|||
DEVLINK_ATTR_STATS_MAX = __DEVLINK_ATTR_STATS_MAX - 1
|
||||
};
|
||||
|
||||
/* Specify what sections of a flash component can be overwritten when
|
||||
* performing an update. Overwriting of firmware binary sections is always
|
||||
* implicitly assumed to be allowed.
|
||||
*
|
||||
* Each section must be documented in
|
||||
* Documentation/networking/devlink/devlink-flash.rst
|
||||
*
|
||||
*/
|
||||
enum {
|
||||
DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT,
|
||||
DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT,
|
||||
|
||||
__DEVLINK_FLASH_OVERWRITE_MAX_BIT,
|
||||
DEVLINK_FLASH_OVERWRITE_MAX_BIT = __DEVLINK_FLASH_OVERWRITE_MAX_BIT - 1
|
||||
};
|
||||
|
||||
#define DEVLINK_FLASH_OVERWRITE_SETTINGS _BITUL(DEVLINK_FLASH_OVERWRITE_SETTINGS_BIT)
|
||||
#define DEVLINK_FLASH_OVERWRITE_IDENTIFIERS _BITUL(DEVLINK_FLASH_OVERWRITE_IDENTIFIERS_BIT)
|
||||
|
||||
#define DEVLINK_SUPPORTED_FLASH_OVERWRITE_SECTIONS \
|
||||
(_BITUL(__DEVLINK_FLASH_OVERWRITE_MAX_BIT) - 1)
|
||||
|
||||
/**
|
||||
* enum devlink_trap_action - Packet trap action.
|
||||
* @DEVLINK_TRAP_ACTION_DROP: Packet is dropped by the device and a copy is not
|
||||
|
|
@ -464,6 +486,7 @@ enum devlink_attr {
|
|||
DEVLINK_ATTR_PORT_CONTROLLER_NUMBER, /* u32 */
|
||||
|
||||
DEVLINK_ATTR_FLASH_UPDATE_STATUS_TIMEOUT, /* u64 */
|
||||
DEVLINK_ATTR_FLASH_UPDATE_OVERWRITE_MASK, /* bitfield32 */
|
||||
|
||||
/* add new attributes above here, update the policy in devlink.c */
|
||||
|
||||
|
|
|
|||
|
|
@ -457,6 +457,8 @@ enum {
|
|||
MDBA_MDB_EATTR_TIMER,
|
||||
MDBA_MDB_EATTR_SRC_LIST,
|
||||
MDBA_MDB_EATTR_GROUP_MODE,
|
||||
MDBA_MDB_EATTR_SOURCE,
|
||||
MDBA_MDB_EATTR_RTPROT,
|
||||
__MDBA_MDB_EATTR_MAX
|
||||
};
|
||||
#define MDBA_MDB_EATTR_MAX (__MDBA_MDB_EATTR_MAX - 1)
|
||||
|
|
@ -516,6 +518,8 @@ struct br_mdb_entry {
|
|||
__u8 state;
|
||||
#define MDB_FLAGS_OFFLOAD (1 << 0)
|
||||
#define MDB_FLAGS_FAST_LEAVE (1 << 1)
|
||||
#define MDB_FLAGS_STAR_EXCL (1 << 2)
|
||||
#define MDB_FLAGS_BLOCKED (1 << 3)
|
||||
__u8 flags;
|
||||
__u16 vid;
|
||||
struct {
|
||||
|
|
@ -530,10 +534,23 @@ struct br_mdb_entry {
|
|||
enum {
|
||||
MDBA_SET_ENTRY_UNSPEC,
|
||||
MDBA_SET_ENTRY,
|
||||
MDBA_SET_ENTRY_ATTRS,
|
||||
__MDBA_SET_ENTRY_MAX,
|
||||
};
|
||||
#define MDBA_SET_ENTRY_MAX (__MDBA_SET_ENTRY_MAX - 1)
|
||||
|
||||
/* [MDBA_SET_ENTRY_ATTRS] = {
|
||||
* [MDBE_ATTR_xxx]
|
||||
* ...
|
||||
* }
|
||||
*/
|
||||
enum {
|
||||
MDBE_ATTR_UNSPEC,
|
||||
MDBE_ATTR_SOURCE,
|
||||
__MDBE_ATTR_MAX,
|
||||
};
|
||||
#define MDBE_ATTR_MAX (__MDBE_ATTR_MAX - 1)
|
||||
|
||||
/* Embedded inside LINK_XSTATS_TYPE_BRIDGE */
|
||||
enum {
|
||||
BRIDGE_XSTATS_UNSPEC,
|
||||
|
|
|
|||
Loading…
Reference in New Issue