NAME

  DstSelectRule9.seq - Destination Address Selection
                       Check Rule 9(Use longest matching prefix)

  Rule 9: Use longest matching prefix. 
    When DA and DB belong to the same address family (both are IPv6 or both are IPv4):
    If CommonPrefixLen(DA, Source(DA)) > CommonPrefixLen(DB, Source(DB)), then prefer DA.

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


TARGET

  Host and Router


SYNOPSIS

  DstSelectRule9.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 in 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
         |      |      |     |     |
         |<------------+     |     | Echo Request to Candidate Source Addresses 1
         +------------>|     |     | Echo Reply
         |      |      |     |     |
         |<------------+     |     | Echo Request to Candidate Source Addresses 2
         +------------>|     |     | Echo Reply
         |      |      |     |     |
         |<------------+     |     | Echo Request to Candidate Source Addresses 3
         +------------>|     |     | 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-8

  Check 01:
    DNS Address: 3ffe:1111:1111:1111::9
    Candidate Source Addresses: 3ffe:1111:1111:1111::1 or 3ffe:2222:1111:1111::1 or fec0::1 or LLA
    Destination Address List: 3ffe:2222:1111:1112::2 or 3ffe:1111:1111:1111::2
    Result: 3ffe:1111:1111:1111::2 (src 3ffe:1111:1111:1111::1) then 3ffe:2222:1111:1112::2 (src 3ffe:2222:1111:1111::1)

  Check 02:
    DNS Address: 3ffe:1111:1111:1111:::9
    Candidate Source Addresses: 3ffe:1111:1111:1111::1 or 3ffe:2222:1111:1111::1 or fec0::1 or LLA
    Destination Address List: 3ffe:2222:1111:1112::2 or 3ffe:1111:1111:1111::2
    Result: 3ffe:1111:1111:1111::2 (src 3ffe:1111:1111:1111::1) then 3ffe:2222::2 (src 3ffe:2222:1111:1111::1)


JUDGEMENT

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

  Check 02:
    PASS: Receive Echo Request & destination(source) = 3ffe:1111:1111:1111::2 (3ffe:1111:1111:1111::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