# NAME

      SrcSelectRule5_TempAddr.seq - Source Address Selection
                                    check Rule 5(Prefer outgoing interface) with temporary address

      Rule 5: Prefer outgoing interface.
        If SA is assigned to the interface that will be used to send to D
        and SB is assigned to a different interface, then prefer SA.

      Source addresses used for this test are "temporary address" and "public address".

# TARGET

      Host

# SYNOPSIS

      *This Test use Link0 & Link1

      SrcSelectRule5_TempAddr.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 privacy extention setting in NUT
         1.3. Add Candidate Source Addresses (temporary / public ) in NUT
              * temporary address is added by RA (TN->NUT)
         1.4. 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
         4.3. Remove privacy extention setting in NUT

            NUT    TN  Default Router  Destination
             |      |      |           |
             ======(INITIALIZE)=========
             |      |      |           |
             |<-<-<-+      |           | Set IPv6 Default Route
             |<-<-<-+      |           | Set privacy extention setting
             |<-<-<-+      |           | Add Candidate Source Addresses (Link0)
             |<-<-<-+      |           | Add Candidate Source Addresses (Link1)
             |      |      |           |
             |<------------+           | RA (Link0)
             |      |      |           |
             |<------------+           | Echo Request to Candidate Source Addresses 1 (Liunk0)
             +------------>|           | Echo Reply (Liunk0)
             |      |      |           |
             |<------------+           | Echo Request to Candidate Source Addresses 2 (Liunk0)
             +------------>|           | Echo Reply (Liunk0)
             |      |      |           |
             |<------------+           | Echo Request to Candidate Source Addresses (Liunk1)
             +------------>|           | Echo Reply (Liunk1)
             |      |      |           |
             ======(INITIALIZE)=========
             |      |      |           |
             |<-<-<-+      |           | Excute ping6 command
             |      |      |           |
             +------------------------>| Echo Request (Liunk0)
             |      |      |           |

      LLA(Link Local Address)

      * default route face to Link0
      *Following address grouup does not match Rule 1-4

      Check 01:
        Destination: 3fff::2
        Candidate Source Addresses: 3ffd::random(temporary)(Link0) or 3ffe::1(Link1) or fec0::1(Link0) or LLA(Link0)
        Result: 3ffe::random(temporary)(Link0)

      Check 02:
        Destination: ff0e::2
        Candidate Source Addresses: 3ffd::random(temporary)(Link0) or 3ffe::1(Link1) or fec0::1(Link0) or LLA(Link0)
        Result: 3ffe::random(temporary)(Link0)

      Check 03:
        Destination: ff08::2
        Candidate Source Addresses: 3ffd::random(temporary)(Link0) or 3ffe::1(Link1) or fec0::1(Link0) or LLA(Link0)
        Result: 3ffe::random(temporary)(Link0)

      Check 04:
        Destination: fec0::2
        Candidate Source Addresses: 3ffd::random(temporary)(Link0) or 3ffe::1(Link1) or LLA(Link0)
        Result: 3ffe::random(temporary)(Link0)

      Check 05:
        Destination: ff05::2
        Candidate Source Addresses: 3ffd::random(temporary)(Link0) or 3ffe::1(Link1) or LLA(Link0)
        Result: 3ffe::random(temporary)(Link0)

# JUDGEMENT

      Check 01:
        PASS: Receive Echo Request & source address != 3ffe::1 and fec0::1 and LLA

      Check 02:
        PASS: Receive Echo Request & source address != 3ffe::1 and fec0::1 and LLA

      Check 03:
        PASS: Receive Echo Request & source address != 3ffe::1 and fec0::1 and LLA

      Check 04:
        PASS: Receive Echo Request & source address != 3ffe::1 and LLA

      Check 05:
        PASS: Receive Echo Request & source address != 3ffe::1 and LLA

      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