rQuerier2.seq - "Multicast Listener Discovery for IPv6" Test
Querier : state transition diagram 2
Router
None
This test check following.
*1: Check a part of The state transition diagram for a router in Querier state
________________
| |
| |timer expired
| |(notify routing -,
| No Listeners |clear rxmt tmr)
| Present |<---------
| | |
| | |
|________________| | ---------------
| | | rexmt timer |
report received| | | expired |
(notify routing +,| | | (send m-a-s |
start timer)| | | query, |
_________________ | ________|_|______ st rxmt |
| |<------------ | | tmr) |
| | | |<-------
| | report received | |
| | (start timer, | |
| | clear rxmt tmr) | |
| Listeners |<-------------------| Checking |
| Present | done received | Listeners |
| | (start timer*, | |
| | start rxmt timer, | |
| | send m-a-s query) | |
| |------------------->| |
|_________________| |_________________|
-- in RFC2710 page 15 --
________________
| |
| |timer expired
timer expired| |(notify routing -,
(notify routing -)| No Listeners |clear rxmt tmr)
------->| Present |<---------
| | | |
| | | |
| |________________| | ---------------
| | | | rexmt timer |
| report received| | | expired |
| (notify routing +,| | | (send m-a-s |
| start timer)| | | query, |
__________|______ | ________|_|______ st rxmt |
| |<------------ | | tmr) |
| | | |<-------
| | report received | |
| | (start timer, | |
| | clear rxmt tmr) | |
| Listeners |<-------------------| Checking |
| Present | done received | Listeners |
| | (start timer*, | |
| | start rxmt timer, | |
| | send m-a-s query) | |
--->| |------------------->| |
| |_________________| |_________________|
| report received |
| (start timer) |
-----------------
-- in RFC2710 page 15 --
-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. [Checking Listeners] > [Listeners Present]
3.1. send Report maessage
Now NUT return [Listeners Present] state
3.2. Wait 5s
4. [Listeners Present] > [Checking Listeners]
4.1. send Done maessage
4.2. receive Multicast-Address-Specific Query message
Now NUT is [Checking Listeners] state again
5. [Checking Listeners] > [Checking Listeners]
5.1. receive Multicast-Address-Specific Query message
Now NUT is still [Checking Listeners] state
5.2. NUT don't send an Multicast-Address-Specific Query message any more
6. [Checking Listeners] > [No Listeners Present]
6.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
7. Check : Now NUT is [No Listeners Present] state
7.1. send Done message
7.2. NUT don't send an Multicast-Address-Specific Query message
NUT TN
| |
+------->| Generl Query
<--------+ Report
| |
<--------+ Done
+------->| Multicast-Address-Specific Query
| |
<--------+ Report
| |
<--------+ Done
+------->| Multicast-Address-Specific Query
| |
+------->| Multicast-Address-Specific Query
| |
| | Don't receive Multicast-Address-Specific Query any more
| |
<--------+ Done
| |
| | No Multicast-Address-Specific Query message.
| |
PASS: NUT don't send an Multicast-Address-Specific Query message.
perldoc V6evalTool
MLD.pm "Multicast Listener Discovery for IPv6" Test Common Utility