update headers to 4.13-rc1
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
parent
ef513fb04e
commit
517771e271
|
|
@ -120,12 +120,14 @@ enum bpf_prog_type {
|
||||||
BPF_PROG_TYPE_LWT_IN,
|
BPF_PROG_TYPE_LWT_IN,
|
||||||
BPF_PROG_TYPE_LWT_OUT,
|
BPF_PROG_TYPE_LWT_OUT,
|
||||||
BPF_PROG_TYPE_LWT_XMIT,
|
BPF_PROG_TYPE_LWT_XMIT,
|
||||||
|
BPF_PROG_TYPE_SOCK_OPS,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum bpf_attach_type {
|
enum bpf_attach_type {
|
||||||
BPF_CGROUP_INET_INGRESS,
|
BPF_CGROUP_INET_INGRESS,
|
||||||
BPF_CGROUP_INET_EGRESS,
|
BPF_CGROUP_INET_EGRESS,
|
||||||
BPF_CGROUP_INET_SOCK_CREATE,
|
BPF_CGROUP_INET_SOCK_CREATE,
|
||||||
|
BPF_CGROUP_SOCK_OPS,
|
||||||
__MAX_BPF_ATTACH_TYPE
|
__MAX_BPF_ATTACH_TYPE
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -518,6 +520,25 @@ union bpf_attr {
|
||||||
* Set full skb->hash.
|
* Set full skb->hash.
|
||||||
* @skb: pointer to skb
|
* @skb: pointer to skb
|
||||||
* @hash: hash to set
|
* @hash: hash to set
|
||||||
|
*
|
||||||
|
* int bpf_setsockopt(bpf_socket, level, optname, optval, optlen)
|
||||||
|
* Calls setsockopt. Not all opts are available, only those with
|
||||||
|
* integer optvals plus TCP_CONGESTION.
|
||||||
|
* Supported levels: SOL_SOCKET and IPROTO_TCP
|
||||||
|
* @bpf_socket: pointer to bpf_socket
|
||||||
|
* @level: SOL_SOCKET or IPROTO_TCP
|
||||||
|
* @optname: option name
|
||||||
|
* @optval: pointer to option value
|
||||||
|
* @optlen: length of optval in byes
|
||||||
|
* Return: 0 or negative error
|
||||||
|
*
|
||||||
|
* int bpf_skb_adjust_room(skb, len_diff, mode, flags)
|
||||||
|
* Grow or shrink room in sk_buff.
|
||||||
|
* @skb: pointer to skb
|
||||||
|
* @len_diff: (signed) amount of room to grow/shrink
|
||||||
|
* @mode: operation mode (enum bpf_adj_room_mode)
|
||||||
|
* @flags: reserved for future use
|
||||||
|
* Return: 0 on success or negative error code
|
||||||
*/
|
*/
|
||||||
#define __BPF_FUNC_MAPPER(FN) \
|
#define __BPF_FUNC_MAPPER(FN) \
|
||||||
FN(unspec), \
|
FN(unspec), \
|
||||||
|
|
@ -568,7 +589,9 @@ union bpf_attr {
|
||||||
FN(probe_read_str), \
|
FN(probe_read_str), \
|
||||||
FN(get_socket_cookie), \
|
FN(get_socket_cookie), \
|
||||||
FN(get_socket_uid), \
|
FN(get_socket_uid), \
|
||||||
FN(set_hash),
|
FN(set_hash), \
|
||||||
|
FN(setsockopt), \
|
||||||
|
FN(skb_adjust_room),
|
||||||
|
|
||||||
/* 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
|
||||||
|
|
@ -618,6 +641,11 @@ enum bpf_func_id {
|
||||||
/* BPF_FUNC_perf_event_output for sk_buff input context. */
|
/* BPF_FUNC_perf_event_output for sk_buff input context. */
|
||||||
#define BPF_F_CTXLEN_MASK (0xfffffULL << 32)
|
#define BPF_F_CTXLEN_MASK (0xfffffULL << 32)
|
||||||
|
|
||||||
|
/* Mode for BPF_FUNC_skb_adjust_room helper. */
|
||||||
|
enum bpf_adj_room_mode {
|
||||||
|
BPF_ADJ_ROOM_NET,
|
||||||
|
};
|
||||||
|
|
||||||
/* user accessible mirror of in-kernel sk_buff.
|
/* user accessible mirror of in-kernel sk_buff.
|
||||||
* new fields can only be added to the end of this structure
|
* new fields can only be added to the end of this structure
|
||||||
*/
|
*/
|
||||||
|
|
@ -720,4 +748,56 @@ struct bpf_map_info {
|
||||||
__u32 map_flags;
|
__u32 map_flags;
|
||||||
} __attribute__((aligned(8)));
|
} __attribute__((aligned(8)));
|
||||||
|
|
||||||
|
/* User bpf_sock_ops struct to access socket values and specify request ops
|
||||||
|
* and their replies.
|
||||||
|
* Some of this fields are in network (bigendian) byte order and may need
|
||||||
|
* to be converted before use (bpf_ntohl() defined in samples/bpf/bpf_endian.h).
|
||||||
|
* New fields can only be added at the end of this structure
|
||||||
|
*/
|
||||||
|
struct bpf_sock_ops {
|
||||||
|
__u32 op;
|
||||||
|
union {
|
||||||
|
__u32 reply;
|
||||||
|
__u32 replylong[4];
|
||||||
|
};
|
||||||
|
__u32 family;
|
||||||
|
__u32 remote_ip4; /* Stored in network byte order */
|
||||||
|
__u32 local_ip4; /* Stored in network byte order */
|
||||||
|
__u32 remote_ip6[4]; /* Stored in network byte order */
|
||||||
|
__u32 local_ip6[4]; /* Stored in network byte order */
|
||||||
|
__u32 remote_port; /* Stored in network byte order */
|
||||||
|
__u32 local_port; /* stored in host byte order */
|
||||||
|
};
|
||||||
|
|
||||||
|
/* List of known BPF sock_ops operators.
|
||||||
|
* New entries can only be added at the end
|
||||||
|
*/
|
||||||
|
enum {
|
||||||
|
BPF_SOCK_OPS_VOID,
|
||||||
|
BPF_SOCK_OPS_TIMEOUT_INIT, /* Should return SYN-RTO value to use or
|
||||||
|
* -1 if default value should be used
|
||||||
|
*/
|
||||||
|
BPF_SOCK_OPS_RWND_INIT, /* Should return initial advertized
|
||||||
|
* window (in packets) or -1 if default
|
||||||
|
* value should be used
|
||||||
|
*/
|
||||||
|
BPF_SOCK_OPS_TCP_CONNECT_CB, /* Calls BPF program right before an
|
||||||
|
* active connection is initialized
|
||||||
|
*/
|
||||||
|
BPF_SOCK_OPS_ACTIVE_ESTABLISHED_CB, /* Calls BPF program when an
|
||||||
|
* active connection is
|
||||||
|
* established
|
||||||
|
*/
|
||||||
|
BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB, /* Calls BPF program when a
|
||||||
|
* passive connection is
|
||||||
|
* established
|
||||||
|
*/
|
||||||
|
BPF_SOCK_OPS_NEEDS_ECN, /* If connection's congestion control
|
||||||
|
* needs ECN
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
|
#define TCP_BPF_IW 1001 /* Set TCP initial congestion window */
|
||||||
|
#define TCP_BPF_SNDCWND_CLAMP 1002 /* Set sndcwnd_clamp */
|
||||||
|
|
||||||
#endif /* __LINUX_BPF_H__ */
|
#endif /* __LINUX_BPF_H__ */
|
||||||
|
|
|
||||||
|
|
@ -42,6 +42,7 @@
|
||||||
#define MSDOS_SUPER_MAGIC 0x4d44 /* MD */
|
#define MSDOS_SUPER_MAGIC 0x4d44 /* MD */
|
||||||
#define NCP_SUPER_MAGIC 0x564c /* Guess, what 0x564c is :-) */
|
#define NCP_SUPER_MAGIC 0x564c /* Guess, what 0x564c is :-) */
|
||||||
#define NFS_SUPER_MAGIC 0x6969
|
#define NFS_SUPER_MAGIC 0x6969
|
||||||
|
#define OCFS2_SUPER_MAGIC 0x7461636f
|
||||||
#define OPENPROM_SUPER_MAGIC 0x9fa1
|
#define OPENPROM_SUPER_MAGIC 0x9fa1
|
||||||
#define QNX4_SUPER_MAGIC 0x002f /* qnx4 fs detection */
|
#define QNX4_SUPER_MAGIC 0x002f /* qnx4 fs detection */
|
||||||
#define QNX6_SUPER_MAGIC 0x68191122 /* qnx6 fs detection */
|
#define QNX6_SUPER_MAGIC 0x68191122 /* qnx6 fs detection */
|
||||||
|
|
@ -80,6 +81,8 @@
|
||||||
#define BTRFS_TEST_MAGIC 0x73727279
|
#define BTRFS_TEST_MAGIC 0x73727279
|
||||||
#define NSFS_MAGIC 0x6e736673
|
#define NSFS_MAGIC 0x6e736673
|
||||||
#define BPF_FS_MAGIC 0xcafe4a11
|
#define BPF_FS_MAGIC 0xcafe4a11
|
||||||
|
#define AAFS_MAGIC 0x5a3c69f0
|
||||||
|
|
||||||
/* Since UDF 2.01 is ISO 13346 based... */
|
/* Since UDF 2.01 is ISO 13346 based... */
|
||||||
#define UDF_SUPER_MAGIC 0x15013346
|
#define UDF_SUPER_MAGIC 0x15013346
|
||||||
#define BALLOON_KVM_MAGIC 0x13661366
|
#define BALLOON_KVM_MAGIC 0x13661366
|
||||||
|
|
|
||||||
|
|
@ -121,6 +121,7 @@ typedef __s32 sctp_assoc_t;
|
||||||
#define SCTP_RESET_STREAMS 119
|
#define SCTP_RESET_STREAMS 119
|
||||||
#define SCTP_RESET_ASSOC 120
|
#define SCTP_RESET_ASSOC 120
|
||||||
#define SCTP_ADD_STREAMS 121
|
#define SCTP_ADD_STREAMS 121
|
||||||
|
#define SCTP_SOCKOPT_PEELOFF_FLAGS 122
|
||||||
|
|
||||||
/* PR-SCTP policies */
|
/* PR-SCTP policies */
|
||||||
#define SCTP_PR_SCTP_NONE 0x0000
|
#define SCTP_PR_SCTP_NONE 0x0000
|
||||||
|
|
@ -972,6 +973,11 @@ typedef struct {
|
||||||
int sd;
|
int sd;
|
||||||
} sctp_peeloff_arg_t;
|
} sctp_peeloff_arg_t;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
sctp_peeloff_arg_t p_arg;
|
||||||
|
unsigned flags;
|
||||||
|
} sctp_peeloff_flags_arg_t;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Peer Address Thresholds socket option
|
* Peer Address Thresholds socket option
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue