summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp.h
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2007-12-04 14:41:48 +0000
committerrrs <rrs@FreeBSD.org>2007-12-04 14:41:48 +0000
commitf08a32ba977f8e5d918b36b60dfa44c4689e5c70 (patch)
tree73a7f50c36c6c2f08aa3230750a203cea99ecaf3 /sys/netinet/sctp.h
parent6e65a1fee22566af28f40ffefd1c75abbae2db8c (diff)
downloadFreeBSD-src-f08a32ba977f8e5d918b36b60dfa44c4689e5c70.zip
FreeBSD-src-f08a32ba977f8e5d918b36b60dfa44c4689e5c70.tar.gz
- Found a problem in non-blocking sends. When
sending, once the locks are all unlocked to do the copy's in, its possible that other events could then raise the number of bytes outstanding pushing it so not all the message would fit. This would then cause us to send only part of the message. This fix makes it so we keep a "reserved" amount that can be kept in mind when making calculations to send. - rcv msg args with a NULL/NULL for to/tolen will return an error incorrectly for the 1-2-1 model. - We were not doing 0 len return correctly and not setting cantrcv more correctly. Previouly we "fixed" this area by taking out the socantrcv since we then could not get the data out. The correct rix is to still flag the socket but alow a by-pass route to continue to read until all data is consumed. MFC after: 1 week
Diffstat (limited to 'sys/netinet/sctp.h')
-rw-r--r--sys/netinet/sctp.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/sys/netinet/sctp.h b/sys/netinet/sctp.h
index c302606..ad5e84c 100644
--- a/sys/netinet/sctp.h
+++ b/sys/netinet/sctp.h
@@ -519,20 +519,22 @@ __attribute__((packed));
#define SCTP_MBCNT_LOGGING_ENABLE 0x00000200
#define SCTP_MBUF_LOGGING_ENABLE 0x00000400
#define SCTP_NAGLE_LOGGING_ENABLE 0x00000800
-#define SCTP_RECV_RWND_LOGGING_ENABLE 0x00001000
+#define SCTP_RECV_RWND_LOGGING_ENABLE 0x00001000
#define SCTP_RTTVAR_LOGGING_ENABLE 0x00002000
#define SCTP_SACK_LOGGING_ENABLE 0x00004000
-#define SCTP_SACK_RWND_LOGGING_ENABLE 0x00008000
+#define SCTP_SACK_RWND_LOGGING_ENABLE 0x00008000
#define SCTP_SB_LOGGING_ENABLE 0x00010000
#define SCTP_STR_LOGGING_ENABLE 0x00020000
#define SCTP_WAKE_LOGGING_ENABLE 0x00040000
#define SCTP_LOG_MAXBURST_ENABLE 0x00080000
#define SCTP_LOG_RWND_ENABLE 0x00100000
-#define SCTP_LOG_SACK_ARRIVALS_ENABLE 0x00200000
-#define SCTP_LTRACE_CHUNK_ENABLE 0x00400000
-#define SCTP_LTRACE_ERROR_ENABLE 0x00800000
-#define SCTP_LAST_PACKET_TRACING 0x01000000
-#define SCTP_THRESHOLD_LOGGING 0x02000000
+#define SCTP_LOG_SACK_ARRIVALS_ENABLE 0x00200000
+#define SCTP_LTRACE_CHUNK_ENABLE 0x00400000
+#define SCTP_LTRACE_ERROR_ENABLE 0x00800000
+#define SCTP_LAST_PACKET_TRACING 0x01000000
+#define SCTP_THRESHOLD_LOGGING 0x02000000
+#define SCTP_LOG_AT_SEND_2_SCTP 0x04000000
+#define SCTP_LOG_AT_SEND_2_OUTQ 0x08000000
OpenPOWER on IntegriCloud