diff options
Diffstat (limited to 'include/net/sctp/structs.h')
-rw-r--r-- | include/net/sctp/structs.h | 17 |
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 *); |
1047 | void sctp_transport_pmtu(struct sctp_transport *); | 1055 | void sctp_transport_pmtu(struct sctp_transport *); |
1048 | void sctp_transport_free(struct sctp_transport *); | 1056 | void sctp_transport_free(struct sctp_transport *); |
1049 | void sctp_transport_reset_timers(struct sctp_transport *); | 1057 | void sctp_transport_reset_timers(struct sctp_transport *, int); |
1050 | void sctp_transport_hold(struct sctp_transport *); | 1058 | void sctp_transport_hold(struct sctp_transport *); |
1051 | void sctp_transport_put(struct sctp_transport *); | 1059 | void sctp_transport_put(struct sctp_transport *); |
1052 | void sctp_transport_update_rto(struct sctp_transport *, __u32); | 1060 | void 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 | ||