svn commit: r215596 - stable/8/sys/netinet
Michael Tuexen
tuexen at FreeBSD.org
Sat Nov 20 21:44:18 UTC 2010
Author: tuexen
Date: Sat Nov 20 21:44:18 2010
New Revision: 215596
URL: http://svn.freebsd.org/changeset/base/215596
Log:
MFC r215410:
Add an SCTP socket option to retrieve the number of timeouts
of an association.
Modified:
stable/8/sys/netinet/sctp.h
stable/8/sys/netinet/sctp_uio.h
stable/8/sys/netinet/sctp_usrreq.c
Directory Properties:
stable/8/sys/ (props changed)
stable/8/sys/amd64/include/xen/ (props changed)
stable/8/sys/cddl/contrib/opensolaris/ (props changed)
stable/8/sys/contrib/dev/acpica/ (props changed)
stable/8/sys/contrib/pf/ (props changed)
stable/8/sys/dev/xen/xenpci/ (props changed)
Modified: stable/8/sys/netinet/sctp.h
==============================================================================
--- stable/8/sys/netinet/sctp.h Sat Nov 20 21:41:07 2010 (r215595)
+++ stable/8/sys/netinet/sctp.h Sat Nov 20 21:44:18 2010 (r215596)
@@ -123,6 +123,7 @@ struct sctp_paramhdr {
#define SCTP_LOCAL_AUTH_CHUNKS 0x00000103
#define SCTP_GET_ASSOC_NUMBER 0x00000104 /* ro */
#define SCTP_GET_ASSOC_ID_LIST 0x00000105 /* ro */
+#define SCTP_TIMEOUTS 0x00000106
/*
* user socket options: BSD implementation specific
Modified: stable/8/sys/netinet/sctp_uio.h
==============================================================================
--- stable/8/sys/netinet/sctp_uio.h Sat Nov 20 21:41:07 2010 (r215595)
+++ stable/8/sys/netinet/sctp_uio.h Sat Nov 20 21:44:18 2010 (r215596)
@@ -563,6 +563,17 @@ struct sctp_sack_info {
uint32_t sack_freq;
};
+struct sctp_timeouts {
+ sctp_assoc_t stimo_assoc_id;
+ uint32_t stimo_init;
+ uint32_t stimo_data;
+ uint32_t stimo_sack;
+ uint32_t stimo_shutdown;
+ uint32_t stimo_heartbeat;
+ uint32_t stimo_cookie;
+ uint32_t stimo_shutdownack;
+};
+
struct sctp_cwnd_args {
struct sctp_nets *net; /* network to *//* FIXME: LP64 issue */
uint32_t cwnd_new_value;/* cwnd in k */
Modified: stable/8/sys/netinet/sctp_usrreq.c
==============================================================================
--- stable/8/sys/netinet/sctp_usrreq.c Sat Nov 20 21:41:07 2010 (r215595)
+++ stable/8/sys/netinet/sctp_usrreq.c Sat Nov 20 21:44:18 2010 (r215596)
@@ -2441,6 +2441,29 @@ flags_out:
*optsize = sizeof(*srto);
}
break;
+ case SCTP_TIMEOUTS:
+ {
+ struct sctp_timeouts *stimo;
+
+ SCTP_CHECK_AND_CAST(stimo, optval, struct sctp_timeouts, *optsize);
+ SCTP_FIND_STCB(inp, stcb, stimo->stimo_assoc_id);
+
+ if (stcb) {
+ stimo->stimo_init = stcb->asoc.timoinit;
+ stimo->stimo_data = stcb->asoc.timodata;
+ stimo->stimo_sack = stcb->asoc.timosack;
+ stimo->stimo_shutdown = stcb->asoc.timoshutdown;
+ stimo->stimo_heartbeat = stcb->asoc.timoheartbeat;
+ stimo->stimo_cookie = stcb->asoc.timocookie;
+ stimo->stimo_shutdownack = stcb->asoc.timoshutdownack;
+ SCTP_TCB_UNLOCK(stcb);
+ } else {
+ SCTP_LTRACE_ERR_RET(inp, NULL, NULL, SCTP_FROM_SCTP_USRREQ, error);
+ error = EINVAL;
+ }
+ *optsize = sizeof(*stimo);
+ }
+ break;
case SCTP_ASSOCINFO:
{
struct sctp_assocparams *sasoc;
More information about the svn-src-stable
mailing list