aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2016-07-27 15:03:20 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2016-07-27 15:03:20 -0400
commit468fc7ed5537615efe671d94248446ac24679773 (patch)
tree27bc9de792e863d6ec1630927b77ac9e7dabb38a /include/uapi/linux
parent08fd8c17686c6b09fa410a26d516548dd80ff147 (diff)
parent36232012344b8db67052432742deaf17f82e70e6 (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking updates from David Miller: 1) Unified UDP encapsulation offload methods for drivers, from Alexander Duyck. 2) Make DSA binding more sane, from Andrew Lunn. 3) Support QCA9888 chips in ath10k, from Anilkumar Kolli. 4) Several workqueue usage cleanups, from Bhaktipriya Shridhar. 5) Add XDP (eXpress Data Path), essentially running BPF programs on RX packets as soon as the device sees them, with the option to mirror the packet on TX via the same interface. From Brenden Blanco and others. 6) Allow qdisc/class stats dumps to run lockless, from Eric Dumazet. 7) Add VLAN support to b53 and bcm_sf2, from Florian Fainelli. 8) Simplify netlink conntrack entry layout, from Florian Westphal. 9) Add ipv4 forwarding support to mlxsw spectrum driver, from Ido Schimmel, Yotam Gigi, and Jiri Pirko. 10) Add SKB array infrastructure and convert tun and macvtap over to it. From Michael S Tsirkin and Jason Wang. 11) Support qdisc packet injection in pktgen, from John Fastabend. 12) Add neighbour monitoring framework to TIPC, from Jon Paul Maloy. 13) Add NV congestion control support to TCP, from Lawrence Brakmo. 14) Add GSO support to SCTP, from Marcelo Ricardo Leitner. 15) Allow GRO and RPS to function on macsec devices, from Paolo Abeni. 16) Support MPLS over IPV4, from Simon Horman. * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1622 commits) xgene: Fix build warning with ACPI disabled. be2net: perform temperature query in adapter regardless of its interface state l2tp: Correctly return -EBADF from pppol2tp_getname. net/mlx5_core/health: Remove deprecated create_singlethread_workqueue net: ipmr/ip6mr: update lastuse on entry change macsec: ensure rx_sa is set when validation is disabled tipc: dump monitor attributes tipc: add a function to get the bearer name tipc: get monitor threshold for the cluster tipc: make cluster size threshold for monitoring configurable tipc: introduce constants for tipc address validation net: neigh: disallow transition to NUD_STALE if lladdr is unchanged in neigh_update() MAINTAINERS: xgene: Add driver and documentation path Documentation: dtb: xgene: Add MDIO node dtb: xgene: Add MDIO node drivers: net: xgene: ethtool: Use phy_ethtool_gset and sset drivers: net: xgene: Use exported functions drivers: net: xgene: Enable MDIO driver drivers: net: xgene: Add backward compatibility drivers: net: phy: xgene: Add MDIO driver ...
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/batman_adv.h114
-rw-r--r--include/uapi/linux/bpf.h86
-rw-r--r--include/uapi/linux/can/bcm.h1
-rw-r--r--include/uapi/linux/devlink.h8
-rw-r--r--include/uapi/linux/elf-em.h1
-rw-r--r--include/uapi/linux/ethtool.h3
-rw-r--r--include/uapi/linux/fib_rules.h1
-rw-r--r--include/uapi/linux/icmp.h1
-rw-r--r--include/uapi/linux/if_bridge.h29
-rw-r--r--include/uapi/linux/if_ether.h1
-rw-r--r--include/uapi/linux/if_link.h14
-rw-r--r--include/uapi/linux/if_macsec.h2
-rw-r--r--include/uapi/linux/if_tunnel.h1
-rw-r--r--include/uapi/linux/inet_diag.h1
-rw-r--r--include/uapi/linux/netfilter/nf_tables.h6
-rw-r--r--include/uapi/linux/netfilter/xt_NFLOG.h6
-rw-r--r--include/uapi/linux/netlink_diag.h1
-rw-r--r--include/uapi/linux/nl80211.h90
-rw-r--r--include/uapi/linux/openvswitch.h8
-rw-r--r--include/uapi/linux/pkt_cls.h19
-rw-r--r--include/uapi/linux/sctp.h42
-rw-r--r--include/uapi/linux/tc_act/tc_skbedit.h2
-rw-r--r--include/uapi/linux/tcp.h10
-rw-r--r--include/uapi/linux/tipc.h30
-rw-r--r--include/uapi/linux/tipc_netlink.h37
-rw-r--r--include/uapi/linux/virtio_net.h9
-rw-r--r--include/uapi/linux/wireless.h63
27 files changed, 531 insertions, 55 deletions
diff --git a/include/uapi/linux/batman_adv.h b/include/uapi/linux/batman_adv.h
new file mode 100644
index 000000000000..0fbf6fd4711b
--- /dev/null
+++ b/include/uapi/linux/batman_adv.h
@@ -0,0 +1,114 @@
1/* Copyright (C) 2016 B.A.T.M.A.N. contributors:
2 *
3 * Matthias Schiffer
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15 * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 */
17
18#ifndef _UAPI_LINUX_BATMAN_ADV_H_
19#define _UAPI_LINUX_BATMAN_ADV_H_
20
21#define BATADV_NL_NAME "batadv"
22
23#define BATADV_NL_MCAST_GROUP_TPMETER "tpmeter"
24
25/**
26 * enum batadv_nl_attrs - batman-adv netlink attributes
27 *
28 * @BATADV_ATTR_UNSPEC: unspecified attribute to catch errors
29 * @BATADV_ATTR_VERSION: batman-adv version string
30 * @BATADV_ATTR_ALGO_NAME: name of routing algorithm
31 * @BATADV_ATTR_MESH_IFINDEX: index of the batman-adv interface
32 * @BATADV_ATTR_MESH_IFNAME: name of the batman-adv interface
33 * @BATADV_ATTR_MESH_ADDRESS: mac address of the batman-adv interface
34 * @BATADV_ATTR_HARD_IFINDEX: index of the non-batman-adv interface
35 * @BATADV_ATTR_HARD_IFNAME: name of the non-batman-adv interface
36 * @BATADV_ATTR_HARD_ADDRESS: mac address of the non-batman-adv interface
37 * @BATADV_ATTR_ORIG_ADDRESS: originator mac address
38 * @BATADV_ATTR_TPMETER_RESULT: result of run (see batadv_tp_meter_status)
39 * @BATADV_ATTR_TPMETER_TEST_TIME: time (msec) the run took
40 * @BATADV_ATTR_TPMETER_BYTES: amount of acked bytes during run
41 * @BATADV_ATTR_TPMETER_COOKIE: session cookie to match tp_meter session
42 * @BATADV_ATTR_PAD: attribute used for padding for 64-bit alignment
43 * @__BATADV_ATTR_AFTER_LAST: internal use
44 * @NUM_BATADV_ATTR: total number of batadv_nl_attrs available
45 * @BATADV_ATTR_MAX: highest attribute number currently defined
46 */
47enum batadv_nl_attrs {
48 BATADV_ATTR_UNSPEC,
49 BATADV_ATTR_VERSION,
50 BATADV_ATTR_ALGO_NAME,
51 BATADV_ATTR_MESH_IFINDEX,
52 BATADV_ATTR_MESH_IFNAME,
53 BATADV_ATTR_MESH_ADDRESS,
54 BATADV_ATTR_HARD_IFINDEX,
55 BATADV_ATTR_HARD_IFNAME,
56 BATADV_ATTR_HARD_ADDRESS,
57 BATADV_ATTR_ORIG_ADDRESS,
58 BATADV_ATTR_TPMETER_RESULT,
59 BATADV_ATTR_TPMETER_TEST_TIME,
60 BATADV_ATTR_TPMETER_BYTES,
61 BATADV_ATTR_TPMETER_COOKIE,
62 BATADV_ATTR_PAD,
63 /* add attributes above here, update the policy in netlink.c */
64 __BATADV_ATTR_AFTER_LAST,
65 NUM_BATADV_ATTR = __BATADV_ATTR_AFTER_LAST,
66 BATADV_ATTR_MAX = __BATADV_ATTR_AFTER_LAST - 1
67};
68
69/**
70 * enum batadv_nl_commands - supported batman-adv netlink commands
71 *
72 * @BATADV_CMD_UNSPEC: unspecified command to catch errors
73 * @BATADV_CMD_GET_MESH_INFO: Query basic information about batman-adv device
74 * @BATADV_CMD_TP_METER: Start a tp meter session
75 * @BATADV_CMD_TP_METER_CANCEL: Cancel a tp meter session
76 * @__BATADV_CMD_AFTER_LAST: internal use
77 * @BATADV_CMD_MAX: highest used command number
78 */
79enum batadv_nl_commands {
80 BATADV_CMD_UNSPEC,
81 BATADV_CMD_GET_MESH_INFO,
82 BATADV_CMD_TP_METER,
83 BATADV_CMD_TP_METER_CANCEL,
84 /* add new commands above here */
85 __BATADV_CMD_AFTER_LAST,
86 BATADV_CMD_MAX = __BATADV_CMD_AFTER_LAST - 1
87};
88
89/**
90 * enum batadv_tp_meter_reason - reason of a tp meter test run stop
91 * @BATADV_TP_REASON_COMPLETE: sender finished tp run
92 * @BATADV_TP_REASON_CANCEL: sender was stopped during run
93 * @BATADV_TP_REASON_DST_UNREACHABLE: receiver could not be reached or didn't
94 * answer
95 * @BATADV_TP_REASON_RESEND_LIMIT: (unused) sender retry reached limit
96 * @BATADV_TP_REASON_ALREADY_ONGOING: test to or from the same node already
97 * ongoing
98 * @BATADV_TP_REASON_MEMORY_ERROR: test was stopped due to low memory
99 * @BATADV_TP_REASON_CANT_SEND: failed to send via outgoing interface
100 * @BATADV_TP_REASON_TOO_MANY: too many ongoing sessions
101 */
102enum batadv_tp_meter_reason {
103 BATADV_TP_REASON_COMPLETE = 3,
104 BATADV_TP_REASON_CANCEL = 4,
105 /* error status >= 128 */
106 BATADV_TP_REASON_DST_UNREACHABLE = 128,
107 BATADV_TP_REASON_RESEND_LIMIT = 129,
108 BATADV_TP_REASON_ALREADY_ONGOING = 130,
109 BATADV_TP_REASON_MEMORY_ERROR = 131,
110 BATADV_TP_REASON_CANT_SEND = 132,
111 BATADV_TP_REASON_TOO_MANY = 133,
112};
113
114#endif /* _UAPI_LINUX_BATMAN_ADV_H_ */
diff --git a/include/uapi/linux/bpf.h b/include/uapi/linux/bpf.h
index 406459b935a2..da218fec6056 100644
--- a/include/uapi/linux/bpf.h
+++ b/include/uapi/linux/bpf.h
@@ -84,6 +84,7 @@ enum bpf_map_type {
84 BPF_MAP_TYPE_PERCPU_HASH, 84 BPF_MAP_TYPE_PERCPU_HASH,
85 BPF_MAP_TYPE_PERCPU_ARRAY, 85 BPF_MAP_TYPE_PERCPU_ARRAY,
86 BPF_MAP_TYPE_STACK_TRACE, 86 BPF_MAP_TYPE_STACK_TRACE,
87 BPF_MAP_TYPE_CGROUP_ARRAY,
87}; 88};
88 89
89enum bpf_prog_type { 90enum bpf_prog_type {
@@ -93,6 +94,7 @@ enum bpf_prog_type {
93 BPF_PROG_TYPE_SCHED_CLS, 94 BPF_PROG_TYPE_SCHED_CLS,
94 BPF_PROG_TYPE_SCHED_ACT, 95 BPF_PROG_TYPE_SCHED_ACT,
95 BPF_PROG_TYPE_TRACEPOINT, 96 BPF_PROG_TYPE_TRACEPOINT,
97 BPF_PROG_TYPE_XDP,
96}; 98};
97 99
98#define BPF_PSEUDO_MAP_FD 1 100#define BPF_PSEUDO_MAP_FD 1
@@ -313,6 +315,66 @@ enum bpf_func_id {
313 */ 315 */
314 BPF_FUNC_skb_get_tunnel_opt, 316 BPF_FUNC_skb_get_tunnel_opt,
315 BPF_FUNC_skb_set_tunnel_opt, 317 BPF_FUNC_skb_set_tunnel_opt,
318
319 /**
320 * bpf_skb_change_proto(skb, proto, flags)
321 * Change protocol of the skb. Currently supported is
322 * v4 -> v6, v6 -> v4 transitions. The helper will also
323 * resize the skb. eBPF program is expected to fill the
324 * new headers via skb_store_bytes and lX_csum_replace.
325 * @skb: pointer to skb
326 * @proto: new skb->protocol type
327 * @flags: reserved