SrcSelectRule2_TempAddr.seq - Source Address Selection
Check Rule 2(Prefer appropriate scope) with temporary address
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 "temporary address" and "public address".
Host
SrcSelectRule2_TempAddr.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. Set privacy extention setting in NUT
1.3. Add Candidate Source Addresses (temporary / public ) in NUT
* temporary address is added by RA (TN->NUT)
1.4. 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
4.3. Remove privacy extention setting in NUT
NUT TN Default Router Destination
| | | |
======(INITIALIZE)=========
| | | |
|<-<-<-+ | | Set IPv6 Default Route
|<-<-<-+ | | Set privacy extention setting
|<-<-<-+ | | Add Candidate Source Addresses
| | | |
|<------------+ | RA
| | | |
|<------------+ | 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(Unicast Global Scope), GSM(Multicast Global Scope), OSM(Multicast Organization Scope),
SS(Unicast Site local Scope), SSM(Multicast Site local Scope), LS(Link local Scope)
LLA(Link Local Address)
Check 01:
Destination: 3fff::2(GS)
Candidate Source Addresses: 3ffe::random(temporary)(GS) or fec0::1(SS) or LLA(LS)
Result: 3ffe::random(temporary)(GS)
Scope(LLA) < Scope(fec0::1): If Scope(LLA) < Scope(3fff::2), yes, prefer fec0::1
Scope(fec0::1) < Scope(3ffe::random): If Scope(fec0::1) < Scope(3fff::2), yes, prefer 3ffe::random
Check 02:
Destination: ff0e::2(GSM)
Candidate Source Addresses: 3ffe::random(temporary)(GS) or fec0::1(SS) or LLA(LS)
Result: 3ffe::random(temporary)(GS)
Scope(LLA) < Scope(fec0::1): If Scope(LLA) < Scope(ff0e::2), yes, prefer fec0::1
Scope(fec0::1) < Scope(3ffe::random): If Scope(fec0::1) < Scope(ff0e::2), yes, prefer 3ffe::random
Check 03:
Destination: 3fff::2(GS)
Candidate Source Addresses: fec0::random(temporary)(SS) or LLA(LS)
Result: fec0::random(temporary)(SS)
Scope(LLA) < Scope(fec0::random): If Scope(LLA) < Scope(3fff::2), yes, prefer fec0::random
Check 04:
Destination: ff0e::2(GSM)
Candidate Source Addresses: fec0::random(temporary)(SS) or LLA(LS)
Result: fec0::random(temporary)(SS)
Scope(LLA) < Scope(fec0::random): If Scope(LLA) < Scope(ff0e::2), yes, prefer fec0::random
Check 05:
Destination: ff08::2(OSM)
Candidate Source Addresses: 3ffe::random(temporary)(GS) or fec0::1(SS) or LLA(LS)
Result: 3ffe::random(temporary)(GS)
Scope(LLA) < Scope(fec0::1): If Scope(LLA) < Scope(ff08::2), yes, prefer fec0::1
Scope(fec0::1) < Scope(3ffe::random): If Scope(fec0::1) < Scope(ff08::2), yes, prefer 3ffe::random
Check 06:
Destination: ff08::2(GS)
Candidate Source Addresses: fec0::random(temporary)(SS) or LLA(LS)
Result: fec0::random(temporary)(SS)
Scope(LLA) < Scope(fec0::random): If Scope(LLA) < Scope(ff08::2), yes, prefer fec0::random
Check 07:
Destination: fec0::2(SS)
Candidate Source Addresses: 3ffe::random(temporary)(SS) or LLA(LS)
Result: fec0::random(temporary)(SS)
Scope(LLA) < Scope(3ffe::random): If Scope(LLA) < Scope(fec0::2), yes, prefer 3ffe::random
Check 08:
Destination: ff05::2(SSM)
Candidate Source Addresses: 3ffe::random(temporary)(SS) or LLA(LS)
Result: fec0::random(temporary)(SS)
Scope(LLA) < Scope(3ffe::random): If Scope(LLA) < Scope(ff05::2), yes, prefer 3ffe::random
Check 09:
Destination: fec0::2(SS)
Candidate Source Addresses: 3ffe::1(GS) or fec0::random(temporary)(SS) or LLA(LS)
Result: fec0::random(temporary)(SS)
Scope(LLA) < Scope(fec0::random): If Scope(LLA) < Scope(fec0::2), yes, prefer fec0::random
Scope(fec0::random) < Scope(3ffe::1): If Scope(fec0::random) < Scope(fec0::2), no, prefer fec0::random
Check 10:
Destination: ff05::2(SSM)
Candidate Source Addresses: 3ffe::1(GS) or fec0::random(temporary)(SS) or LLA(LS)
Result: fec0::random(temporary)(SS)
Scope(LLA) < Scope(fec0::random): If Scope(LLA) < Scope(ff05::2), yes, prefer fec0::random
Scope(fec0::random) < Scope(3ffe::1): If Scope(fec0::random) < Scope(ff05::2), no, prefer fec0::random
Check 01:
PASS: Receive Echo Request & source address != fec0::1 and LLA
Check 02:
PASS: Receive Echo Request & source address != fec0::1 and LLA
Check 03:
PASS: Receive Echo Request & source address != LLA
Check 04:
PASS: Receive Echo Request & source address != LLA
Check 05:
PASS: Receive Echo Request & source address != fec0::1 and LLA
Check 06:
PASS: Receive Echo Request & source address != LLA
Check 07:
PASS: Receive Echo Request & source address != LLA
Check 08:
PASS: Receive Echo Request & source address != LLA
Check 09:
PASS: Receive Echo Request & source address != 3ffe::1 and LLA
Check 10:
PASS: Receive Echo Request & source address != 3ffe::1 and 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