aboutsummaryrefslogtreecommitdiffstats
path: root/include/uapi/linux
diff options
context:
space:
mode:
Diffstat (limited to 'include/uapi/linux')
-rw-r--r--include/uapi/linux/can/netlink.h3
-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/netdevice.h6
-rw-r--r--include/uapi/linux/netfilter/nf_tables.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
16 files changed, 118 insertions, 117 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/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/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_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 {