From owner-freebsd-bugs Thu Feb 27 6: 0:33 2003 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A861937B401 for ; Thu, 27 Feb 2003 06:00:31 -0800 (PST) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 54CEA43F75 for ; Thu, 27 Feb 2003 06:00:31 -0800 (PST) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.6/8.12.6) with ESMTP id h1RE0VNS091259 for ; Thu, 27 Feb 2003 06:00:31 -0800 (PST) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.6/8.12.6/Submit) id h1RE0U1o091258; Thu, 27 Feb 2003 06:00:30 -0800 (PST) Date: Thu, 27 Feb 2003 06:00:30 -0800 (PST) Message-Id: <200302271400.h1RE0U1o091258@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Maxim Konovalov Subject: Re: kern/48717: ipfw2 probability is wrong Reply-To: Maxim Konovalov Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR kern/48717; it has been noted by GNATS. From: Maxim Konovalov To: Alex Popa Cc: bug-followup@freebsd.org Subject: Re: kern/48717: ipfw2 probability is wrong Date: Thu, 27 Feb 2003 16:53:05 +0300 (MSK) Please try a patch below instead. Index: ipfw/ipfw2.c =================================================================== RCS file: /home/ncvs/src/sbin/ipfw/ipfw2.c,v retrieving revision 1.4.2.10 diff -u -r1.4.2.10 ipfw2.c --- ipfw/ipfw2.c 14 Jan 2003 19:15:59 -0000 1.4.2.10 +++ ipfw/ipfw2.c 27 Feb 2003 13:47:57 -0000 @@ -865,7 +865,7 @@ ipfw_insn_u32 *p = (ipfw_insn_u32 *)cmd; double d = 1.0 * p->d[0]; - d = 1 - (d / 0x7fffffff); + d = d / 0x7fffffff; printf("prob %f ", d); } break; @@ -2521,8 +2521,7 @@ if (d != 1) { /* 1 means always match */ action->opcode = O_PROB; action->len = 2; - *((int32_t *)(action+1)) = - (int32_t)((1 - d) * 0x7fffffff); + *((int32_t *)(action+1)) = (int32_t)(d * 0x7fffffff); action += action->len; } av += 2; ac -= 2; %%% -- Maxim Konovalov, maxim@macomnet.ru, maxim@FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message