From owner-freebsd-stable Fri Aug 3 10: 7:20 2001 Delivered-To: freebsd-stable@freebsd.org Received: from purus.tcoip (cerberus.tcoip.com.br [200.220.254.3]) by hub.freebsd.org (Postfix) with ESMTP id A9C4437B407; Fri, 3 Aug 2001 10:07:11 -0700 (PDT) (envelope-from daniel.sobral@tcoip.com.br) Received: from tcoip.com.br (0bmygebhrjattr7q@dcs.intra.tcoip.com.br [192.168.60.194]) by purus.tcoip (8.11.1/8.11.1) with ESMTP id f73H4xA05095; Fri, 3 Aug 2001 14:04:59 -0300 Message-ID: <3B6AD9AD.10403@tcoip.com.br> Date: Fri, 03 Aug 2001 14:04:45 -0300 From: "Daniel C. Sobral" User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:0.9.2) Gecko/20010705 X-Accept-Language: en, pt-br, ja MIME-Version: 1.0 To: Bill Fenner Cc: ru@FreeBSD.ORG, mjacob@FreeBSD.ORG, stable@FreeBSD.ORG Subject: Re: Request for testers: multicast patch References: <200108031553.IAA17847@windsor.research.att.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Sender: owner-freebsd-stable@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG Bill Fenner wrote: > It looks like the patch causes packets not to be sent if > ia == 0. The inner part of the sendorfree: loop went from > > if (error == 0) { > update if stats > call if_output > } > > to > > if (error == 0 && ia) { > update ia stats > call if_output > } > > where I think it's more likely correct to do > > if (error == 0) { > if (ia) update ia state > call if_output > } > > I realize this bug was just introducd in rev 1.131, but let's not propogate > it to stable. Duh! This is plain wrong. Stable is correct and needs no patch, as evidenced by the patch itself: @@ -936,7 +942,7 @@ /* clean ipsec history once it goes out of the node */ ipsec_delaux(m); #endif - if (error == 0) { + if (error == 0 && ia) { /* Record statistics for this interface address. */ if (ia != NULL) { ia->ia_ifa.if_opackets++; You see that the statistics are _already_ checked for ia == NULL. In the other point where we added the check for ia == NULL on current stable was correct too, I just didn't notice it was correct on both places when I generated the patch. I just wonder when and why the test went out of the window on current. I'll fix it (the patch and current). -- Daniel C. Sobral (8-DCS) Daniel.Sobral@tcoip.com.br dcs@newsguy.com dcs@freebsd.org capo@notorious.bsdconspiracy.net Men of peace usually are [brave]. -- Spock, "The Savage Curtain", stardate 5906.5 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-stable" in the body of the message