History

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 ...

Linus Torvalds committed 11 years ago

Commit b0f85fa2 parents ccc9d4a f32bfb91595 files · +115014 −24098Browse files

Showing the changes to include/uapi (18 of 1595 files). Show all

Unified · Split

18 files
  1. include/uapi/linux/Kbuild +1 −0
  2. include/uapi/linux/atm_zatm.h +0 −6
  3. include/uapi/linux/bpf.h +35 −37
  4. include/uapi/linux/can/bcm.h +6 −1
  5. include/uapi/linux/if_arcnet.h +26 −29
  6. include/uapi/linux/if_bridge.h +1 −0
  7. include/uapi/linux/if_link.h +56 −0
  8. include/uapi/linux/magic.h +1 −0
  9. include/uapi/linux/netfilter/nfnetlink_log.h +3 −0
  10. include/uapi/linux/netlink.h +1 −0
  11. include/uapi/linux/nfc.h +2 −0
  12. include/uapi/linux/nl80211.h +56 −1
  13. include/uapi/linux/openvswitch.h +2 −0
  14. include/uapi/linux/perf_event.h +1 −0
  15. include/uapi/linux/pkt_cls.h +4 −0
  16. include/uapi/linux/ptrace.h +2 −0
  17. include/uapi/linux/rtnetlink.h +2 −0
  18. include/uapi/linux/usb/cdc.h +3 −3
