NAME

  hRouterOhterNode.seq - "Multicast Listener Discovery for IPv6" Test
                         Router send Query, But Another node reply (use Global scope)


TARGET

  Host


INITIALIZATION

  None


TEST PROCEDURE

  This test check following, if node listen to Global scope Multicast.
  
  *1: A node don't transmit an Report message,
      when a node receives a Query message
      and a node recives another node's Report message
      before node transmit an Report message.

   -- in RFC2710 page 6 --
   If a node receives another node's Report from an interface for a
   multicast address while it has a timer running for that same address
   on that interface, it stops its timer and does not send a Report for
   that address, thus suppressing duplicate reports on the link.
   -- in RFC2710 page 6 --

  *2: A node don't transmit an Done message,
      When a node ceases to listen to a multicast.

   -- in RFC2710 page 7 --
   If the node's most
   recent Report message was suppressed by hearing another Report
   message, it MAY send nothing, as it is highly likely that there is
   another listener for that address still present on the same link.
   -- in RFC2710 page 7 --

  -Test flow 
  
  1. Listen to Multicast
     1.1. Wait 1 or 2 Unsolicited Report message from NUT
          Now Idle Listener state
  2. TN send General Query message (Maximum Response Delay = 7000 ms)
     2.1. TN send another node's Report message
     2.2. NUT don't transmit an Report message
          Check *1
  3. TN send Multicast-Address-Specific Query message
     (Maximum Response Delay = 7000 ms
      Multicast Address = NUT is listening to)
     3.1. TN send another node's Report message
     3.2. NUT don't transmit an Report message
          Check *1
  4. Stop to Listen Multicast
     4.1. NUT don't transmit an Done message
          Check *2

        NUT       TN 
         |        |
         |<-<-<-<-+ Command: Listen to Multicast
         |        |
         +------->| Unsolicited Report message
         +------->| Unsolicited Report message
         |        |
         |<-------+ General Query message (Maximum Response Delay = 7000 ms)
         |<-------+ another node's Report message
         |        |
         |        | No Report message
         |        | Check *1
         |        |
         |<-------+ Multicast-Address-Specific Query message
         |        | (Maximum Response Delay = 7000 ms
         |        |  Multicast Address = NUT is listening to)
         |<-------+ another node's Report message
         |        |
         |        | No Report message
         |        | Check *1
         |        |
         |<-<-<-<-+ Command: Stop to Listen Multicast
         |        |
         |        | No Done message
         |        | Check *2
         |        |


JUDGEMENT

  PASS: Don't receive any Report message
        Don't receive any Done message


SEE ALSO

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