NAME

  DstSelectRule3.seq - Destination Address Selection
                       Check Rule 3(Avoid deprecated addresses)

  Rule 3: Avoid deprecated addresses. 
    If Source(DA) is deprecated and Source(DB) is not, then prefer DB. 

  Source addresses used for this test are "preferred address" and "deprecated address".


TARGET

  Host


SYNOPSIS

  DstSelectRule3.seq [-tooloption ...] -pkt ADDR_SELECT.def
    -tooloption : v6eval tool option


INITIALIZATION

  None


TEST PROCEDURE

  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 DNS setting in NUT
     1.3. Add Candidate Source Addresses (deprecated / public ) in NUT
          * deprecated address is added by RA(PreferredLifetime=1) (TN->NUT)
     1.4. Check Candidate Source Addresses by Ping6 (TN->NUT)
  2. Send Ping6 from NUT to Destination(FQDN)
     2.1. NUT send DNS query (question) (NUT->TN)
     2.2. TN send DNS query (answer) (TN->NUT)
     2.3. 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 DNS setting in NUT

        NUT    TN  Default  DNS  Destination
         |      |  Router    |     |
         |      |      |     |     |
         ======(INITIALIZE)=========
         |      |      |     |     |
         |<-<-<-+      |     |     | Set IPv6 Default Route
         |<-<-<-+      |     |     | Set DNS setting
         |<-<-<-+      |     |     | Add Candidate Source Addresses
         |      |      |     |     |
         |<------------+     |     | RA (PreferredLifetime=1)
         |      |      |     |     |
         |<------------+     |     | Echo Request to Candidate Source Addresses 1
         +------------>|     |     | Echo Reply
         |      |      |     |     |
         |<------------+     |     | Echo Request to Candidate Source Addresses 2
         +------------>|     |     | Echo Reply
         |      |      |     |     |
         ======(INITIALIZE)=========
         |      |      |     |     |
         |<-<-<-+      |     |     | Excute ping6 command
         |      |      |     |     |
         +------------------>|     | DNS query question
         <-------------------+     | DNS query answer
         +------------------------>| Echo Request
         |      |      |     |     |

  LLA(Link Local Address)

  *Following address grouup does not match Rule 1-2

  Check 01:
    DNS Address: fec0::9
    Candidate Source Addresses: fec0::1 or 3ffe::NUT'sEUI64(deprecated) or LLA
    Destination Address List: 3fff::2 or fec0::2
    Result: fec0::2 (src fec0::1) then 3fff::2 (src 3ffe::NUT'sEUI64(deprecated))

  Check 02:
    DNS Address: 3ffe::9
    Candidate Source Addresses: 3ffe::1 or fec0::NUT'sEUI64(deprecated) or LLA
    Destination Address List: fec0::2 or 3fff::2
    Result: 3fff::2 (src 3ffe::1) then fec0::2 (src fec0::NUT'sEUI64(deprecated))


JUDGEMENT

  Check 01:
    PASS: Receive Echo Request & destination(source) = fec0::2(fec0::1)

  Check 02:
    PASS: Receive Echo Request & destination(source) = 3ffe::2(3ffe::1)

  TEST
    PASS: All Check = PASS


SEE ALSO

  perldoc V6evalTool
  ADDR_SELECT.html "Default Address Selection for IPv6" Test Common Utility
das_rules.html "Default Address Selection for IPv6" Rules