svn commit: r294208 - stable/10/sys/netinet

Michael Tuexen tuexen at FreeBSD.org
Sun Jan 17 12:04:00 UTC 2016


Author: tuexen
Date: Sun Jan 17 12:03:59 2016
New Revision: 294208
URL: https://svnweb.freebsd.org/changeset/base/294208

Log:
  MFC r291651:
  Adjust the MTU when accepting an SCTP association using
  UDP encapsulation.

Modified:
  stable/10/sys/netinet/sctp_input.c
Directory Properties:
  stable/10/   (props changed)

Modified: stable/10/sys/netinet/sctp_input.c
==============================================================================
--- stable/10/sys/netinet/sctp_input.c	Sun Jan 17 12:02:04 2016	(r294207)
+++ stable/10/sys/netinet/sctp_input.c	Sun Jan 17 12:03:59 2016	(r294208)
@@ -521,7 +521,6 @@ sctp_process_init_ack(struct mbuf *m, in
 	/* calculate the RTO */
 	net->RTO = sctp_calculate_rto(stcb, asoc, net, &asoc->time_entered, sctp_align_safe_nocopy,
 	    SCTP_RTT_FROM_NON_DATA);
-
 	retval = sctp_send_cookie_echo(m, offset, stcb, net);
 	if (retval < 0) {
 		/*
@@ -2347,12 +2346,17 @@ sctp_process_cookie_new(struct mbuf *m, 
 		sctp_timer_start(SCTP_TIMER_TYPE_AUTOCLOSE, inp, stcb, NULL);
 	}
 	(void)SCTP_GETTIME_TIMEVAL(&stcb->asoc.time_entered);
-	if ((netp) && (*netp)) {
+	if ((netp != NULL) && (*netp != NULL)) {
 		/* calculate the RTT and set the encaps port */
 		(*netp)->RTO = sctp_calculate_rto(stcb, asoc, *netp,
 		    &cookie->time_entered, sctp_align_unsafe_makecopy,
 		    SCTP_RTT_FROM_NON_DATA);
+#if defined(INET) || defined(INET6)
+		if (((*netp)->port == 0) && (port != 0)) {
+			sctp_pathmtu_adjustment(stcb, (*netp)->mtu - sizeof(struct udphdr));
+		}
 		(*netp)->port = port;
+#endif
 	}
 	/* respond with a COOKIE-ACK */
 	sctp_send_cookie_ack(stcb);
@@ -5847,7 +5851,7 @@ sctp_common_input_processing(struct mbuf
 			 */
 			inp = stcb->sctp_ep;
 #if defined(INET) || defined(INET6)
-			if ((net) && (port)) {
+			if ((net != NULL) && (port != 0)) {
 				if (net->port == 0) {
 					sctp_pathmtu_adjustment(stcb, net->mtu - sizeof(struct udphdr));
 				}


More information about the svn-src-all mailing list