History

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

Linus Torvalds committed 12 years ago

Commit ae045e22 parents f4f142e d247b6a1159 files · +70927 −30829Browse files

Showing the changes to include/uapi/linux (20 of 1159 files). Show all

Unified · Split

20 files
  1. include/uapi/linux/can/netlink.h +2 −1
  2. include/uapi/linux/dcbnl.h +2 −1
  3. include/uapi/linux/errqueue.h +20 −0
  4. include/uapi/linux/if_link.h +6 −0
  5. include/uapi/linux/if_packet.h +1 −1
  6. include/uapi/linux/in6.h +1 −0
  7. include/uapi/linux/ipv6.h +1 −0
  8. include/uapi/linux/net_tstamp.h +7 −3
  9. include/uapi/linux/netdevice.h +6 −0
  10. include/uapi/linux/netfilter/nf_tables.h +4 −0
  11. include/uapi/linux/netfilter/xt_bpf.h +3 −1
  12. include/uapi/linux/netfilter_bridge/Kbuild +0 −1
  13. include/uapi/linux/netfilter_bridge/ebt_ulog.h +0 −38
  14. include/uapi/linux/netfilter_ipv4/Kbuild +0 −1
  15. include/uapi/linux/netfilter_ipv4/ipt_ULOG.h +0 −49
  16. include/uapi/linux/nl80211.h +5 −0
  17. include/uapi/linux/openvswitch.h +9 −4
  18. include/uapi/linux/sctp.h +81 −21
  19. include/uapi/linux/sysctl.h +1 −0
  20. include/uapi/linux/tipc_config.h +1 −1
