(usagi-users 03383) Re: MLDv2 linux implementation questions
Hoerdt Mickael <[email protected]>
| Newsgroups | gmane.linux.ipv6.usagi.users |
|---|---|
| Message-ID | <[email protected]> |
Well, about the MLD version, I was talking about the implemented behavior concerning the MLD compatibility mode, that mean that when the querier on the link is in MLDv1, what does the implementation and if the host switch to MLDv1 compatibility mode, how do I check it ? Concerning the 4th field, net/ipv6/mcast.c gives the following : 2233 seq_printf(seq, 2234 "%-4d %-15s %04x%04x%04x%04x%04x%04x%04x%04x %5d %08X %ld\n", 2235 state->dev->ifindex, state->dev->name, 2236 NIP6(im->mca_addr), 2237 im->mca_users, im->mca_flags, 2238 (im->mca_flags&MAF_TIMER_RUNNING) ? 2239 jiffies_to_clock_t(im->mca_timer.expires-jiffies) : 0); If I count right, the 4th field is im->mca_users, which is not the time left on the pending timer, but I understand right, the number of setsockopt() for this group. The thing that I don't understand is that when I join a channel (Include mode using ADD_SOURCE) and leave it alternavely, this value increase when it should stay constant or is there an optimisation ? Hoerdt Mickaël David Stevens wrote: >Hoerdt Mickael <[email protected]> wrote on 06/13/2005 08:31:58 >AM: > > > >>Hi, >> >> > > > >>I am doing some tests on the MLDv2 linux implementation (2.6.11 kernel). >>I have two questions : >> >> > > > >>- How do I check the MLD version running on my host ? >> >> > > As a user, or in a shell script, an easy way is to see if >/proc/net/mcfilter6 exists (it will if MLDv2 is supported on the >machine, won't otherwise). In a program, you can use one of the >source filter socket options and you'll get errno ENOPROTOOPT if >it isn't implemented. > > > >>On a link with MLDv2, I am joining and leaving the same SSM channel and >>I am checking >>the status of /proc/net/igmp6 to see the state if has effectively >>joined/leaved the >>channel here is the ouput : >> >> > > These fields are unchanged from MLDv1, except the addition of a >flag. >The '0x10' portion is MAF_GSQUERY, the "0x6" part is "MAF_LOADED" (on the >device) and "MAF_LASTREPORTER" (on the link). A "1" is "timer running". > MAF_GSQUERY means there is a pending group and source specific >query for that group. > If you wanted to look at the filter list, that's in the mcfilter6 >file I mentioned earlier. > The 4th field in igmp6 is the time left on the pending timer. It >all >looks like expected behaviour to me-- is there something specific that >concerned you? > > +-DLS > > > >