Date: Fri, 03 Aug 2001 14:04:45 -0300 From: "Daniel C. Sobral" <daniel.sobral@tcoip.com.br> To: Bill Fenner <fenner@research.att.com> Cc: ru@FreeBSD.ORG, mjacob@FreeBSD.ORG, stable@FreeBSD.ORG Subject: Re: Request for testers: multicast patch Message-ID: <3B6AD9AD.10403@tcoip.com.br> References: <200108031553.IAA17847@windsor.research.att.com>
next in thread | previous in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B6AD9AD.10403>