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.h17
1 files changed, 14 insertions, 3 deletions
diff --git a/include/net/sctp/structs.h b/include/net/sctp/structs.h
index e11151702bee..fbc27ac8a09e 100644
--- a/include/net/sctp/structs.h
+++ b/include/net/sctp/structs.h
@@ -549,7 +549,8 @@ struct sctp_af {
549 struct dst_entry *(*get_dst) (struct sctp_association *asoc, 549 struct dst_entry *(*get_dst) (struct sctp_association *asoc,
550 union sctp_addr *daddr, 550 union sctp_addr *daddr,
551 union sctp_addr *saddr); 551 union sctp_addr *saddr);
552 void (*get_saddr) (struct sctp_association *asoc, 552 void (*get_saddr) (struct sctp_sock *sk,
553 struct sctp_association *asoc,
553 struct dst_entry *dst, 554 struct dst_entry *dst,
554 union sctp_addr *daddr, 555 union sctp_addr *daddr,
555 union sctp_addr *saddr); 556 union sctp_addr *saddr);
@@ -588,6 +589,7 @@ struct sctp_af {
588 int (*is_ce) (const struct sk_buff *sk); 589 int (*is_ce) (const struct sk_buff *sk);
589 void (*seq_dump_addr)(struct seq_file *seq, 590 void (*seq_dump_addr)(struct seq_file *seq,
590 union sctp_addr *addr); 591 union sctp_addr *addr);
592 void (*ecn_capable)(struct sock *sk);
591 __u16 net_header_len; 593 __u16 net_header_len;
592 int sockaddr_len; 594 int sockaddr_len;
593 sa_family_t sa_family; 595 sa_family_t sa_family;
@@ -902,7 +904,10 @@ struct sctp_transport {
902 * calculation completes (i.e. the DATA chunk 904 * calculation completes (i.e. the DATA chunk
903 * is SACK'd) clear this flag. 905 * is SACK'd) clear this flag.
904 */ 906 */
905 int rto_pending; 907 __u8 rto_pending;
908
909 /* Flag to track the current fast recovery state */
910 __u8 fast_recovery;
906 911
907 /* 912 /*
908 * These are the congestion stats. 913 * These are the congestion stats.
@@ -921,6 +926,9 @@ struct sctp_transport {
921 /* Data that has been sent, but not acknowledged. */ 926 /* Data that has been sent, but not acknowledged. */
922 __u32 flight_size; 927 __u32 flight_size;
923 928
929 /* TSN marking the fast recovery exit point */
930 __u32 fast_recovery_exit;
931
924 /* Destination */ 932 /* Destination */
925 struct dst_entry *dst; 933 struct dst_entry *dst;
926 /* Source address. */ 934 /* Source address. */
@@ -1046,7 +1054,7 @@ void sctp_transport_route(struct sctp_transport *, union sctp_addr *,
1046 struct sctp_sock *); 1054 struct sctp_sock *);
1047void sctp_transport_pmtu(struct sctp_transport *); 1055void sctp_transport_pmtu(struct sctp_transport *);
1048void sctp_transport_free(struct sctp_transport *); 1056void sctp_transport_free(struct sctp_transport *);
1049void sctp_transport_reset_timers(struct sctp_transport *); 1057void sctp_transport_reset_timers(struct sctp_transport *, int);
1050void sctp_transport_hold(struct sctp_transport *); 1058void sctp_transport_hold(struct sctp_transport *);
1051void sctp_transport_put(struct sctp_transport *); 1059void sctp_transport_put(struct sctp_transport *);
1052void sctp_transport_update_rto(struct sctp_transport *, __u32); 1060void sctp_transport_update_rto(struct sctp_transport *, __u32);
@@ -1136,6 +1144,9 @@ struct sctp_outq {
1136 /* How many unackd bytes do we have in-flight? */ 1144 /* How many unackd bytes do we have in-flight? */
1137 __u32 outstanding_bytes; 1145 __u32 outstanding_bytes;
1138 1146
1147 /* Are we doing fast-rtx on this queue */
1148 char fast_rtx;
1149
1139 /* Corked? */ 1150 /* Corked? */
1140 char cork; 1151 char cork;
1141 1152