diff options
Diffstat (limited to 'include/net/sctp')
-rw-r--r-- | include/net/sctp/sctp.h | 2 | ||||
-rw-r--r-- | include/net/sctp/structs.h | 4 | ||||
-rw-r--r-- | include/net/sctp/user.h | 34 |
3 files changed, 31 insertions, 9 deletions
diff --git a/include/net/sctp/sctp.h b/include/net/sctp/sctp.h index 90b1e8d23b16..5672d489e924 100644 --- a/include/net/sctp/sctp.h +++ b/include/net/sctp/sctp.h | |||
@@ -179,6 +179,8 @@ int sctp_eps_proc_init(void); | |||
179 | void sctp_eps_proc_exit(void); | 179 | void sctp_eps_proc_exit(void); |
180 | int sctp_assocs_proc_init(void); | 180 | int sctp_assocs_proc_init(void); |
181 | void sctp_assocs_proc_exit(void); | 181 | void sctp_assocs_proc_exit(void); |
182 | int sctp_remaddr_proc_init(void); | ||
183 | void sctp_remaddr_proc_exit(void); | ||
182 | 184 | ||
183 | 185 | ||
184 | /* | 186 | /* |
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h index 7f25195f9855..fbc27ac8a09e 100644 --- a/include/net/sctp/structs.h +++ b/include/net/sctp/structs.h | |||
@@ -300,6 +300,7 @@ struct sctp_sock { | |||
300 | 300 | ||
301 | /* The default SACK delay timeout for new associations. */ | 301 | /* The default SACK delay timeout for new associations. */ |
302 | __u32 sackdelay; | 302 | __u32 sackdelay; |
303 | __u32 sackfreq; | ||
303 | 304 | ||
304 | /* Flags controlling Heartbeat, SACK delay, and Path MTU Discovery. */ | 305 | /* Flags controlling Heartbeat, SACK delay, and Path MTU Discovery. */ |
305 | __u32 param_flags; | 306 | __u32 param_flags; |
@@ -946,6 +947,7 @@ struct sctp_transport { | |||
946 | 947 | ||
947 | /* SACK delay timeout */ | 948 | /* SACK delay timeout */ |
948 | unsigned long sackdelay; | 949 | unsigned long sackdelay; |
950 | __u32 sackfreq; | ||
949 | 951 | ||
950 | /* When was the last time (in jiffies) that we heard from this | 952 | /* When was the last time (in jiffies) that we heard from this |
951 | * transport? We use this to pick new active and retran paths. | 953 | * transport? We use this to pick new active and retran paths. |
@@ -1553,6 +1555,7 @@ struct sctp_association { | |||
1553 | * : SACK's are not delayed (see Section 6). | 1555 | * : SACK's are not delayed (see Section 6). |
1554 | */ | 1556 | */ |
1555 | __u8 sack_needed; /* Do we need to sack the peer? */ | 1557 | __u8 sack_needed; /* Do we need to sack the peer? */ |
1558 | __u32 sack_cnt; | ||
1556 | 1559 | ||
1557 | /* These are capabilities which our peer advertised. */ | 1560 | /* These are capabilities which our peer advertised. */ |
1558 | __u8 ecn_capable; /* Can peer do ECN? */ | 1561 | __u8 ecn_capable; /* Can peer do ECN? */ |
@@ -1662,6 +1665,7 @@ struct sctp_association { | |||
1662 | 1665 | ||
1663 | /* SACK delay timeout */ | 1666 | /* SACK delay timeout */ |
1664 | unsigned long sackdelay; | 1667 | unsigned long sackdelay; |
1668 | __u32 sackfreq; | ||
1665 | 1669 | ||
1666 | 1670 | ||
1667 | unsigned long timeouts[SCTP_NUM_TIMEOUT_TYPES]; | 1671 | unsigned long timeouts[SCTP_NUM_TIMEOUT_TYPES]; |
diff --git a/include/net/sctp/user.h b/include/net/sctp/user.h index 9619b9d35c9e..f205b10f0ab9 100644 --- a/include/net/sctp/user.h +++ b/include/net/sctp/user.h | |||
@@ -93,8 +93,9 @@ enum sctp_optname { | |||
93 | #define SCTP_STATUS SCTP_STATUS | 93 | #define SCTP_STATUS SCTP_STATUS |
94 | SCTP_GET_PEER_ADDR_INFO, | 94 | SCTP_GET_PEER_ADDR_INFO, |
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, |
97 | #define SCTP_DELAYED_ACK_TIME SCTP_DELAYED_ACK_TIME | 97 | #define SCTP_DELAYED_ACK_TIME SCTP_DELAYED_ACK |
98 | #define SCTP_DELAYED_ACK SCTP_DELAYED_ACK | ||
98 | SCTP_CONTEXT, /* Receive Context */ | 99 | SCTP_CONTEXT, /* Receive Context */ |
99 | #define SCTP_CONTEXT SCTP_CONTEXT | 100 | #define SCTP_CONTEXT SCTP_CONTEXT |
100 | SCTP_FRAGMENT_INTERLEAVE, | 101 | SCTP_FRAGMENT_INTERLEAVE, |
@@ -136,12 +137,14 @@ enum sctp_optname { | |||
136 | #define SCTP_GET_LOCAL_ADDRS_NUM_OLD SCTP_GET_LOCAL_ADDRS_NUM_OLD | 137 | #define SCTP_GET_LOCAL_ADDRS_NUM_OLD SCTP_GET_LOCAL_ADDRS_NUM_OLD |
137 | SCTP_GET_LOCAL_ADDRS_OLD, /* Get all local addresss. */ | 138 | SCTP_GET_LOCAL_ADDRS_OLD, /* Get all local addresss. */ |
138 | #define SCTP_GET_LOCAL_ADDRS_OLD SCTP_GET_LOCAL_ADDRS_OLD | 139 | #define SCTP_GET_LOCAL_ADDRS_OLD SCTP_GET_LOCAL_ADDRS_OLD |
139 | SCTP_SOCKOPT_CONNECTX, /* CONNECTX requests. */ | 140 | SCTP_SOCKOPT_CONNECTX_OLD, /* CONNECTX old requests. */ |
140 | #define SCTP_SOCKOPT_CONNECTX SCTP_SOCKOPT_CONNECTX | 141 | #define SCTP_SOCKOPT_CONNECTX_OLD SCTP_SOCKOPT_CONNECTX_OLD |
141 | SCTP_GET_PEER_ADDRS, /* Get all peer addresss. */ | 142 | SCTP_GET_PEER_ADDRS, /* Get all peer addresss. */ |
142 | #define SCTP_GET_PEER_ADDRS SCTP_GET_PEER_ADDRS | 143 | #define SCTP_GET_PEER_ADDRS SCTP_GET_PEER_ADDRS |
143 | SCTP_GET_LOCAL_ADDRS, /* Get all local addresss. */ | 144 | SCTP_GET_LOCAL_ADDRS, /* Get all local addresss. */ |
144 | #define SCTP_GET_LOCAL_ADDRS SCTP_GET_LOCAL_ADDRS | 145 | #define SCTP_GET_LOCAL_ADDRS SCTP_GET_LOCAL_ADDRS |
146 | SCTP_SOCKOPT_CONNECTX, /* CONNECTX requests. */ | ||
147 | #define SCTP_SOCKOPT_CONNECTX SCTP_SOCKOPT_CONNECTX | ||
145 | }; | 148 | }; |
146 | 149 | ||
147 | /* | 150 | /* |
@@ -618,13 +621,26 @@ struct sctp_authkeyid { | |||
618 | }; | 621 | }; |
619 | 622 | ||
620 | 623 | ||
621 | /* 7.1.23. Delayed Ack Timer (SCTP_DELAYED_ACK_TIME) | 624 | /* |
625 | * 7.1.23. Get or set delayed ack timer (SCTP_DELAYED_SACK) | ||
622 | * | 626 | * |
623 | * This options will get or set the delayed ack timer. The time is set | 627 | * This option will effect the way delayed acks are performed. This |
624 | * in milliseconds. If the assoc_id is 0, then this sets or gets the | 628 | * option allows you to get or set the delayed ack time, in |
625 | * endpoints default delayed ack timer value. If the assoc_id field is | 629 | * milliseconds. It also allows changing the delayed ack frequency. |
626 | * non-zero, then the set or get effects the specified association. | 630 | * Changing the frequency to 1 disables the delayed sack algorithm. If |
631 | * the assoc_id is 0, then this sets or gets the endpoints default | ||
632 | * values. If the assoc_id field is non-zero, then the set or get | ||
633 | * effects the specified association for the one to many model (the | ||
634 | * assoc_id field is ignored by the one to one model). Note that if | ||
635 | * sack_delay or sack_freq are 0 when setting this option, then the | ||
636 | * current values will remain unchanged. | ||
627 | */ | 637 | */ |
638 | struct sctp_sack_info { | ||
639 | sctp_assoc_t sack_assoc_id; | ||
640 | uint32_t sack_delay; | ||
641 | uint32_t sack_freq; | ||
642 | }; | ||
643 | |||
628 | struct sctp_assoc_value { | 644 | struct sctp_assoc_value { |
629 | sctp_assoc_t assoc_id; | 645 | sctp_assoc_t assoc_id; |
630 | uint32_t assoc_value; | 646 | uint32_t assoc_value; |