Subject: Re: Why MLDv2 Report packet is freed ?

From: Brian Haley <[email-masked]>
Date: Wed, 16 Apr 2008 14:02:59 -0400

Ian Brown wrote:
> Hello,
> 
> I am sorry, I tried to delve into the code and I not sure I can figure out this
> point.
>> MLD packets are handled in other place.
> 
> Can anybody please try to elaborate on this point: how
> are MLD packets handled ? Shouldn't MLD packets be
> handled by pim6sd daemon?

Yes.

> I see handlers for accepting MLD (v1 and v2)
> in pim6sd daemon;
> And in case MLD packets  should be handled by pim6sd  - shouldn't the kernel
> pass these MLD packets to the pim6sd daemon (by calling sock_queue_rcv_skb()
> in ip6mr.c) ? As far as I can understand, these MLD packets are
> dropped in icmpv6_rcv()

>>From what I can tell, ip6_mc_input() makes a copy if multicast routing
is enabled.  Those copies eventually get to ip6mr_cache_report() which
delivers them to user-space (there's even a reference to pim6sd in
net/ipv6/ip6mr.c).

Have you seen them not get delivered?

-Brian