Question about MLDv2 implemenation in Kernel

Rui Paulo rpaulo at felyko.com
Wed Jun 20 21:20:15 UTC 2012


On 20 Jun 2012, at 01:12, GuYong <guyong1978 at hotmail.com> wrote:
> 1.  RFC3810 clause 6.1 mentions there is a Source Retransmission Counter associated to each source, so that the merged report could contain the content that is interrupted by a new state change report          BUT, I didn't see this is implemented currently!

I think this is stored in the mli_rv variable and decremented accordingly.

> 2.  Regarding the 'Older Version Querier Present timer', the code is like this:old_version_timer = (mli->mli_rv * mli->mli_qi) + mli->mli_qri;
> while mli->mli_qri = maxdelay, and maxdelay = ntohs(mld->mld_maxdelay).     BUT, mld_maxdelay is in units of milliseconds (clause 5.1.3), I think it should be divided by 1000 before it adds to old_version_timer.

I think you're right and it should be divided by MLD_TIMER_SCALE.

> 3.  According to RFC, a node MUST accept and process any Query whose IP Destination Address field contains *any* of the address (unicast or multicast) assigned to the interface on which the Query arrives.          BUT, I see the code only accept General Query addressed to FF02::1.

Hmm, I disagree. Here's what the RFC says:

5.1.15.  Destination Addresses for Queries

   In MLDv2, General Queries are sent to the link-scope all-nodes
   multicast address (FF02::1).  Multicast Address Specific and
   Multicast Address and Source Specific Queries are sent with an IP
   destination address equal to the multicast address of interest.
   *However*, a node MUST accept and process any Query whose IP
   Destination Address field contains *any* of the addresses (unicast or
   multicast) assigned to the interface on which the Query arrives. This
   might be useful, e.g., for debugging purposes.

My reading of it suggests that we are doing the right thing. We do accept it and process it, but, like the text implies, we shouldn't take any action.

--
Rui Paulo





More information about the freebsd-net mailing list