From owner-freebsd-net@FreeBSD.ORG Thu May 20 06:16:50 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3B2E816A4CE for ; Thu, 20 May 2004 06:16:50 -0700 (PDT) Received: from tigra.ip.net.ua (tigra.ip.net.ua [82.193.96.10]) by mx1.FreeBSD.org (Postfix) with ESMTP id 835E343D39 for ; Thu, 20 May 2004 06:16:49 -0700 (PDT) (envelope-from ru@ip.net.ua) Received: from heffalump.ip.net.ua (heffalump.ip.net.ua [82.193.96.213]) by tigra.ip.net.ua (8.12.11/8.12.11) with ESMTP id i4KDMGg5009195 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 20 May 2004 16:22:18 +0300 (EEST) (envelope-from ru@ip.net.ua) Received: (from ru@localhost) by heffalump.ip.net.ua (8.12.11/8.12.11) id i4KDGTA9002245; Thu, 20 May 2004 16:16:29 +0300 (EEST) (envelope-from ru) Date: Thu, 20 May 2004 16:16:29 +0300 From: Ruslan Ermilov To: Eugene Grosbein Message-ID: <20040520131629.GL1664@ip.net.ua> References: <40A9CF72.85E2EC9D@kuzbass.ru> <20040518105134.GC70919@ip.net.ua> <20040520130052.GA442@grosbein.pp.ru> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="Re2uCLPLNzqOLVJA" Content-Disposition: inline In-Reply-To: <20040520130052.GA442@grosbein.pp.ru> User-Agent: Mutt/1.5.6i X-Virus-Scanned: by amavisd-new X-Spam-Checker-Version: SpamAssassin 2.55 (1.174.2.19-2003-05-19-exp) cc: net@freebsd.org Subject: Re: [ANALISYS] Re: multicast arp entry X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 20 May 2004 13:16:50 -0000 --Re2uCLPLNzqOLVJA Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, May 20, 2004 at 09:00:52PM +0800, Eugene Grosbein wrote: [...] > 3. Now we enter ip_output() keeping imo as one of arguments. > There we run the following code: >=20 > else if (IN_MULTICAST(ntohl(ip->ip_dst.s_addr)) && > imo !=3D NULL && imo->imo_multicast_ifp !=3D NULL) { > /* > * Bypass the normal routing lookup for multicast > * packets if the interface is specified. > */ > ifp =3D imo->imo_multicast_ifp; > IFP_TO_IA(ifp, ia); > isbroadcast =3D 0; /* fool gcc */ > } >=20 > It's allright still. >=20 > 4. When ipfw diverts our packet, we call >=20 > /* Deliver packet to divert input routine */ > divert_packet(m, 0, off & 0xffff, args.divert_rule); >=20 > Ops, imo is not passed by! So our imo->imo_multicast_ifp is lost > and diverted packet will not be sent through it but routing lookup > will be performed. >=20 > Should I fill the PR? >=20 You're rather supposed to submit a working patch. ;) Cheers, --=20 Ruslan Ermilov ru@FreeBSD.org FreeBSD committer --Re2uCLPLNzqOLVJA Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.4 (FreeBSD) iD8DBQFArK+tUkv4P6juNwoRAqnmAJ9wTHhugHieevBKf/RL9EBlM7pgrgCeN++a abWCrmLJAvCP1gO93IwVCKo= =Vfxo -----END PGP SIGNATURE----- --Re2uCLPLNzqOLVJA--