From owner-svn-src-projects@freebsd.org Sun Aug 23 18:21:44 2015 Return-Path: Delivered-To: svn-src-projects@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id BC8D99C1875 for ; Sun, 23 Aug 2015 18:21:44 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id AD6C3CBE; Sun, 23 Aug 2015 18:21:44 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.70]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id t7NILib5045452; Sun, 23 Aug 2015 18:21:44 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id t7NILiFY045451; Sun, 23 Aug 2015 18:21:44 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201508231821.t7NILiFY045451@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Sun, 23 Aug 2015 18:21:44 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r287056 - projects/routing/sys/netpfil/pf X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Aug 2015 18:21:44 -0000 Author: melifaro Date: Sun Aug 23 18:21:43 2015 New Revision: 287056 URL: https://svnweb.freebsd.org/changeset/base/287056 Log: Convert last piece of pf to use fib4_lookup_nh_ext() Modified: projects/routing/sys/netpfil/pf/pf.c Modified: projects/routing/sys/netpfil/pf/pf.c ============================================================================== --- projects/routing/sys/netpfil/pf/pf.c Sun Aug 23 18:21:06 2015 (r287055) +++ projects/routing/sys/netpfil/pf/pf.c Sun Aug 23 18:21:43 2015 (r287056) @@ -5220,23 +5220,23 @@ pf_route(struct mbuf **m, struct pf_rule dst.sin_addr = ip->ip_dst; if (r->rt == PF_FASTROUTE) { - struct rtentry *rt; + uint32_t fibnum; + struct nhop4_extended nh_ext; if (s) PF_STATE_UNLOCK(s); - rt = rtalloc1_fib(sintosa(&dst), 0, 0, M_GETFIB(m0)); - if (rt == NULL) { + + fibnum = M_GETFIB(m0); + if (fib4_lookup_nh_ext(fibnum, ip->ip_dst, + m0->m_pkthdr.flowid, NHOP_LOOKUP_REF, &nh_ext) != 0) { KMOD_IPSTAT_INC(ips_noroute); error = EHOSTUNREACH; goto bad; } - ifp = rt->rt_ifp; - counter_u64_add(rt->rt_pksent, 1); - - if (rt->rt_flags & RTF_GATEWAY) - bcopy(satosin(rt->rt_gateway), &dst, sizeof(dst)); - RTFREE_LOCKED(rt); + ifp = nh_ext.nh_ifp; + dst.sin_addr = nh_ext.nh_addr; + fib4_free_nh_ext(fibnum, &nh_ext); } else { if (TAILQ_EMPTY(&r->rpool.list)) { DPFPRINTF(PF_DEBUG_URGENT,