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>