|
@@ -1360,12 +1360,6 @@ struct sctp_association {
|
|
|
|
|
|
/* This is all information about our peer. */
|
|
/* This is all information about our peer. */
|
|
struct {
|
|
struct {
|
|
- /* rwnd
|
|
|
|
- *
|
|
|
|
- * Peer Rwnd : Current calculated value of the peer's rwnd.
|
|
|
|
- */
|
|
|
|
- __u32 rwnd;
|
|
|
|
-
|
|
|
|
/* transport_addr_list
|
|
/* transport_addr_list
|
|
*
|
|
*
|
|
* Peer : A list of SCTP transport addresses that the
|
|
* Peer : A list of SCTP transport addresses that the
|
|
@@ -1383,6 +1377,12 @@ struct sctp_association {
|
|
*/
|
|
*/
|
|
struct list_head transport_addr_list;
|
|
struct list_head transport_addr_list;
|
|
|
|
|
|
|
|
+ /* rwnd
|
|
|
|
+ *
|
|
|
|
+ * Peer Rwnd : Current calculated value of the peer's rwnd.
|
|
|
|
+ */
|
|
|
|
+ __u32 rwnd;
|
|
|
|
+
|
|
/* transport_count
|
|
/* transport_count
|
|
*
|
|
*
|
|
* Peer : A count of the number of peer addresses
|
|
* Peer : A count of the number of peer addresses
|
|
@@ -1465,6 +1465,20 @@ struct sctp_association {
|
|
*/
|
|
*/
|
|
struct sctp_tsnmap tsn_map;
|
|
struct sctp_tsnmap tsn_map;
|
|
|
|
|
|
|
|
+ /* This mask is used to disable sending the ASCONF chunk
|
|
|
|
+ * with specified parameter to peer.
|
|
|
|
+ */
|
|
|
|
+ __be16 addip_disabled_mask;
|
|
|
|
+
|
|
|
|
+ /* These are capabilities which our peer advertised. */
|
|
|
|
+ __u8 ecn_capable:1, /* Can peer do ECN? */
|
|
|
|
+ ipv4_address:1, /* Peer understands IPv4 addresses? */
|
|
|
|
+ ipv6_address:1, /* Peer understands IPv6 addresses? */
|
|
|
|
+ hostname_address:1, /* Peer understands DNS addresses? */
|
|
|
|
+ asconf_capable:1, /* Does peer support ADDIP? */
|
|
|
|
+ prsctp_capable:1, /* Can peer do PR-SCTP? */
|
|
|
|
+ auth_capable:1; /* Is peer doing SCTP-AUTH? */
|
|
|
|
+
|
|
/* Ack State : This flag indicates if the next received
|
|
/* Ack State : This flag indicates if the next received
|
|
* : packet is to be responded to with a
|
|
* : packet is to be responded to with a
|
|
* : SACK. This is initializedto 0. When a packet
|
|
* : SACK. This is initializedto 0. When a packet
|
|
@@ -1479,25 +1493,11 @@ struct sctp_association {
|
|
__u32 sack_cnt;
|
|
__u32 sack_cnt;
|
|
__u32 sack_generation;
|
|
__u32 sack_generation;
|
|
|
|
|
|
- /* These are capabilities which our peer advertised. */
|
|
|
|
- __u8 ecn_capable:1, /* Can peer do ECN? */
|
|
|
|
- ipv4_address:1, /* Peer understands IPv4 addresses? */
|
|
|
|
- ipv6_address:1, /* Peer understands IPv6 addresses? */
|
|
|
|
- hostname_address:1, /* Peer understands DNS addresses? */
|
|
|
|
- asconf_capable:1, /* Does peer support ADDIP? */
|
|
|
|
- prsctp_capable:1, /* Can peer do PR-SCTP? */
|
|
|
|
- auth_capable:1; /* Is peer doing SCTP-AUTH? */
|
|
|
|
-
|
|
|
|
__u32 adaptation_ind; /* Adaptation Code point. */
|
|
__u32 adaptation_ind; /* Adaptation Code point. */
|
|
|
|
|
|
- /* This mask is used to disable sending the ASCONF chunk
|
|
|
|
- * with specified parameter to peer.
|
|
|
|
- */
|
|
|
|
- __be16 addip_disabled_mask;
|
|
|
|
-
|
|
|
|
struct sctp_inithdr_host i;
|
|
struct sctp_inithdr_host i;
|
|
- int cookie_len;
|
|
|
|
void *cookie;
|
|
void *cookie;
|
|
|
|
+ int cookie_len;
|
|
|
|
|
|
/* ADDIP Section 4.2 Upon reception of an ASCONF Chunk.
|
|
/* ADDIP Section 4.2 Upon reception of an ASCONF Chunk.
|
|
* C1) ... "Peer-Serial-Number'. This value MUST be initialized to the
|
|
* C1) ... "Peer-Serial-Number'. This value MUST be initialized to the
|
|
@@ -1529,14 +1529,14 @@ struct sctp_association {
|
|
*/
|
|
*/
|
|
sctp_state_t state;
|
|
sctp_state_t state;
|
|
|
|
|
|
- /* The cookie life I award for any cookie. */
|
|
|
|
- ktime_t cookie_life;
|
|
|
|
-
|
|
|
|
/* Overall : The overall association error count.
|
|
/* Overall : The overall association error count.
|
|
* Error Count : [Clear this any time I get something.]
|
|
* Error Count : [Clear this any time I get something.]
|
|
*/
|
|
*/
|
|
int overall_error_count;
|
|
int overall_error_count;
|
|
|
|
|
|
|
|
+ /* The cookie life I award for any cookie. */
|
|
|
|
+ ktime_t cookie_life;
|
|
|
|
+
|
|
/* These are the association's initial, max, and min RTO values.
|
|
/* These are the association's initial, max, and min RTO values.
|
|
* These values will be initialized by system defaults, but can
|
|
* These values will be initialized by system defaults, but can
|
|
* be modified via the SCTP_RTOINFO socket option.
|
|
* be modified via the SCTP_RTOINFO socket option.
|
|
@@ -1591,10 +1591,9 @@ struct sctp_association {
|
|
/* Flags controlling Heartbeat, SACK delay, and Path MTU Discovery. */
|
|
/* Flags controlling Heartbeat, SACK delay, and Path MTU Discovery. */
|
|
__u32 param_flags;
|
|
__u32 param_flags;
|
|
|
|
|
|
|
|
+ __u32 sackfreq;
|
|
/* SACK delay timeout */
|
|
/* SACK delay timeout */
|
|
unsigned long sackdelay;
|
|
unsigned long sackdelay;
|
|
- __u32 sackfreq;
|
|
|
|
-
|
|
|
|
|
|
|
|
unsigned long timeouts[SCTP_NUM_TIMEOUT_TYPES];
|
|
unsigned long timeouts[SCTP_NUM_TIMEOUT_TYPES];
|
|
struct timer_list timers[SCTP_NUM_TIMEOUT_TYPES];
|
|
struct timer_list timers[SCTP_NUM_TIMEOUT_TYPES];
|
|
@@ -1602,12 +1601,12 @@ struct sctp_association {
|
|
/* Transport to which SHUTDOWN chunk was last sent. */
|
|
/* Transport to which SHUTDOWN chunk was last sent. */
|
|
struct sctp_transport *shutdown_last_sent_to;
|
|
struct sctp_transport *shutdown_last_sent_to;
|
|
|
|
|
|
- /* How many times have we resent a SHUTDOWN */
|
|
|
|
- int shutdown_retries;
|
|
|
|
-
|
|
|
|
/* Transport to which INIT chunk was last sent. */
|
|
/* Transport to which INIT chunk was last sent. */
|
|
struct sctp_transport *init_last_sent_to;
|
|
struct sctp_transport *init_last_sent_to;
|
|
|
|
|
|
|
|
+ /* How many times have we resent a SHUTDOWN */
|
|
|
|
+ int shutdown_retries;
|
|
|
|
+
|
|
/* Next TSN : The next TSN number to be assigned to a new
|
|
/* Next TSN : The next TSN number to be assigned to a new
|
|
* : DATA chunk. This is sent in the INIT or INIT
|
|
* : DATA chunk. This is sent in the INIT or INIT
|
|
* : ACK chunk to the peer and incremented each
|
|
* : ACK chunk to the peer and incremented each
|
|
@@ -1818,8 +1817,8 @@ struct sctp_association {
|
|
* after reaching 4294967295.
|
|
* after reaching 4294967295.
|
|
*/
|
|
*/
|
|
__u32 addip_serial;
|
|
__u32 addip_serial;
|
|
- union sctp_addr *asconf_addr_del_pending;
|
|
|
|
int src_out_of_asoc_ok;
|
|
int src_out_of_asoc_ok;
|
|
|
|
+ union sctp_addr *asconf_addr_del_pending;
|
|
struct sctp_transport *new_transport;
|
|
struct sctp_transport *new_transport;
|
|
|
|
|
|
/* SCTP AUTH: list of the endpoint shared keys. These
|
|
/* SCTP AUTH: list of the endpoint shared keys. These
|