aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sctp
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/sctp')
-rw-r--r--include/net/sctp/constants.h2
-rw-r--r--include/net/sctp/structs.h5
-rw-r--r--include/net/sctp/ulpevent.h1
-rw-r--r--include/net/sctp/ulpqueue.h2
-rw-r--r--include/net/sctp/user.h25
5 files changed, 24 insertions, 11 deletions
diff --git a/include/net/sctp/constants.h b/include/net/sctp/constants.h
index 5ddb85599863..bb37724495a5 100644
--- a/include/net/sctp/constants.h
+++ b/include/net/sctp/constants.h
@@ -283,7 +283,7 @@ enum { SCTP_MAX_GABS = 16 };
283#define SCTP_RTO_BETA 2 /* 1/4 when converted to right shifts. */ 283#define SCTP_RTO_BETA 2 /* 1/4 when converted to right shifts. */
284 284
285/* Maximum number of new data packets that can be sent in a burst. */ 285/* Maximum number of new data packets that can be sent in a burst. */
286#define SCTP_MAX_BURST 4 286#define SCTP_DEFAULT_MAX_BURST 4
287 287
288#define SCTP_CLOCK_GRANULARITY 1 /* 1 jiffy */ 288#define SCTP_CLOCK_GRANULARITY 1 /* 1 jiffy */
289 289
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index f431acf3dcea..7b4fff93ba7f 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -276,6 +276,7 @@ struct sctp_sock {
276 __u32 default_context; 276 __u32 default_context;
277 __u32 default_timetolive; 277 __u32 default_timetolive;
278 __u32 default_rcv_context; 278 __u32 default_rcv_context;
279 int max_burst;
279 280
280 /* Heartbeat interval: The endpoint sends out a Heartbeat chunk to 281 /* Heartbeat interval: The endpoint sends out a Heartbeat chunk to
281 * the destination address every heartbeat interval. This value 282 * the destination address every heartbeat interval. This value
@@ -304,10 +305,12 @@ struct sctp_sock {
304 __u32 autoclose; 305 __u32 autoclose;
305 __u8 nodelay; 306 __u8 nodelay;
306 __u8 disable_fragments; 307 __u8 disable_fragments;
307 __u8 pd_mode;
308 __u8 v4mapped; 308 __u8 v4mapped;
309 __u8 frag_interleave;
309 __u32 adaptation_ind; 310 __u32 adaptation_ind;
311 __u32 pd_point;
310 312
313 atomic_t pd_mode;
311 /* Receive to here while partial delivery is in effect. */ 314 /* Receive to here while partial delivery is in effect. */
312 struct sk_buff_head pd_lobby; 315 struct sk_buff_head pd_lobby;
313}; 316};
diff --git a/include/net/sctp/ulpevent.h b/include/net/sctp/ulpevent.h
index 2923e3d31a08..de88ed5b0ba6 100644
--- a/include/net/sctp/ulpevent.h
+++ b/include/net/sctp/ulpevent.h
@@ -89,6 +89,7 @@ struct sctp_ulpevent *sctp_ulpevent_make_assoc_change(
89 __u16 error, 89 __u16 error,
90 __u16 outbound, 90 __u16 outbound,
91 __u16 inbound, 91 __u16 inbound,
92 struct sctp_chunk *chunk,
92 gfp_t gfp); 93 gfp_t gfp);
93 94
94struct sctp_ulpevent *sctp_ulpevent_make_peer_addr_change( 95struct sctp_ulpevent *sctp_ulpevent_make_peer_addr_change(
diff --git a/include/net/sctp/ulpqueue.h b/include/net/sctp/ulpqueue.h
index ab26ab3adae1..39ea3f442b47 100644
--- a/include/net/sctp/ulpqueue.h
+++ b/include/net/sctp/ulpqueue.h
@@ -78,7 +78,7 @@ void sctp_ulpq_partial_delivery(struct sctp_ulpq *, struct sctp_chunk *, gfp_t);
78void sctp_ulpq_abort_pd(struct sctp_ulpq *, gfp_t); 78void sctp_ulpq_abort_pd(struct sctp_ulpq *, gfp_t);
79 79
80/* Clear the partial data delivery condition on this socket. */ 80/* Clear the partial data delivery condition on this socket. */
81int sctp_clear_pd(struct sock *sk); 81int sctp_clear_pd(struct sock *sk, struct sctp_association *asoc);
82 82
83/* Skip over an SSN. */ 83/* Skip over an SSN. */
84void sctp_ulpq_skip(struct sctp_ulpq *ulpq, __u16 sid, __u16 ssn); 84void sctp_ulpq_skip(struct sctp_ulpq *ulpq, __u16 sid, __u16 ssn);
diff --git a/include/net/sctp/user.h b/include/net/sctp/user.h
index 67a30eb2b3a4..6d2b57758cca 100644
--- a/include/net/sctp/user.h
+++ b/include/net/sctp/user.h
@@ -97,6 +97,12 @@ enum sctp_optname {
97#define SCTP_DELAYED_ACK_TIME SCTP_DELAYED_ACK_TIME 97#define SCTP_DELAYED_ACK_TIME SCTP_DELAYED_ACK_TIME
98 SCTP_CONTEXT, /* Receive Context */ 98 SCTP_CONTEXT, /* Receive Context */
99#define SCTP_CONTEXT SCTP_CONTEXT 99#define SCTP_CONTEXT SCTP_CONTEXT
100 SCTP_FRAGMENT_INTERLEAVE,
101#define SCTP_FRAGMENT_INTERLEAVE SCTP_FRAGMENT_INTERLEAVE
102 SCTP_PARTIAL_DELIVERY_POINT, /* Set/Get partial delivery point */
103#define SCTP_PARTIAL_DELIVERY_POINT SCTP_PARTIAL_DELIVERY_POINT
104 SCTP_MAX_BURST, /* Set/Get max burst */
105#define SCTP_MAX_BURST SCTP_MAX_BURST
100 106
101 /* Internal Socket Options. Some of the sctp library functions are 107 /* Internal Socket Options. Some of the sctp library functions are
102 * implemented using these socket options. 108 * implemented using these socket options.
@@ -213,6 +219,7 @@ struct sctp_assoc_change {
213 __u16 sac_outbound_streams; 219 __u16 sac_outbound_streams;
214 __u16 sac_inbound_streams; 220 __u16 sac_inbound_streams;
215 sctp_assoc_t sac_assoc_id; 221 sctp_assoc_t sac_assoc_id;
222 __u8 sac_info[0];
216}; 223};
217 224
218/* 225/*
@@ -261,6 +268,7 @@ enum sctp_spc_state {
261 SCTP_ADDR_REMOVED, 268 SCTP_ADDR_REMOVED,
262 SCTP_ADDR_ADDED, 269 SCTP_ADDR_ADDED,
263 SCTP_ADDR_MADE_PRIM, 270 SCTP_ADDR_MADE_PRIM,
271 SCTP_ADDR_CONFIRMED,
264}; 272};
265 273
266 274
@@ -508,16 +516,17 @@ struct sctp_setadaptation {
508 * address's parameters: 516 * address's parameters:
509 */ 517 */
510enum sctp_spp_flags { 518enum sctp_spp_flags {
511 SPP_HB_ENABLE = 1, /*Enable heartbeats*/ 519 SPP_HB_ENABLE = 1<<0, /*Enable heartbeats*/
512 SPP_HB_DISABLE = 2, /*Disable heartbeats*/ 520 SPP_HB_DISABLE = 1<<1, /*Disable heartbeats*/
513 SPP_HB = SPP_HB_ENABLE | SPP_HB_DISABLE, 521 SPP_HB = SPP_HB_ENABLE | SPP_HB_DISABLE,
514 SPP_HB_DEMAND = 4, /*Send heartbeat immediately*/ 522 SPP_HB_DEMAND = 1<<2, /*Send heartbeat immediately*/
515 SPP_PMTUD_ENABLE = 8, /*Enable PMTU discovery*/ 523 SPP_PMTUD_ENABLE = 1<<3, /*Enable PMTU discovery*/
516 SPP_PMTUD_DISABLE = 16, /*Disable PMTU discovery*/ 524 SPP_PMTUD_DISABLE = 1<<4, /*Disable PMTU discovery*/
517 SPP_PMTUD = SPP_PMTUD_ENABLE | SPP_PMTUD_DISABLE, 525 SPP_PMTUD = SPP_PMTUD_ENABLE | SPP_PMTUD_DISABLE,
518 SPP_SACKDELAY_ENABLE = 32, /*Enable SACK*/ 526 SPP_SACKDELAY_ENABLE = 1<<5, /*Enable SACK*/
519 SPP_SACKDELAY_DISABLE = 64, /*Disable SACK*/ 527 SPP_SACKDELAY_DISABLE = 1<<6, /*Disable SACK*/
520 SPP_SACKDELAY = SPP_SACKDELAY_ENABLE | SPP_SACKDELAY_DISABLE, 528 SPP_SACKDELAY = SPP_SACKDELAY_ENABLE | SPP_SACKDELAY_DISABLE,
529 SPP_HB_TIME_IS_ZERO = 1<<7, /* Set HB delay to 0 */
521}; 530};
522 531
523struct sctp_paddrparams { 532struct sctp_paddrparams {
@@ -530,7 +539,7 @@ struct sctp_paddrparams {
530 __u32 spp_flags; 539 __u32 spp_flags;
531} __attribute__((packed, aligned(4))); 540} __attribute__((packed, aligned(4)));
532 541
533/* 7.1.24. Delayed Ack Timer (SCTP_DELAYED_ACK_TIME) 542/* 7.1.23. Delayed Ack Timer (SCTP_DELAYED_ACK_TIME)
534 * 543 *
535 * This options will get or set the delayed ack timer. The time is set 544 * This options will get or set the delayed ack timer. The time is set
536 * in milliseconds. If the assoc_id is 0, then this sets or gets the 545 * in milliseconds. If the assoc_id is 0, then this sets or gets the