# NAME

      SrcSelectRule7.seq - Source Address Selection
                           check Rule 7(Prefer public addresses)

      Rule 7: Prefer public addresses.
        If SA is a public address and SB is a temporary address, then prefer SA.

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

# TARGET

      Host

# SYNOPSIS

      SrcSelectRule7.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
             |      |      |           |
             |<------------+           | RA
             |      |      |           |
             |<------------+           | 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
             |      |      |           |
             +------------------------>| Echo Request
             |      |      |           |

      LLA(Link Local Address)

      *Following address grouup does not match Rule 1-6

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

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

      Check 03:
        Destination: 3fff::2
        Candidate Source Addresses: fec0::1 or fec0::random(temporary) or LLA
        Result: 3ffe::1

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

      Check 05:
        Destination: ff08::2
        Candidate Source Addresses: 3ffe::1 or 3fff::random(temporary) or fec0::1 or LLA
        Result: 3ffe::1

      Check 06:
        Destination: ff08::2
        Candidate Source Addresses: fec0::1 or fec0::random(temporary) or LLA
        Result: 3ffe::1

      Check 07:
        Destination: fec0::2
        Candidate Source Addresses: 3ffe::1 or 3fff::random(temporary) or LLA
        Result: 3ffe::1

      Check 08:
        Destination: ff05::2
        Candidate Source Addresses: 3ffe::1 or 3fff::random(temporary) or LLA
        Result: 3ffe::1

      Check 09:
        Destination: fec0::2
        Candidate Source Addresses: fec0::1 or fec0::random(temporary) or 3ffe::1 or LLA
        Result: 3ffe::1

      Check 10:
        Destination: ff05::2
        Candidate Source Addresses: fec0::1 or fec0::random(temporary) or 3ffe::1 or LLA
        Result: 3ffe::1

# JUDGEMENT

      Check 01:
        PASS: Receive Echo Request & source address = 3ffe::1

      Check 02:
        PASS: Receive Echo Request & source address = 3ffe::1

      Check 03:
        PASS: Receive Echo Request & source address = fec0::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

      Check 07:
        PASS: Receive Echo Request & source address = 3ffe::1

      Check 08:
        PASS: Receive Echo Request & source address = 3ffe::1

      Check 09:
        PASS: Receive Echo Request & source address = fec0::1

      Check 10:
        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