aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sctp/structs.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/sctp/structs.h')
-rw-r--r--include/net/sctp/structs.h21
1 files changed, 12 insertions, 9 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index 6e5f0e0c7967..ff3017744711 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -231,6 +231,11 @@ extern struct sctp_globals {
231 /* Flag to indicate whether computing and verifying checksum 231 /* Flag to indicate whether computing and verifying checksum
232 * is disabled. */ 232 * is disabled. */
233 int checksum_disable; 233 int checksum_disable;
234
235 /* Threshold for rwnd update SACKS. Receive buffer shifted this many
236 * bits is an indicator of when to send and window update SACK.
237 */
238 int rwnd_update_shift;
234} sctp_globals; 239} sctp_globals;
235 240
236#define sctp_rto_initial (sctp_globals.rto_initial) 241#define sctp_rto_initial (sctp_globals.rto_initial)
@@ -267,6 +272,7 @@ extern struct sctp_globals {
267#define sctp_prsctp_enable (sctp_globals.prsctp_enable) 272#define sctp_prsctp_enable (sctp_globals.prsctp_enable)
268#define sctp_auth_enable (sctp_globals.auth_enable) 273#define sctp_auth_enable (sctp_globals.auth_enable)
269#define sctp_checksum_disable (sctp_globals.checksum_disable) 274#define sctp_checksum_disable (sctp_globals.checksum_disable)
275#define sctp_rwnd_upd_shift (sctp_globals.rwnd_update_shift)
270 276
271/* SCTP Socket type: UDP or TCP style. */ 277/* SCTP Socket type: UDP or TCP style. */
272typedef enum { 278typedef enum {
@@ -893,7 +899,6 @@ struct sctp_transport {
893 */ 899 */
894 /* RTO : The current retransmission timeout value. */ 900 /* RTO : The current retransmission timeout value. */
895 unsigned long rto; 901 unsigned long rto;
896 unsigned long last_rto;
897 902
898 __u32 rtt; /* This is the most recent RTT. */ 903 __u32 rtt; /* This is the most recent RTT. */
899 904
@@ -936,6 +941,8 @@ struct sctp_transport {
936 /* Data that has been sent, but not acknowledged. */ 941 /* Data that has been sent, but not acknowledged. */
937 __u32 flight_size; 942 __u32 flight_size;
938 943
944 __u32 burst_limited; /* Holds old cwnd when max.burst is applied */
945
939 /* TSN marking the fast recovery exit point */ 946 /* TSN marking the fast recovery exit point */
940 __u32 fast_recovery_exit; 947 __u32 fast_recovery_exit;
941 948
@@ -944,12 +951,6 @@ struct sctp_transport {
944 /* Source address. */ 951 /* Source address. */
945 union sctp_addr saddr; 952 union sctp_addr saddr;
946 953
947 /* When was the last time(in jiffies) that a data packet was sent on
948 * this transport? This is used to adjust the cwnd when the transport
949 * becomes inactive.
950 */
951 unsigned long last_time_used;
952
953 /* Heartbeat interval: The endpoint sends out a Heartbeat chunk to 954 /* Heartbeat interval: The endpoint sends out a Heartbeat chunk to
954 * the destination address every heartbeat interval. 955 * the destination address every heartbeat interval.
955 */ 956 */
@@ -988,7 +989,7 @@ struct sctp_transport {
988 int init_sent_count; 989 int init_sent_count;
989 990
990 /* state : The current state of this destination, 991 /* state : The current state of this destination,
991 * : i.e. SCTP_ACTIVE, SCTP_INACTIVE, SCTP_UNKOWN. 992 * : i.e. SCTP_ACTIVE, SCTP_INACTIVE, SCTP_UNKNOWN.
992 */ 993 */
993 int state; 994 int state;
994 995
@@ -1070,6 +1071,8 @@ void sctp_transport_put(struct sctp_transport *);
1070void sctp_transport_update_rto(struct sctp_transport *, __u32); 1071void sctp_transport_update_rto(struct sctp_transport *, __u32);
1071void sctp_transport_raise_cwnd(struct sctp_transport *, __u32, __u32); 1072void sctp_transport_raise_cwnd(struct sctp_transport *, __u32, __u32);
1072void sctp_transport_lower_cwnd(struct sctp_transport *, sctp_lower_cwnd_t); 1073void sctp_transport_lower_cwnd(struct sctp_transport *, sctp_lower_cwnd_t);
1074void sctp_transport_burst_limited(struct sctp_transport *);
1075void sctp_transport_burst_reset(struct sctp_transport *);
1073unsigned long sctp_transport_timeout(struct sctp_transport *); 1076unsigned long sctp_transport_timeout(struct sctp_transport *);
1074void sctp_transport_reset(struct sctp_transport *); 1077void sctp_transport_reset(struct sctp_transport *);
1075void sctp_transport_update_pmtu(struct sctp_transport *, u32); 1078void sctp_transport_update_pmtu(struct sctp_transport *, u32);
@@ -1980,7 +1983,7 @@ void sctp_assoc_set_primary(struct sctp_association *,
1980void sctp_assoc_del_nonprimary_peers(struct sctp_association *, 1983void sctp_assoc_del_nonprimary_peers(struct sctp_association *,
1981 struct sctp_transport *); 1984 struct sctp_transport *);
1982int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *, 1985int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *,
1983 gfp_t); 1986 sctp_scope_t, gfp_t);
1984int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *, 1987int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *,
1985 struct sctp_cookie*, 1988 struct sctp_cookie*,
1986 gfp_t gfp); 1989 gfp_t gfp);