NAME

  SrcSelectRule2_deprecated.seq - Source Address Selection
                                  Check Rule 2(Prefer appropriate scope) with deprecated 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 "preferred address" and "deprecated address".


TARGET

  Host


SYNOPSIS

  SrcSelectRule2_deprecated.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
         |      |      |           |

  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::NUT'sEUI64(deprecated)(GS) or fec0::1(SS) or LLA(LS)
    Result: 3ffe::NUT'sEUI64(deprecated)(GS)

    Scope(LLA) < Scope(fec0::1): If Scope(LLA) < Scope(3fff::2),  yes, prefer fec0::1
    Scope(fec0::1) < Scope(3ffe::NUT'sEUI64): If Scope(fec0::1) < Scope(3fff::2),  yes, prefer 3ffe::NUT'sEUI64

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

    Scope(LLA) < Scope(fec0::NUT'sEUI64): If Scope(LLA) < Scope(3ffe::2),  yes, prefer fec0::NUT'sEUI64

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

    Scope(LLA) < Scope(fec0::1): If Scope(LLA) < Scope(ff08::2),  yes, prefer fec0::1
    Scope(fec0::1) < Scope(3ffe::NUT'sEUI64): If Scope(fec0::1) < Scope(ff08::2),  yes, prefer 3ffe::NUT'sEUI64

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

    Scope(LLA) < Scope(fec0::NUT'sEUI64): If Scope(LLA) < Scope(ff08::2),  yes, prefer fec0::NUT'sEUI64

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

    Scope(LLA) < Scope(3ffe::NUT'sEUI64): If Scope(LLA) < Scope(fec0::2),  yes, prefer 3ffe::NUT'sEUI64

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

    Scope(LLA) < Scope(fec0::NUT'sEUI64): If Scope(LLA) < Scope(fec0::2),  yes, prefer fec0::NUT'sEUI64
    Scope(fec0::NUT'sEUI64) < Scope(3ffe::1): If Scope(fec0::NUT'sEUI64) < Scope(fec0::2),  no, prefer fec0::NUT'sEUI64


JUDGEMENT

  Check 01:
    PASS: Receive Echo Request & source address = 3ffe::NUT'sEUI64(deprecated)

  Check 02:
    PASS: Receive Echo Request & source address = fec0::NUT'sEUI64(deprecated)

  Check 03:
    PASS: Receive Echo Request & source address = 3ffe::NUT'sEUI64(deprecated)

  Check 04:
    PASS: Receive Echo Request & source address = fec0::NUT'sEUI64(deprecated)

  Check 05:
    PASS: Receive Echo Request & source address = 3ffe::NUT'sEUI64(deprecated)

  Check 06:
    PASS: Receive Echo Request & source address = fec0::NUT'sEUI64(deprecated)

  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