NAME

  rQuerier3.seq - "Multicast Listener Discovery for IPv6" Test
                  Querier : state transition diagram 3


TARGET

  Router


INITIALIZATION

  None


TEST PROCEDURE

  This test check following.
  
  *1: When NUT is [Checking Listeners] state, NUT receive Other router's Query,
      and NUT become Non-Querier.
      But NUT send Multicast-Address-Specific Query.

   -- in RFC2710 page 14 --
   However, any groups in "Checking Listeners" state continue
   with the same state transition diagram until the "Checking Listeners"
   state is exited.  E.g. a router that starts as a Querier, receives a
   Done message for a group and then receives a Query from a router with
   a lower address (causing a transition to the Non-Querier state)
   continues to send multicast-address-specific queries for the group in
   question until it either receives a Report or its timer expires, at
   which time it starts performing the actions of a Non-Querier for this
   group.
   -- in RFC2710 page 14 --

  -Test flow 
  
  1. [No Listeners Present] > [Listeners Present]
     1.1. receive General Query message
     1.2. send Report message
          Now NUT is [Listeners Present] state
  2. [Listeners Present] > [Checking Listeners]
     2.1. send Done maessage
     2.2. receive Multicast-Address-Specific Query message
          Now NUT is [Checking Listeners] state
  3. Querier > Non-Querier
     3.1. send Generl Query message
          (Generl Query's source address < NUT address)
          NUT become Non-Querier
  4. [Checking Listeners] > [Checking Listeners]
     4.1. receive Multicast-Address-Specific Query message
          Now NUT is still [Checking Listeners] state
     4.2. NUT don't send an Multicast-Address-Specific Query message any more
  5. [Checking Listeners] > [No Listeners Present]
     5.1. wait timer
          ([Last Listener Query Interval] * [Last Listener Query Count] = (1 x 2) = 2s) expired
          (but at this moment, already timer expired)
          Now NUT is [No Listeners Present] state
  6. Check : Now NUT is Non-Querier
     6.1. NUT don't send an General Query message
     6.2. send Generl Query message
     6.3. send Report message
     6.4. send Done message
     6.5. NUT don't send an Multicast-Address-Specific Query message

        NUT       TN 
         |        |
         +------->| Generl Query
         <--------+ Report
         |        |
         <--------+ Done
         +------->| Multicast-Address-Specific Query
         |        |
         <--------+ Generl Query
         |        | (Generl Query's source address < NUT address)
         |        |
         +------->| Multicast-Address-Specific Query
         |        |
         |        | Don't receive Multicast-Address-Specific Query any more
         |        |
         |        | No General Query message.
         |        |
         <--------+ Generl Query
         |        | (Generl Query's source address < NUT address)
         |        |
         <--------+ Report
         <--------+ Done
         |        |
         |        | No Multicast-Address-Specific Query message.
         |        |


JUDGEMENT

  PASS: NUT don't send an Genral Query & Multicast-Address-Specific Query message.


SEE ALSO

  perldoc V6evalTool
  MLD.pm "Multicast Listener Discovery for IPv6" Test Common Utility