diff options
Diffstat (limited to 'include/net/sctp')
-rw-r--r-- | include/net/sctp/constants.h | 2 | ||||
-rw-r--r-- | include/net/sctp/structs.h | 5 | ||||
-rw-r--r-- | include/net/sctp/ulpevent.h | 1 | ||||
-rw-r--r-- | include/net/sctp/ulpqueue.h | 2 | ||||
-rw-r--r-- | include/net/sctp/user.h | 25 |
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 | ||
94 | struct sctp_ulpevent *sctp_ulpevent_make_peer_addr_change( | 95 | struct 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); | |||
78 | void sctp_ulpq_abort_pd(struct sctp_ulpq *, gfp_t); | 78 | void 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. */ |
81 | int sctp_clear_pd(struct sock *sk); | 81 | int sctp_clear_pd(struct sock *sk, struct sctp_association *asoc); |
82 | 82 | ||
83 | /* Skip over an SSN. */ | 83 | /* Skip over an SSN. */ |
84 | void sctp_ulpq_skip(struct sctp_ulpq *ulpq, __u16 sid, __u16 ssn); | 84 | void 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 | */ |
510 | enum sctp_spp_flags { | 518 | enum 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 | ||
523 | struct sctp_paddrparams { | 532 | struct 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 |