diff options
Diffstat (limited to 'include/net/sctp/structs.h')
-rw-r--r-- | include/net/sctp/structs.h | 21 |
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. */ |
272 | typedef enum { | 278 | typedef 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 *); | |||
1070 | void sctp_transport_update_rto(struct sctp_transport *, __u32); | 1071 | void sctp_transport_update_rto(struct sctp_transport *, __u32); |
1071 | void sctp_transport_raise_cwnd(struct sctp_transport *, __u32, __u32); | 1072 | void sctp_transport_raise_cwnd(struct sctp_transport *, __u32, __u32); |
1072 | void sctp_transport_lower_cwnd(struct sctp_transport *, sctp_lower_cwnd_t); | 1073 | void sctp_transport_lower_cwnd(struct sctp_transport *, sctp_lower_cwnd_t); |
1074 | void sctp_transport_burst_limited(struct sctp_transport *); | ||
1075 | void sctp_transport_burst_reset(struct sctp_transport *); | ||
1073 | unsigned long sctp_transport_timeout(struct sctp_transport *); | 1076 | unsigned long sctp_transport_timeout(struct sctp_transport *); |
1074 | void sctp_transport_reset(struct sctp_transport *); | 1077 | void sctp_transport_reset(struct sctp_transport *); |
1075 | void sctp_transport_update_pmtu(struct sctp_transport *, u32); | 1078 | void sctp_transport_update_pmtu(struct sctp_transport *, u32); |
@@ -1980,7 +1983,7 @@ void sctp_assoc_set_primary(struct sctp_association *, | |||
1980 | void sctp_assoc_del_nonprimary_peers(struct sctp_association *, | 1983 | void sctp_assoc_del_nonprimary_peers(struct sctp_association *, |
1981 | struct sctp_transport *); | 1984 | struct sctp_transport *); |
1982 | int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *, | 1985 | int sctp_assoc_set_bind_addr_from_ep(struct sctp_association *, |
1983 | gfp_t); | 1986 | sctp_scope_t, gfp_t); |
1984 | int sctp_assoc_set_bind_addr_from_cookie(struct sctp_association *, | 1987 | int 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); |