diff options
-rw-r--r-- | include/net/sctp/structs.h | 59 |
1 files changed, 29 insertions, 30 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index e416d6ac9c70..e8b2ff5c2804 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
@@ -1360,12 +1360,6 @@ struct sctp_association { | |||
1360 | 1360 | ||
1361 | /* This is all information about our peer. */ | 1361 | /* This is all information about our peer. */ |
1362 | struct { | 1362 | struct { |
1363 | /* rwnd | ||
1364 | * | ||
1365 | * Peer Rwnd : Current calculated value of the peer's rwnd. | ||
1366 | */ | ||
1367 | __u32 rwnd; | ||
1368 | |||
1369 | /* transport_addr_list | 1363 | /* transport_addr_list |
1370 | * | 1364 | * |
1371 | * Peer : A list of SCTP transport addresses that the | 1365 | * Peer : A list of SCTP transport addresses that the |
@@ -1383,6 +1377,12 @@ struct sctp_association { | |||
1383 | */ | 1377 | */ |
1384 | struct list_head transport_addr_list; | 1378 | struct list_head transport_addr_list; |
1385 | 1379 | ||
1380 | /* rwnd | ||
1381 | * | ||
1382 | * Peer Rwnd : Current calculated value of the peer's rwnd. | ||
1383 | */ | ||
1384 | __u32 rwnd; | ||
1385 | |||
1386 | /* transport_count | 1386 | /* transport_count |
1387 | * | 1387 | * |
1388 | * Peer : A count of the number of peer addresses | 1388 | * Peer : A count of the number of peer addresses |
@@ -1465,6 +1465,20 @@ struct sctp_association { | |||
1465 | */ | 1465 | */ |
1466 | struct sctp_tsnmap tsn_map; | 1466 | struct sctp_tsnmap tsn_map; |
1467 | 1467 | ||
1468 | /* This mask is used to disable sending the ASCONF chunk | ||
1469 | * with specified parameter to peer. | ||
1470 | */ | ||
1471 | __be16 addip_disabled_mask; | ||
1472 | |||
1473 | /* These are capabilities which our peer advertised. */ | ||
1474 | __u8 ecn_capable:1, /* Can peer do ECN? */ | ||
1475 | ipv4_address:1, /* Peer understands IPv4 addresses? */ | ||
1476 | ipv6_address:1, /* Peer understands IPv6 addresses? */ | ||
1477 | hostname_address:1, /* Peer understands DNS addresses? */ | ||
1478 | asconf_capable:1, /* Does peer support ADDIP? */ | ||
1479 | prsctp_capable:1, /* Can peer do PR-SCTP? */ | ||
1480 | auth_capable:1; /* Is peer doing SCTP-AUTH? */ | ||
1481 | |||
1468 | /* Ack State : This flag indicates if the next received | 1482 | /* Ack State : This flag indicates if the next received |
1469 | * : packet is to be responded to with a | 1483 | * : packet is to be responded to with a |
1470 | * : SACK. This is initializedto 0. When a packet | 1484 | * : SACK. This is initializedto 0. When a packet |
@@ -1479,25 +1493,11 @@ struct sctp_association { | |||
1479 | __u32 sack_cnt; | 1493 | __u32 sack_cnt; |
1480 | __u32 sack_generation; | 1494 | __u32 sack_generation; |
1481 | 1495 | ||
1482 | /* These are capabilities which our peer advertised. */ | ||
1483 | __u8 ecn_capable:1, /* Can peer do ECN? */ | ||
1484 | ipv4_address:1, /* Peer understands IPv4 addresses? */ | ||
1485 | ipv6_address:1, /* Peer understands IPv6 addresses? */ | ||
1486 | hostname_address:1, /* Peer understands DNS addresses? */ | ||
1487 | asconf_capable:1, /* Does peer support ADDIP? */ | ||
1488 | prsctp_capable:1, /* Can peer do PR-SCTP? */ | ||
1489 | auth_capable:1; /* Is peer doing SCTP-AUTH? */ | ||
1490 | |||
1491 | __u32 adaptation_ind; /* Adaptation Code point. */ | 1496 | __u32 adaptation_ind; /* Adaptation Code point. */ |
1492 | 1497 | ||
1493 | /* This mask is used to disable sending the ASCONF chunk | ||
1494 | * with specified parameter to peer. | ||
1495 | */ | ||
1496 | __be16 addip_disabled_mask; | ||
1497 | |||
1498 | struct sctp_inithdr_host i; | 1498 | struct sctp_inithdr_host i; |
1499 | int cookie_len; | ||
1500 | void *cookie; | 1499 | void *cookie; |
1500 | int cookie_len; | ||
1501 | 1501 | ||
1502 | /* ADDIP Section 4.2 Upon reception of an ASCONF Chunk. | 1502 | /* ADDIP Section 4.2 Upon reception of an ASCONF Chunk. |
1503 | * C1) ... "Peer-Serial-Number'. This value MUST be initialized to the | 1503 | * C1) ... "Peer-Serial-Number'. This value MUST be initialized to the |
@@ -1529,14 +1529,14 @@ struct sctp_association { | |||
1529 | */ | 1529 | */ |
1530 | sctp_state_t state; | 1530 | sctp_state_t state; |
1531 | 1531 | ||
1532 | /* The cookie life I award for any cookie. */ | ||
1533 | ktime_t cookie_life; | ||
1534 | |||
1535 | /* Overall : The overall association error count. | 1532 | /* Overall : The overall association error count. |
1536 | * Error Count : [Clear this any time I get something.] | 1533 | * Error Count : [Clear this any time I get something.] |
1537 | */ | 1534 | */ |
1538 | int overall_error_count; | 1535 | int overall_error_count; |
1539 | 1536 | ||
1537 | /* The cookie life I award for any cookie. */ | ||
1538 | ktime_t cookie_life; | ||
1539 | |||
1540 | /* These are the association's initial, max, and min RTO values. | 1540 | /* These are the association's initial, max, and min RTO values. |
1541 | * These values will be initialized by system defaults, but can | 1541 | * These values will be initialized by system defaults, but can |
1542 | * be modified via the SCTP_RTOINFO socket option. | 1542 | * be modified via the SCTP_RTOINFO socket option. |
@@ -1591,10 +1591,9 @@ struct sctp_association { | |||
1591 | /* Flags controlling Heartbeat, SACK delay, and Path MTU Discovery. */ | 1591 | /* Flags controlling Heartbeat, SACK delay, and Path MTU Discovery. */ |
1592 | __u32 param_flags; | 1592 | __u32 param_flags; |
1593 | 1593 | ||
1594 | __u32 sackfreq; | ||
1594 | /* SACK delay timeout */ | 1595 | /* SACK delay timeout */ |
1595 | unsigned long sackdelay; | 1596 | unsigned long sackdelay; |
1596 | __u32 sackfreq; | ||
1597 | |||
1598 | 1597 | ||
1599 | unsigned long timeouts[SCTP_NUM_TIMEOUT_TYPES]; | 1598 | unsigned long timeouts[SCTP_NUM_TIMEOUT_TYPES]; |
1600 | struct timer_list timers[SCTP_NUM_TIMEOUT_TYPES]; | 1599 | struct timer_list timers[SCTP_NUM_TIMEOUT_TYPES]; |
@@ -1602,12 +1601,12 @@ struct sctp_association { | |||
1602 | /* Transport to which SHUTDOWN chunk was last sent. */ | 1601 | /* Transport to which SHUTDOWN chunk was last sent. */ |
1603 | struct sctp_transport *shutdown_last_sent_to; | 1602 | struct sctp_transport *shutdown_last_sent_to; |
1604 | 1603 | ||
1605 | /* How many times have we resent a SHUTDOWN */ | ||
1606 | int shutdown_retries; | ||
1607 | |||
1608 | /* Transport to which INIT chunk was last sent. */ | 1604 | /* Transport to which INIT chunk was last sent. */ |
1609 | struct sctp_transport *init_last_sent_to; | 1605 | struct sctp_transport *init_last_sent_to; |
1610 | 1606 | ||
1607 | /* How many times have we resent a SHUTDOWN */ | ||
1608 | int shutdown_retries; | ||
1609 | |||
1611 | /* Next TSN : The next TSN number to be assigned to a new | 1610 | /* Next TSN : The next TSN number to be assigned to a new |
1612 | * : DATA chunk. This is sent in the INIT or INIT | 1611 | * : DATA chunk. This is sent in the INIT or INIT |
1613 | * : ACK chunk to the peer and incremented each | 1612 | * : ACK chunk to the peer and incremented each |
@@ -1818,8 +1817,8 @@ struct sctp_association { | |||
1818 | * after reaching 4294967295. | 1817 | * after reaching 4294967295. |
1819 | */ | 1818 | */ |
1820 | __u32 addip_serial; | 1819 | __u32 addip_serial; |
1821 | union sctp_addr *asconf_addr_del_pending; | ||
1822 | int src_out_of_asoc_ok; | 1820 | int src_out_of_asoc_ok; |
1821 | union sctp_addr *asconf_addr_del_pending; | ||
1823 | struct sctp_transport *new_transport; | 1822 | struct sctp_transport *new_transport; |
1824 | 1823 | ||
1825 | /* SCTP AUTH: list of the endpoint shared keys. These | 1824 | /* SCTP AUTH: list of the endpoint shared keys. These |