SrcSelectRule2.seq - Source Address Selection
Check Rule 2(Prefer appropriate scope)
Rule 2: Prefer appropriate scope.
If Scope(SA) < Scope(SB): If Scope(SA) < Scope(D), then prefer SB
and otherwise prefer SA.
Source addresses used for this test are "preferred address".
Host and Router
SrcSelectRule2.seq [-tooloption ...] -pkt ADDR_SELECT.def
-tooloption : v6eval tool option
None
This TEST performs the following Check procedures for
every address group defined by Check 01 - *.
*Check procedure
1. Initialize :
1.1. Set IPv6 Default Route in NUT
(Default Router address = <TN-Link0-LinkLocalAddress>)
1.2. Add Candidate Source Addresses in NUT
1.3. Check Candidate Source Addresses by Ping6 (TN->NUT)
2. Send Ping6 from NUT to Destination
2.1. NUT send ICMPv6 echo request (NUT->TN)
3. Judgment :
if (recive packet's Destination & Source Addresses)
= (expected Destination & Source Addresses), Check pass
4. Cleanup :
4.1. Delete Candidate Source Addresses in NUT
4.2. Clear prefix list & NCE & default router list in NUT
NUT TN Default Router Destination
| | | |
======(INITIALIZE)=========
| | | |
|<-<-<-+ | | Set IPv6 Default Route
|<-<-<-+ | | Add Candidate Source Addresses
| | | |
|<------------+ | Echo Request to Candidate Source Addresses 1
+------------>| | Echo Reply
| | | |
|<------------+ | Echo Request to Candidate Source Addresses 2
+------------>| | Echo Reply
| | | |
======(INITIALIZE)=========
| | | |
|<-<-<-+ | | Excute ping6 command
| | | |
+------------------------>| Echo Request
| | | |
GS(Global Scope), OS(Organization Scope), SS(Site local Scope), LS(Link local Scope)
LLA(Link Local Address)
Check 01:
Destination: 3fff::2(GS)
Candidate Source Addresses: 3ffe::1(GS) or fec0::1(SS) or LLA(LS)
Result: 3ffe::1(GS)
Scope(LLA) < Scope(fec0::1): If Scope(LLA) < Scope(3fff::2), yes, prefer fec0::1
Scope(fec0::1) < Scope(3ffe::1): If Scope(fec0::1) < Scope(3fff::2), yes, prefer 3ffe::1
Check 02:
Destination: 3fff::2(GS)
Candidate Source Addresses: fec0::1(SS) or LLA(LS)
Result: fec0::1(SS)
Scope(LLA) < Scope(fec0::1): If Scope(LLA) < Scope(3ffe::2), yes, prefer fec0::1
Check 03:
Destination: ff08::2(OS)
Candidate Source Addresses: 3ffe::1(GS) or fec0::1(SS) or LLA(LS)
Result: 3ffe::1(GS)
Scope(LLA) < Scope(fec0::1): If Scope(LLA) < Scope(ff08::2), yes, prefer fec0::1
Scope(fec0::1) < Scope(3ffe::1): If Scope(fec0::1) < Scope(ff08::2), yes, prefer 3ffe::1
Check 04:
Destination: ff08::2(OS)
Candidate Source Addresses: fec0::1(SS) or LLA(LS)
Result: fec0::1(SS)
Scope(LLA) < Scope(fec0::1): If Scope(LLA) < Scope(ff08::2), yes, prefer fec0::1
Check 05:
Destination: fec0::2(SS)
Candidate Source Addresses: 3ffe::1(GS) or LLA(LS)
Result: 3ffe::1(GS)
Scope(LLA) < Scope(3ffe::1): If Scope(LLA) < Scope(fec0::2), yes, prefer 3ffe::1
Check 06:
Destination: fec0::2(SS)
Candidate Source Addresses: 3ffe::1(GS) or fec0::1(SS) or LLA(LS)
Result: fec0::1(SS)
Scope(LLA) < Scope(fec0::1): If Scope(LLA) < Scope(fec0::2), yes, prefer fec0::1
Scope(fec0::1) < Scope(3ffe::1): If Scope(fec0::1) < Scope(fec0::2), no, prefer fec0::1
Check 07:
Destination: fe80::2(LS)
Candidate Source Addresses: 3ffe::1(GS) or fec0::1(SS) or LLA(LS)
Result: LLA(LS)
Scope(LLA) < Scope(fec0::1): If Scope(LLA) < Scope(fe80::2), no, prefer LLA
Scope(LLA) < Scope(3ffe::1): If Scope(LLA) < Scope(fe80::2), no, prefer LLA
Check 01:
PASS: Receive Echo Request & source address = 3ffe::1
Check 02:
PASS: Receive Echo Request & source address = fec0::1
Check 03:
PASS: Receive Echo Request & source address = 3ffe::1
Check 04:
PASS: Receive Echo Request & source address = fec0::1
Check 05:
PASS: Receive Echo Request & source address = 3ffe::1
Check 06:
PASS: Receive Echo Request & source address = fec0::1
Check 07:
PASS: Receive Echo Request & source address = LLA
TEST
PASS: All Check = PASS
perldoc V6evalTool
ADDR_SELECT.html "Default Address Selection for IPv6" Test Common Utility
das_rules.html "Default Address Selection for IPv6" Rules