From owner-svn-src-all@FreeBSD.ORG Sun Dec 23 16:28:20 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 39416FFA; Sun, 23 Dec 2012 16:28:20 +0000 (UTC) (envelope-from melifaro@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 1D1E78FC0C; Sun, 23 Dec 2012 16:28:20 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qBNGSJJc026846; Sun, 23 Dec 2012 16:28:19 GMT (envelope-from melifaro@svn.freebsd.org) Received: (from melifaro@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qBNGSJkd026840; Sun, 23 Dec 2012 16:28:19 GMT (envelope-from melifaro@svn.freebsd.org) Message-Id: <201212231628.qBNGSJkd026840@svn.freebsd.org> From: "Alexander V. Chernikov" Date: Sun, 23 Dec 2012 16:28:19 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r244633 - head/sys/netpfil/ipfw X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 23 Dec 2012 16:28:20 -0000 Author: melifaro Date: Sun Dec 23 16:28:18 2012 New Revision: 244633 URL: http://svnweb.freebsd.org/changeset/base/244633 Log: Use unified IP_FW_ARG_TABLEARG() macro for most tablearg checks. Log real value instead of IP_FW_TABLEARG (65535) in ipfw_log(). Noticed by: Vitaliy Tokarenko MFC after: 2 weeks Modified: head/sys/netpfil/ipfw/ip_fw2.c head/sys/netpfil/ipfw/ip_fw_dynamic.c head/sys/netpfil/ipfw/ip_fw_log.c head/sys/netpfil/ipfw/ip_fw_private.h Modified: head/sys/netpfil/ipfw/ip_fw2.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw2.c Sun Dec 23 16:11:43 2012 (r244632) +++ head/sys/netpfil/ipfw/ip_fw2.c Sun Dec 23 16:28:18 2012 (r244633) @@ -1850,8 +1850,7 @@ do { \ case O_TAG: { struct m_tag *mtag; - uint32_t tag = (cmd->arg1 == IP_FW_TABLEARG) ? - tablearg : cmd->arg1; + uint32_t tag = IP_FW_ARG_TABLEARG(cmd->arg1); /* Packet is already tagged with this tag? */ mtag = m_tag_locate(m, MTAG_IPFW, tag, NULL); @@ -1930,8 +1929,7 @@ do { \ case O_TAGGED: { struct m_tag *mtag; - uint32_t tag = (cmd->arg1 == IP_FW_TABLEARG) ? - tablearg : cmd->arg1; + uint32_t tag = IP_FW_ARG_TABLEARG(cmd->arg1); if (cmdlen == 1) { match = m_tag_locate(m, MTAG_IPFW, @@ -2069,8 +2067,7 @@ do { \ case O_PIPE: case O_QUEUE: set_match(args, f_pos, chain); - args->rule.info = (cmd->arg1 == IP_FW_TABLEARG) ? - tablearg : cmd->arg1; + args->rule.info = IP_FW_ARG_TABLEARG(cmd->arg1); if (cmd->opcode == O_PIPE) args->rule.info |= IPFW_IS_PIPE; if (V_fw_one_pass) @@ -2090,8 +2087,7 @@ do { \ retval = (cmd->opcode == O_DIVERT) ? IP_FW_DIVERT : IP_FW_TEE; set_match(args, f_pos, chain); - args->rule.info = (cmd->arg1 == IP_FW_TABLEARG) ? - tablearg : cmd->arg1; + args->rule.info = IP_FW_ARG_TABLEARG(cmd->arg1); break; case O_COUNT: @@ -2109,8 +2105,7 @@ do { \ (uintptr_t)f->x_next == chain->id) { f_pos = (uintptr_t)f->next_rule; } else { - int i = (cmd->arg1 == IP_FW_TABLEARG) ? - tablearg : cmd->arg1; + int i = IP_FW_ARG_TABLEARG(cmd->arg1); /* make sure we do not jump backward */ if (i <= f->rulenum) i = f->rulenum + 1; @@ -2215,9 +2210,8 @@ do { \ (uintptr_t)f->x_next == chain->id) { f_pos = (uintptr_t)f->next_rule; } else { - jmpto = (cmd->arg1 == - IP_FW_TABLEARG) ? tablearg: - cmd->arg1; + jmpto = IP_FW_ARG_TABLEARG( + cmd->arg1); f_pos = ipfw_find_rule(chain, jmpto, 0); /* update the cache */ @@ -2337,8 +2331,7 @@ do { \ case O_NETGRAPH: case O_NGTEE: set_match(args, f_pos, chain); - args->rule.info = (cmd->arg1 == IP_FW_TABLEARG) ? - tablearg : cmd->arg1; + args->rule.info = IP_FW_ARG_TABLEARG(cmd->arg1); if (V_fw_one_pass) args->rule.info |= IPFW_ONEPASS; retval = (cmd->opcode == O_NETGRAPH) ? @@ -2351,8 +2344,7 @@ do { \ uint32_t fib; IPFW_INC_RULE_COUNTER(f, pktlen); - fib = (cmd->arg1 == IP_FW_TABLEARG) ? tablearg: - cmd->arg1; + fib = IP_FW_ARG_TABLEARG(cmd->arg1); if (fib >= rt_numfibs) fib = 0; M_SETFIB(m, fib); @@ -2378,8 +2370,7 @@ do { \ } t = ((ipfw_insn_nat *)cmd)->nat; if (t == NULL) { - nat_id = (cmd->arg1 == IP_FW_TABLEARG) ? - tablearg : cmd->arg1; + nat_id = IP_FW_ARG_TABLEARG(cmd->arg1); t = (*lookup_nat_ptr)(&chain->nat, nat_id); if (t == NULL) { Modified: head/sys/netpfil/ipfw/ip_fw_dynamic.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_dynamic.c Sun Dec 23 16:11:43 2012 (r244632) +++ head/sys/netpfil/ipfw/ip_fw_dynamic.c Sun Dec 23 16:28:18 2012 (r244633) @@ -696,8 +696,7 @@ ipfw_install_state(struct ip_fw *rule, i uint16_t limit_mask = cmd->limit_mask; int pindex; - conn_limit = (cmd->conn_limit == IP_FW_TABLEARG) ? - tablearg : cmd->conn_limit; + conn_limit = IP_FW_ARG_TABLEARG(cmd->conn_limit); DEB( if (cmd->conn_limit == IP_FW_TABLEARG) Modified: head/sys/netpfil/ipfw/ip_fw_log.c ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_log.c Sun Dec 23 16:11:43 2012 (r244632) +++ head/sys/netpfil/ipfw/ip_fw_log.c Sun Dec 23 16:28:18 2012 (r244633) @@ -338,19 +338,19 @@ ipfw_log(struct ip_fw *f, u_int hlen, st break; case O_SETFIB: snprintf(SNPARGS(action2, 0), "SetFib %d", - cmd->arg1); + IP_FW_ARG_TABLEARG(cmd->arg1)); break; case O_SKIPTO: snprintf(SNPARGS(action2, 0), "SkipTo %d", - cmd->arg1); + IP_FW_ARG_TABLEARG(cmd->arg1)); break; case O_PIPE: snprintf(SNPARGS(action2, 0), "Pipe %d", - cmd->arg1); + IP_FW_ARG_TABLEARG(cmd->arg1)); break; case O_QUEUE: snprintf(SNPARGS(action2, 0), "Queue %d", - cmd->arg1); + IP_FW_ARG_TABLEARG(cmd->arg1)); break; case O_FORWARD_IP: { ipfw_insn_sa *sa = (ipfw_insn_sa *)cmd; Modified: head/sys/netpfil/ipfw/ip_fw_private.h ============================================================================== --- head/sys/netpfil/ipfw/ip_fw_private.h Sun Dec 23 16:11:43 2012 (r244632) +++ head/sys/netpfil/ipfw/ip_fw_private.h Sun Dec 23 16:28:18 2012 (r244633) @@ -258,6 +258,8 @@ struct sockopt; /* used by tcp_var.h */ (_cntr)->pcnt = 0; \ (_cntr)->bcnt = 0; \ } while (0) + +#define IP_FW_ARG_TABLEARG(a) ((a) == IP_FW_TABLEARG) ? tablearg : (a) /* * The lock is heavily used by ip_fw2.c (the main file) and ip_fw_nat.c * so the variable and the macros must be here.