Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 25 Oct 2017 19:21:49 +0000 (UTC)
From:      Kristof Provost <kp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r324996 - head/sys/netinet6
Message-ID:  <201710251921.v9PJLnKl020976@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: kp
Date: Wed Oct 25 19:21:48 2017
New Revision: 324996
URL: https://svnweb.freebsd.org/changeset/base/324996

Log:
  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.
  
  Reviewed by:	ae
  MFC after:	1 week
  Differential Revision:	https://reviews.freebsd.org/D12779

Modified:
  head/sys/netinet6/ip6_fastfwd.c

Modified: head/sys/netinet6/ip6_fastfwd.c
==============================================================================
--- head/sys/netinet6/ip6_fastfwd.c	Wed Oct 25 18:55:04 2017	(r324995)
+++ head/sys/netinet6/ip6_fastfwd.c	Wed Oct 25 19:21:48 2017	(r324996)
@@ -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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201710251921.v9PJLnKl020976>