summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp.h
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2007-07-14 09:36:28 +0000
committerrrs <rrs@FreeBSD.org>2007-07-14 09:36:28 +0000
commit1e9af2c480a638933876e637c1f3b9f1b7bad3e9 (patch)
tree008308315d74a9df2eec618692844a82f1ace245 /sys/netinet/sctp.h
parent0948603d9eefb8b7f5898f99c8703b2e5b7f9647 (diff)
downloadFreeBSD-src-1e9af2c480a638933876e637c1f3b9f1b7bad3e9.zip
FreeBSD-src-1e9af2c480a638933876e637c1f3b9f1b7bad3e9.tar.gz
- Modular congestion control, with RFC2581 being the default.
- CMT_PF states added (w/sysctl to turn the PF version on) - sctp_input.c had a missing incr of cookie case when the auth was bad. This meant a free was called without an increment to refcnt, added increment like rest of code. - There was a case, unlikely, when the scope of the destination changed (this is a TSNH case). In that case, it would not free the alloc'ed asoc (in sctp_input.c). - When listed addresses found a colliding cookie/Init, then the collided upon tcb was not unlocked in sctp_pcb.c - Add error checking on arguments of sctp_sendx(3) to prevent it from referencing a NULL pointer. - Fix an error return of sctp_sendx(3), it was returing ENOMEM not -1. - Get assoc id was changed to use the sanctified socket api method for getting a assoc id (PEER_ADDR_INFO instead of PEER_ADDR_PARAMS). - Fix it so a peeled off socket will get a proper error return if it trys to send to a different address then it is connected to. - Fix so that select_a_stream can avoid an endless loop that could hang a caller. - time_entered (state set time) was not being set in all cases to the time we went established. Approved by: re(ken smith)
Diffstat (limited to 'sys/netinet/sctp.h')
-rw-r--r--sys/netinet/sctp.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/netinet/sctp.h b/sys/netinet/sctp.h
index b367f19..642e227 100644
--- a/sys/netinet/sctp.h
+++ b/sys/netinet/sctp.h
@@ -153,6 +153,8 @@ __attribute__((packed));
/* CMT ON/OFF socket option */
#define SCTP_CMT_ON_OFF 0x00001200
#define SCTP_CMT_USE_DAC 0x00001201
+/* JRS - Pluggable Congestion Control Socket option */
+#define SCTP_PLUGGABLE_CC 0x00001202
/* read only */
#define SCTP_GET_SNDBUF_USE 0x00001101
@@ -238,6 +240,16 @@ __attribute__((packed));
/* Debug things that need to be purged */
#define SCTP_SET_INITIAL_DBG_SEQ 0x00009f00
+/* JRS - Supported congestion control modules for pluggable
+ * congestion control
+ */
+/* Standard TCP Congestion Control */
+#define SCTP_CC_RFC2581 0x00000000
+/* High Speed TCP Congestion Control (Floyd) */
+#define SCTP_CC_HSTCP 0x00000001
+/* HTCP Congestion Control */
+#define SCTP_CC_HTCP 0x00000002
+
/* fragment interleave constants
* setting must be one of these or
OpenPOWER on IntegriCloud