Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Dec 2011 10:52:54 +0000 (UTC)
From:      Michael Tuexen <tuexen@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r228391 - head/sys/netinet
Message-ID:  <201112101052.pBAAqsoV092530@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
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)) {



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201112101052.pBAAqsoV092530>