aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2015-11-04 12:41:05 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2015-11-04 12:41:05 -0500
commitb0f85fa11aefc4f3e03306b4cd47f113bd57dcba (patch)
tree1333d36d99fde3f97210795941fc246f0ad08a75 /include/uapi
parentccc9d4a6d640cbde05d519edeb727881646cf71b (diff)
parentf32bfb9a8ca083f8d148ea90ae5ba66f4831836e (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking updates from David Miller: Changes of note: 1) Allow to schedule ICMP packets in IPVS, from Alex Gartrell. 2) Provide FIB table ID in ipv4 route dumps just as ipv6 does, from David Ahern. 3) Allow the user to ask for the statistics to be filtered out of ipv4/ipv6 address netlink dumps. From Sowmini Varadhan. 4) More work to pass the network namespace context around deep into various packet path APIs, starting with the netfilter hooks. From Eric W Biederman. 5) Add layer 2 TX/RX checksum offloading to qeth driver, from Thomas Richter. 6) Use usec resolution for SYN/ACK RTTs in TCP, from Yuchung Cheng. 7) Support Very High Throughput in wireless MESH code, from Bob Copeland. 8) Allow setting the ageing_time in switchdev/rocker. From Scott Feldman. 9) Properly autoload L2TP type modules, from Stephen Hemminger. 10) Fix and enable offload features by default in 8139cp driver, from David Woodhouse. 11) Support both ipv4 and ipv6 sockets in a single vxlan device, from Jiri Benc. 12) Fix CWND limiting of thin streams in TCP, from Bendik Rønning Opstad. 13) Fix IPSEC flowcache overflows on large systems, from Steffen Klassert. 14) Convert bridging to track VLANs using rhashtable entries rather than a bitmap. From Nikolay Aleksandrov. 15) Make TCP listener handling completely lockless, this is a major accomplishment. Incoming request sockets now live in the established hash table just like any other socket too. From Eric Dumazet. 15) Provide more bridging attributes to netlink, from Nikolay Aleksandrov. 16) Use hash based algorithm for ipv4 multipath routing, this was very long overdue. From Peter Nørlund. 17) Several y2038 cures, mostly avoiding timespec. From Arnd Bergmann. 18) Allow non-root execution of EBPF programs, from Alexei Starovoitov. 19) Support SO_INCOMING_CPU as setsockopt, from Eric Dumazet. This influences the port binding selection logic used by SO_REUSEPORT. 20) Add ipv6 support to VRF, from David Ahern. 21) Add support for Mellanox Spectrum switch ASIC, from Jiri Pirko. 22) Add rtl8xxxu Realtek wireless driver, from Jes Sorensen. 23) Implement RACK loss recovery in TCP, from Yuchung Cheng. 24) Support multipath routes in MPLS, from Roopa Prabhu. 25) Fix POLLOUT notification for listening sockets in AF_UNIX, from Eric Dumazet. 26) Add new QED Qlogic river, from Yuval Mintz, Manish Chopra, and Sudarsana Kalluru. 27) Don't fetch timestamps on AF_UNIX sockets, from Hannes Frederic Sowa. 28) Support ipv6 geneve tunnels, from John W Linville. 29) Add flood control support to switchdev layer, from Ido Schimmel. 30) Fix CHECKSUM_PARTIAL handling of potentially fragmented frames, from Hannes Frederic Sowa. 31) Support persistent maps and progs in bpf, from Daniel Borkmann. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1790 commits) sh_eth: use DMA barriers switchdev: respect SKIP_EOPNOTSUPP flag in case there is no recursion net: sched: kill dead code in sch_choke.c irda: Delete an unnecessary check before the function call "irlmp_unregister_service" net: dsa: mv88e6xxx: include DSA ports in VLANs net: dsa: mv88e6xxx: disable SA learning for DSA and CPU ports net/core: fix for_each_netdev_feature vlan: Invoke driver vlan hooks only if device is present arcnet/com20020: add LEDS_CLASS dependency bpf, verifier: annotate verbose printer with __printf dp83640: Only wait for timestamps for packets with timestamping enabled. ptp: Change ptp_class to a proper bitmask dp83640: Prune rx timestamp list before reading from it dp83640: Delay scheduled work. dp83640: Include hash in timestamp/packet matching ipv6: fix tunnel error handling net/mlx5e: Fix LSO vlan insertion net/mlx5e: Re-eanble client vlan TX acceleration net/mlx5e: Return error in case mlx5e_set_features() fails net/mlx5e: Don't allow more than max supported channels ...
Diffstat (limited to 'include/uapi')
-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 */