diff options
Diffstat (limited to 'include/net/sctp')
-rw-r--r-- | include/net/sctp/sctp.h | 4 | ||||
-rw-r--r-- | include/net/sctp/sm.h | 1 | ||||
-rw-r--r-- | include/net/sctp/structs.h | 18 | ||||
-rw-r--r-- | include/net/sctp/ulpevent.h | 2 | ||||
-rw-r--r-- | include/net/sctp/user.h | 30 |
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); |
129 | extern struct sctp_pf *sctp_get_pf_specific(sa_family_t family); | 129 | extern struct sctp_pf *sctp_get_pf_specific(sa_family_t family); |
130 | extern int sctp_register_pf(struct sctp_pf *, sa_family_t); | 130 | extern int sctp_register_pf(struct sctp_pf *, sa_family_t); |
131 | int 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; } | |||
368 | static inline void sctp_sysctl_unregister(void) { return; } | 366 | static inline void sctp_sysctl_unregister(void) { return; } |
369 | static inline int sctp_sysctl_jiffies_ms(ctl_table *table, int __user *name, int nlen, | 367 | static 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; | |||
134 | sctp_state_fn_t sctp_sf_discard_chunk; | 134 | sctp_state_fn_t sctp_sf_discard_chunk; |
135 | sctp_state_fn_t sctp_sf_do_5_2_1_siminit; | 135 | sctp_state_fn_t sctp_sf_do_5_2_1_siminit; |
136 | sctp_state_fn_t sctp_sf_do_5_2_2_dupinit; | 136 | sctp_state_fn_t sctp_sf_do_5_2_2_dupinit; |
137 | sctp_state_fn_t sctp_sf_do_5_2_3_initack; | ||
137 | sctp_state_fn_t sctp_sf_do_5_2_4_dupcook; | 138 | sctp_state_fn_t sctp_sf_do_5_2_4_dupcook; |
138 | sctp_state_fn_t sctp_sf_unk_chunk; | 139 | sctp_state_fn_t sctp_sf_unk_chunk; |
139 | sctp_state_fn_t sctp_sf_do_8_5_1_E_sa; | 140 | sctp_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 | ||
123 | struct sctp_ulpevent *sctp_ulpevent_make_adaption_indication( | 123 | struct 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 | ||
126 | struct sctp_ulpevent *sctp_ulpevent_make_rcvmsg(struct sctp_association *asoc, | 126 | struct 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 | */ |
338 | struct sctp_adaption_event { | 340 | struct 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 | */ |
494 | struct sctp_setadaption { | 496 | struct sctp_setadaptation { |
495 | __u32 ssb_adaption_ind; | 497 | __u32 ssb_adaptation_ind; |
496 | }; | 498 | }; |
497 | 499 | ||
498 | /* | 500 | /* |