NAME

  hRouterMQueryOwn.seq - "Multicast Listener Discovery for IPv6" Test
                         Router send Multicast-Address-Specific Query (Own)


TARGET

  Host


INITIALIZATION

  None


TEST PROCEDURE

  This test check following, if node listen to Linklocal scope Multicast.
  
  *1: A node transmit an Report message,
      when a node receives a Multicast-Address-Specific Query message,
      if it is listening to the queried Multicast Address.

   -- in RFC2710 page 6 --
   When a node receives a Multicast-Address-Specific Query, if it is
   listening to the queried Multicast Address on the interface from
   which the Query was received, it sets a delay timer for that address
   to a random value selected from the range [0, Maximum Response
   Delay], as above.
   -- in RFC2710 page 6 --
   -- in RFC2710 page 6 --
   If a node's timer for a particular multicast address on a particular
   interface expires, the node transmits a Report to that address via
   that interface; the address being reported is carried in both the
   IPv6 Destination Address field and the MLD Multicast Address field of
   the Report packet.  The IPv6 Hop Limit of 1 (as well as the presence
   of a link-local IPv6 Source Address) prevent the packet from
   traveling beyond the link to which the reporting interface is
   attached.
   -- in RFC2710 page 6 --

  *2: NUT transmit an Report message within [Maximum Response Delay] ms.

   -- in RFC2710 page 6 --
   When a node receives a Multicast-Address-Specific Query, if it is
   listening to the queried Multicast Address on the interface from
   which the Query was received, it sets a delay timer for that address
   to a random value selected from the range [0, Maximum Response
   Delay], as above.
   -- in RFC2710 page 6 --

  -Test flow 
  
  1. Listen to Multicast
     1.1. Wait 1 or 2 Unsolicited Report message from NUT
          Now Idle Listener state
  2. TN send Multicast-Address-Specific Query message
     (Maximum Response Delay = 700 ms
      Multicast Address = NUT is listening to)
     2.1. TN waits for a Report message for 700 ms
          Check *1, *2
  3. Stop to Listen Multicast
     3.1. Wait Done message from NUT

        NUT       TN 
         |        |
         |<-<-<-<-+ Command: Listen to Multicast
         |        |
         +------->| Unsolicited Report message
         +------->| Unsolicited Report message
         |        |
         |<-------+ Multicast-Address-Specific Query message
         |        | (Maximum Response Delay = 700 ms
         |        |  Multicast Address = NUT is listening to)
         +------->| Report message
         |        | Check *1, *2
         |        |
         |<-<-<-<-+ Command: Stop to Listen Multicast
         |        |
         +------->| Done message
         |        |


JUDGEMENT

  PASS: Report message Received


SEE ALSO

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