hRouterGQuery.seq - "Multicast Listener Discovery for IPv6" Test
Router send General Query (use Global scope)
Host
None
This test check following, if node listen to Global scope Multicast.
*1: A node transmit an Report message,
when a node receives a General Query message.
-- in RFC2710 page 5 --
When a node receives a General Query, it sets a delay timer for each
multicast address to which it is listening on the interface from
which it received the Query, EXCLUDING the link-scope all-nodes
address and any multicast addresses of scope 0 (reserved) or 1
(node-local).
-- in RFC2710 page 5 --
-- 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 5 --
Each timer is set to a different random value, using
the highest clock granularity available on the node, selected from
the range [0, Maximum Response Delay] with Maximum Response Delay as
specified in the Query packet.
-- in RFC2710 page 5 --
-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 = 700 ms)
2.1. TN waits for a Report message for 700 ms
Check *1, *2
3. TN send General Query message (Maximum Response Delay = 200 ms)
3.1. TN waits for a Report message for 200 ms
Check *1, *2
4. Stop to Listen Multicast
4.1. Wait Done message from NUT
NUT TN
| |
|<-<-<-<-+ Command: Listen to Multicast
| |
+------->| Unsolicited Report message
+------->| Unsolicited Report message
| |
|<-------+ General Query message (Maximum Response Delay = 700 ms)
+------->| Report message
| | Check *1, *2
| |
|<-------+ General Query message (Maximum Response Delay = 200 ms)
+------->| Report message
| | Check *1, *2
| |
|<-<-<-<-+ Command: Stop to Listen Multicast
| |
+------->| Done message
| |
PASS: Report message Received
perldoc V6evalTool
MLD.pm "Multicast Listener Discovery for IPv6" Test Common Utility