aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sctp
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/sctp')
-rw-r--r--include/net/sctp/sctp.h4
-rw-r--r--include/net/sctp/sm.h1
-rw-r--r--include/net/sctp/structs.h18
-rw-r--r--include/net/sctp/ulpevent.h2
-rw-r--r--include/net/sctp/user.h30
5 files changed, 29 insertions, 26 deletions
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h
index 215461f18db1..28af68059521 100644
--- a/include/net/sctp/sctp.h
+++ b/include/net/sctp/sctp.h
@@ -128,8 +128,6 @@ extern int sctp_copy_local_addr_list(struct sctp_bind_addr *,
128 int flags); 128 int flags);
129extern struct sctp_pf *sctp_get_pf_specific(sa_family_t family); 129extern struct sctp_pf *sctp_get_pf_specific(sa_family_t family);
130extern int sctp_register_pf(struct sctp_pf *, sa_family_t); 130extern int sctp_register_pf(struct sctp_pf *, sa_family_t);
131int sctp_inetaddr_event(struct notifier_block *this, unsigned long ev,
132 void *ptr);
133 131
134/* 132/*
135 * sctp/socket.c 133 * sctp/socket.c
@@ -368,7 +366,7 @@ static inline void sctp_sysctl_register(void) { return; }
368static inline void sctp_sysctl_unregister(void) { return; } 366static inline void sctp_sysctl_unregister(void) { return; }
369static inline int sctp_sysctl_jiffies_ms(ctl_table *table, int __user *name, int nlen, 367static inline int sctp_sysctl_jiffies_ms(ctl_table *table, int __user *name, int nlen,
370 void __user *oldval, size_t __user *oldlenp, 368 void __user *oldval, size_t __user *oldlenp,
371 void __user *newval, size_t newlen, void **context) { 369 void __user *newval, size_t newlen) {
372 return -ENOSYS; 370 return -ENOSYS;
373} 371}
374#endif 372#endif
diff --git a/include/net/sctp/sm.h b/include/net/sctp/sm.h
index 3269ed1cc222..73cb9943c8a8 100644
--- a/include/net/sctp/sm.h
+++ b/include/net/sctp/sm.h
@@ -134,6 +134,7 @@ sctp_state_fn_t sctp_sf_violation;
134sctp_state_fn_t sctp_sf_discard_chunk; 134sctp_state_fn_t sctp_sf_discard_chunk;
135sctp_state_fn_t sctp_sf_do_5_2_1_siminit; 135sctp_state_fn_t sctp_sf_do_5_2_1_siminit;
136sctp_state_fn_t sctp_sf_do_5_2_2_dupinit; 136sctp_state_fn_t sctp_sf_do_5_2_2_dupinit;
137sctp_state_fn_t sctp_sf_do_5_2_3_initack;
137sctp_state_fn_t sctp_sf_do_5_2_4_dupcook; 138sctp_state_fn_t sctp_sf_do_5_2_4_dupcook;
138sctp_state_fn_t sctp_sf_unk_chunk; 139sctp_state_fn_t sctp_sf_unk_chunk;
139sctp_state_fn_t sctp_sf_do_8_5_1_E_sa; 140sctp_state_fn_t sctp_sf_do_8_5_1_E_sa;
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index c089f93ba591..31a8e88f1a74 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -201,13 +201,12 @@ extern struct sctp_globals {
201 struct sctp_bind_hashbucket *port_hashtable; 201 struct sctp_bind_hashbucket *port_hashtable;
202 202
203 /* This is the global local address list. 203 /* This is the global local address list.
204 * We actively maintain this complete list of interfaces on 204 * We actively maintain this complete list of addresses on
205 * the system by catching routing events. 205 * the system by catching address add/delete events.
206 * 206 *
207 * It is a list of sctp_sockaddr_entry. 207 * It is a list of sctp_sockaddr_entry.
208 */ 208 */
209 struct list_head local_addr_list; 209 struct list_head local_addr_list;
210 spinlock_t local_addr_lock;
211 210
212 /* Flag to indicate if addip is enabled. */ 211 /* Flag to indicate if addip is enabled. */
213 int addip_enable; 212 int addip_enable;
@@ -243,7 +242,6 @@ extern struct sctp_globals {
243#define sctp_port_alloc_lock (sctp_globals.port_alloc_lock) 242#define sctp_port_alloc_lock (sctp_globals.port_alloc_lock)
244#define sctp_port_hashtable (sctp_globals.port_hashtable) 243#define sctp_port_hashtable (sctp_globals.port_hashtable)
245#define sctp_local_addr_list (sctp_globals.local_addr_list) 244#define sctp_local_addr_list (sctp_globals.local_addr_list)
246#define sctp_local_addr_lock (sctp_globals.local_addr_lock)
247#define sctp_addip_enable (sctp_globals.addip_enable) 245#define sctp_addip_enable (sctp_globals.addip_enable)
248#define sctp_prsctp_enable (sctp_globals.prsctp_enable) 246#define sctp_prsctp_enable (sctp_globals.prsctp_enable)
249 247
@@ -277,6 +275,7 @@ struct sctp_sock {
277 __u16 default_flags; 275 __u16 default_flags;
278 __u32 default_context; 276 __u32 default_context;
279 __u32 default_timetolive; 277 __u32 default_timetolive;
278 __u32 default_rcv_context;
280 279
281 /* Heartbeat interval: The endpoint sends out a Heartbeat chunk to 280 /* Heartbeat interval: The endpoint sends out a Heartbeat chunk to
282 * the destination address every heartbeat interval. This value 281 * the destination address every heartbeat interval. This value
@@ -307,7 +306,7 @@ struct sctp_sock {
307 __u8 disable_fragments; 306 __u8 disable_fragments;
308 __u8 pd_mode; 307 __u8 pd_mode;
309 __u8 v4mapped; 308 __u8 v4mapped;
310 __u32 adaption_ind; 309 __u32 adaptation_ind;
311 310
312 /* Receive to here while partial delivery is in effect. */ 311 /* Receive to here while partial delivery is in effect. */
313 struct sk_buff_head pd_lobby; 312 struct sk_buff_head pd_lobby;
@@ -389,7 +388,7 @@ struct sctp_cookie {
389 /* Padding for future use */ 388 /* Padding for future use */
390 __u8 padding; 389 __u8 padding;
391 390
392 __u32 adaption_ind; 391 __u32 adaptation_ind;
393 392
394 393
395 /* This is a shim for my peer's INIT packet, followed by 394 /* This is a shim for my peer's INIT packet, followed by
@@ -432,7 +431,7 @@ union sctp_params {
432 struct sctp_ipv4addr_param *v4; 431 struct sctp_ipv4addr_param *v4;
433 struct sctp_ipv6addr_param *v6; 432 struct sctp_ipv6addr_param *v6;
434 union sctp_addr_param *addr; 433 union sctp_addr_param *addr;
435 struct sctp_adaption_ind_param *aind; 434 struct sctp_adaptation_ind_param *aind;
436}; 435};
437 436
438/* RFC 2960. Section 3.3.5 Heartbeat. 437/* RFC 2960. Section 3.3.5 Heartbeat.
@@ -1484,7 +1483,7 @@ struct sctp_association {
1484 __u8 asconf_capable; /* Does peer support ADDIP? */ 1483 __u8 asconf_capable; /* Does peer support ADDIP? */
1485 __u8 prsctp_capable; /* Can peer do PR-SCTP? */ 1484 __u8 prsctp_capable; /* Can peer do PR-SCTP? */
1486 1485
1487 __u32 adaption_ind; /* Adaption Code point. */ 1486 __u32 adaptation_ind; /* Adaptation Code point. */
1488 1487
1489 /* This mask is used to disable sending the ASCONF chunk 1488 /* This mask is used to disable sending the ASCONF chunk
1490 * with specified parameter to peer. 1489 * with specified parameter to peer.
@@ -1659,6 +1658,9 @@ struct sctp_association {
1659 __u32 default_context; 1658 __u32 default_context;
1660 __u32 default_timetolive; 1659 __u32 default_timetolive;
1661 1660
1661 /* Default receive parameters */
1662 __u32 default_rcv_context;
1663
1662 /* This tracks outbound ssn for a given stream. */ 1664 /* This tracks outbound ssn for a given stream. */
1663 struct sctp_ssnmap *ssnmap; 1665 struct sctp_ssnmap *ssnmap;
1664 1666
diff --git a/include/net/sctp/ulpevent.h b/include/net/sctp/ulpevent.h
index 1a4ddc1ec7d2..2923e3d31a08 100644
--- a/include/net/sctp/ulpevent.h
+++ b/include/net/sctp/ulpevent.h
@@ -120,7 +120,7 @@ struct sctp_ulpevent *sctp_ulpevent_make_pdapi(
120 const struct sctp_association *asoc, 120 const struct sctp_association *asoc,
121 __u32 indication, gfp_t gfp); 121 __u32 indication, gfp_t gfp);
122 122
123struct sctp_ulpevent *sctp_ulpevent_make_adaption_indication( 123struct sctp_ulpevent *sctp_ulpevent_make_adaptation_indication(
124 const struct sctp_association *asoc, gfp_t gfp); 124 const struct sctp_association *asoc, gfp_t gfp);
125 125
126struct sctp_ulpevent *sctp_ulpevent_make_rcvmsg(struct sctp_association *asoc, 126struct sctp_ulpevent *sctp_ulpevent_make_rcvmsg(struct sctp_association *asoc,
diff --git a/include/net/sctp/user.h b/include/net/sctp/user.h
index 1b7aae6cdd82..67a30eb2b3a4 100644
--- a/include/net/sctp/user.h
+++ b/include/net/sctp/user.h
@@ -75,8 +75,8 @@ enum sctp_optname {
75#define SCTP_SET_PEER_PRIMARY_ADDR SCTP_SET_PEER_PRIMARY_ADDR 75#define SCTP_SET_PEER_PRIMARY_ADDR SCTP_SET_PEER_PRIMARY_ADDR
76 SCTP_PRIMARY_ADDR, 76 SCTP_PRIMARY_ADDR,
77#define SCTP_PRIMARY_ADDR SCTP_PRIMARY_ADDR 77#define SCTP_PRIMARY_ADDR SCTP_PRIMARY_ADDR
78 SCTP_ADAPTION_LAYER, 78 SCTP_ADAPTATION_LAYER,
79#define SCTP_ADAPTION_LAYER SCTP_ADAPTION_LAYER 79#define SCTP_ADAPTATION_LAYER SCTP_ADAPTATION_LAYER
80 SCTP_DISABLE_FRAGMENTS, 80 SCTP_DISABLE_FRAGMENTS,
81#define SCTP_DISABLE_FRAGMENTS SCTP_DISABLE_FRAGMENTS 81#define SCTP_DISABLE_FRAGMENTS SCTP_DISABLE_FRAGMENTS
82 SCTP_PEER_ADDR_PARAMS, 82 SCTP_PEER_ADDR_PARAMS,
@@ -95,6 +95,8 @@ enum sctp_optname {
95#define SCTP_GET_PEER_ADDR_INFO SCTP_GET_PEER_ADDR_INFO 95#define SCTP_GET_PEER_ADDR_INFO SCTP_GET_PEER_ADDR_INFO
96 SCTP_DELAYED_ACK_TIME, 96 SCTP_DELAYED_ACK_TIME,
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 */
99#define SCTP_CONTEXT SCTP_CONTEXT
98 100
99 /* Internal Socket Options. Some of the sctp library functions are 101 /* Internal Socket Options. Some of the sctp library functions are
100 * implemented using these socket options. 102 * implemented using these socket options.
@@ -329,17 +331,17 @@ struct sctp_shutdown_event {
329}; 331};
330 332
331/* 333/*
332 * 5.3.1.6 SCTP_ADAPTION_INDICATION 334 * 5.3.1.6 SCTP_ADAPTATION_INDICATION
333 * 335 *
334 * When a peer sends a Adaption Layer Indication parameter , SCTP 336 * When a peer sends a Adaptation Layer Indication parameter , SCTP
335 * delivers this notification to inform the application 337 * delivers this notification to inform the application
336 * that of the peers requested adaption layer. 338 * that of the peers requested adaptation layer.
337 */ 339 */
338struct sctp_adaption_event { 340struct sctp_adaptation_event {
339 __u16 sai_type; 341 __u16 sai_type;
340 __u16 sai_flags; 342 __u16 sai_flags;
341 __u32 sai_length; 343 __u32 sai_length;
342 __u32 sai_adaption_ind; 344 __u32 sai_adaptation_ind;
343 sctp_assoc_t sai_assoc_id; 345 sctp_assoc_t sai_assoc_id;
344}; 346};
345 347
@@ -372,7 +374,7 @@ struct sctp_event_subscribe {
372 __u8 sctp_peer_error_event; 374 __u8 sctp_peer_error_event;
373 __u8 sctp_shutdown_event; 375 __u8 sctp_shutdown_event;
374 __u8 sctp_partial_delivery_event; 376 __u8 sctp_partial_delivery_event;
375 __u8 sctp_adaption_layer_event; 377 __u8 sctp_adaptation_layer_event;
376}; 378};
377 379
378/* 380/*
@@ -393,7 +395,7 @@ union sctp_notification {
393 struct sctp_remote_error sn_remote_error; 395 struct sctp_remote_error sn_remote_error;
394 struct sctp_send_failed sn_send_failed; 396 struct sctp_send_failed sn_send_failed;
395 struct sctp_shutdown_event sn_shutdown_event; 397 struct sctp_shutdown_event sn_shutdown_event;
396 struct sctp_adaption_event sn_adaption_event; 398 struct sctp_adaptation_event sn_adaptation_event;
397 struct sctp_pdapi_event sn_pdapi_event; 399 struct sctp_pdapi_event sn_pdapi_event;
398}; 400};
399 401
@@ -410,7 +412,7 @@ enum sctp_sn_type {
410 SCTP_REMOTE_ERROR, 412 SCTP_REMOTE_ERROR,
411 SCTP_SHUTDOWN_EVENT, 413 SCTP_SHUTDOWN_EVENT,
412 SCTP_PARTIAL_DELIVERY_EVENT, 414 SCTP_PARTIAL_DELIVERY_EVENT,
413 SCTP_ADAPTION_INDICATION, 415 SCTP_ADAPTATION_INDICATION,
414}; 416};
415 417
416/* Notification error codes used to fill up the error fields in some 418/* Notification error codes used to fill up the error fields in some
@@ -486,13 +488,13 @@ struct sctp_prim {
486} __attribute__((packed, aligned(4))); 488} __attribute__((packed, aligned(4)));
487 489
488/* 490/*
489 * 7.1.11 Set Adaption Layer Indicator (SCTP_ADAPTION_LAYER) 491 * 7.1.11 Set Adaptation Layer Indicator (SCTP_ADAPTATION_LAYER)
490 * 492 *
491 * Requests that the local endpoint set the specified Adaption Layer 493 * Requests that the local endpoint set the specified Adaptation Layer
492 * Indication parameter for all future INIT and INIT-ACK exchanges. 494 * Indication parameter for all future INIT and INIT-ACK exchanges.
493 */ 495 */
494struct sctp_setadaption { 496struct sctp_setadaptation {
495 __u32 ssb_adaption_ind; 497 __u32 ssb_adaptation_ind;
496}; 498};
497 499
498/* 500/*