summaryrefslogtreecommitdiffstats
path: root/sys/netinet/sctp_output.c
diff options
context:
space:
mode:
authorrrs <rrs@FreeBSD.org>2007-09-13 14:43:54 +0000
committerrrs <rrs@FreeBSD.org>2007-09-13 14:43:54 +0000
commit6368c8b6996760fbbbf5a02a3334bbf98d9d074f (patch)
tree1bf870312924584217762bb4c4c0f3cd5ec65aab /sys/netinet/sctp_output.c
parent73fcd49c8635599cba72011c539ea9f781c1da23 (diff)
downloadFreeBSD-src-6368c8b6996760fbbbf5a02a3334bbf98d9d074f.zip
FreeBSD-src-6368c8b6996760fbbbf5a02a3334bbf98d9d074f.tar.gz
- DF bit was on for COOKIE-ECHO chunks. This is
incorrect and should be OFF letting IP fragment large cookie-echos. - Rename sysctl variable logging to log_level. - Fix description of sysctl variable stats. - Add sysctl variable log to make sctp_log readable via sysctl mechanism (this is by compile switch and targets non KTR platforms or when someone wants to do performance wise tracing). - Removed debug code Approved by: re@freebsd.org (B Mah)
Diffstat (limited to 'sys/netinet/sctp_output.c')
-rw-r--r--sys/netinet/sctp_output.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/sys/netinet/sctp_output.c b/sys/netinet/sctp_output.c
index cd51333..6deffd1 100644
--- a/sys/netinet/sctp_output.c
+++ b/sys/netinet/sctp_output.c
@@ -7852,7 +7852,7 @@ sctp_send_cookie_echo(struct mbuf *m,
chk->rec.chunk_id.can_take_data = 0;
chk->sent = SCTP_DATAGRAM_UNSENT;
chk->snd_count = 0;
- chk->flags = 0;
+ chk->flags = CHUNK_FLAGS_FRAGMENT_OK;
chk->asoc = &stcb->asoc;
chk->data = cookie;
chk->whoTo = chk->asoc->primary_destination;
@@ -11979,6 +11979,15 @@ sctp_lower_sosend(struct socket *so,
/* We send in a 0, since we do NOT have any locks */
error = sctp_msg_append(stcb, net, top, srcv, 0);
top = NULL;
+ if (srcv->sinfo_flags & SCTP_EOF) {
+ /*
+ * This should only happen for Panda for the mbuf
+ * send case, which does NOT yet support EEOR mode.
+ * Thus, we can just set this flag to do the proper
+ * EOF handling.
+ */
+ got_all_of_the_send = 1;
+ }
}
if (error) {
goto out;
OpenPOWER on IntegriCloud