Update kernel headers
Update kernel headers to commit 5d22d47b9ed9
("Merge branch 'sfc-filter-locking'")
Signed-off-by: David Ahern <dsahern@gmail.com>
This commit is contained in:
parent
54eae5f76d
commit
9effc146b7
|
|
@ -133,6 +133,7 @@ enum bpf_prog_type {
|
|||
BPF_PROG_TYPE_SOCK_OPS,
|
||||
BPF_PROG_TYPE_SK_SKB,
|
||||
BPF_PROG_TYPE_CGROUP_DEVICE,
|
||||
BPF_PROG_TYPE_SK_MSG,
|
||||
};
|
||||
|
||||
enum bpf_attach_type {
|
||||
|
|
@ -143,6 +144,7 @@ enum bpf_attach_type {
|
|||
BPF_SK_SKB_STREAM_PARSER,
|
||||
BPF_SK_SKB_STREAM_VERDICT,
|
||||
BPF_CGROUP_DEVICE,
|
||||
BPF_SK_MSG_VERDICT,
|
||||
__MAX_BPF_ATTACH_TYPE
|
||||
};
|
||||
|
||||
|
|
@ -231,6 +233,28 @@ enum bpf_attach_type {
|
|||
#define BPF_F_RDONLY (1U << 3)
|
||||
#define BPF_F_WRONLY (1U << 4)
|
||||
|
||||
/* Flag for stack_map, store build_id+offset instead of pointer */
|
||||
#define BPF_F_STACK_BUILD_ID (1U << 5)
|
||||
|
||||
enum bpf_stack_build_id_status {
|
||||
/* user space need an empty entry to identify end of a trace */
|
||||
BPF_STACK_BUILD_ID_EMPTY = 0,
|
||||
/* with valid build_id and offset */
|
||||
BPF_STACK_BUILD_ID_VALID = 1,
|
||||
/* couldn't get build_id, fallback to ip */
|
||||
BPF_STACK_BUILD_ID_IP = 2,
|
||||
};
|
||||
|
||||
#define BPF_BUILD_ID_SIZE 20
|
||||
struct bpf_stack_build_id {
|
||||
__s32 status;
|
||||
unsigned char build_id[BPF_BUILD_ID_SIZE];
|
||||
union {
|
||||
__u64 offset;
|
||||
__u64 ip;
|
||||
};
|
||||
};
|
||||
|
||||
union bpf_attr {
|
||||
struct { /* anonymous struct used by BPF_MAP_CREATE command */
|
||||
__u32 map_type; /* one of enum bpf_map_type */
|
||||
|
|
@ -696,6 +720,15 @@ union bpf_attr {
|
|||
* int bpf_override_return(pt_regs, rc)
|
||||
* @pt_regs: pointer to struct pt_regs
|
||||
* @rc: the return value to set
|
||||
*
|
||||
* int bpf_msg_redirect_map(map, key, flags)
|
||||
* Redirect msg to a sock in map using key as a lookup key for the
|
||||
* sock in map.
|
||||
* @map: pointer to sockmap
|
||||
* @key: key to lookup sock in map
|
||||
* @flags: reserved for future use
|
||||
* Return: SK_PASS
|
||||
*
|
||||
*/
|
||||
#define __BPF_FUNC_MAPPER(FN) \
|
||||
FN(unspec), \
|
||||
|
|
@ -757,7 +790,11 @@ union bpf_attr {
|
|||
FN(perf_prog_read_value), \
|
||||
FN(getsockopt), \
|
||||
FN(override_return), \
|
||||
FN(sock_ops_cb_flags_set),
|
||||
FN(sock_ops_cb_flags_set), \
|
||||
FN(msg_redirect_map), \
|
||||
FN(msg_apply_bytes), \
|
||||
FN(msg_cork_bytes), \
|
||||
FN(msg_pull_data),
|
||||
|
||||
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||
* function eBPF program intends to call
|
||||
|
|
@ -920,6 +957,14 @@ enum sk_action {
|
|||
SK_PASS,
|
||||
};
|
||||
|
||||
/* user accessible metadata for SK_MSG packet hook, new fields must
|
||||
* be added to the end of this structure
|
||||
*/
|
||||
struct sk_msg_md {
|
||||
void *data;
|
||||
void *data_end;
|
||||
};
|
||||
|
||||
#define BPF_TAG_SIZE 8
|
||||
|
||||
struct bpf_prog_info {
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@
|
|||
*/
|
||||
|
||||
#define ETH_ALEN 6 /* Octets in one ethernet addr */
|
||||
#define ETH_TLEN 2 /* Octets in ethernet type field */
|
||||
#define ETH_HLEN 14 /* Total octets in header. */
|
||||
#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
|
||||
#define ETH_DATA_LEN 1500 /* Max. octets in payload */
|
||||
|
|
|
|||
|
|
@ -957,4 +957,25 @@ enum {
|
|||
|
||||
#define IFLA_TUN_MAX (__IFLA_TUN_MAX - 1)
|
||||
|
||||
/* rmnet section */
|
||||
|
||||
#define RMNET_FLAGS_INGRESS_DEAGGREGATION (1U << 0)
|
||||
#define RMNET_FLAGS_INGRESS_MAP_COMMANDS (1U << 1)
|
||||
#define RMNET_FLAGS_INGRESS_MAP_CKSUMV4 (1U << 2)
|
||||
#define RMNET_FLAGS_EGRESS_MAP_CKSUMV4 (1U << 3)
|
||||
|
||||
enum {
|
||||
IFLA_RMNET_UNSPEC,
|
||||
IFLA_RMNET_MUX_ID,
|
||||
IFLA_RMNET_FLAGS,
|
||||
__IFLA_RMNET_MAX,
|
||||
};
|
||||
|
||||
#define IFLA_RMNET_MAX (__IFLA_RMNET_MAX - 1)
|
||||
|
||||
struct ifla_rmnet_flags {
|
||||
__u32 flags;
|
||||
__u32 mask;
|
||||
};
|
||||
|
||||
#endif /* _LINUX_IF_LINK_H */
|
||||
|
|
|
|||
|
|
@ -99,6 +99,7 @@ typedef __s32 sctp_assoc_t;
|
|||
#define SCTP_RECVRCVINFO 32
|
||||
#define SCTP_RECVNXTINFO 33
|
||||
#define SCTP_DEFAULT_SNDINFO 34
|
||||
#define SCTP_AUTH_DEACTIVATE_KEY 35
|
||||
|
||||
/* Internal Socket Options. Some of the sctp library functions are
|
||||
* implemented using these socket options.
|
||||
|
|
@ -273,6 +274,18 @@ struct sctp_prinfo {
|
|||
__u32 pr_value;
|
||||
};
|
||||
|
||||
/* 5.3.8 SCTP AUTH Information Structure (SCTP_AUTHINFO)
|
||||
*
|
||||
* This cmsghdr structure specifies SCTP options for sendmsg().
|
||||
*
|
||||
* cmsg_level cmsg_type cmsg_data[]
|
||||
* ------------ ------------ -------------------
|
||||
* IPPROTO_SCTP SCTP_AUTHINFO struct sctp_authinfo
|
||||
*/
|
||||
struct sctp_authinfo {
|
||||
__u16 auth_keynumber;
|
||||
};
|
||||
|
||||
/*
|
||||
* sinfo_flags: 16 bits (unsigned integer)
|
||||
*
|
||||
|
|
@ -310,7 +323,7 @@ typedef enum sctp_cmsg_type {
|
|||
#define SCTP_NXTINFO SCTP_NXTINFO
|
||||
SCTP_PRINFO, /* 5.3.7 SCTP PR-SCTP Information Structure */
|
||||
#define SCTP_PRINFO SCTP_PRINFO
|
||||
SCTP_AUTHINFO, /* 5.3.8 SCTP AUTH Information Structure (RESERVED) */
|
||||
SCTP_AUTHINFO, /* 5.3.8 SCTP AUTH Information Structure */
|
||||
#define SCTP_AUTHINFO SCTP_AUTHINFO
|
||||
SCTP_DSTADDRV4, /* 5.3.9 SCTP Destination IPv4 Address Structure */
|
||||
#define SCTP_DSTADDRV4 SCTP_DSTADDRV4
|
||||
|
|
@ -505,7 +518,12 @@ struct sctp_authkey_event {
|
|||
sctp_assoc_t auth_assoc_id;
|
||||
};
|
||||
|
||||
enum { SCTP_AUTH_NEWKEY = 0, };
|
||||
enum {
|
||||
SCTP_AUTH_NEW_KEY,
|
||||
#define SCTP_AUTH_NEWKEY SCTP_AUTH_NEW_KEY /* compatible with before */
|
||||
SCTP_AUTH_FREE_KEY,
|
||||
SCTP_AUTH_NO_AUTH,
|
||||
};
|
||||
|
||||
/*
|
||||
* 6.1.9. SCTP_SENDER_DRY_EVENT
|
||||
|
|
|
|||
|
|
@ -243,6 +243,7 @@ enum {
|
|||
TCP_NLA_DELIVERY_RATE_APP_LMT, /* delivery rate application limited ? */
|
||||
TCP_NLA_SNDQ_SIZE, /* Data (bytes) pending in send queue */
|
||||
TCP_NLA_CA_STATE, /* ca_state of socket */
|
||||
TCP_NLA_SND_SSTHRESH, /* Slow start size threshold */
|
||||
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -61,50 +61,6 @@ struct tipc_name_seq {
|
|||
__u32 upper;
|
||||
};
|
||||
|
||||
/* TIPC Address Size, Offset, Mask specification for Z.C.N
|
||||
*/
|
||||
#define TIPC_NODE_BITS 12
|
||||
#define TIPC_CLUSTER_BITS 12
|
||||
#define TIPC_ZONE_BITS 8
|
||||
|
||||
#define TIPC_NODE_OFFSET 0
|
||||
#define TIPC_CLUSTER_OFFSET TIPC_NODE_BITS
|
||||
#define TIPC_ZONE_OFFSET (TIPC_CLUSTER_OFFSET + TIPC_CLUSTER_BITS)
|
||||
|
||||
#define TIPC_NODE_SIZE ((1UL << TIPC_NODE_BITS) - 1)
|
||||
#define TIPC_CLUSTER_SIZE ((1UL << TIPC_CLUSTER_BITS) - 1)
|
||||
#define TIPC_ZONE_SIZE ((1UL << TIPC_ZONE_BITS) - 1)
|
||||
|
||||
#define TIPC_NODE_MASK (TIPC_NODE_SIZE << TIPC_NODE_OFFSET)
|
||||
#define TIPC_CLUSTER_MASK (TIPC_CLUSTER_SIZE << TIPC_CLUSTER_OFFSET)
|
||||
#define TIPC_ZONE_MASK (TIPC_ZONE_SIZE << TIPC_ZONE_OFFSET)
|
||||
|
||||
#define TIPC_ZONE_CLUSTER_MASK (TIPC_ZONE_MASK | TIPC_CLUSTER_MASK)
|
||||
|
||||
static __inline__ __u32 tipc_addr(unsigned int zone,
|
||||
unsigned int cluster,
|
||||
unsigned int node)
|
||||
{
|
||||
return (zone << TIPC_ZONE_OFFSET) |
|
||||
(cluster << TIPC_CLUSTER_OFFSET) |
|
||||
node;
|
||||
}
|
||||
|
||||
static __inline__ unsigned int tipc_zone(__u32 addr)
|
||||
{
|
||||
return addr >> TIPC_ZONE_OFFSET;
|
||||
}
|
||||
|
||||
static __inline__ unsigned int tipc_cluster(__u32 addr)
|
||||
{
|
||||
return (addr & TIPC_CLUSTER_MASK) >> TIPC_CLUSTER_OFFSET;
|
||||
}
|
||||
|
||||
static __inline__ unsigned int tipc_node(__u32 addr)
|
||||
{
|
||||
return addr & TIPC_NODE_MASK;
|
||||
}
|
||||
|
||||
/*
|
||||
* Application-accessible port name types
|
||||
*/
|
||||
|
|
@ -117,9 +73,10 @@ static __inline__ unsigned int tipc_node(__u32 addr)
|
|||
/*
|
||||
* Publication scopes when binding port names and port name sequences
|
||||
*/
|
||||
#define TIPC_ZONE_SCOPE 1
|
||||
#define TIPC_CLUSTER_SCOPE 2
|
||||
#define TIPC_NODE_SCOPE 3
|
||||
enum tipc_scope {
|
||||
TIPC_CLUSTER_SCOPE = 2, /* 0 can also be used */
|
||||
TIPC_NODE_SCOPE = 3
|
||||
};
|
||||
|
||||
/*
|
||||
* Limiting values for messages
|
||||
|
|
@ -243,7 +200,7 @@ struct sockaddr_tipc {
|
|||
struct tipc_group_req {
|
||||
__u32 type; /* group id */
|
||||
__u32 instance; /* member id */
|
||||
__u32 scope; /* zone/cluster/node */
|
||||
__u32 scope; /* cluster/node */
|
||||
__u32 flags;
|
||||
};
|
||||
|
||||
|
|
@ -268,4 +225,53 @@ struct tipc_sioc_ln_req {
|
|||
__u32 bearer_id;
|
||||
char linkname[TIPC_MAX_LINK_NAME];
|
||||
};
|
||||
|
||||
|
||||
/* The macros and functions below are deprecated:
|
||||
*/
|
||||
|
||||
#define TIPC_ZONE_SCOPE 1
|
||||
|
||||
#define TIPC_NODE_BITS 12
|
||||
#define TIPC_CLUSTER_BITS 12
|
||||
#define TIPC_ZONE_BITS 8
|
||||
|
||||
#define TIPC_NODE_OFFSET 0
|
||||
#define TIPC_CLUSTER_OFFSET TIPC_NODE_BITS
|
||||
#define TIPC_ZONE_OFFSET (TIPC_CLUSTER_OFFSET + TIPC_CLUSTER_BITS)
|
||||
|
||||
#define TIPC_NODE_SIZE ((1UL << TIPC_NODE_BITS) - 1)
|
||||
#define TIPC_CLUSTER_SIZE ((1UL << TIPC_CLUSTER_BITS) - 1)
|
||||
#define TIPC_ZONE_SIZE ((1UL << TIPC_ZONE_BITS) - 1)
|
||||
|
||||
#define TIPC_NODE_MASK (TIPC_NODE_SIZE << TIPC_NODE_OFFSET)
|
||||
#define TIPC_CLUSTER_MASK (TIPC_CLUSTER_SIZE << TIPC_CLUSTER_OFFSET)
|
||||
#define TIPC_ZONE_MASK (TIPC_ZONE_SIZE << TIPC_ZONE_OFFSET)
|
||||
|
||||
#define TIPC_ZONE_CLUSTER_MASK (TIPC_ZONE_MASK | TIPC_CLUSTER_MASK)
|
||||
|
||||
static __inline__ __u32 tipc_addr(unsigned int zone,
|
||||
unsigned int cluster,
|
||||
unsigned int node)
|
||||
{
|
||||
return (zone << TIPC_ZONE_OFFSET) |
|
||||
(cluster << TIPC_CLUSTER_OFFSET) |
|
||||
node;
|
||||
}
|
||||
|
||||
static __inline__ unsigned int tipc_zone(__u32 addr)
|
||||
{
|
||||
return addr >> TIPC_ZONE_OFFSET;
|
||||
}
|
||||
|
||||
static __inline__ unsigned int tipc_cluster(__u32 addr)
|
||||
{
|
||||
return (addr & TIPC_CLUSTER_MASK) >> TIPC_CLUSTER_OFFSET;
|
||||
}
|
||||
|
||||
static __inline__ unsigned int tipc_node(__u32 addr)
|
||||
{
|
||||
return addr & TIPC_NODE_MASK;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -114,6 +114,13 @@ enum {
|
|||
TIPC_NLA_SOCK_REF, /* u32 */
|
||||
TIPC_NLA_SOCK_CON, /* nest */
|
||||
TIPC_NLA_SOCK_HAS_PUBL, /* flag */
|
||||
TIPC_NLA_SOCK_STAT, /* nest */
|
||||
TIPC_NLA_SOCK_TYPE, /* u32 */
|
||||
TIPC_NLA_SOCK_INO, /* u32 */
|
||||
TIPC_NLA_SOCK_UID, /* u32 */
|
||||
TIPC_NLA_SOCK_TIPC_STATE, /* u32 */
|
||||
TIPC_NLA_SOCK_COOKIE, /* u64 */
|
||||
TIPC_NLA_SOCK_PAD, /* flag */
|
||||
|
||||
__TIPC_NLA_SOCK_MAX,
|
||||
TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1
|
||||
|
|
@ -162,6 +169,8 @@ enum {
|
|||
TIPC_NLA_NET_UNSPEC,
|
||||
TIPC_NLA_NET_ID, /* u32 */
|
||||
TIPC_NLA_NET_ADDR, /* u32 */
|
||||
TIPC_NLA_NET_NODEID, /* u64 */
|
||||
TIPC_NLA_NET_NODEID_W1, /* u64 */
|
||||
|
||||
__TIPC_NLA_NET_MAX,
|
||||
TIPC_NLA_NET_MAX = __TIPC_NLA_NET_MAX - 1
|
||||
|
|
@ -238,6 +247,18 @@ enum {
|
|||
TIPC_NLA_CON_MAX = __TIPC_NLA_CON_MAX - 1
|
||||
};
|
||||
|
||||
/* Nest, socket statistics info */
|
||||
enum {
|
||||
TIPC_NLA_SOCK_STAT_RCVQ, /* u32 */
|
||||
TIPC_NLA_SOCK_STAT_SENDQ, /* u32 */
|
||||
TIPC_NLA_SOCK_STAT_LINK_CONG, /* flag */
|
||||
TIPC_NLA_SOCK_STAT_CONN_CONG, /* flag */
|
||||
TIPC_NLA_SOCK_STAT_DROP, /* u32 */
|
||||
|
||||
__TIPC_NLA_SOCK_STAT_MAX,
|
||||
TIPC_NLA_SOCK_STAT_MAX = __TIPC_NLA_SOCK_STAT_MAX - 1
|
||||
};
|
||||
|
||||
/* Nest, link propreties. Valid for link, media and bearer */
|
||||
enum {
|
||||
TIPC_NLA_PROP_UNSPEC,
|
||||
|
|
|
|||
|
|
@ -0,0 +1,17 @@
|
|||
/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
|
||||
/* AF_TIPC sock_diag interface for querying open sockets */
|
||||
|
||||
#ifndef __TIPC_SOCKETS_DIAG_H__
|
||||
#define __TIPC_SOCKETS_DIAG_H__
|
||||
|
||||
#include <linux/types.h>
|
||||
#include <linux/sock_diag.h>
|
||||
|
||||
/* Request */
|
||||
struct tipc_sock_diag_req {
|
||||
__u8 sdiag_family; /* must be AF_TIPC */
|
||||
__u8 sdiag_protocol; /* must be 0 */
|
||||
__u16 pad; /* must be 0 */
|
||||
__u32 tidiag_states; /* query*/
|
||||
};
|
||||
#endif /* __TIPC_SOCKETS_DIAG_H__ */
|
||||
Loading…
Reference in New Issue