aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/Kbuild1
-rw-r--r--include/uapi/linux/atm_zatm.h6
-rw-r--r--include/uapi/linux/bpf.h72
-rw-r--r--include/uapi/linux/can/bcm.h7
-rw-r--r--include/uapi/linux/if_arcnet.h55
-rw-r--r--include/uapi/linux/if_bridge.h1
-rw-r--r--include/uapi/linux/if_link.h56
-rw-r--r--include/uapi/linux/magic.h1
-rw-r--r--include/uapi/linux/netfilter/nfnetlink_log.h3
-rw-r--r--include/uapi/linux/netlink.h1
-rw-r--r--include/uapi/linux/nfc.h2
-rw-r--r--include/uapi/linux/nl80211.h57
-rw-r--r--include/uapi/linux/openvswitch.h2
-rw-r--r--include/uapi/linux/perf_event.h1
-rw-r--r--include/uapi/linux/pkt_cls.h4
-rw-r--r--include/uapi/linux/ptrace.h2
-rw-r--r--include/uapi/linux/rtnetlink.h2
-rw-r--r--include/uapi/linux/usb/cdc.h6
18 files changed, 202 insertions, 77 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild
index f7b2db44eb4b..70d89230b641 100644
--- a/include/uapi/linux/Kbuild
+++ b/include/uapi/linux/Kbuild
@@ -263,6 +263,7 @@ header-y += minix_fs.h
263header-y += mman.h 263header-y += mman.h
264header-y += mmtimer.h 264header-y += mmtimer.h
265header-y += mpls.h 265header-y += mpls.h
266header-y += mpls_iptunnel.h
266header-y += mqueue.h 267header-y += mqueue.h
267header-y += mroute6.h 268header-y += mroute6.h
268header-y += mroute.h 269header-y += mroute.h
diff --git a/include/uapi/linux/atm_zatm.h b/include/uapi/linux/atm_zatm.h
index 10f0fa29454f..9c9c6ad55f14 100644
--- a/include/uapi/linux/atm_zatm.h
+++ b/include/uapi/linux/atm_zatm.h
@@ -35,12 +35,6 @@ struct zatm_pool_req {
35 struct zatm_pool_info info; /* actual information */ 35 struct zatm_pool_info info; /* actual information */
36}; 36};
37 37
38struct zatm_t_hist {
39 struct timeval real; /* real (wall-clock) time */
40 struct timeval expected; /* expected real time */
41};
42
43
44#define ZATM_OAM_POOL 0 /* free buffer pool for OAM cells */ 38#define ZATM_OAM_POOL 0 /* free buffer pool for OAM cells */
45#define ZATM_AAL0_POOL 1 /* free buffer pool for AAL0 cells */ 39#define ZATM_AAL0_POOL 1 /* free buffer pool for AAL0 cells */
46#define ZATM_AAL5_POOL_BASE 2 /* first AAL5 free buffer pool */ 40#define ZATM_AAL5_POOL_BASE 2 /* first AAL5 free buffer pool */
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
index 92a48e2d5461..9ea2d22fa2cb 100644
--- a/include/uapi/linux/bpf.h
+++ b/include/uapi/linux/bpf.h
@@ -63,50 +63,16 @@ struct bpf_insn {
63 __s32 imm; /* signed immediate constant */ 63 __s32 imm; /* signed immediate constant */
64}; 64};
65 65
66/* BPF syscall commands */ 66/* BPF syscall commands, see bpf(2) man-page for details. */
67enum bpf_cmd { 67enum bpf_cmd {
68 /* create a map with given type and attributes
69 * fd = bpf(BPF_MAP_CREATE, union bpf_attr *, u32 size)
70 * returns fd or negative error
71 * map is deleted when fd is closed
72 */
73 BPF_MAP_CREATE, 68 BPF_MAP_CREATE,
74
75 /* lookup key in a given map
76 * err = bpf(BPF_MAP_LOOKUP_ELEM, union bpf_attr *attr, u32 size)
77 * Using attr->map_fd, attr->key, attr->value
78 * returns zero and stores found elem into value
79 * or negative error
80 */
81 BPF_MAP_LOOKUP_ELEM, 69 BPF_MAP_LOOKUP_ELEM,
82
83 /* create or update key/value pair in a given map
84 * err = bpf(BPF_MAP_UPDATE_ELEM, union bpf_attr *attr, u32 size)
85 * Using attr->map_fd, attr->key, attr->value, attr->flags
86 * returns zero or negative error
87 */
88 BPF_MAP_UPDATE_ELEM, 70 BPF_MAP_UPDATE_ELEM,
89
90 /* find and delete elem by key in a given map
91 * err = bpf(BPF_MAP_DELETE_ELEM, union bpf_attr *attr, u32 size)
92 * Using attr->map_fd, attr->key
93 * returns zero or negative error
94 */
95 BPF_MAP_DELETE_ELEM, 71 BPF_MAP_DELETE_ELEM,
96
97 /* lookup key in a given map and return next key
98 * err = bpf(BPF_MAP_GET_NEXT_KEY, union bpf_attr *attr, u32 size)
99 * Using attr->map_fd, attr->key, attr->next_key
100 * returns zero and stores next key or negative error
101 */
102 BPF_MAP_GET_NEXT_KEY, 72 BPF_MAP_GET_NEXT_KEY,
103
104 /* verify and load eBPF program
105 * prog_fd = bpf(BPF_PROG_LOAD, union bpf_attr *attr, u32 size)
106 * Using attr->prog_type, attr->insns, attr->license
107 * returns fd or negative error
108 */
109 BPF_PROG_LOAD, 73 BPF_PROG_LOAD,
74 BPF_OBJ_PIN,
75 BPF_OBJ_GET,
110}; 76};
111 77
112enum bpf_map_type { 78enum bpf_map_type {
@@ -160,6 +126,11 @@ union bpf_attr {
160 __aligned_u64 log_buf; /* user supplied buffer */ 126 __aligned_u64 log_buf; /* user supplied buffer */
161 __u32 kern_version; /* checked when prog_type=kprobe */ 127 __u32 kern_version; /* checked when prog_type=kprobe */
162 }; 128 };
129
130 struct { /* anonymous struct used by BPF_OBJ_* commands */
131 __aligned_u64 pathname;
132 __u32 bpf_fd;
133 };
163} __attribute__((aligned(8))); 134} __attribute__((aligned(8)));
164 135
165/* integer value in 'imm' field of BPF_CALL instruction selects which helper 136/* integer value in 'imm' field of BPF_CALL instruction selects which helper
@@ -272,6 +243,32 @@ enum bpf_func_id {
272 BPF_FUNC_skb_get_tunnel_key, 243 BPF_FUNC_skb_get_tunnel_key,
273 BPF_FUNC_skb_set_tunnel_key, 244 BPF_FUNC_skb_set_tunnel_key,
274 BPF_FUNC_perf_event_read, /* u64 bpf_perf_event_read(&map, index) */ 245 BPF_FUNC_perf_event_read, /* u64 bpf_perf_event_read(&map, index) */
246 /**
247 * bpf_redirect(ifindex, flags) - redirect to another netdev
248 * @ifindex: ifindex of the net device
249 * @flags: bit 0 - if set, redirect to ingress instead of egress
250 * other bits - reserved
251 * Return: TC_ACT_REDIRECT
252 */
253 BPF_FUNC_redirect,
254
255 /**
256 * bpf_get_route_realm(skb) - retrieve a dst's tclassid
257 * @skb: pointer to skb
258 * Return: realm if != 0
259 */
260 BPF_FUNC_get_route_realm,
261
262 /**
263 * bpf_perf_event_output(ctx, map, index, data, size) - output perf raw sample
264 * @ctx: struct pt_regs*
265 * @map: pointer to perf_event_array map
266 * @index: index of event in the map
267 * @data: data on stack to be output as raw data
268 * @size: size of data
269 * Return: 0 on success
270 */
271 BPF_FUNC_perf_event_output,
275 __BPF_FUNC_MAX_ID, 272 __BPF_FUNC_MAX_ID,
276}; 273};
277 274
@@ -293,6 +290,7 @@ struct __sk_buff {
293 __u32 tc_index; 290 __u32 tc_index;
294 __u32 cb[5]; 291 __u32 cb[5];
295 __u32 hash; 292 __u32 hash;
293 __u32 tc_classid;
296}; 294};
297 295
298struct bpf_tunnel_key { 296struct bpf_tunnel_key {
diff --git a/include/uapi/linux/can/bcm.h b/include/uapi/linux/can/bcm.h
index 89ddb9dc9bdf..7a291dc1ff15 100644
--- a/include/uapi/linux/can/bcm.h
+++ b/include/uapi/linux/can/bcm.h
@@ -47,6 +47,11 @@
47#include <linux/types.h> 47#include <linux/types.h>
48#include <linux/can.h> 48#include <linux/can.h>
49 49
50struct bcm_timeval {
51 long tv_sec;
52 long tv_usec;
53};
54
50/** 55/**
51 * struct bcm_msg_head - head of messages to/from the broadcast manager 56 * struct bcm_msg_head - head of messages to/from the broadcast manager
52 * @opcode: opcode, see enum below. 57 * @opcode: opcode, see enum below.
@@ -62,7 +67,7 @@ struct bcm_msg_head {
62 __u32 opcode; 67 __u32 opcode;
63 __u32 flags; 68 __u32 flags;
64 __u32 count; 69 __u32 count;
65 struct timeval ival1, ival2; 70 struct bcm_timeval ival1, ival2;
66 canid_t can_id; 71 canid_t can_id;
67 __u32 nframes; 72 __u32 nframes;
68 struct can_frame frames[0]; 73 struct can_frame frames[0];
diff --git a/include/uapi/linux/if_arcnet.h b/include/uapi/linux/if_arcnet.h
index 46e34bd0e783..cfb642f8e7bd 100644
--- a/include/uapi/linux/if_arcnet.h
+++ b/include/uapi/linux/if_arcnet.h
@@ -19,7 +19,6 @@
19#include <linux/types.h> 19#include <linux/types.h>
20#include <linux/if_ether.h> 20#include <linux/if_ether.h>
21 21
22
23/* 22/*
24 * These are the defined ARCnet Protocol ID's. 23 * These are the defined ARCnet Protocol ID's.
25 */ 24 */
@@ -57,42 +56,40 @@
57 * The RFC1201-specific components of an arcnet packet header. 56 * The RFC1201-specific components of an arcnet packet header.
58 */ 57 */
59struct arc_rfc1201 { 58struct arc_rfc1201 {
60 __u8 proto; /* protocol ID field - varies */ 59 __u8 proto; /* protocol ID field - varies */
61 __u8 split_flag; /* for use with split packets */ 60 __u8 split_flag; /* for use with split packets */
62 __be16 sequence; /* sequence number */ 61 __be16 sequence; /* sequence number */
63 __u8 payload[0]; /* space remaining in packet (504 bytes)*/ 62 __u8 payload[0]; /* space remaining in packet (504 bytes)*/
64}; 63};
65#define RFC1201_HDR_SIZE 4 64#define RFC1201_HDR_SIZE 4
66 65
67
68/* 66/*
69 * The RFC1051-specific components. 67 * The RFC1051-specific components.
70 */ 68 */
71struct arc_rfc1051 { 69struct arc_rfc1051 {
72 __u8 proto; /* ARC_P_RFC1051_ARP/RFC1051_IP */ 70 __u8 proto; /* ARC_P_RFC1051_ARP/RFC1051_IP */
73 __u8 payload[0]; /* 507 bytes */ 71 __u8 payload[0]; /* 507 bytes */
74}; 72};
75#define RFC1051_HDR_SIZE 1 73#define RFC1051_HDR_SIZE 1
76 74
77
78/* 75/*
79 * The ethernet-encap-specific components. We have a real ethernet header 76 * The ethernet-encap-specific components. We have a real ethernet header
80 * and some data. 77 * and some data.
81 */ 78 */
82struct arc_eth_encap { 79struct arc_eth_encap {
83 __u8 proto; /* Always ARC_P_ETHER */ 80 __u8 proto; /* Always ARC_P_ETHER */
84 struct ethhdr eth; /* standard ethernet header (yuck!) */ 81 struct ethhdr eth; /* standard ethernet header (yuck!) */
85 __u8 payload[0]; /* 493 bytes */ 82 __u8 payload[0]; /* 493 bytes */
86}; 83};
87#define ETH_ENCAP_HDR_SIZE 14 84#define ETH_ENCAP_HDR_SIZE 14
88 85
89
90struct arc_cap { 86struct arc_cap {
91 __u8 proto; 87 __u8 proto;
92 __u8 cookie[sizeof(int)]; /* Actually NOT sent over the network */ 88 __u8 cookie[sizeof(int)];
89 /* Actually NOT sent over the network */
93 union { 90 union {
94 __u8 ack; 91 __u8 ack;
95 __u8 raw[0]; /* 507 bytes */ 92 __u8 raw[0]; /* 507 bytes */
96 } mes; 93 } mes;
97}; 94};
98 95
@@ -105,9 +102,9 @@ struct arc_cap {
105 * driver. 102 * driver.
106 */ 103 */
107struct arc_hardware { 104struct arc_hardware {
108 __u8 source, /* source ARCnet - filled in automagically */ 105 __u8 source; /* source ARCnet - filled in automagically */
109 dest, /* destination ARCnet - 0 for broadcast */ 106 __u8 dest; /* destination ARCnet - 0 for broadcast */
110 offset[2]; /* offset bytes (some weird semantics) */ 107 __u8 offset[2]; /* offset bytes (some weird semantics) */
111}; 108};
112#define ARC_HDR_SIZE 4 109#define ARC_HDR_SIZE 4
113 110
@@ -116,17 +113,17 @@ struct arc_hardware {
116 * when you do a raw packet capture). 113 * when you do a raw packet capture).
117 */ 114 */
118struct archdr { 115struct archdr {
119 /* hardware requirements */ 116 /* hardware requirements */
120 struct arc_hardware hard; 117 struct arc_hardware hard;
121 118
122 /* arcnet encapsulation-specific bits */ 119 /* arcnet encapsulation-specific bits */
123 union { 120 union {
124 struct arc_rfc1201 rfc1201; 121 struct arc_rfc1201 rfc1201;
125 struct arc_rfc1051 rfc1051; 122 struct arc_rfc1051 rfc1051;
126 struct arc_eth_encap eth_encap; 123 struct arc_eth_encap eth_encap;
127 struct arc_cap cap; 124 struct arc_cap cap;
128 __u8 raw[0]; /* 508 bytes */ 125 __u8 raw[0]; /* 508 bytes */
129 } soft; 126 } soft;
130}; 127};
131 128
132#endif /* _LINUX_IF_ARCNET_H */ 129#endif /* _LINUX_IF_ARCNET_H */
diff --git a/include/uapi/linux/if_bridge.h b/include/uapi/linux/if_bridge.h
index 3635b7797508..18db14477bdd 100644
--- a/include/uapi/linux/if_bridge.h
+++ b/include/uapi/linux/if_bridge.h
@@ -127,6 +127,7 @@ enum {
127#define BRIDGE_VLAN_INFO_UNTAGGED (1<<2) /* VLAN egresses untagged */ 127#define BRIDGE_VLAN_INFO_UNTAGGED (1<<2) /* VLAN egresses untagged */
128#define BRIDGE_VLAN_INFO_RANGE_BEGIN (1<<3) /* VLAN is start of vlan range */ 128#define BRIDGE_VLAN_INFO_RANGE_BEGIN (1<<3) /* VLAN is start of vlan range */
129#define BRIDGE_VLAN_INFO_RANGE_END (1<<4) /* VLAN is end of vlan range */ 129#define BRIDGE_VLAN_INFO_RANGE_END (1<<4) /* VLAN is end of vlan range */
130#define BRIDGE_VLAN_INFO_BRENTRY (1<<5) /* Global bridge VLAN entry */
130 131
131struct bridge_vlan_info { 132struct bridge_vlan_info {
132 __u16 flags; 133 __u16 flags;
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
index 3a5f263cfc2f..5ad57375a99f 100644
--- a/include/uapi/linux/if_link.h
+++ b/include/uapi/linux/if_link.h
@@ -232,11 +232,47 @@ enum {
232 IFLA_BR_PRIORITY, 232 IFLA_BR_PRIORITY,
233 IFLA_BR_VLAN_FILTERING, 233 IFLA_BR_VLAN_FILTERING,
234 IFLA_BR_VLAN_PROTOCOL, 234 IFLA_BR_VLAN_PROTOCOL,
235 IFLA_BR_GROUP_FWD_MASK,
236 IFLA_BR_ROOT_ID,
237 IFLA_BR_BRIDGE_ID,
238 IFLA_BR_ROOT_PORT,
239 IFLA_BR_ROOT_PATH_COST,
240 IFLA_BR_TOPOLOGY_CHANGE,
241 IFLA_BR_TOPOLOGY_CHANGE_DETECTED,
242 IFLA_BR_HELLO_TIMER,
243 IFLA_BR_TCN_TIMER,
244 IFLA_BR_TOPOLOGY_CHANGE_TIMER,
245 IFLA_BR_GC_TIMER,
246 IFLA_BR_GROUP_ADDR,
247 IFLA_BR_FDB_FLUSH,
248 IFLA_BR_MCAST_ROUTER,
249 IFLA_BR_MCAST_SNOOPING,
250 IFLA_BR_MCAST_QUERY_USE_IFADDR,
251 IFLA_BR_MCAST_QUERIER,
252 IFLA_BR_MCAST_HASH_ELASTICITY,
253 IFLA_BR_MCAST_HASH_MAX,
254 IFLA_BR_MCAST_LAST_MEMBER_CNT,
255 IFLA_BR_MCAST_STARTUP_QUERY_CNT,
256 IFLA_BR_MCAST_LAST_MEMBER_INTVL,
257 IFLA_BR_MCAST_MEMBERSHIP_INTVL,
258 IFLA_BR_MCAST_QUERIER_INTVL,
259 IFLA_BR_MCAST_QUERY_INTVL,
260 IFLA_BR_MCAST_QUERY_RESPONSE_INTVL,
261 IFLA_BR_MCAST_STARTUP_QUERY_INTVL,
262 IFLA_BR_NF_CALL_IPTABLES,
263 IFLA_BR_NF_CALL_IP6TABLES,
264 IFLA_BR_NF_CALL_ARPTABLES,
265 IFLA_BR_VLAN_DEFAULT_PVID,
235 __IFLA_BR_MAX, 266 __IFLA_BR_MAX,
236}; 267};
237 268
238#define IFLA_BR_MAX (__IFLA_BR_MAX - 1) 269#define IFLA_BR_MAX (__IFLA_BR_MAX - 1)
239 270
271struct ifla_bridge_id {
272 __u8 prio[2];
273 __u8 addr[6]; /* ETH_ALEN */
274};
275
240enum { 276enum {
241 BRIDGE_MODE_UNSPEC, 277 BRIDGE_MODE_UNSPEC,
242 BRIDGE_MODE_HAIRPIN, 278 BRIDGE_MODE_HAIRPIN,
@@ -256,6 +292,19 @@ enum {
256 IFLA_BRPORT_PROXYARP, /* proxy ARP */ 292 IFLA_BRPORT_PROXYARP, /* proxy ARP */
257 IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */ 293 IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */
258 IFLA_BRPORT_PROXYARP_WIFI, /* proxy ARP for Wi-Fi */ 294 IFLA_BRPORT_PROXYARP_WIFI, /* proxy ARP for Wi-Fi */
295 IFLA_BRPORT_ROOT_ID, /* designated root */
296 IFLA_BRPORT_BRIDGE_ID, /* designated bridge */
297 IFLA_BRPORT_DESIGNATED_PORT,
298 IFLA_BRPORT_DESIGNATED_COST,
299 IFLA_BRPORT_ID,
300 IFLA_BRPORT_NO,
301 IFLA_BRPORT_TOPOLOGY_CHANGE_ACK,
302 IFLA_BRPORT_CONFIG_PENDING,
303 IFLA_BRPORT_MESSAGE_AGE_TIMER,
304 IFLA_BRPORT_FORWARD_DELAY_TIMER,
305 IFLA_BRPORT_HOLD_TIMER,
306 IFLA_BRPORT_FLUSH,
307 IFLA_BRPORT_MULTICAST_ROUTER,
259 __IFLA_BRPORT_MAX 308 __IFLA_BRPORT_MAX
260}; 309};
261#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1) 310#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
@@ -412,6 +461,7 @@ enum {
412 IFLA_GENEVE_TOS, 461 IFLA_GENEVE_TOS,
413 IFLA_GENEVE_PORT, /* destination port */ 462 IFLA_GENEVE_PORT, /* destination port */
414 IFLA_GENEVE_COLLECT_METADATA, 463 IFLA_GENEVE_COLLECT_METADATA,
464 IFLA_GENEVE_REMOTE6,
415 __IFLA_GENEVE_MAX 465 __IFLA_GENEVE_MAX
416}; 466};
417#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1) 467#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
@@ -501,6 +551,7 @@ enum {
501 * on/off switch 551 * on/off switch
502 */ 552 */
503 IFLA_VF_STATS, /* network device statistics */ 553 IFLA_VF_STATS, /* network device statistics */
554 IFLA_VF_TRUST, /* Trust VF */
504 __IFLA_VF_MAX, 555 __IFLA_VF_MAX,
505}; 556};
506 557
@@ -562,6 +613,11 @@ enum {
562 613
563#define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1) 614#define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1)
564 615
616struct ifla_vf_trust {
617 __u32 vf;
618 __u32 setting;
619};
620
565/* VF ports management section 621/* VF ports management section
566 * 622 *
567 * Nested layout of set/get msg is: 623 * Nested layout of set/get msg is:
diff --git a/include/uapi/linux/magic.h b/include/uapi/linux/magic.h
index 7b1425a6b370..accb036bbc9c 100644
--- a/include/uapi/linux/magic.h
+++ b/include/uapi/linux/magic.h
@@ -75,5 +75,6 @@
75#define ANON_INODE_FS_MAGIC 0x09041934 75#define ANON_INODE_FS_MAGIC 0x09041934
76#define BTRFS_TEST_MAGIC 0x73727279 76#define BTRFS_TEST_MAGIC 0x73727279
77#define NSFS_MAGIC 0x6e736673 77#define NSFS_MAGIC 0x6e736673
78#define BPF_FS_MAGIC 0xcafe4a11
78 79
79#endif /* __LINUX_MAGIC_H__ */ 80#endif /* __LINUX_MAGIC_H__ */
diff --git a/include/uapi/linux/netfilter/nfnetlink_log.h b/include/uapi/linux/netfilter/nfnetlink_log.h
index 90c2c9575bac..fb21f0c717a1 100644
--- a/include/uapi/linux/netfilter/nfnetlink_log.h
+++ b/include/uapi/linux/netfilter/nfnetlink_log.h
@@ -51,6 +51,8 @@ enum nfulnl_attr_type {
51 NFULA_HWTYPE, /* hardware type */ 51 NFULA_HWTYPE, /* hardware type */
52 NFULA_HWHEADER, /* hardware header */ 52 NFULA_HWHEADER, /* hardware header */
53 NFULA_HWLEN, /* hardware header length */ 53 NFULA_HWLEN, /* hardware header length */
54 NFULA_CT, /* nf_conntrack_netlink.h */
55 NFULA_CT_INFO, /* enum ip_conntrack_info */
54 56
55 __NFULA_MAX 57 __NFULA_MAX
56}; 58};
@@ -93,5 +95,6 @@ enum nfulnl_attr_config {
93 95
94#define NFULNL_CFG_F_SEQ 0x0001 96#define NFULNL_CFG_F_SEQ 0x0001
95#define NFULNL_CFG_F_SEQ_GLOBAL 0x0002 97#define NFULNL_CFG_F_SEQ_GLOBAL 0x0002
98#define NFULNL_CFG_F_CONNTRACK 0x0004
96 99
97#endif /* _NFNETLINK_LOG_H */ 100#endif /* _NFNETLINK_LOG_H */
diff --git a/include/uapi/linux/netlink.h b/include/uapi/linux/netlink.h
index 6f3fe16cd22a..f095155d8749 100644
--- a/include/uapi/linux/netlink.h
+++ b/include/uapi/linux/netlink.h
@@ -54,6 +54,7 @@ struct nlmsghdr {
54#define NLM_F_ACK 4 /* Reply with ack, with zero or error code */ 54#define NLM_F_ACK 4 /* Reply with ack, with zero or error code */
55#define NLM_F_ECHO 8 /* Echo this request */ 55#define NLM_F_ECHO 8 /* Echo this request */
56#define NLM_F_DUMP_INTR 16 /* Dump was inconsistent due to sequence change */ 56#define NLM_F_DUMP_INTR 16 /* Dump was inconsistent due to sequence change */
57#define NLM_F_DUMP_FILTERED 32 /* Dump was filtered as requested */
57 58
58/* Modifiers to GET request */ 59/* Modifiers to GET request */
59#define NLM_F_ROOT 0x100 /* specify tree root */ 60#define NLM_F_ROOT 0x100 /* specify tree root */
diff --git a/include/uapi/linux/nfc.h b/include/uapi/linux/nfc.h
index dd3f75389076..399f39ff8048 100644
--- a/include/uapi/linux/nfc.h
+++ b/include/uapi/linux/nfc.h
@@ -86,6 +86,7 @@
86 * for this event is the application ID (AID). 86 * for this event is the application ID (AID).
87 * @NFC_CMD_GET_SE: Dump all discovered secure elements from an NFC controller. 87 * @NFC_CMD_GET_SE: Dump all discovered secure elements from an NFC controller.
88 * @NFC_CMD_SE_IO: Send/Receive APDUs to/from the selected secure element. 88 * @NFC_CMD_SE_IO: Send/Receive APDUs to/from the selected secure element.
89 * @NFC_CMD_ACTIVATE_TARGET: Request NFC controller to reactivate target.
89 * @NFC_CMD_VENDOR: Vendor specific command, to be implemented directly 90 * @NFC_CMD_VENDOR: Vendor specific command, to be implemented directly
90 * from the driver in order to support hardware specific operations. 91 * from the driver in order to support hardware specific operations.
91 */ 92 */
@@ -156,6 +157,7 @@ enum nfc_commands {
156 * @NFC_ATTR_APDU: Secure element APDU 157 * @NFC_ATTR_APDU: Secure element APDU
157 * @NFC_ATTR_TARGET_ISO15693_DSFID: ISO 15693 Data Storage Format Identifier 158 * @NFC_ATTR_TARGET_ISO15693_DSFID: ISO 15693 Data Storage Format Identifier
158 * @NFC_ATTR_TARGET_ISO15693_UID: ISO 15693 Unique Identifier 159 * @NFC_ATTR_TARGET_ISO15693_UID: ISO 15693 Unique Identifier
160 * @NFC_ATTR_SE_PARAMS: Parameters data from an evt_transaction
159 * @NFC_ATTR_VENDOR_ID: NFC manufacturer unique ID, typically an OUI 161 * @NFC_ATTR_VENDOR_ID: NFC manufacturer unique ID, typically an OUI
160 * @NFC_ATTR_VENDOR_SUBCMD: Vendor specific sub command 162 * @NFC_ATTR_VENDOR_SUBCMD: Vendor specific sub command
161 * @NFC_ATTR_VENDOR_DATA: Vendor specific data, to be optionally passed 163 * @NFC_ATTR_VENDOR_DATA: Vendor specific data, to be optionally passed
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index c0ab6b0a3919..1f0b4cf5dd03 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -10,6 +10,7 @@
10 * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com> 10 * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com>
11 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com> 11 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
12 * Copyright 2008 Colin McCabe <colin@cozybit.com> 12 * Copyright 2008 Colin McCabe <colin@cozybit.com>
13 * Copyright 2015 Intel Deutschland GmbH
13 * 14 *
14 * Permission to use, copy, modify, and/or distribute this software for any 15 * Permission to use, copy, modify, and/or distribute this software for any
15 * purpose with or without fee is hereby granted, provided that the above 16 * purpose with or without fee is hereby granted, provided that the above
@@ -328,7 +329,15 @@
328 * partial scan results may be available 329 * partial scan results may be available
329 * 330 *
330 * @NL80211_CMD_START_SCHED_SCAN: start a scheduled scan at certain 331 * @NL80211_CMD_START_SCHED_SCAN: start a scheduled scan at certain
331 * intervals, as specified by %NL80211_ATTR_SCHED_SCAN_INTERVAL. 332 * intervals and certain number of cycles, as specified by
333 * %NL80211_ATTR_SCHED_SCAN_PLANS. If %NL80211_ATTR_SCHED_SCAN_PLANS is
334 * not specified and only %NL80211_ATTR_SCHED_SCAN_INTERVAL is specified,
335 * scheduled scan will run in an infinite loop with the specified interval.
336 * These attributes are mutually exculsive,
337 * i.e. NL80211_ATTR_SCHED_SCAN_INTERVAL must not be passed if
338 * NL80211_ATTR_SCHED_SCAN_PLANS is defined.
339 * If for some reason scheduled scan is aborted by the driver, all scan
340 * plans are canceled (including scan plans that did not start yet).
332 * Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS) 341 * Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS)
333 * are passed, they are used in the probe requests. For 342 * are passed, they are used in the probe requests. For
334 * broadcast, a broadcast SSID must be passed (ie. an empty 343 * broadcast, a broadcast SSID must be passed (ie. an empty
@@ -1761,6 +1770,19 @@ enum nl80211_commands {
1761 * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device 1770 * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device
1762 * is operating in an indoor environment. 1771 * is operating in an indoor environment.
1763 * 1772 *
1773 * @NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS: maximum number of scan plans for
1774 * scheduled scan supported by the device (u32), a wiphy attribute.
1775 * @NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL: maximum interval (in seconds) for
1776 * a scan plan (u32), a wiphy attribute.
1777 * @NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS: maximum number of iterations in
1778 * a scan plan (u32), a wiphy attribute.
1779 * @NL80211_ATTR_SCHED_SCAN_PLANS: a list of scan plans for scheduled scan.
1780 * Each scan plan defines the number of scan iterations and the interval
1781 * between scans. The last scan plan will always run infinitely,
1782 * thus it must not specify the number of iterations, only the interval
1783 * between scans. The scan plans are executed sequentially.
1784 * Each scan plan is a nested attribute of &enum nl80211_sched_scan_plan.
1785 *
1764 * @NUM_NL80211_ATTR: total number of nl80211_attrs available 1786 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
1765 * @NL80211_ATTR_MAX: highest attribute number currently defined 1787 * @NL80211_ATTR_MAX: highest attribute number currently defined
1766 * @__NL80211_ATTR_AFTER_LAST: internal use 1788 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2130,6 +2152,11 @@ enum nl80211_attrs {
2130 2152
2131 NL80211_ATTR_REG_INDOOR, 2153 NL80211_ATTR_REG_INDOOR,
2132 2154
2155 NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS,
2156 NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL,
2157 NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS,
2158 NL80211_ATTR_SCHED_SCAN_PLANS,
2159
2133 /* add attributes here, update the policy in nl80211.c */ 2160 /* add attributes here, update the policy in nl80211.c */
2134 2161
2135 __NL80211_ATTR_AFTER_LAST, 2162 __NL80211_ATTR_AFTER_LAST,
@@ -3364,6 +3391,9 @@ enum nl80211_bss_scan_width {
3364 * (not present if no beacon frame has been received yet) 3391 * (not present if no beacon frame has been received yet)
3365 * @NL80211_BSS_PRESP_DATA: the data in @NL80211_BSS_INFORMATION_ELEMENTS and 3392 * @NL80211_BSS_PRESP_DATA: the data in @NL80211_BSS_INFORMATION_ELEMENTS and
3366 * @NL80211_BSS_TSF is known to be from a probe response (flag attribute) 3393 * @NL80211_BSS_TSF is known to be from a probe response (flag attribute)
3394 * @NL80211_BSS_LAST_SEEN_BOOTTIME: CLOCK_BOOTTIME timestamp when this entry
3395 * was last updated by a received frame. The value is expected to be
3396 * accurate to about 10ms. (u64, nanoseconds)
3367 * @__NL80211_BSS_AFTER_LAST: internal 3397 * @__NL80211_BSS_AFTER_LAST: internal
3368 * @NL80211_BSS_MAX: highest BSS attribute 3398 * @NL80211_BSS_MAX: highest BSS attribute
3369 */ 3399 */
@@ -3383,6 +3413,7 @@ enum nl80211_bss {
3383 NL80211_BSS_CHAN_WIDTH, 3413 NL80211_BSS_CHAN_WIDTH,
3384 NL80211_BSS_BEACON_TSF, 3414 NL80211_BSS_BEACON_TSF,
3385 NL80211_BSS_PRESP_DATA, 3415 NL80211_BSS_PRESP_DATA,
3416 NL80211_BSS_LAST_SEEN_BOOTTIME,
3386 3417
3387 /* keep last */ 3418 /* keep last */
3388 __NL80211_BSS_AFTER_LAST, 3419 __NL80211_BSS_AFTER_LAST,
@@ -4589,4 +4620,28 @@ enum nl80211_tdls_peer_capability {
4589 NL80211_TDLS_PEER_WMM = 1<<2, 4620 NL80211_TDLS_PEER_WMM = 1<<2,
4590}; 4621};
4591 4622
4623/**
4624 * enum nl80211_sched_scan_plan - scanning plan for scheduled scan
4625 * @__NL80211_SCHED_SCAN_PLAN_INVALID: attribute number 0 is reserved
4626 * @NL80211_SCHED_SCAN_PLAN_INTERVAL: interval between scan iterations. In
4627 * seconds (u32).
4628 * @NL80211_SCHED_SCAN_PLAN_ITERATIONS: number of scan iterations in this
4629 * scan plan (u32). The last scan plan must not specify this attribute
4630 * because it will run infinitely. A value of zero is invalid as it will
4631 * make the scan plan meaningless.
4632 * @NL80211_SCHED_SCAN_PLAN_MAX: highest scheduled scan plan attribute number
4633 * currently defined
4634 * @__NL80211_SCHED_SCAN_PLAN_AFTER_LAST: internal use
4635 */
4636enum nl80211_sched_scan_plan {
4637 __NL80211_SCHED_SCAN_PLAN_INVALID,
4638 NL80211_SCHED_SCAN_PLAN_INTERVAL,
4639 NL80211_SCHED_SCAN_PLAN_ITERATIONS,
4640
4641 /* keep last */
4642 __NL80211_SCHED_SCAN_PLAN_AFTER_LAST,
4643 NL80211_SCHED_SCAN_PLAN_MAX =
4644 __NL80211_SCHED_SCAN_PLAN_AFTER_LAST - 1
4645};
4646
4592#endif /* __LINUX_NL80211_H */ 4647#endif /* __LINUX_NL80211_H */
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h
index e663627a8ef3..28ccedd000f5 100644
--- a/include/uapi/linux/openvswitch.h
+++ b/include/uapi/linux/openvswitch.h
@@ -349,6 +349,8 @@ enum ovs_tunnel_key_attr {
349 OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */ 349 OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */
350 OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */ 350 OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */
351 OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS, /* Nested OVS_VXLAN_EXT_* */ 351 OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS, /* Nested OVS_VXLAN_EXT_* */
352 OVS_TUNNEL_KEY_ATTR_IPV6_SRC, /* struct in6_addr src IPv6 address. */
353 OVS_TUNNEL_KEY_ATTR_IPV6_DST, /* struct in6_addr dst IPv6 address. */
352 __OVS_TUNNEL_KEY_ATTR_MAX 354 __OVS_TUNNEL_KEY_ATTR_MAX
353}; 355};
354 356
diff --git a/include/uapi/linux/perf_event.h b/include/uapi/linux/perf_event.h
index 651221334f49..d801bb0d9f6d 100644
--- a/include/uapi/linux/perf_event.h
+++ b/include/uapi/linux/perf_event.h
@@ -110,6 +110,7 @@ enum perf_sw_ids {
110 PERF_COUNT_SW_ALIGNMENT_FAULTS = 7, 110 PERF_COUNT_SW_ALIGNMENT_FAULTS = 7,
111 PERF_COUNT_SW_EMULATION_FAULTS = 8, 111 PERF_COUNT_SW_EMULATION_FAULTS = 8,
112 PERF_COUNT_SW_DUMMY = 9, 112 PERF_COUNT_SW_DUMMY = 9,
113 PERF_COUNT_SW_BPF_OUTPUT = 10,
113 114
114 PERF_COUNT_SW_MAX, /* non-ABI */ 115 PERF_COUNT_SW_MAX, /* non-ABI */
115}; 116};
diff --git a/include/uapi/linux/pkt_cls.h b/include/uapi/linux/pkt_cls.h
index 4f0d1bc3647d..439873775d49 100644
--- a/include/uapi/linux/pkt_cls.h
+++ b/include/uapi/linux/pkt_cls.h
@@ -87,6 +87,7 @@ enum {
87#define TC_ACT_STOLEN 4 87#define TC_ACT_STOLEN 4
88#define TC_ACT_QUEUED 5 88#define TC_ACT_QUEUED 5
89#define TC_ACT_REPEAT 6 89#define TC_ACT_REPEAT 6
90#define TC_ACT_REDIRECT 7
90#define TC_ACT_JUMP 0x10000000 91#define TC_ACT_JUMP 0x10000000
91 92
92/* Action type identifiers*/ 93/* Action type identifiers*/
@@ -373,6 +374,8 @@ enum {
373 374
374/* BPF classifier */ 375/* BPF classifier */
375 376
377#define TCA_BPF_FLAG_ACT_DIRECT (1 << 0)
378
376enum { 379enum {
377 TCA_BPF_UNSPEC, 380 TCA_BPF_UNSPEC,
378 TCA_BPF_ACT, 381 TCA_BPF_ACT,
@@ -382,6 +385,7 @@ enum {
382 TCA_BPF_OPS, 385 TCA_BPF_OPS,
383 TCA_BPF_FD, 386 TCA_BPF_FD,
384 TCA_BPF_NAME, 387 TCA_BPF_NAME,
388 TCA_BPF_FLAGS,
385 __TCA_BPF_MAX, 389 __TCA_BPF_MAX,
386}; 390};
387 391
diff --git a/include/uapi/linux/ptrace.h b/include/uapi/linux/ptrace.h
index a7a697986614..fb8106509000 100644
--- a/include/uapi/linux/ptrace.h
+++ b/include/uapi/linux/ptrace.h
@@ -64,6 +64,8 @@ struct ptrace_peeksiginfo_args {
64#define PTRACE_GETSIGMASK 0x420a 64#define PTRACE_GETSIGMASK 0x420a
65#define PTRACE_SETSIGMASK 0x420b 65#define PTRACE_SETSIGMASK 0x420b
66 66
67#define PTRACE_SECCOMP_GET_FILTER 0x420c
68
67/* Read signals from a shared (process wide) queue */ 69/* Read signals from a shared (process wide) queue */
68#define PTRACE_PEEKSIGINFO_SHARED (1 << 0) 70#define PTRACE_PEEKSIGINFO_SHARED (1 << 0)
69 71
diff --git a/include/uapi/linux/rtnetlink.h b/include/uapi/linux/rtnetlink.h
index 9d8f5d10c1e5..123a5af4e8bb 100644
--- a/include/uapi/linux/rtnetlink.h
+++ b/include/uapi/linux/rtnetlink.h
@@ -270,6 +270,7 @@ enum rt_scope_t {
270#define RTM_F_CLONED 0x200 /* This route is cloned */ 270#define RTM_F_CLONED 0x200 /* This route is cloned */
271#define RTM_F_EQUALIZE 0x400 /* Multipath equalizer: NI */ 271#define RTM_F_EQUALIZE 0x400 /* Multipath equalizer: NI */
272#define RTM_F_PREFIX 0x800 /* Prefix addresses */ 272#define RTM_F_PREFIX 0x800 /* Prefix addresses */
273#define RTM_F_LOOKUP_TABLE 0x1000 /* set rtm_table to FIB lookup result */
273 274
274/* Reserved table identifiers */ 275/* Reserved table identifiers */
275 276
@@ -666,6 +667,7 @@ struct tcamsg {
666#define RTEXT_FILTER_VF (1 << 0) 667#define RTEXT_FILTER_VF (1 << 0)
667#define RTEXT_FILTER_BRVLAN (1 << 1) 668#define RTEXT_FILTER_BRVLAN (1 << 1)
668#define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2) 669#define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2)
670#define RTEXT_FILTER_SKIP_STATS (1 << 3)
669 671
670/* End of information exported to user level */ 672/* End of information exported to user level */
671 673
diff --git a/include/uapi/linux/usb/cdc.h b/include/uapi/linux/usb/cdc.h
index b6a9cdd6e096..e2bc417b243b 100644
--- a/include/uapi/linux/usb/cdc.h
+++ b/include/uapi/linux/usb/cdc.h
@@ -6,8 +6,8 @@
6 * firmware based USB peripherals. 6 * firmware based USB peripherals.
7 */ 7 */
8 8
9#ifndef __LINUX_USB_CDC_H 9#ifndef __UAPI_LINUX_USB_CDC_H
10#define __LINUX_USB_CDC_H 10#define __UAPI_LINUX_USB_CDC_H
11 11
12#include <linux/types.h> 12#include <linux/types.h>
13 13
@@ -444,4 +444,4 @@ struct usb_cdc_ncm_ndp_input_size {
444#define USB_CDC_NCM_CRC_NOT_APPENDED 0x00 444#define USB_CDC_NCM_CRC_NOT_APPENDED 0x00
445#define USB_CDC_NCM_CRC_APPENDED 0x01 445#define USB_CDC_NCM_CRC_APPENDED 0x01
446 446
447#endif /* __LINUX_USB_CDC_H */ 447#endif /* __UAPI_LINUX_USB_CDC_H */