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


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