summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_header.h
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2011-01-29 19:55:29 +0000
committerrrs <rrs@FreeBSD.org>2011-01-29 19:55:29 +0000
commit181e76925b50ce041a6d66c7cd4ae9ab59f899fe (patch)
tree884eed6be8a57a18544af44bfa09d9cf42de648d /sys/netinet/sctp_header.h
parent48530618fa80ecf1ff9a984c3bcc14a07bb41986 (diff)
downloadFreeBSD-src-181e76925b50ce041a6d66c7cd4ae9ab59f899fe.zip
FreeBSD-src-181e76925b50ce041a6d66c7cd4ae9ab59f899fe.tar.gz
Fixes to ECN in SCTP.
1) ECN was on an association basis, this is incorrect and will not work with CMT or for that matter if the user is sending to multiple addresses. This commit makes ECN on a per path basis. 2) Adopt the new format for the ECN internet draft. This also maintains compatability with old format chunks as well. 3) Keep track of the real time of a RTT down to micro seconds. For some future conditional features (for like a data center this is good information to have). MFC after: 1 month
Diffstat (limited to 'sys/netinet/sctp_header.h')
-rw-r--r--sys/netinet/sctp_header.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/sys/netinet/sctp_header.h b/sys/netinet/sctp_header.h
index 7fc3e56..2e94fb7 100644
--- a/sys/netinet/sctp_header.h
+++ b/sys/netinet/sctp_header.h
@@ -360,9 +360,15 @@ struct sctp_cookie_ack_chunk {
} SCTP_PACKED;
/* Explicit Congestion Notification Echo (ECNE) */
+struct old_sctp_ecne_chunk {
+ struct sctp_chunkhdr ch;
+ uint32_t tsn;
+} SCTP_PACKED;
+
struct sctp_ecne_chunk {
struct sctp_chunkhdr ch;
uint32_t tsn;
+ uint32_t num_pkts_since_cwr;
} SCTP_PACKED;
/* Congestion Window Reduced (CWR) */
OpenPOWER on IntegriCloud