include/uapi/linux/can/netlink.h+2−1
@@ -92,11 +92,12 @@ struct can_ctrlmode { · 91 unmodified lines
9292 };
9393
9494 #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 */
9696 #define CAN_CTRLMODE_3_SAMPLES 0x04 /* Triple sampling mode */
9797 #define CAN_CTRLMODE_ONE_SHOT 0x08 /* One-Shot mode */
9898 #define CAN_CTRLMODE_BERR_REPORTING 0x10 /* Bus-error reporting */
9999 #define CAN_CTRLMODE_FD 0x20 /* CAN FD mode */
100+#define CAN_CTRLMODE_PRESUME_ACK 0x40 /* Ignore missing CAN ACKs */
100101
101102 /*
102103 * CAN device statistics
include/uapi/linux/dcbnl.h+2−1
@@ -148,7 +148,8 @@ struct cee_pfc { · 147 unmodified lines
148148 *
149149 * @selector: protocol identifier type
150150 * @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
152153 *
153154 * ----
154155 * Selector field values
include/uapi/linux/errqueue.h+20−0
@@ -22,5 +22,25 @@ struct sock_extended_err { · 21 unmodified lines
2222
2323 #define SO_EE_OFFENDER(ee) ((struct sockaddr*)((ee)+1))
2424
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+ */
32+struct 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+ */
40+enum {
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+};
2545
2646 #endif /* _UAPI_LINUX_ERRQUEUE_H */
include/uapi/linux/if_link.h+6−0
@@ -204,11 +204,17 @@ enum { · 203 unmodified lines
204204 IFLA_INET6_CACHEINFO, /* time values and max reasm size */
205205 IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */
206206 IFLA_INET6_TOKEN, /* device token */
207+ IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */
207208 __IFLA_INET6_MAX
208209 };
209210
210211 #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
211212
213+enum in6_addr_gen_mode {
214+ IN6_ADDR_GEN_MODE_EUI64,
215+ IN6_ADDR_GEN_MODE_NONE,
216+};
217+
212218 enum {
213219 BRIDGE_MODE_UNSPEC,
214220 BRIDGE_MODE_HAIRPIN,
include/uapi/linux/if_packet.h+1−1
@@ -108,7 +108,7 @@ struct tpacket_auxdata { · 107 unmodified lines
108108
109109 /* Rx and Tx ring - header status */
110110 #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 */
112112 #define TP_STATUS_TS_RAW_HARDWARE (1 << 31)
113113
114114 /* Rx ring - feature request bits */
include/uapi/linux/in6.h+1−0
@@ -233,6 +233,7 @@ struct in6_flowlabel_req { · 232 unmodified lines
233233 #if 0 /* not yet */
234234 #define IPV6_USE_MIN_MTU 63
235235 #endif
236+#define IPV6_AUTOFLOWLABEL 64
236237
237238 /*
238239 * Netfilter (1)
include/uapi/linux/ipv6.h+1−0
@@ -163,6 +163,7 @@ enum { · 162 unmodified lines
163163 DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL,
164164 DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL,
165165 DEVCONF_SUPPRESS_FRAG_NDISC,
166+ DEVCONF_ACCEPT_RA_FROM_LOCAL,
166167 DEVCONF_MAX
167168 };
168169
include/uapi/linux/net_tstamp.h+7−3
@@ -20,9 +20,13 @@ enum { · 19 unmodified lines
2020 SOF_TIMESTAMPING_SOFTWARE = (1<<4),
2121 SOF_TIMESTAMPING_SYS_HARDWARE = (1<<5),
2222 SOF_TIMESTAMPING_RAW_HARDWARE = (1<<6),
23− SOF_TIMESTAMPING_MASK =
24− (SOF_TIMESTAMPING_RAW_HARDWARE - 1) |
25− SOF_TIMESTAMPING_RAW_HARDWARE
23+ SOF_TIMESTAMPING_OPT_ID = (1<<7),
24+ SOF_TIMESTAMPING_TX_SCHED = (1<<8),
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
2630 };
2731
2832 /**
include/uapi/linux/netdevice.h+6−0
@@ -37,6 +37,12 @@ · 36 unmodified lines
3737 #define INIT_NETDEV_GROUP 0
3838
3939
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 */
4046
4147 /* Media selection options. */
4248 enum {
include/uapi/linux/netfilter/nf_tables.h+4−0
@@ -697,6 +697,8 @@ enum nft_counter_attributes { · 696 unmodified lines
697697 * @NFTA_LOG_PREFIX: prefix to prepend to log messages (NLA_STRING)
698698 * @NFTA_LOG_SNAPLEN: length of payload to include in netlink message (NLA_U32)
699699 * @NFTA_LOG_QTHRESHOLD: queue threshold (NLA_U32)
700+ * @NFTA_LOG_LEVEL: log level (NLA_U32)
701+ * @NFTA_LOG_FLAGS: logging flags (NLA_U32)
700702 */
701703 enum nft_log_attributes {
702704 NFTA_LOG_UNSPEC,
@@ -704,6 +706,8 @@ enum nft_log_attributes { · 1 unmodified line
704706 NFTA_LOG_PREFIX,
705707 NFTA_LOG_SNAPLEN,
706708 NFTA_LOG_QTHRESHOLD,
709+ NFTA_LOG_LEVEL,
710+ NFTA_LOG_FLAGS,
707711 __NFTA_LOG_MAX
708712 };
709713 #define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1)
include/uapi/linux/netfilter/xt_bpf.h+3−1
@@ -6,12 +6,14 @@ · 5 unmodified lines
66
77 #define XT_BPF_MAX_NUM_INSTR 64
88
9+struct bpf_prog;
10+
911 struct xt_bpf_info {
1012 __u16 bpf_program_num_elem;
1113 struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR];
1214
1315 /* only used in the kernel */
14− struct sk_filter *filter __attribute__((aligned(8)));
16+ struct bpf_prog *filter __attribute__((aligned(8)));
1517 };
1618
1719 #endif /*_XT_BPF_H */
include/uapi/linux/netfilter_bridge/Kbuild+0−1
@@ -14,6 +14,5 @@ header-y += ebt_nflog.h · 13 unmodified lines
1414 header-y += ebt_pkttype.h
1515 header-y += ebt_redirect.h
1616 header-y += ebt_stp.h
17−header-y += ebt_ulog.h
1817 header-y += ebt_vlan.h
1918 header-y += ebtables.h
include/uapi/linux/netfilter_bridge/ebt_ulog.h+0−38
@@ -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−
14−struct ebt_ulog_info {
15− __u32 nlgroup;
16− unsigned int cprange;
17− unsigned int qthreshold;
18− char prefix[EBT_ULOG_PREFIX_LEN];
19−};
20−
21−typedef 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 */
include/uapi/linux/netfilter_ipv4/Kbuild+0−1
@@ -5,7 +5,6 @@ header-y += ipt_ECN.h · 4 unmodified lines
55 header-y += ipt_LOG.h
66 header-y += ipt_REJECT.h
77 header-y += ipt_TTL.h
8−header-y += ipt_ULOG.h
98 header-y += ipt_ah.h
109 header-y += ipt_ecn.h
1110 header-y += ipt_ttl.h
include/uapi/linux/netfilter_ipv4/ipt_ULOG.h+0−49
@@ -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 */
27−struct 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 */
35−typedef 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*/
include/uapi/linux/nl80211.h+5−0
@@ -1591,6 +1591,9 @@ enum nl80211_commands { · 1590 unmodified lines
15911591 * creation then the new interface will be owned by the netlink socket
15921592 * that created it and will be destroyed when the socket is closed
15931593 *
1594+ * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
1595+ * the TDLS link initiator.
1596+ *
15941597 * @NL80211_ATTR_MAX: highest attribute number currently defined
15951598 * @__NL80211_ATTR_AFTER_LAST: internal use
15961599 */
@@ -1931,6 +1934,8 @@ enum nl80211_attrs { · 334 unmodified lines
19311934 NL80211_ATTR_CSA_C_OFFSETS_TX,
19321935 NL80211_ATTR_MAX_CSA_COUNTERS,
19331936
1937+ NL80211_ATTR_TDLS_INITIATOR,
1938+
19341939 /* add attributes here, update the policy in nl80211.c */
19351940
19361941 __NL80211_ATTR_AFTER_LAST,
include/uapi/linux/openvswitch.h+9−4
@@ -118,6 +118,9 @@ struct ovs_vport_stats { · 117 unmodified lines
118118 /* Allow last Netlink attribute to be unaligned */
119119 #define OVS_DP_F_UNALIGNED (1 << 0)
120120
121+/* Allow datapath to associate multiple Netlink PIDs to each vport */
122+#define OVS_DP_F_VPORT_PIDS (1 << 1)
123+
121124 /* Fixed logical ports. */
122125 #define OVSP_LOCAL ((__u32)0)
123126
@@ -203,9 +206,10 @@ enum ovs_vport_type { · 79 unmodified lines
203206 * this is the name of the network device. Maximum length %IFNAMSIZ-1 bytes
204207 * plus a null terminator.
205208 * @OVS_VPORT_ATTR_OPTIONS: Vport-specific configuration information.
206− * @OVS_VPORT_ATTR_UPCALL_PID: The Netlink socket in userspace that
207− * OVS_PACKET_CMD_MISS upcalls will be directed to for packets received on
208− * this port. A value of zero indicates that upcalls should not be sent.
209+ * @OVS_VPORT_ATTR_UPCALL_PID: The array of Netlink socket pids in userspace
210+ * among which OVS_PACKET_CMD_MISS upcalls will be distributed for packets
211+ * received on this port. If this is a single-element array of value 0,
212+ * upcalls should not be sent.
209213 * @OVS_VPORT_ATTR_STATS: A &struct ovs_vport_stats giving statistics for
210214 * packets sent or received through the vport.
211215 *
@@ -228,7 +232,8 @@ enum ovs_vport_attr { · 16 unmodified lines
228232 OVS_VPORT_ATTR_TYPE, /* u32 OVS_VPORT_TYPE_* constant. */
229233 OVS_VPORT_ATTR_NAME, /* string name, up to IFNAMSIZ bytes long */
230234 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 */
232237 OVS_VPORT_ATTR_STATS, /* struct ovs_vport_stats */
233238 __OVS_VPORT_ATTR_MAX
234239 };
include/uapi/linux/sctp.h+81−21
@@ -95,6 +95,9 @@ typedef __s32 sctp_assoc_t; · 94 unmodified lines
9595 #define SCTP_GET_ASSOC_ID_LIST 29 /* Read only */
9696 #define SCTP_AUTO_ASCONF 30
9797 #define SCTP_PEER_ADDR_THLDS 31
98+#define SCTP_RECVRCVINFO 32
99+#define SCTP_RECVNXTINFO 33
100+#define SCTP_DEFAULT_SNDINFO 34
98101
99102 /* Internal Socket Options. Some of the sctp library functions are
100103 * implemented using these socket options.
@@ -110,8 +113,14 @@ typedef __s32 sctp_assoc_t; · 9 unmodified lines
110113 #define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */
111114 #define SCTP_GET_ASSOC_STATS 112 /* Read only */
112115
113−/*
114− * 5.2.1 SCTP Initiation Structure (SCTP_INIT)
116+/* These are bit fields for msghdr->msg_flags. See section 5.1. */
117+/* On user space Linux, these live in <bits/socket.h> as an enum. */
118+enum sctp_msg_flags {
119+ MSG_NOTIFICATION = 0x8000,
120+#define MSG_NOTIFICATION MSG_NOTIFICATION
121+};
122+
123+/* 5.3.1 SCTP Initiation Structure (SCTP_INIT)
115124 *
116125 * This cmsghdr structure provides information for initializing new
117126 * SCTP associations with sendmsg(). The SCTP_INITMSG socket option
@@ -121,7 +130,6 @@ typedef __s32 sctp_assoc_t; · 3 unmodified lines
121130 * cmsg_level cmsg_type cmsg_data[]
122131 * ------------ ------------ ----------------------
123132 * IPPROTO_SCTP SCTP_INIT struct sctp_initmsg
124− *
125133 */
126134 struct sctp_initmsg {
127135 __u16 sinit_num_ostreams;
@@ -130,8 +138,7 @@ struct sctp_initmsg { · 2 unmodified lines
130138 __u16 sinit_max_init_timeo;
131139 };
132140
133−/*
134− * 5.2.2 SCTP Header Information Structure (SCTP_SNDRCV)
141+/* 5.3.2 SCTP Header Information Structure (SCTP_SNDRCV)
135142 *
136143 * This cmsghdr structure specifies SCTP options for sendmsg() and
137144 * describes SCTP header information about a received message through
@@ -140,7 +147,6 @@ struct sctp_initmsg { · 2 unmodified lines
140147 * cmsg_level cmsg_type cmsg_data[]
141148 * ------------ ------------ ----------------------
142149 * IPPROTO_SCTP SCTP_SNDRCV struct sctp_sndrcvinfo
143− *
144150 */
145151 struct sctp_sndrcvinfo {
146152 __u16 sinfo_stream;
@@ -154,19 +160,74 @@ struct sctp_sndrcvinfo { · 7 unmodified lines
154160 sctp_assoc_t sinfo_assoc_id;
155161 };
156162
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+ */
171+struct 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+ */
188+struct 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+ */
210+struct 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+
157218 /*
158219 * sinfo_flags: 16 bits (unsigned integer)
159220 *
160221 * This field may contain any of the following flags and is composed of
161222 * a bitwise OR of these values.
162223 */
163−
164224 enum sctp_sinfo_flags {
165− SCTP_UNORDERED = 1, /* Send/receive message unordered. */
166− SCTP_ADDR_OVER = 2, /* Override the primary destination. */
167− SCTP_ABORT=4, /* Send an ABORT message to the peer. */
168− SCTP_SACK_IMMEDIATELY = 8, /* SACK should be sent without delay */
169− SCTP_EOF=MSG_FIN, /* Initiate graceful shutdown process. */
225+ SCTP_UNORDERED = (1 << 0), /* Send/receive message unordered. */
226+ SCTP_ADDR_OVER = (1 << 1), /* Override the primary destination. */
227+ SCTP_ABORT = (1 << 2), /* Send an ABORT message to the peer. */
228+ SCTP_SACK_IMMEDIATELY = (1 << 3), /* SACK should be sent without delay. */
229+ SCTP_NOTIFICATION = MSG_NOTIFICATION, /* Next message is not user msg but notification. */
230+ SCTP_EOF = MSG_FIN, /* Initiate graceful shutdown process. */
170231 };
171232
172233 typedef union {
@@ -177,10 +238,16 @@ typedef union { · 4 unmodified lines
177238
178239 /* These are cmsg_types. */
179240 typedef enum sctp_cmsg_type {
180− SCTP_INIT, /* 5.2.1 SCTP Initiation Structure */
241+ SCTP_INIT, /* 5.2.1 SCTP Initiation Structure */
181242 #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 */
183244 #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
184251 } sctp_cmsg_t;
185252
186253 /*
@@ -808,13 +875,6 @@ struct sctp_assoc_stats { · 621 unmodified lines
808875 __u64 sas_ictrlchunks; /* Control chunks received */
809876 };
810877
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. */
813−enum sctp_msg_flags {
814− MSG_NOTIFICATION = 0x8000,
815−#define MSG_NOTIFICATION MSG_NOTIFICATION
816−};
817−
818878 /*
819879 * 8.1 sctp_bindx()
820880 *
include/uapi/linux/sysctl.h+1−0
@@ -568,6 +568,7 @@ enum { · 567 unmodified lines
568568 NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22,
569569 NET_IPV6_PROXY_NDP=23,
570570 NET_IPV6_ACCEPT_SOURCE_ROUTE=25,
571+ NET_IPV6_ACCEPT_RA_FROM_LOCAL=26,
571572 __NET_IPV6_MAX
572573 };
573574
include/uapi/linux/tipc_config.h+1−1
@@ -182,7 +182,7 @@ · 181 unmodified lines
182182
183183 #define TIPC_MIN_LINK_WIN 16
184184 #define TIPC_DEF_LINK_WIN 50
185−#define TIPC_MAX_LINK_WIN 150
185+#define TIPC_MAX_LINK_WIN 8191
186186
187187
188188 struct tipc_node_info {

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t