svn commit: r317464 - in head/sys: netinet netinet6

Michael Tuexen tuexen at FreeBSD.org
Wed Apr 26 20:21:07 UTC 2017


Author: tuexen
Date: Wed Apr 26 20:21:05 2017
New Revision: 317464
URL: https://svnweb.freebsd.org/changeset/base/317464

Log:
  Fix an issue with MTU calculation if an ICMP messaeg is received
  for an SCTP/UDP packet.
  
  MFC after:	1 week

Modified:
  head/sys/netinet/sctp_usrreq.c
  head/sys/netinet6/sctp6_usrreq.c

Modified: head/sys/netinet/sctp_usrreq.c
==============================================================================
--- head/sys/netinet/sctp_usrreq.c	Wed Apr 26 19:51:10 2017	(r317463)
+++ head/sys/netinet/sctp_usrreq.c	Wed Apr 26 20:21:05 2017	(r317464)
@@ -220,11 +220,11 @@ sctp_notify(struct sctp_inpcb *inp,
 			timer_stopped = 0;
 		}
 		/* Update the path MTU. */
+		if (net->port) {
+			next_mtu -= sizeof(struct udphdr);
+		}
 		if (net->mtu > next_mtu) {
 			net->mtu = next_mtu;
-			if (net->port) {
-				net->mtu -= sizeof(struct udphdr);
-			}
 		}
 		/* Update the association MTU */
 		if (stcb->asoc.smallest_mtu > next_mtu) {

Modified: head/sys/netinet6/sctp6_usrreq.c
==============================================================================
--- head/sys/netinet6/sctp6_usrreq.c	Wed Apr 26 19:51:10 2017	(r317463)
+++ head/sys/netinet6/sctp6_usrreq.c	Wed Apr 26 20:21:05 2017	(r317464)
@@ -237,11 +237,11 @@ sctp6_notify(struct sctp_inpcb *inp,
 			timer_stopped = 0;
 		}
 		/* Update the path MTU. */
+		if (net->port) {
+			next_mtu -= sizeof(struct udphdr);
+		}
 		if (net->mtu > next_mtu) {
 			net->mtu = next_mtu;
-			if (net->port) {
-				net->mtu -= sizeof(struct udphdr);
-			}
 		}
 		/* Update the association MTU */
 		if (stcb->asoc.smallest_mtu > next_mtu) {


More information about the svn-src-head mailing list