svn commit: r325282 - stable/11/sys/netinet6

Kristof Provost kp at FreeBSD.org
Wed Nov 1 13:54:17 UTC 2017


Author: kp
Date: Wed Nov  1 13:54:16 2017
New Revision: 325282
URL: https://svnweb.freebsd.org/changeset/base/325282

Log:
  MFC r324996:
  
  Evaluate packet size after the firewall had its chance in the ip6 fast path
  
  Defer the packet size check until after the firewall has had a look at it. This
  means that the firewall now has the opportunity to (re-)fragment an oversized
  packet.
  This mirrors what the slow path does.

Modified:
  stable/11/sys/netinet6/ip6_fastfwd.c
Directory Properties:
  stable/11/   (props changed)

Modified: stable/11/sys/netinet6/ip6_fastfwd.c
==============================================================================
--- stable/11/sys/netinet6/ip6_fastfwd.c	Wed Nov  1 13:50:35 2017	(r325281)
+++ stable/11/sys/netinet6/ip6_fastfwd.c	Wed Nov  1 13:54:16 2017	(r325282)
@@ -194,7 +194,17 @@ passin:
 		in6_ifstat_inc(rcvif, ifs6_in_noroute);
 		goto dropin;
 	}
+
 	/*
+	 * Outgoing packet firewall processing.
+	 */
+	if (!PFIL_HOOKED(&V_inet6_pfil_hook))
+		goto passout;
+	if (pfil_run_hooks(&V_inet6_pfil_hook, &m, nh.nh_ifp, PFIL_OUT,
+	    NULL) != 0 || m == NULL)
+		goto dropout;
+
+	/*
 	 * We used slow path processing for packets with scoped addresses.
 	 * So, scope checks aren't needed here.
 	 */
@@ -205,14 +215,6 @@ passin:
 		goto dropout;
 	}
 
-	/*
-	 * Outgoing packet firewall processing.
-	 */
-	if (!PFIL_HOOKED(&V_inet6_pfil_hook))
-		goto passout;
-	if (pfil_run_hooks(&V_inet6_pfil_hook, &m, nh.nh_ifp, PFIL_OUT,
-	    NULL) != 0 || m == NULL)
-		goto dropout;
 	/*
 	 * If packet filter sets the M_FASTFWD_OURS flag, this means
 	 * that new destination or next hop is our local address.


More information about the svn-src-all mailing list