diff options
author | rrs <rrs@FreeBSD.org> | 2007-09-13 14:43:54 +0000 |
---|---|---|
committer | rrs <rrs@FreeBSD.org> | 2007-09-13 14:43:54 +0000 |
commit | 6368c8b6996760fbbbf5a02a3334bbf98d9d074f (patch) | |
tree | 1bf870312924584217762bb4c4c0f3cd5ec65aab /sys/netinet/sctp_output.c | |
parent | 73fcd49c8635599cba72011c539ea9f781c1da23 (diff) | |
download | FreeBSD-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.c | 11 |
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; |