aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2014-08-06 12:38:14 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2014-08-06 12:38:14 -0400
commitae045e2455429c418a418a3376301a9e5753a0a8 (patch)
treeb445bdeecd3f38aa0d0a29c9585cee49e4ccb0f1 /include/uapi
parentf4f142ed4ef835709c7e6d12eaca10d190bcebed (diff)
parentd247b6ab3ce6dd43665780865ec5fa145d9ab6bd (diff)
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
Pull networking updates from David Miller: "Highlights: 1) Steady transitioning of the BPF instructure to a generic spot so all kernel subsystems can make use of it, from Alexei Starovoitov. 2) SFC driver supports busy polling, from Alexandre Rames. 3) Take advantage of hash table in UDP multicast delivery, from David Held. 4) Lighten locking, in particular by getting rid of the LRU lists, in inet frag handling. From Florian Westphal. 5) Add support for various RFC6458 control messages in SCTP, from Geir Ola Vaagland. 6) Allow to filter bridge forwarding database dumps by device, from Jamal Hadi Salim. 7) virtio-net also now supports busy polling, from Jason Wang. 8) Some low level optimization tweaks in pktgen from Jesper Dangaard Brouer. 9) Add support for ipv6 address generation modes, so that userland can have some input into the process. From Jiri Pirko. 10) Consolidate common TCP connection request code in ipv4 and ipv6, from Octavian Purdila. 11) New ARP packet logger in netfilter, from Pablo Neira Ayuso. 12) Generic resizable RCU hash table, with intial users in netlink and nftables. From Thomas Graf. 13) Maintain a name assignment type so that userspace can see where a network device name came from (enumerated by kernel, assigned explicitly by userspace, etc.) From Tom Gundersen. 14) Automatic flow label generation on transmit in ipv6, from Tom Herbert. 15) New packet timestamping facilities from Willem de Bruijn, meant to assist in measuring latencies going into/out-of the packet scheduler, latency from TCP data transmission to ACK, etc" * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next: (1536 commits) cxgb4 : Disable recursive mailbox commands when enabling vi net: reduce USB network driver config options. tg3: Modify tg3_tso_bug() to handle multiple TX rings amd-xgbe: Perform phy connect/disconnect at dev open/stop amd-xgbe: Use dma_set_mask_and_coherent to set DMA mask net: sun4i-emac: fix memory leak on bad packet sctp: fix possible seqlock seadlock in sctp_packet_transmit() Revert "net: phy: Set the driver when registering an MDIO bus device" cxgb4vf: Turn off SGE RX/TX Callback Timers and interrupts in PCI shutdown routine team: Simplify return path of team_newlink bridge: Update outdated comment on promiscuous mode net-timestamp: ACK timestamp for bytestreams net-timestamp: TCP timestamping net-timestamp: SCHED timestamp on entering packet scheduler net-timestamp: add key to disambiguate concurrent datagrams net-timestamp: move timestamp flags out of sk_flags net-timestamp: extend SCM_TIMESTAMPING ancillary data struct cxgb4i : Move stray CPL definitions to cxgb4 driver tcp: reduce spurious retransmits due to transient SACK reneging qlcnic: Initialize dcbnl_ops before register_netdev ...
Diffstat (limited to 'include/uapi')
-rw-r--r--include/uapi/linux/can/netlink.h3
-rw-r--r--include/uapi/linux/dcbnl.h3
-rw-r--r--include/uapi/linux/errqueue.h20
-rw-r--r--include/uapi/linux/if_link.h6
-rw-r--r--include/uapi/linux/if_packet.h2
-rw-r--r--include/uapi/linux/in6.h1
-rw-r--r--include/uapi/linux/ipv6.h1
-rw-r--r--include/uapi/linux/net_tstamp.h10
-rw-r--r--include/uapi/linux/netdevice.h6
-rw-r--r--include/uapi/linux/netfilter/nf_tables.h4
-rw-r--r--include/uapi/linux/netfilter/xt_bpf.h4
-rw-r--r--include/uapi/linux/netfilter_bridge/Kbuild1
-rw-r--r--include/uapi/linux/netfilter_bridge/ebt_ulog.h38
-rw-r--r--include/uapi/linux/netfilter_ipv4/Kbuild1
-rw-r--r--include/uapi/linux/netfilter_ipv4/ipt_ULOG.h49
-rw-r--r--include/uapi/linux/nl80211.h5
-rw-r--r--include/uapi/linux/openvswitch.h13
-rw-r--r--include/uapi/linux/sctp.h102
-rw-r--r--include/uapi/linux/sysctl.h1
-rw-r--r--include/uapi/linux/tipc_config.h2
20 files changed, 150 insertions, 122 deletions
diff --git a/include/uapi/linux/can/netlink.h b/include/uapi/linux/can/netlink.h
index 813d11f54977..3e4323a3918d 100644
--- a/include/uapi/linux/can/netlink.h
+++ b/include/uapi/linux/can/netlink.h
@@ -92,11 +92,12 @@ struct can_ctrlmode {
92}; 92};
93 93
94#define CAN_CTRLMODE_LOOPBACK 0x01 /* Loopback mode */ 94#define CAN_CTRLMODE_LOOPBACK 0x01 /* Loopback mode */
95#define CAN_CTRLMODE_LISTENONLY 0x02 /* Listen-only mode */ 95#define CAN_CTRLMODE_LISTENONLY 0x02 /* Listen-only mode */
96#define CAN_CTRLMODE_3_SAMPLES 0x04 /* Triple sampling mode */ 96#define CAN_CTRLMODE_3_SAMPLES 0x04 /* Triple sampling mode */
97#define CAN_CTRLMODE_ONE_SHOT 0x08 /* One-Shot mode */ 97#define CAN_CTRLMODE_ONE_SHOT 0x08 /* One-Shot mode */
98#define CAN_CTRLMODE_BERR_REPORTING 0x10 /* Bus-error reporting */ 98#define CAN_CTRLMODE_BERR_REPORTING 0x10 /* Bus-error reporting */
99#define CAN_CTRLMODE_FD 0x20 /* CAN FD mode */ 99#define CAN_CTRLMODE_FD 0x20 /* CAN FD mode */
100#define CAN_CTRLMODE_PRESUME_ACK 0x40 /* Ignore missing CAN ACKs */
100 101
101/* 102/*
102 * CAN device statistics 103 * CAN device statistics
diff --git a/include/uapi/linux/dcbnl.h b/include/uapi/linux/dcbnl.h
index 6bb43382f3f3..e711f20dc522 100644
--- a/include/uapi/linux/dcbnl.h
+++ b/include/uapi/linux/dcbnl.h
@@ -148,7 +148,8 @@ struct cee_pfc {
148 * 148 *
149 * @selector: protocol identifier type 149 * @selector: protocol identifier type
150 * @protocol: protocol of type indicated 150 * @protocol: protocol of type indicated
151 * @priority: 3-bit unsigned integer indicating priority 151 * @priority: 3-bit unsigned integer indicating priority for IEEE
152 * 8-bit 802.1p user priority bitmap for CEE
152 * 153 *
153 * ---- 154 * ----
154 * Selector field values 155 * Selector field values
diff --git a/include/uapi/linux/errqueue.h b/include/uapi/linux/errqueue.h
index aacd4fb7102a..07bdce1f444a 100644
--- a/include/uapi/linux/errqueue.h
+++ b/include/uapi/linux/errqueue.h
@@ -22,5 +22,25 @@ struct sock_extended_err {
22 22
23#define SO_EE_OFFENDER(ee) ((struct sockaddr*)((ee)+1)) 23#define SO_EE_OFFENDER(ee) ((struct sockaddr*)((ee)+1))
24 24
25/**
26 * struct scm_timestamping - timestamps exposed through cmsg
27 *
28 * The timestamping interfaces SO_TIMESTAMPING, MSG_TSTAMP_*
29 * communicate network timestamps by passing this struct in a cmsg with
30 * recvmsg(). See Documentation/networking/timestamping.txt for details.
31 */
32struct scm_timestamping {
33 struct timespec ts[3];
34};
35
36/* The type of scm_timestamping, passed in sock_extended_err ee_info.
37 * This defines the type of ts[0]. For SCM_TSTAMP_SND only, if ts[0]
38 * is zero, then this is a hardware timestamp and recorded in ts[2].
39 */
40enum {
41 SCM_TSTAMP_SND, /* driver passed skb to NIC, or HW */
42 SCM_TSTAMP_SCHED, /* data entered the packet scheduler */
43 SCM_TSTAMP_ACK, /* data acknowledged by peer */
44};
25 45
26#endif /* _UAPI_LINUX_ERRQUEUE_H */ 46#endif /* _UAPI_LINUX_ERRQUEUE_H */
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h
index b38534895db5..ff957604a721 100644
--- a/include/uapi/linux/if_link.h
+++ b/include/uapi/linux/if_link.h
@@ -204,11 +204,17 @@ enum {
204 IFLA_INET6_CACHEINFO, /* time values and max reasm size */ 204 IFLA_INET6_CACHEINFO, /* time values and max reasm size */
205 IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */ 205 IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */
206 IFLA_INET6_TOKEN, /* device token */ 206 IFLA_INET6_TOKEN, /* device token */
207 IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */
207 __IFLA_INET6_MAX 208 __IFLA_INET6_MAX
208}; 209};
209 210
210#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) 211#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
211 212
213enum in6_addr_gen_mode {
214 IN6_ADDR_GEN_MODE_EUI64,
215 IN6_ADDR_GEN_MODE_NONE,
216};
217
212enum { 218enum {
213 BRIDGE_MODE_UNSPEC, 219 BRIDGE_MODE_UNSPEC,
214 BRIDGE_MODE_HAIRPIN, 220 BRIDGE_MODE_HAIRPIN,
diff --git a/include/uapi/linux/if_packet.h b/include/uapi/linux/if_packet.h
index bac27fa05f5b..da2d668b8cf1 100644
--- a/include/uapi/linux/if_packet.h
+++ b/include/uapi/linux/if_packet.h
@@ -108,7 +108,7 @@ struct tpacket_auxdata {
108 108
109/* Rx and Tx ring - header status */ 109/* Rx and Tx ring - header status */
110#define TP_STATUS_TS_SOFTWARE (1 << 29) 110#define TP_STATUS_TS_SOFTWARE (1 << 29)
111#define TP_STATUS_TS_SYS_HARDWARE (1 << 30) 111#define TP_STATUS_TS_SYS_HARDWARE (1 << 30) /* deprecated, never set */
112#define TP_STATUS_TS_RAW_HARDWARE (1 << 31) 112#define TP_STATUS_TS_RAW_HARDWARE (1 << 31)
113 113
114/* Rx ring - feature request bits */ 114/* Rx ring - feature request bits */
diff --git a/include/uapi/linux/in6.h b/include/uapi/linux/in6.h
index 0d8e0f0342dc..22b7a69619d8 100644
--- a/include/uapi/linux/in6.h
+++ b/include/uapi/linux/in6.h
@@ -233,6 +233,7 @@ struct in6_flowlabel_req {
233#if 0 /* not yet */ 233#if 0 /* not yet */
234#define IPV6_USE_MIN_MTU 63 234#define IPV6_USE_MIN_MTU 63
235#endif 235#endif
236#define IPV6_AUTOFLOWLABEL 64
236 237
237/* 238/*
238 * Netfilter (1) 239 * Netfilter (1)
diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h
index 593b0e32d956..efa2666f4b8a 100644
--- a/include/uapi/linux/ipv6.h
+++ b/include/uapi/linux/ipv6.h
@@ -163,6 +163,7 @@ enum {
163 DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL, 163 DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL,
164 DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL, 164 DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL,
165 DEVCONF_SUPPRESS_FRAG_NDISC, 165 DEVCONF_SUPPRESS_FRAG_NDISC,
166 DEVCONF_ACCEPT_RA_FROM_LOCAL,
166 DEVCONF_MAX 167 DEVCONF_MAX
167}; 168};
168 169
diff --git a/include/uapi/linux/net_tstamp.h b/include/uapi/linux/net_tstamp.h
index f53879c0f590..ff354021bb69 100644
--- a/include/uapi/linux/net_tstamp.h
+++ b/include/uapi/linux/net_tstamp.h
@@ -20,9 +20,13 @@ enum {
20 SOF_TIMESTAMPING_SOFTWARE = (1<<4), 20 SOF_TIMESTAMPING_SOFTWARE = (1<<4),
21 SOF_TIMESTAMPING_SYS_HARDWARE = (1<<5), 21 SOF_TIMESTAMPING_SYS_HARDWARE = (1<<5),
22 SOF_TIMESTAMPING_RAW_HARDWARE = (1<<6), 22 SOF_TIMESTAMPING_RAW_HARDWARE = (1<<6),
23 SOF_TIMESTAMPING_MASK = 23 SOF_TIMESTAMPING_OPT_ID = (1<<7),
24 (SOF_TIMESTAMPING_RAW_HARDWARE - 1) | 24 SOF_TIMESTAMPING_TX_SCHED = (1<<8),
25 SOF_TIMESTAMPING_RAW_HARDWARE 25 SOF_TIMESTAMPING_TX_ACK = (1<<9),
26
27 SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_TX_ACK,
28 SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |
29 SOF_TIMESTAMPING_LAST
26}; 30};
27 31
28/** 32/**
diff --git a/include/uapi/linux/netdevice.h b/include/uapi/linux/netdevice.h
index fdfbd1c17065..55818543342d 100644
--- a/include/uapi/linux/netdevice.h
+++ b/include/uapi/linux/netdevice.h
@@ -37,6 +37,12 @@
37#define INIT_NETDEV_GROUP 0 37#define INIT_NETDEV_GROUP 0
38 38
39 39
40/* interface name assignment types (sysfs name_assign_type attribute) */
41#define NET_NAME_UNKNOWN 0 /* unknown origin (not exposed to userspace) */
42#define NET_NAME_ENUM 1 /* enumerated by kernel */
43#define NET_NAME_PREDICTABLE 2 /* predictably named by the kernel */
44#define NET_NAME_USER 3 /* provided by user-space */
45#define NET_NAME_RENAMED 4 /* renamed by user-space */
40 46
41/* Media selection options. */ 47/* Media selection options. */
42enum { 48enum {
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h
index 2a88f645a5d8..801bdd1e56e3 100644
--- a/include/uapi/linux/netfilter/nf_tables.h
+++ b/include/uapi/linux/netfilter/nf_tables.h
@@ -697,6 +697,8 @@ enum nft_counter_attributes {
697 * @NFTA_LOG_PREFIX: prefix to prepend to log messages (NLA_STRING) 697 * @NFTA_LOG_PREFIX: prefix to prepend to log messages (NLA_STRING)
698 * @NFTA_LOG_SNAPLEN: length of payload to include in netlink message (NLA_U32) 698 * @NFTA_LOG_SNAPLEN: length of payload to include in netlink message (NLA_U32)
699 * @NFTA_LOG_QTHRESHOLD: queue threshold (NLA_U32) 699 * @NFTA_LOG_QTHRESHOLD: queue threshold (NLA_U32)
700 * @NFTA_LOG_LEVEL: log level (NLA_U32)
701 * @NFTA_LOG_FLAGS: logging flags (NLA_U32)
700 */ 702 */
701enum nft_log_attributes { 703enum nft_log_attributes {
702 NFTA_LOG_UNSPEC, 704 NFTA_LOG_UNSPEC,
@@ -704,6 +706,8 @@ enum nft_log_attributes {
704 NFTA_LOG_PREFIX, 706 NFTA_LOG_PREFIX,
705 NFTA_LOG_SNAPLEN, 707 NFTA_LOG_SNAPLEN,
706 NFTA_LOG_QTHRESHOLD, 708 NFTA_LOG_QTHRESHOLD,
709 NFTA_LOG_LEVEL,
710 NFTA_LOG_FLAGS,
707 __NFTA_LOG_MAX 711 __NFTA_LOG_MAX
708}; 712};
709#define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1) 713#define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1)
diff --git a/include/uapi/linux/netfilter/xt_bpf.h b/include/uapi/linux/netfilter/xt_bpf.h
index 5dda450eb55b..1fad2c27ac32 100644
--- a/include/uapi/linux/netfilter/xt_bpf.h
+++ b/include/uapi/linux/netfilter/xt_bpf.h
@@ -6,12 +6,14 @@
6 6
7#define XT_BPF_MAX_NUM_INSTR 64 7#define XT_BPF_MAX_NUM_INSTR 64
8 8
9struct bpf_prog;
10
9struct xt_bpf_info { 11struct xt_bpf_info {
10 __u16 bpf_program_num_elem; 12 __u16 bpf_program_num_elem;
11 struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR]; 13 struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR];
12 14
13 /* only used in the kernel */ 15 /* only used in the kernel */
14 struct sk_filter *filter __attribute__((aligned(8))); 16 struct bpf_prog *filter __attribute__((aligned(8)));
15}; 17};
16 18
17#endif /*_XT_BPF_H */ 19#endif /*_XT_BPF_H */
diff --git a/include/uapi/linux/netfilter_bridge/Kbuild b/include/uapi/linux/netfilter_bridge/Kbuild
index 348717c3a22f..0fbad8ef96de 100644
--- a/include/uapi/linux/netfilter_bridge/Kbuild
+++ b/include/uapi/linux/netfilter_bridge/Kbuild
@@ -14,6 +14,5 @@ header-y += ebt_nflog.h
14header-y += ebt_pkttype.h 14header-y += ebt_pkttype.h
15header-y += ebt_redirect.h 15header-y += ebt_redirect.h
16header-y += ebt_stp.h 16header-y += ebt_stp.h
17header-y += ebt_ulog.h
18header-y += ebt_vlan.h 17header-y += ebt_vlan.h
19header-y += ebtables.h 18header-y += ebtables.h
diff --git a/include/uapi/linux/netfilter_bridge/ebt_ulog.h b/include/uapi/linux/netfilter_bridge/ebt_ulog.h
deleted file mode 100644
index 89a6becb5269..000000000000
--- a/include/uapi/linux/netfilter_bridge/ebt_ulog.h
+++ /dev/null
@@ -1,38 +0,0 @@
1#ifndef _EBT_ULOG_H
2#define _EBT_ULOG_H
3
4#include <linux/types.h>
5
6#define EBT_ULOG_DEFAULT_NLGROUP 0
7#define EBT_ULOG_DEFAULT_QTHRESHOLD 1
8#define EBT_ULOG_MAXNLGROUPS 32 /* hardcoded netlink max */
9#define EBT_ULOG_PREFIX_LEN 32
10#define EBT_ULOG_MAX_QLEN 50
11#define EBT_ULOG_WATCHER "ulog"
12#define EBT_ULOG_VERSION 1
13
14struct ebt_ulog_info {
15 __u32 nlgroup;
16 unsigned int cprange;
17 unsigned int qthreshold;
18 char prefix[EBT_ULOG_PREFIX_LEN];
19};
20
21typedef struct ebt_ulog_packet_msg {
22 int version;
23 char indev[IFNAMSIZ];
24 char outdev[IFNAMSIZ];
25 char physindev[IFNAMSIZ];
26 char physoutdev[IFNAMSIZ];
27 char prefix[EBT_ULOG_PREFIX_LEN];
28 struct timeval stamp;
29 unsigned long mark;
30 unsigned int hook;
31 size_t data_len;
32 /* The complete packet, including Ethernet header and perhaps
33 * the VLAN header is appended */
34 unsigned char data[0] __attribute__
35 ((aligned (__alignof__(struct ebt_ulog_info))));
36} ebt_ulog_packet_msg_t;
37
38#endif /* _EBT_ULOG_H */
diff --git a/include/uapi/linux/netfilter_ipv4/Kbuild b/include/uapi/linux/netfilter_ipv4/Kbuild
index fb008437dde1..ecb291df390e 100644
--- a/include/uapi/linux/netfilter_ipv4/Kbuild
+++ b/include/uapi/linux/netfilter_ipv4/Kbuild
@@ -5,7 +5,6 @@ header-y += ipt_ECN.h
5header-y += ipt_LOG.h 5header-y += ipt_LOG.h
6header-y += ipt_REJECT.h 6header-y += ipt_REJECT.h
7header-y += ipt_TTL.h 7header-y += ipt_TTL.h
8header-y += ipt_ULOG.h
9header-y += ipt_ah.h 8header-y += ipt_ah.h
10header-y += ipt_ecn.h 9header-y += ipt_ecn.h
11header-y += ipt_ttl.h 10header-y += ipt_ttl.h
diff --git a/include/uapi/linux/netfilter_ipv4/ipt_ULOG.h b/include/uapi/linux/netfilter_ipv4/ipt_ULOG.h
deleted file mode 100644
index 417aad280bcc..000000000000
--- a/include/uapi/linux/netfilter_ipv4/ipt_ULOG.h
+++ /dev/null
@@ -1,49 +0,0 @@
1/* Header file for IP tables userspace logging, Version 1.8
2 *
3 * (C) 2000-2002 by Harald Welte <laforge@gnumonks.org>
4 *
5 * Distributed under the terms of GNU GPL */
6
7#ifndef _IPT_ULOG_H
8#define _IPT_ULOG_H
9
10#ifndef NETLINK_NFLOG
11#define NETLINK_NFLOG 5
12#endif
13
14#define ULOG_DEFAULT_NLGROUP 1
15#define ULOG_DEFAULT_QTHRESHOLD 1
16
17#define ULOG_MAC_LEN 80
18#define ULOG_PREFIX_LEN 32
19
20#define ULOG_MAX_QLEN 50
21/* Why 50? Well... there is a limit imposed by the slab cache 131000
22 * bytes. So the multipart netlink-message has to be < 131000 bytes.
23 * Assuming a standard ethernet-mtu of 1500, we could define this up
24 * to 80... but even 50 seems to be big enough. */
25
26/* private data structure for each rule with a ULOG target */
27struct ipt_ulog_info {
28 unsigned int nl_group;
29 size_t copy_range;
30 size_t qthreshold;
31 char prefix[ULOG_PREFIX_LEN];
32};
33
34/* Format of the ULOG packets passed through netlink */
35typedef struct ulog_packet_msg {
36 unsigned long mark;
37 long timestamp_sec;
38 long timestamp_usec;
39 unsigned int hook;
40 char indev_name[IFNAMSIZ];
41 char outdev_name[IFNAMSIZ];
42 size_t data_len;
43 char prefix[ULOG_PREFIX_LEN];
44 unsigned char mac_len;
45 unsigned char mac[ULOG_MAC_LEN];
46 unsigned char payload[0];
47} ulog_packet_msg_t;
48
49#endif /*_IPT_ULOG_H*/
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h
index be9519b52bb1..f1db15b9c041 100644
--- a/include/uapi/linux/nl80211.h
+++ b/include/uapi/linux/nl80211.h
@@ -1591,6 +1591,9 @@ enum nl80211_commands {
1591 * creation then the new interface will be owned by the netlink socket 1591 * creation then the new interface will be owned by the netlink socket
1592 * that created it and will be destroyed when the socket is closed 1592 * that created it and will be destroyed when the socket is closed
1593 * 1593 *
1594 * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
1595 * the TDLS link initiator.
1596 *
1594 * @NL80211_ATTR_MAX: highest attribute number currently defined 1597 * @NL80211_ATTR_MAX: highest attribute number currently defined
1595 * @__NL80211_ATTR_AFTER_LAST: internal use 1598 * @__NL80211_ATTR_AFTER_LAST: internal use
1596 */ 1599 */
@@ -1931,6 +1934,8 @@ enum nl80211_attrs {
1931 NL80211_ATTR_CSA_C_OFFSETS_TX, 1934 NL80211_ATTR_CSA_C_OFFSETS_TX,
1932 NL80211_ATTR_MAX_CSA_COUNTERS, 1935 NL80211_ATTR_MAX_CSA_COUNTERS,
1933 1936
1937 NL80211_ATTR_TDLS_INITIATOR,
1938
1934 /* add attributes here, update the policy in nl80211.c */ 1939 /* add attributes here, update the policy in nl80211.c */
1935 1940
1936 __NL80211_ATTR_AFTER_LAST, 1941 __NL80211_ATTR_AFTER_LAST,
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h
index 0b979ee4bfc0..a794d1dd7b40 100644
--- a/include/uapi/linux/openvswitch.h
+++ b/include/uapi/linux/openvswitch.h
@@ -118,6 +118,9 @@ struct ovs_vport_stats {
118/* Allow last Netlink attribute to be unaligned */ 118/* Allow last Netlink attribute to be unaligned */
119#define OVS_DP_F_UNALIGNED (1 << 0) 119#define OVS_DP_F_UNALIGNED (1 << 0)
120 120
121/* Allow datapath to associate multiple Netlink PIDs to each vport */
122#define OVS_DP_F_VPORT_PIDS (1 << 1)
123
121/* Fixed logical ports. */ 124/* Fixed logical ports. */
122#define OVSP_LOCAL ((__u32)0) 125#define OVSP_LOCAL ((__u32)0)
123 126
@@ -203,9 +206,10 @@ enum ovs_vport_type {
203 * this is the name of the network device. Maximum length %IFNAMSIZ-1 bytes 206 * this is the name of the network device. Maximum length %IFNAMSIZ-1 bytes
204 * plus a null terminator. 207 * plus a null terminator.
205 * @OVS_VPORT_ATTR_OPTIONS: Vport-specific configuration information. 208 * @OVS_VPORT_ATTR_OPTIONS: Vport-specific configuration information.
206 * @OVS_VPORT_ATTR_UPCALL_PID: The Netlink socket in userspace that 209 * @OVS_VPORT_ATTR_UPCALL_PID: The array of Netlink socket pids in userspace
207 * OVS_PACKET_CMD_MISS upcalls will be directed to for packets received on 210 * among which OVS_PACKET_CMD_MISS upcalls will be distributed for packets
208 * this port. A value of zero indicates that upcalls should not be sent. 211 * received on this port. If this is a single-element array of value 0,
212 * upcalls should not be sent.
209 * @OVS_VPORT_ATTR_STATS: A &struct ovs_vport_stats giving statistics for 213 * @OVS_VPORT_ATTR_STATS: A &struct ovs_vport_stats giving statistics for
210 * packets sent or received through the vport. 214 * packets sent or received through the vport.
211 * 215 *
@@ -228,7 +232,8 @@ enum ovs_vport_attr {
228 OVS_VPORT_ATTR_TYPE, /* u32 OVS_VPORT_TYPE_* constant. */ 232 OVS_VPORT_ATTR_TYPE, /* u32 OVS_VPORT_TYPE_* constant. */
229 OVS_VPORT_ATTR_NAME, /* string name, up to IFNAMSIZ bytes long */ 233 OVS_VPORT_ATTR_NAME, /* string name, up to IFNAMSIZ bytes long */
230 OVS_VPORT_ATTR_OPTIONS, /* nested attributes, varies by vport type */ 234 OVS_VPORT_ATTR_OPTIONS, /* nested attributes, varies by vport type */
231 OVS_VPORT_ATTR_UPCALL_PID, /* u32 Netlink PID to receive upcalls */ 235 OVS_VPORT_ATTR_UPCALL_PID, /* array of u32 Netlink socket PIDs for */
236 /* receiving upcalls */
232 OVS_VPORT_ATTR_STATS, /* struct ovs_vport_stats */ 237 OVS_VPORT_ATTR_STATS, /* struct ovs_vport_stats */
233 __OVS_VPORT_ATTR_MAX 238 __OVS_VPORT_ATTR_MAX
234}; 239};
diff --git a/include/uapi/linux/sctp.h b/include/uapi/linux/sctp.h
index 266022a2be4a..ce70fe6b45df 100644
--- a/include/uapi/linux/sctp.h
+++ b/include/uapi/linux/sctp.h
@@ -95,6 +95,9 @@ typedef __s32 sctp_assoc_t;
95#define SCTP_GET_ASSOC_ID_LIST 29 /* Read only */ 95#define SCTP_GET_ASSOC_ID_LIST 29 /* Read only */
96#define SCTP_AUTO_ASCONF 30 96#define SCTP_AUTO_ASCONF 30
97#define SCTP_PEER_ADDR_THLDS 31 97#define SCTP_PEER_ADDR_THLDS 31
98#define SCTP_RECVRCVINFO 32
99#define SCTP_RECVNXTINFO 33
100#define SCTP_DEFAULT_SNDINFO 34
98 101
99/* Internal Socket Options. Some of the sctp library functions are 102/* Internal Socket Options. Some of the sctp library functions are
100 * implemented using these socket options. 103 * implemented using these socket options.
@@ -110,8 +113,14 @@ typedef __s32 sctp_assoc_t;
110#define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */ 113#define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */
111#define SCTP_GET_ASSOC_STATS 112 /* Read only */ 114#define SCTP_GET_ASSOC_STATS 112 /* Read only */
112 115
113/* 116/* These are bit fields for msghdr->msg_flags. See section 5.1. */
114 * 5.2.1 SCTP Initiation Structure (SCTP_INIT) 117/* On user space Linux, these live in <bits/socket.h> as an enum. */
118enum sctp_msg_flags {
119 MSG_NOTIFICATION = 0x8000,
120#define MSG_NOTIFICATION MSG_NOTIFICATION
121};
122
123/* 5.3.1 SCTP Initiation Structure (SCTP_INIT)
115 * 124 *
116 * This cmsghdr structure provides information for initializing new 125 * This cmsghdr structure provides information for initializing new
117 * SCTP associations with sendmsg(). The SCTP_INITMSG socket option 126 * SCTP associations with sendmsg(). The SCTP_INITMSG socket option
@@ -121,7 +130,6 @@ typedef __s32 sctp_assoc_t;
121 * cmsg_level cmsg_type cmsg_data[] 130 * cmsg_level cmsg_type cmsg_data[]
122 * ------------ ------------ ---------------------- 131 * ------------ ------------ ----------------------
123 * IPPROTO_SCTP SCTP_INIT struct sctp_initmsg 132 * IPPROTO_SCTP SCTP_INIT struct sctp_initmsg
124 *
125 */ 133 */
126struct sctp_initmsg { 134struct sctp_initmsg {
127 __u16 sinit_num_ostreams; 135 __u16 sinit_num_ostreams;
@@ -130,8 +138,7 @@ struct sctp_initmsg {
130 __u16 sinit_max_init_timeo; 138 __u16 sinit_max_init_timeo;
131}; 139};
132 140
133/* 141/* 5.3.2 SCTP Header Information Structure (SCTP_SNDRCV)
134 * 5.2.2 SCTP Header Information Structure (SCTP_SNDRCV)
135 * 142 *
136 * This cmsghdr structure specifies SCTP options for sendmsg() and 143 * This cmsghdr structure specifies SCTP options for sendmsg() and
137 * describes SCTP header information about a received message through 144 * describes SCTP header information about a received message through
@@ -140,7 +147,6 @@ struct sctp_initmsg {
140 * cmsg_level cmsg_type cmsg_data[] 147 * cmsg_level cmsg_type cmsg_data[]
141 * ------------ ------------ ---------------------- 148 * ------------ ------------ ----------------------
142 * IPPROTO_SCTP SCTP_SNDRCV struct sctp_sndrcvinfo 149 * IPPROTO_SCTP SCTP_SNDRCV struct sctp_sndrcvinfo
143 *
144 */ 150 */
145struct sctp_sndrcvinfo { 151struct sctp_sndrcvinfo {
146 __u16 sinfo_stream; 152 __u16 sinfo_stream;
@@ -154,19 +160,74 @@ struct sctp_sndrcvinfo {
154 sctp_assoc_t sinfo_assoc_id; 160 sctp_assoc_t sinfo_assoc_id;
155}; 161};
156 162
163/* 5.3.4 SCTP Send Information Structure (SCTP_SNDINFO)
164 *
165 * This cmsghdr structure specifies SCTP options for sendmsg().
166 *
167 * cmsg_level cmsg_type cmsg_data[]
168 * ------------ ------------ -------------------
169 * IPPROTO_SCTP SCTP_SNDINFO struct sctp_sndinfo
170 */
171struct sctp_sndinfo {
172 __u16 snd_sid;
173 __u16 snd_flags;
174 __u32 snd_ppid;
175 __u32 snd_context;
176 sctp_assoc_t snd_assoc_id;
177};
178
179/* 5.3.5 SCTP Receive Information Structure (SCTP_RCVINFO)
180 *
181 * This cmsghdr structure describes SCTP receive information
182 * about a received message through recvmsg().
183 *
184 * cmsg_level cmsg_type cmsg_data[]
185 * ------------ ------------ -------------------
186 * IPPROTO_SCTP SCTP_RCVINFO struct sctp_rcvinfo
187 */
188struct sctp_rcvinfo {
189 __u16 rcv_sid;
190 __u16 rcv_ssn;
191 __u16 rcv_flags;
192 __u32 rcv_ppid;
193 __u32 rcv_tsn;
194 __u32 rcv_cumtsn;
195 __u32 rcv_context;
196 sctp_assoc_t rcv_assoc_id;
197};
198
199/* 5.3.6 SCTP Next Receive Information Structure (SCTP_NXTINFO)
200 *
201 * This cmsghdr structure describes SCTP receive information
202 * of the next message that will be delivered through recvmsg()
203 * if this information is already available when delivering
204 * the current message.
205 *
206 * cmsg_level cmsg_type cmsg_data[]
207 * ------------ ------------ -------------------
208 * IPPROTO_SCTP SCTP_NXTINFO struct sctp_nxtinfo
209 */
210struct sctp_nxtinfo {
211 __u16 nxt_sid;
212 __u16 nxt_flags;
213 __u32 nxt_ppid;
214 __u32 nxt_length;
215 sctp_assoc_t nxt_assoc_id;
216};
217
157/* 218/*
158 * sinfo_flags: 16 bits (unsigned integer) 219 * sinfo_flags: 16 bits (unsigned integer)
159 * 220 *
160 * This field may contain any of the following flags and is composed of 221 * This field may contain any of the following flags and is composed of
161 * a bitwise OR of these values. 222 * a bitwise OR of these values.
162 */ 223 */
163
164enum sctp_sinfo_flags { 224enum sctp_sinfo_flags {
165 SCTP_UNORDERED = 1, /* Send/receive message unordered. */ 225 SCTP_UNORDERED = (1 << 0), /* Send/receive message unordered. */
166 SCTP_ADDR_OVER = 2, /* Override the primary destination. */ 226 SCTP_ADDR_OVER = (1 << 1), /* Override the primary destination. */
167 SCTP_ABORT=4, /* Send an ABORT message to the peer. */ 227 SCTP_ABORT = (1 << 2), /* Send an ABORT message to the peer. */
168 SCTP_SACK_IMMEDIATELY = 8, /* SACK should be sent without delay */ 228 SCTP_SACK_IMMEDIATELY = (1 << 3), /* SACK should be sent without delay. */
169 SCTP_EOF=MSG_FIN, /* Initiate graceful shutdown process. */ 229 SCTP_NOTIFICATION = MSG_NOTIFICATION, /* Next message is not user msg but notification. */
230 SCTP_EOF = MSG_FIN, /* Initiate graceful shutdown process. */
170}; 231};
171 232
172typedef union { 233typedef union {
@@ -177,10 +238,16 @@ typedef union {
177 238
178/* These are cmsg_types. */ 239/* These are cmsg_types. */
179typedef enum sctp_cmsg_type { 240typedef enum sctp_cmsg_type {
180 SCTP_INIT, /* 5.2.1 SCTP Initiation Structure */ 241 SCTP_INIT, /* 5.2.1 SCTP Initiation Structure */
181#define SCTP_INIT SCTP_INIT 242#define SCTP_INIT SCTP_INIT
182 SCTP_SNDRCV, /* 5.2.2 SCTP Header Information Structure */ 243 SCTP_SNDRCV, /* 5.2.2 SCTP Header Information Structure */
183#define SCTP_SNDRCV SCTP_SNDRCV 244#define SCTP_SNDRCV SCTP_SNDRCV
245 SCTP_SNDINFO, /* 5.3.4 SCTP Send Information Structure */
246#define SCTP_SNDINFO SCTP_SNDINFO
247 SCTP_RCVINFO, /* 5.3.5 SCTP Receive Information Structure */
248#define SCTP_RCVINFO SCTP_RCVINFO
249 SCTP_NXTINFO, /* 5.3.6 SCTP Next Receive Information Structure */
250#define SCTP_NXTINFO SCTP_NXTINFO
184} sctp_cmsg_t; 251} sctp_cmsg_t;
185 252
186/* 253/*
@@ -808,13 +875,6 @@ struct sctp_assoc_stats {
808 __u64 sas_ictrlchunks; /* Control chunks received */ 875 __u64 sas_ictrlchunks; /* Control chunks received */
809}; 876};
810 877
811/* These are bit fields for msghdr->msg_flags. See section 5.1. */
812/* On user space Linux, these live in <bits/socket.h> as an enum. */
813enum sctp_msg_flags {
814 MSG_NOTIFICATION = 0x8000,
815#define MSG_NOTIFICATION MSG_NOTIFICATION
816};
817
818/* 878/*
819 * 8.1 sctp_bindx() 879 * 8.1 sctp_bindx()
820 * 880 *
diff --git a/include/uapi/linux/sysctl.h b/include/uapi/linux/sysctl.h
index 6d6721341f49..43aaba1cc037 100644
--- a/include/uapi/linux/sysctl.h
+++ b/include/uapi/linux/sysctl.h
@@ -568,6 +568,7 @@ enum {
568 NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22, 568 NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22,
569 NET_IPV6_PROXY_NDP=23, 569 NET_IPV6_PROXY_NDP=23,
570 NET_IPV6_ACCEPT_SOURCE_ROUTE=25, 570 NET_IPV6_ACCEPT_SOURCE_ROUTE=25,
571 NET_IPV6_ACCEPT_RA_FROM_LOCAL=26,
571 __NET_IPV6_MAX 572 __NET_IPV6_MAX
572}; 573};
573 574
diff --git a/include/uapi/linux/tipc_config.h b/include/uapi/linux/tipc_config.h
index 41a76acbb305..876d0a14863c 100644
--- a/include/uapi/linux/tipc_config.h
+++ b/include/uapi/linux/tipc_config.h
@@ -182,7 +182,7 @@
182 182
183#define TIPC_MIN_LINK_WIN 16 183#define TIPC_MIN_LINK_WIN 16
184#define TIPC_DEF_LINK_WIN 50 184#define TIPC_DEF_LINK_WIN 50
185#define TIPC_MAX_LINK_WIN 150 185#define TIPC_MAX_LINK_WIN 8191
186 186
187 187
188struct tipc_node_info { 188struct tipc_node_info {