Author: tuexen
Date: Wed May 14 18:15:55 2014
New Revision: 266064
URL: http://svnweb.freebsd.org/changeset/base/266064
Log:
MFC r258235:
Use SCTP_PR_SCTP_TTL when the user provides a positive
timetolive in sctp_sendmsg().
Modified:
stable/9/sys/netinet/sctp_output.c
Directory Properties:
stable/9/sys/ (props changed)
Modified: stable/9/sys/netinet/sctp_output.c
==============================================================================
--- stable/9/sys/netinet/sctp_output.c Wed May 14 18:14:17 2014
(r266063)
+++ stable/9/sys/netinet/sctp_output.c Wed May 14 18:15:55 2014
(r266064)
@@ -3389,7 +3389,11 @@ sctp_find_cmsg(int c_type, void *data, s
return (found);
}
m_copydata(control, at +
CMSG_ALIGN(sizeof(cmh)), sizeof(struct sctp_prinfo), (caddr_t)&prinfo);
- sndrcvinfo->sinfo_timetolive =
prinfo.pr_value;
+ if (prinfo.pr_policy !=
SCTP_PR_SCTP_NONE) {
+ sndrcvinfo->sinfo_timetolive =
prinfo.pr_value;
+ } else {
+ sndrcvinfo->sinfo_timetolive =
0;
+ }
sndrcvinfo->sinfo_flags |=
prinfo.pr_policy;
break;
case SCTP_AUTHINFO:
@@ -6078,13 +6082,13 @@ sctp_set_prsctp_policy(struct sctp_strea
{
/*
* We assume that the user wants PR_SCTP_TTL if the user provides a
- * positive lifetime but does not specify any PR_SCTP policy. This
- * is a BAD assumption and causes problems at least with the
- * U-Vancovers MPI folks. I will change this to be no policy means
- * NO PR-SCTP.
+ * positive lifetime but does not specify any PR_SCTP policy.
*/
if (PR_SCTP_ENABLED(sp->sinfo_flags)) {
sp->act_flags |= PR_SCTP_POLICY(sp->sinfo_flags);
+ } else if (sp->timetolive > 0) {
+ sp->sinfo_flags |= SCTP_PR_SCTP_TTL;
+ sp->act_flags |= PR_SCTP_POLICY(sp->sinfo_flags);
} else {
return;
}
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-stable-9
To unsubscribe, send any mail to "[email protected]"