svn commit: r228391 - head/sys/netinet

Michael Tuexen tuexen at FreeBSD.org
Sat Dec 10 10:52:54 UTC 2011


Author: tuexen
Date: Sat Dec 10 10:52:54 2011
New Revision: 228391
URL: http://svn.freebsd.org/changeset/base/228391

Log:
  Fix a bug reported by Irene Ruengeler which resulted in not sending
  out HEARTBEATs when requested by the user. The HEARTBEATs were only
  queued, but not actually sent out.
  
  MFC after: 2 months.

Modified:
  head/sys/netinet/sctp_constants.h
  head/sys/netinet/sctp_usrreq.c

Modified: head/sys/netinet/sctp_constants.h
==============================================================================
--- head/sys/netinet/sctp_constants.h	Sat Dec 10 09:34:39 2011	(r228390)
+++ head/sys/netinet/sctp_constants.h	Sat Dec 10 10:52:54 2011	(r228391)
@@ -391,6 +391,8 @@ __FBSDID("$FreeBSD$");
 #define SCTP_OUTPUT_FROM_COOKIE_ACK     14
 #define SCTP_OUTPUT_FROM_DRAIN          15
 #define SCTP_OUTPUT_FROM_CLOSING        16
+#define SCTP_OUTPUT_FROM_SOCKOPT        17
+
 /* SCTP chunk types are moved sctp.h for application (NAT, FW) use */
 
 /* align to 32-bit sizes */

Modified: head/sys/netinet/sctp_usrreq.c
==============================================================================
--- head/sys/netinet/sctp_usrreq.c	Sat Dec 10 09:34:39 2011	(r228390)
+++ head/sys/netinet/sctp_usrreq.c	Sat Dec 10 10:52:54 2011	(r228391)
@@ -4727,6 +4727,7 @@ sctp_setopt(struct socket *so, int optna
 					if (paddrp->spp_flags & SPP_HB_DEMAND) {
 						/* on demand HB */
 						sctp_send_hb(stcb, net, SCTP_SO_LOCKED);
+						sctp_chunk_output(inp, stcb, SCTP_OUTPUT_FROM_SOCKOPT, SCTP_SO_LOCKED);
 						sctp_timer_start(SCTP_TIMER_TYPE_HEARTBEAT, inp, stcb, net);
 					}
 					if ((paddrp->spp_flags & SPP_PMTUD_DISABLE) && (paddrp->spp_pathmtu >= SCTP_SMALLEST_PMTU)) {


More information about the svn-src-head mailing list