NAME

  SrcSelectRule3.seq - Source Address Selection
                       check Rule 3(Avoid deprecated addresses)

  Rule 3: Avoid deprecated addresses. 
    The addresses SA and SB have the same scope. If one of the two 
    source addresses is "preferred" and one of them is "deprecated" (in 
    the RFC 2462 sense), then prefer the one that is "preferred." 

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


TARGET

  Host


SYNOPSIS

  SrcSelectRule3.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. Add Candidate Source Addresses (deprecated / public ) in NUT
          * deprecated address is added by RA(PreferredLifetime=1) (TN->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
         |      |      |           |
         |<------------+           | 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
         |      |      |           |
         +------------------------>| Echo Request
         |      |      |           |

  LLA(Link Local Address)

  *Following address grouup does not match Rule 1-2

  Check 01:
    Destination: 3fff::2
    Candidate Source Addresses: 3ffe::1 or 3ffe::NUT'sEUI64(deprecated) or fec0::1 or LLA
    Result: 3ffe::1

  Check 02:
    Destination: 3fff::2
    Candidate Source Addresses: fec0::1 or fec0::NUT'sEUI64(deprecated) or LLA
    Result: fec0::1

  Check 03:
    Destination: ff08::2
    Candidate Source Addresses: 3ffe::1 or 3ffe::NUT'sEUI64(deprecated) or fec0::1 or LLA
    Result: 3ffe::1

  Check 04:
    Destination: ff08::2
    Candidate Source Addresses: fec0::1 or fec0::NUT'sEUI64(deprecated) or LLA
    Result: fec0::1

  Check 05:
    Destination: fec0::2
    Candidate Source Addresses: 3ffe::1 or 3ffe::NUT'sEUI64(deprecated) or LLA
    Result: 3ffe::1

  Check 06:
    Destination: fec0::2
    Candidate Source Addresses: 3ffe::1 or fec0::1 or fec0::NUT'sEUI64(deprecated) or LLA
    Result: fec0::1


JUDGEMENT

  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

  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