From owner-svn-src-projects@FreeBSD.ORG Fri Oct 3 15:54:52 2014 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 7ED21B0C; Fri, 3 Oct 2014 15:54:52 +0000 (UTC) Received: from svn.freebsd.org (svn.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 50E04F5F; Fri, 3 Oct 2014 15:54:52 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s93FsqVE041755; Fri, 3 Oct 2014 15:54:52 GMT (envelope-from melifaro@FreeBSD.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id s93Fsq3b041754; Fri, 3 Oct 2014 15:54:52 GMT (envelope-from melifaro@FreeBSD.org) Message-Id: <201410031554.s93Fsq3b041754@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: melifaro set sender to melifaro@FreeBSD.org using -f From: "Alexander V. Chernikov" Date: Fri, 3 Oct 2014 15:54:52 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r272478 - projects/ipfw/sys/netpfil/ipfw 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.18-1 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: Fri, 03 Oct 2014 15:54:52 -0000 Author: melifaro Date: Fri Oct 3 15:54:51 2014 New Revision: 272478 URL: https://svnweb.freebsd.org/changeset/base/272478 Log: Make linear_skipto turned off by default. Modified: projects/ipfw/sys/netpfil/ipfw/ip_fw2.c Modified: projects/ipfw/sys/netpfil/ipfw/ip_fw2.c ============================================================================== --- projects/ipfw/sys/netpfil/ipfw/ip_fw2.c Fri Oct 3 15:36:58 2014 (r272477) +++ projects/ipfw/sys/netpfil/ipfw/ip_fw2.c Fri Oct 3 15:54:51 2014 (r272478) @@ -122,11 +122,15 @@ VNET_DEFINE(unsigned int, fw_tables_sets /* Use 128 tables by default */ static unsigned int default_fw_tables = IPFW_TABLES_DEFAULT; +#ifndef LINEAR_SKIPTO static int jump_fast(struct ip_fw_chain *chain, struct ip_fw *f, int num, int tablearg, int jump_backwards); +#define JUMP(ch, f, num, targ, back) jump_fast(ch, f, num, targ, back) +#else static int jump_linear(struct ip_fw_chain *chain, struct ip_fw *f, int num, int tablearg, int jump_backwards); -#define JUMP(ch, f, num, targ, back) jump_fast(ch, f, num, targ, back) +#define JUMP(ch, f, num, targ, back) jump_linear(ch, f, num, targ, back) +#endif /* * Each rule belongs to one of 32 different sets (0..31). @@ -800,6 +804,7 @@ set_match(struct ip_fw_args *args, int s args->rule.rulenum = chain->map[slot]->rulenum; } +#ifndef LINEAR_SKIPTO /* * Helper function to enable cached rule lookups using * cached_id and cached_pos fields in ipfw rule. @@ -834,7 +839,7 @@ jump_fast(struct ip_fw_chain *chain, str return (f_pos); } - +#else /* * Helper function to enable real fast rule lookups. */ @@ -852,6 +857,7 @@ jump_linear(struct ip_fw_chain *chain, s return (f_pos); } +#endif #define TARG(k, f) IP_FW_ARG_TABLEARG(chain, k, f) /* @@ -2744,7 +2750,9 @@ vnet_ipfw_init(const void *unused) IPFW_LOCK_INIT(chain); ipfw_dyn_init(chain); +#ifdef LINEAR_SKIPTO ipfw_init_skipto_cache(chain); +#endif /* First set up some values that are compile time options */ V_ipfw_vnet_ready = 1; /* Open for business */ @@ -2801,7 +2809,9 @@ vnet_ipfw_uninit(const void *unused) for (i = 0; i < chain->n_rules; i++) ipfw_reap_add(chain, &reap, chain->map[i]); free(chain->map, M_IPFW); +#ifdef LINEAR_SKIPTO ipfw_destroy_skipto_cache(chain); +#endif IPFW_WUNLOCK(chain); IPFW_UH_WUNLOCK(chain); ipfw_destroy_tables(chain, last);