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_SOCK_OPS,
|
||||||
BPF_PROG_TYPE_SK_SKB,
|
BPF_PROG_TYPE_SK_SKB,
|
||||||
BPF_PROG_TYPE_CGROUP_DEVICE,
|
BPF_PROG_TYPE_CGROUP_DEVICE,
|
||||||
|
BPF_PROG_TYPE_SK_MSG,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum bpf_attach_type {
|
enum bpf_attach_type {
|
||||||
|
|
@ -143,6 +144,7 @@ enum bpf_attach_type {
|
||||||
BPF_SK_SKB_STREAM_PARSER,
|
BPF_SK_SKB_STREAM_PARSER,
|
||||||
BPF_SK_SKB_STREAM_VERDICT,
|
BPF_SK_SKB_STREAM_VERDICT,
|
||||||
BPF_CGROUP_DEVICE,
|
BPF_CGROUP_DEVICE,
|
||||||
|
BPF_SK_MSG_VERDICT,
|
||||||
__MAX_BPF_ATTACH_TYPE
|
__MAX_BPF_ATTACH_TYPE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -231,6 +233,28 @@ enum bpf_attach_type {
|
||||||
#define BPF_F_RDONLY (1U << 3)
|
#define BPF_F_RDONLY (1U << 3)
|
||||||
#define BPF_F_WRONLY (1U << 4)
|
#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 {
|
union bpf_attr {
|
||||||
struct { /* anonymous struct used by BPF_MAP_CREATE command */
|
struct { /* anonymous struct used by BPF_MAP_CREATE command */
|
||||||
__u32 map_type; /* one of enum bpf_map_type */
|
__u32 map_type; /* one of enum bpf_map_type */
|
||||||
|
|
@ -696,6 +720,15 @@ union bpf_attr {
|
||||||
* int bpf_override_return(pt_regs, rc)
|
* int bpf_override_return(pt_regs, rc)
|
||||||
* @pt_regs: pointer to struct pt_regs
|
* @pt_regs: pointer to struct pt_regs
|
||||||
* @rc: the return value to set
|
* @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) \
|
#define __BPF_FUNC_MAPPER(FN) \
|
||||||
FN(unspec), \
|
FN(unspec), \
|
||||||
|
|
@ -757,7 +790,11 @@ union bpf_attr {
|
||||||
FN(perf_prog_read_value), \
|
FN(perf_prog_read_value), \
|
||||||
FN(getsockopt), \
|
FN(getsockopt), \
|
||||||
FN(override_return), \
|
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
|
/* integer value in 'imm' field of BPF_CALL instruction selects which helper
|
||||||
* function eBPF program intends to call
|
* function eBPF program intends to call
|
||||||
|
|
@ -920,6 +957,14 @@ enum sk_action {
|
||||||
SK_PASS,
|
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
|
#define BPF_TAG_SIZE 8
|
||||||
|
|
||||||
struct bpf_prog_info {
|
struct bpf_prog_info {
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#define ETH_ALEN 6 /* Octets in one ethernet addr */
|
#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_HLEN 14 /* Total octets in header. */
|
||||||
#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
|
#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
|
||||||
#define ETH_DATA_LEN 1500 /* Max. octets in payload */
|
#define ETH_DATA_LEN 1500 /* Max. octets in payload */
|
||||||
|
|
|
||||||
|
|
@ -957,4 +957,25 @@ enum {
|
||||||
|
|
||||||
#define IFLA_TUN_MAX (__IFLA_TUN_MAX - 1)
|
#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 */
|
#endif /* _LINUX_IF_LINK_H */
|
||||||
|
|
|
||||||
|
|
@ -99,6 +99,7 @@ typedef __s32 sctp_assoc_t;
|
||||||
#define SCTP_RECVRCVINFO 32
|
#define SCTP_RECVRCVINFO 32
|
||||||
#define SCTP_RECVNXTINFO 33
|
#define SCTP_RECVNXTINFO 33
|
||||||
#define SCTP_DEFAULT_SNDINFO 34
|
#define SCTP_DEFAULT_SNDINFO 34
|
||||||
|
#define SCTP_AUTH_DEACTIVATE_KEY 35
|
||||||
|
|
||||||
/* Internal Socket Options. Some of the sctp library functions are
|
/* Internal Socket Options. Some of the sctp library functions are
|
||||||
* implemented using these socket options.
|
* implemented using these socket options.
|
||||||
|
|
@ -273,6 +274,18 @@ struct sctp_prinfo {
|
||||||
__u32 pr_value;
|
__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)
|
* sinfo_flags: 16 bits (unsigned integer)
|
||||||
*
|
*
|
||||||
|
|
@ -310,7 +323,7 @@ typedef enum sctp_cmsg_type {
|
||||||
#define SCTP_NXTINFO SCTP_NXTINFO
|
#define SCTP_NXTINFO SCTP_NXTINFO
|
||||||
SCTP_PRINFO, /* 5.3.7 SCTP PR-SCTP Information Structure */
|
SCTP_PRINFO, /* 5.3.7 SCTP PR-SCTP Information Structure */
|
||||||
#define SCTP_PRINFO SCTP_PRINFO
|
#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
|
#define SCTP_AUTHINFO SCTP_AUTHINFO
|
||||||
SCTP_DSTADDRV4, /* 5.3.9 SCTP Destination IPv4 Address Structure */
|
SCTP_DSTADDRV4, /* 5.3.9 SCTP Destination IPv4 Address Structure */
|
||||||
#define SCTP_DSTADDRV4 SCTP_DSTADDRV4
|
#define SCTP_DSTADDRV4 SCTP_DSTADDRV4
|
||||||
|
|
@ -505,7 +518,12 @@ struct sctp_authkey_event {
|
||||||
sctp_assoc_t auth_assoc_id;
|
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
|
* 6.1.9. SCTP_SENDER_DRY_EVENT
|
||||||
|
|
|
||||||
|
|
@ -243,6 +243,7 @@ enum {
|
||||||
TCP_NLA_DELIVERY_RATE_APP_LMT, /* delivery rate application limited ? */
|
TCP_NLA_DELIVERY_RATE_APP_LMT, /* delivery rate application limited ? */
|
||||||
TCP_NLA_SNDQ_SIZE, /* Data (bytes) pending in send queue */
|
TCP_NLA_SNDQ_SIZE, /* Data (bytes) pending in send queue */
|
||||||
TCP_NLA_CA_STATE, /* ca_state of socket */
|
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;
|
__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
|
* 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
|
* Publication scopes when binding port names and port name sequences
|
||||||
*/
|
*/
|
||||||
#define TIPC_ZONE_SCOPE 1
|
enum tipc_scope {
|
||||||
#define TIPC_CLUSTER_SCOPE 2
|
TIPC_CLUSTER_SCOPE = 2, /* 0 can also be used */
|
||||||
#define TIPC_NODE_SCOPE 3
|
TIPC_NODE_SCOPE = 3
|
||||||
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Limiting values for messages
|
* Limiting values for messages
|
||||||
|
|
@ -243,7 +200,7 @@ struct sockaddr_tipc {
|
||||||
struct tipc_group_req {
|
struct tipc_group_req {
|
||||||
__u32 type; /* group id */
|
__u32 type; /* group id */
|
||||||
__u32 instance; /* member id */
|
__u32 instance; /* member id */
|
||||||
__u32 scope; /* zone/cluster/node */
|
__u32 scope; /* cluster/node */
|
||||||
__u32 flags;
|
__u32 flags;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -268,4 +225,53 @@ struct tipc_sioc_ln_req {
|
||||||
__u32 bearer_id;
|
__u32 bearer_id;
|
||||||
char linkname[TIPC_MAX_LINK_NAME];
|
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
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -114,6 +114,13 @@ enum {
|
||||||
TIPC_NLA_SOCK_REF, /* u32 */
|
TIPC_NLA_SOCK_REF, /* u32 */
|
||||||
TIPC_NLA_SOCK_CON, /* nest */
|
TIPC_NLA_SOCK_CON, /* nest */
|
||||||
TIPC_NLA_SOCK_HAS_PUBL, /* flag */
|
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 = __TIPC_NLA_SOCK_MAX - 1
|
TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1
|
||||||
|
|
@ -162,6 +169,8 @@ enum {
|
||||||
TIPC_NLA_NET_UNSPEC,
|
TIPC_NLA_NET_UNSPEC,
|
||||||
TIPC_NLA_NET_ID, /* u32 */
|
TIPC_NLA_NET_ID, /* u32 */
|
||||||
TIPC_NLA_NET_ADDR, /* 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 = __TIPC_NLA_NET_MAX - 1
|
TIPC_NLA_NET_MAX = __TIPC_NLA_NET_MAX - 1
|
||||||
|
|
@ -238,6 +247,18 @@ enum {
|
||||||
TIPC_NLA_CON_MAX = __TIPC_NLA_CON_MAX - 1
|
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 */
|
/* Nest, link propreties. Valid for link, media and bearer */
|
||||||
enum {
|
enum {
|
||||||
TIPC_NLA_PROP_UNSPEC,
|
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