include/uapi/linux/Kbuild+1−0
@@ -263,6 +263,7 @@ header-y += minix_fs.h · 262 unmodified lines
263263 header-y += mman.h
264264 header-y += mmtimer.h
265265 header-y += mpls.h
266+header-y += mpls_iptunnel.h
266267 header-y += mqueue.h
267268 header-y += mroute6.h
268269 header-y += mroute.h
include/uapi/linux/atm_zatm.h+0−6
@@ -35,12 +35,6 @@ struct zatm_pool_req { · 34 unmodified lines
3535 struct zatm_pool_info info; /* actual information */
3636 };
3737
38−struct zatm_t_hist {
39− struct timeval real; /* real (wall-clock) time */
40− struct timeval expected; /* expected real time */
41−};
42−
43−
4438 #define ZATM_OAM_POOL 0 /* free buffer pool for OAM cells */
4539 #define ZATM_AAL0_POOL 1 /* free buffer pool for AAL0 cells */
4640 #define ZATM_AAL5_POOL_BASE 2 /* first AAL5 free buffer pool */
include/uapi/linux/bpf.h+35−37
@@ -63,50 +63,16 @@ struct bpf_insn { · 62 unmodified lines
6363 __s32 imm; /* signed immediate constant */
6464 };
6565
66−/* BPF syscall commands */
66+/* BPF syscall commands, see bpf(2) man-page for details. */
6767 enum 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− */
7368 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− */
8169 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− */
8870 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− */
9571 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− */
10272 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− */
10973 BPF_PROG_LOAD,
74+ BPF_OBJ_PIN,
75+ BPF_OBJ_GET,
11076 };
11177
11278 enum bpf_map_type {
@@ -160,6 +126,11 @@ union bpf_attr { · 47 unmodified lines
160126 __aligned_u64 log_buf; /* user supplied buffer */
161127 __u32 kern_version; /* checked when prog_type=kprobe */
162128 };
129+
130+ struct { /* anonymous struct used by BPF_OBJ_* commands */
131+ __aligned_u64 pathname;
132+ __u32 bpf_fd;
133+ };
163134 } __attribute__((aligned(8)));
164135
165136 /* integer value in 'imm' field of BPF_CALL instruction selects which helper
@@ -272,6 +243,32 @@ enum bpf_func_id { · 106 unmodified lines
272243 BPF_FUNC_skb_get_tunnel_key,
273244 BPF_FUNC_skb_set_tunnel_key,
274245 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,
275272 __BPF_FUNC_MAX_ID,
276273 };
277274
@@ -293,6 +290,7 @@ struct __sk_buff { · 15 unmodified lines
293290 __u32 tc_index;
294291 __u32 cb[5];
295292 __u32 hash;
293+ __u32 tc_classid;
296294 };
297295
298296 struct bpf_tunnel_key {
include/uapi/linux/can/bcm.h+6−1
@@ -47,6 +47,11 @@ · 46 unmodified lines
4747 #include <linux/types.h>
4848 #include <linux/can.h>
4949
50+struct bcm_timeval {
51+ long tv_sec;
52+ long tv_usec;
53+};
54+
5055 /**
5156 * struct bcm_msg_head - head of messages to/from the broadcast manager
5257 * @opcode: opcode, see enum below.
@@ -62,7 +67,7 @@ struct bcm_msg_head { · 9 unmodified lines
6267 __u32 opcode;
6368 __u32 flags;
6469 __u32 count;
65− struct timeval ival1, ival2;
70+ struct bcm_timeval ival1, ival2;
6671 canid_t can_id;
6772 __u32 nframes;
6873 struct can_frame frames[0];
include/uapi/linux/if_arcnet.h+26−29
@@ -19,7 +19,6 @@ · 18 unmodified lines
1919 #include <linux/types.h>
2020 #include <linux/if_ether.h>
2121
22−
2322 /*
2423 * These are the defined ARCnet Protocol ID's.
2524 */
@@ -57,42 +56,40 @@ · 31 unmodified lines
5756 * The RFC1201-specific components of an arcnet packet header.
5857 */
5958 struct arc_rfc1201 {
60− __u8 proto; /* protocol ID field - varies */
61− __u8 split_flag; /* for use with split packets */
62− __be16 sequence; /* sequence number */
63− __u8 payload[0]; /* space remaining in packet (504 bytes)*/
59+ __u8 proto; /* protocol ID field - varies */
60+ __u8 split_flag; /* for use with split packets */
61+ __be16 sequence; /* sequence number */
62+ __u8 payload[0]; /* space remaining in packet (504 bytes)*/
6463 };
6564 #define RFC1201_HDR_SIZE 4
6665
67−
6866 /*
6967 * The RFC1051-specific components.
7068 */
7169 struct arc_rfc1051 {
72− __u8 proto; /* ARC_P_RFC1051_ARP/RFC1051_IP */
73− __u8 payload[0]; /* 507 bytes */
70+ __u8 proto; /* ARC_P_RFC1051_ARP/RFC1051_IP */
71+ __u8 payload[0]; /* 507 bytes */
7472 };
7573 #define RFC1051_HDR_SIZE 1
7674
77−
7875 /*
7976 * The ethernet-encap-specific components. We have a real ethernet header
8077 * and some data.
8178 */
8279 struct arc_eth_encap {
83− __u8 proto; /* Always ARC_P_ETHER */
84− struct ethhdr eth; /* standard ethernet header (yuck!) */
85− __u8 payload[0]; /* 493 bytes */
80+ __u8 proto; /* Always ARC_P_ETHER */
81+ struct ethhdr eth; /* standard ethernet header (yuck!) */
82+ __u8 payload[0]; /* 493 bytes */
8683 };
8784 #define ETH_ENCAP_HDR_SIZE 14
8885
89−
9086 struct arc_cap {
9187 __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 */
9390 union {
9491 __u8 ack;
95− __u8 raw[0]; /* 507 bytes */
92+ __u8 raw[0]; /* 507 bytes */
9693 } mes;
9794 };
9895
@@ -105,9 +102,9 @@ struct arc_cap { · 6 unmodified lines
105102 * driver.
106103 */
107104 struct arc_hardware {
108− __u8 source, /* source ARCnet - filled in automagically */
109− dest, /* destination ARCnet - 0 for broadcast */
110− offset[2]; /* offset bytes (some weird semantics) */
105+ __u8 source; /* source ARCnet - filled in automagically */
106+ __u8 dest; /* destination ARCnet - 0 for broadcast */
107+ __u8 offset[2]; /* offset bytes (some weird semantics) */
111108 };
112109 #define ARC_HDR_SIZE 4
113110
@@ -116,17 +113,17 @@ struct arc_hardware { · 2 unmodified lines
116113 * when you do a raw packet capture).
117114 */
118115 struct archdr {
119− /* hardware requirements */
120− struct arc_hardware hard;
121−
122− /* arcnet encapsulation-specific bits */
123− union {
124− struct arc_rfc1201 rfc1201;
125− struct arc_rfc1051 rfc1051;
126− struct arc_eth_encap eth_encap;
127− struct arc_cap cap;
128− __u8 raw[0]; /* 508 bytes */
129− } soft;
116+ /* hardware requirements */
117+ struct arc_hardware hard;
118+
119+ /* arcnet encapsulation-specific bits */
120+ union {
121+ struct arc_rfc1201 rfc1201;
122+ struct arc_rfc1051 rfc1051;
123+ struct arc_eth_encap eth_encap;
124+ struct arc_cap cap;
125+ __u8 raw[0]; /* 508 bytes */
126+ } soft;
130127 };
131128
132129 #endif /* _LINUX_IF_ARCNET_H */
include/uapi/linux/if_bridge.h+1−0
@@ -127,6 +127,7 @@ enum { · 126 unmodified lines
127127 #define BRIDGE_VLAN_INFO_UNTAGGED (1<<2) /* VLAN egresses untagged */
128128 #define BRIDGE_VLAN_INFO_RANGE_BEGIN (1<<3) /* VLAN is start of vlan range */
129129 #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 */
130131
131132 struct bridge_vlan_info {
132133 __u16 flags;
include/uapi/linux/if_link.h+56−0
@@ -232,11 +232,47 @@ enum { · 231 unmodified lines
232232 IFLA_BR_PRIORITY,
233233 IFLA_BR_VLAN_FILTERING,
234234 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,
235266 __IFLA_BR_MAX,
236267 };
237268
238269 #define IFLA_BR_MAX (__IFLA_BR_MAX - 1)
239270
271+struct ifla_bridge_id {
272+ __u8 prio[2];
273+ __u8 addr[6]; /* ETH_ALEN */
274+};
275+
240276 enum {
241277 BRIDGE_MODE_UNSPEC,
242278 BRIDGE_MODE_HAIRPIN,
@@ -256,6 +292,19 @@ enum { · 13 unmodified lines
256292 IFLA_BRPORT_PROXYARP, /* proxy ARP */
257293 IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */
258294 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,
259308 __IFLA_BRPORT_MAX
260309 };
261310 #define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
@@ -412,6 +461,7 @@ enum { · 150 unmodified lines
412461 IFLA_GENEVE_TOS,
413462 IFLA_GENEVE_PORT, /* destination port */
414463 IFLA_GENEVE_COLLECT_METADATA,
464+ IFLA_GENEVE_REMOTE6,
415465 __IFLA_GENEVE_MAX
416466 };
417467 #define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
@@ -501,6 +551,7 @@ enum { · 83 unmodified lines
501551 * on/off switch
502552 */
503553 IFLA_VF_STATS, /* network device statistics */
554+ IFLA_VF_TRUST, /* Trust VF */
504555 __IFLA_VF_MAX,
505556 };
506557
@@ -562,6 +613,11 @@ enum { · 55 unmodified lines
562613
563614 #define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1)
564615
616+struct ifla_vf_trust {
617+ __u32 vf;
618+ __u32 setting;
619+};
620+
565621 /* VF ports management section
566622 *
567623 * Nested layout of set/get msg is:
include/uapi/linux/magic.h+1−0
@@ -75,5 +75,6 @@ · 74 unmodified lines
7575 #define ANON_INODE_FS_MAGIC 0x09041934
7676 #define BTRFS_TEST_MAGIC 0x73727279
7777 #define NSFS_MAGIC 0x6e736673
78+#define BPF_FS_MAGIC 0xcafe4a11
7879
7980 #endif /* __LINUX_MAGIC_H__ */
include/uapi/linux/netfilter/nfnetlink_log.h+3−0
@@ -51,6 +51,8 @@ enum nfulnl_attr_type { · 50 unmodified lines
5151 NFULA_HWTYPE, /* hardware type */
5252 NFULA_HWHEADER, /* hardware header */
5353 NFULA_HWLEN, /* hardware header length */
54+ NFULA_CT, /* nf_conntrack_netlink.h */
55+ NFULA_CT_INFO, /* enum ip_conntrack_info */
5456
5557 __NFULA_MAX
5658 };
@@ -93,5 +95,6 @@ enum nfulnl_attr_config { · 36 unmodified lines
9395
9496 #define NFULNL_CFG_F_SEQ 0x0001
9597 #define NFULNL_CFG_F_SEQ_GLOBAL 0x0002
98+#define NFULNL_CFG_F_CONNTRACK 0x0004
9699
97100 #endif /* _NFNETLINK_LOG_H */
include/uapi/linux/netlink.h+1−0
@@ -54,6 +54,7 @@ struct nlmsghdr { · 53 unmodified lines
5454 #define NLM_F_ACK 4 /* Reply with ack, with zero or error code */
5555 #define NLM_F_ECHO 8 /* Echo this request */
5656 #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 */
5758
5859 /* Modifiers to GET request */
5960 #define NLM_F_ROOT 0x100 /* specify tree root */
include/uapi/linux/nfc.h+2−0
@@ -86,6 +86,7 @@ · 85 unmodified lines
8686 * for this event is the application ID (AID).
8787 * @NFC_CMD_GET_SE: Dump all discovered secure elements from an NFC controller.
8888 * @NFC_CMD_SE_IO: Send/Receive APDUs to/from the selected secure element.
89+ * @NFC_CMD_ACTIVATE_TARGET: Request NFC controller to reactivate target.
8990 * @NFC_CMD_VENDOR: Vendor specific command, to be implemented directly
9091 * from the driver in order to support hardware specific operations.
9192 */
@@ -156,6 +157,7 @@ enum nfc_commands { · 64 unmodified lines
156157 * @NFC_ATTR_APDU: Secure element APDU
157158 * @NFC_ATTR_TARGET_ISO15693_DSFID: ISO 15693 Data Storage Format Identifier
158159 * @NFC_ATTR_TARGET_ISO15693_UID: ISO 15693 Unique Identifier
160+ * @NFC_ATTR_SE_PARAMS: Parameters data from an evt_transaction
159161 * @NFC_ATTR_VENDOR_ID: NFC manufacturer unique ID, typically an OUI
160162 * @NFC_ATTR_VENDOR_SUBCMD: Vendor specific sub command
161163 * @NFC_ATTR_VENDOR_DATA: Vendor specific data, to be optionally passed
include/uapi/linux/nl80211.h+56−1
@@ -10,6 +10,7 @@ · 9 unmodified lines
1010 * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com>
1111 * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
1212 * Copyright 2008 Colin McCabe <colin@cozybit.com>
13+ * Copyright 2015 Intel Deutschland GmbH
1314 *
1415 * Permission to use, copy, modify, and/or distribute this software for any
1516 * purpose with or without fee is hereby granted, provided that the above
@@ -328,7 +329,15 @@ · 312 unmodified lines
328329 * partial scan results may be available
329330 *
330331 * @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).
332341 * Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS)
333342 * are passed, they are used in the probe requests. For
334343 * broadcast, a broadcast SSID must be passed (ie. an empty
@@ -1761,6 +1770,19 @@ enum nl80211_commands { · 1426 unmodified lines
17611770 * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device
17621771 * is operating in an indoor environment.
17631772 *
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+ *
17641786 * @NUM_NL80211_ATTR: total number of nl80211_attrs available
17651787 * @NL80211_ATTR_MAX: highest attribute number currently defined
17661788 * @__NL80211_ATTR_AFTER_LAST: internal use
@@ -2130,6 +2152,11 @@ enum nl80211_attrs { · 363 unmodified lines
21302152
21312153 NL80211_ATTR_REG_INDOOR,
21322154
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+
21332160 /* add attributes here, update the policy in nl80211.c */
21342161
21352162 __NL80211_ATTR_AFTER_LAST,
@@ -3364,6 +3391,9 @@ enum nl80211_bss_scan_width { · 1228 unmodified lines
33643391 * (not present if no beacon frame has been received yet)
33653392 * @NL80211_BSS_PRESP_DATA: the data in @NL80211_BSS_INFORMATION_ELEMENTS and
33663393 * @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)
33673397 * @__NL80211_BSS_AFTER_LAST: internal
33683398 * @NL80211_BSS_MAX: highest BSS attribute
33693399 */
@@ -3383,6 +3413,7 @@ enum nl80211_bss { · 13 unmodified lines
33833413 NL80211_BSS_CHAN_WIDTH,
33843414 NL80211_BSS_BEACON_TSF,
33853415 NL80211_BSS_PRESP_DATA,
3416+ NL80211_BSS_LAST_SEEN_BOOTTIME,
33863417
33873418 /* keep last */
33883419 __NL80211_BSS_AFTER_LAST,
@@ -4589,4 +4620,28 @@ enum nl80211_tdls_peer_capability { · 1200 unmodified lines
45894620 NL80211_TDLS_PEER_WMM = 1<<2,
45904621 };
45914622
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+ */
4636+enum 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+
45924647 #endif /* __LINUX_NL80211_H */
include/uapi/linux/openvswitch.h+2−0
@@ -349,6 +349,8 @@ enum ovs_tunnel_key_attr { · 348 unmodified lines
349349 OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */
350350 OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */
351351 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. */
352354 __OVS_TUNNEL_KEY_ATTR_MAX
353355 };
354356
include/uapi/linux/perf_event.h+1−0
@@ -110,6 +110,7 @@ enum perf_sw_ids { · 109 unmodified lines
110110 PERF_COUNT_SW_ALIGNMENT_FAULTS = 7,
111111 PERF_COUNT_SW_EMULATION_FAULTS = 8,
112112 PERF_COUNT_SW_DUMMY = 9,
113+ PERF_COUNT_SW_BPF_OUTPUT = 10,
113114
114115 PERF_COUNT_SW_MAX, /* non-ABI */
115116 };
include/uapi/linux/pkt_cls.h+4−0
@@ -87,6 +87,7 @@ enum { · 86 unmodified lines
8787 #define TC_ACT_STOLEN 4
8888 #define TC_ACT_QUEUED 5
8989 #define TC_ACT_REPEAT 6
90+#define TC_ACT_REDIRECT 7
9091 #define TC_ACT_JUMP 0x10000000
9192
9293 /* Action type identifiers*/
@@ -373,6 +374,8 @@ enum { · 280 unmodified lines
373374
374375 /* BPF classifier */
375376
377+#define TCA_BPF_FLAG_ACT_DIRECT (1 << 0)
378+
376379 enum {
377380 TCA_BPF_UNSPEC,
378381 TCA_BPF_ACT,
@@ -382,6 +385,7 @@ enum { · 3 unmodified lines
382385 TCA_BPF_OPS,
383386 TCA_BPF_FD,
384387 TCA_BPF_NAME,
388+ TCA_BPF_FLAGS,
385389 __TCA_BPF_MAX,
386390 };
387391
include/uapi/linux/ptrace.h+2−0
@@ -64,6 +64,8 @@ struct ptrace_peeksiginfo_args { · 63 unmodified lines
6464 #define PTRACE_GETSIGMASK 0x420a
6565 #define PTRACE_SETSIGMASK 0x420b
6666
67+#define PTRACE_SECCOMP_GET_FILTER 0x420c
68+
6769 /* Read signals from a shared (process wide) queue */
6870 #define PTRACE_PEEKSIGINFO_SHARED (1 << 0)
6971
include/uapi/linux/rtnetlink.h+2−0
@@ -270,6 +270,7 @@ enum rt_scope_t { · 269 unmodified lines
270270 #define RTM_F_CLONED 0x200 /* This route is cloned */
271271 #define RTM_F_EQUALIZE 0x400 /* Multipath equalizer: NI */
272272 #define RTM_F_PREFIX 0x800 /* Prefix addresses */
273+#define RTM_F_LOOKUP_TABLE 0x1000 /* set rtm_table to FIB lookup result */
273274
274275 /* Reserved table identifiers */
275276
@@ -666,6 +667,7 @@ struct tcamsg { · 390 unmodified lines
666667 #define RTEXT_FILTER_VF (1 << 0)
667668 #define RTEXT_FILTER_BRVLAN (1 << 1)
668669 #define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2)
670+#define RTEXT_FILTER_SKIP_STATS (1 << 3)
669671
670672 /* End of information exported to user level */
671673
include/uapi/linux/usb/cdc.h+3−3
@@ -6,8 +6,8 @@ · 5 unmodified lines
66 * firmware based USB peripherals.
77 */
88
9−#ifndef __LINUX_USB_CDC_H
10−#define __LINUX_USB_CDC_H
9+#ifndef __UAPI_LINUX_USB_CDC_H
10+#define __UAPI_LINUX_USB_CDC_H
1111
1212 #include <linux/types.h>
1313
@@ -444,4 +444,4 @@ struct usb_cdc_ncm_ndp_input_size { · 430 unmodified lines
444444 #define USB_CDC_NCM_CRC_NOT_APPENDED 0x00
445445 #define USB_CDC_NCM_CRC_APPENDED 0x01
446446
447−#endif /* __LINUX_USB_CDC_H */
447+#endif /* __UAPI_LINUX_USB_CDC_H */