Date: Thu, 20 May 2004 16:16:29 +0300 From: Ruslan Ermilov <ru@freebsd.org> To: Eugene Grosbein <eugen@grosbein.pp.ru> Cc: net@freebsd.org Subject: Re: [ANALISYS] Re: multicast arp entry Message-ID: <20040520131629.GL1664@ip.net.ua> In-Reply-To: <20040520130052.GA442@grosbein.pp.ru> References: <40A9CF72.85E2EC9D@kuzbass.ru> <20040518105134.GC70919@ip.net.ua> <20040520130052.GA442@grosbein.pp.ru>
next in thread | previous in thread | raw e-mail | index | archive | help
--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--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040520131629.GL1664>
