[ANALISYS] Re: multicast arp entry
Ruslan Ermilov
ru at freebsd.org
Thu May 20 06:16:50 PDT 2004
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:
>
> else if (IN_MULTICAST(ntohl(ip->ip_dst.s_addr)) &&
> imo != NULL && imo->imo_multicast_ifp != NULL) {
> /*
> * Bypass the normal routing lookup for multicast
> * packets if the interface is specified.
> */
> ifp = imo->imo_multicast_ifp;
> IFP_TO_IA(ifp, ia);
> isbroadcast = 0; /* fool gcc */
> }
>
> It's allright still.
>
> 4. When ipfw diverts our packet, we call
>
> /* Deliver packet to divert input routine */
> divert_packet(m, 0, off & 0xffff, args.divert_rule);
>
> 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.
>
> Should I fill the PR?
>
You're rather supposed to submit a working patch. ;)
Cheers,
--
Ruslan Ermilov
ru at FreeBSD.org
FreeBSD committer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-net/attachments/20040520/d2d46918/attachment.bin
More information about the freebsd-net
mailing list