rTransNonQuerier.seq - "Multicast Listener Discovery for IPv6" Test
Transition to Non-Querier
Router
None
This test check following.
*1: NUT become Non-Querier.
-- in RFC2710 page 5 --
If a router hears a Query message whose IPv6 Source
Address is numerically less than its own selected address for that
link, it MUST become a Non-Querier on that link.
-- in RFC2710 page 5 --
*2: NUT(Non-Querier) don't send any message.
-- in RFC2710 page 15 --
The state transition diagram for a router in Non-Querier state is
similar, but non-Queriers do not send any messages and are only
driven by message reception.
-- in RFC2710 page 15 --
*3: NUT return Querier.
-- in RFC2710 page 5 --
If [Other Querier
Present Interval] passes without receiving, from a particular
attached link, any Queries from a router with an address less than
its own, a router resumes the role of Querier on that link.
-- in RFC2710 page 5 --
-Test flow
1. use Generl Query message
1.1. send Generl Query message
(Generl Query's source address < NUT address)
NUT become Non-Querier
1.2. NUT don't send an General Query message
1.3. send Generl Query message
1.4. NUT don't send an General Query message
1.5. Wait [Other Querier Present Interval](125 + (10/2) = 130s)
NUT return Querier
1.6. Wait General Query message from NUT
2. use Multicast-Address-Specific Query message
2.1. send Multicast-Address-Specific Query message
(Multicast-Address-Specific Query's source address < NUT address)
NUT become Non-Querier
2.2. NUT don't send an General Query message
2.3. send Multicast-Address-Specific Query message
2.4. NUT don't send an General Query message
2.5. Wait [Other Querier Present Interval](125 + (10/2) = 130s)
NUT return Querier
2.6. Wait General Query message from NUT
NUT TN
| |
<--------+ Generl Query
| | (Generl Query's source address < NUT address)
| |
| | No Generl Query message.
| | Check *1 *2
| |
<--------+ Generl Query
| | (Generl Query's source address < NUT address)
| |
| | No Generl Query message.
| | Check *1 *2
| |
| | Wait [Other Querier Present Interval](125 + (10/2) = 130s)
+------->| General Query
| | Check *3
| |
| |
<--------+ Multicast-Address-Specific Query
| | (Multicast-Address-Specific Query's source address < NUT address)
| |
| | No Generl Query message.
| | Check *1 *2
| |
<--------+ Multicast-Address-Specific Query
| | (Multicast-Address-Specific Query's source address < NUT address)
| |
| | No Generl Query message.
| | Check *1 *2
| |
| | Wait [Other Querier Present Interval](125 + (10/2) = 130s)
+------->| General Query
| | Check *3
| |
PASS: NUT become Non-Querier (NUT don't transmit an General Query message).
NUT return Querier (Receive General Query message).
perldoc V6evalTool
MLD.pm "Multicast Listener Discovery for IPv6" Test Common Utility