NAME

ADDRSTATE_src_select - check src address selection and address lifetime expiry


TARGET

Host


SYNOPSIS

ADDRSTATE_src_select.seq [-tooloption ...] -pkt <packetdef> waitsec=<waitsec> [init=<initname>,<initname>...] [sd=<sdopt>]

  -tooloption   : v6eval tool option
  <packetdef>   : packet definition file (v6eval tool option)
  <waitsec>     : Wait time [sec] since address configuration. sample:40,70,100
  <initname>    : how to initialize NUT; DADSuccess_boot/DADFail_boot/ra
  <sdopt>       : debug options
 detail of v6eval tool option: see perldoc V6evalTool.pm, perldoc V6evalRemote.pm
 detail of parameters: see Test sequence for IPv6 Stateless Address Autoconfiguration.


INITIALIZATION

 detail of Initialization: see Test sequence for IPv6 Stateless Address Autoconfiguration.


TEST PROCEDURE

 The following tests are prepared in this test package. See INDEX file.

Test for a Host

   Source address selection and address lifetime expiry (valid deprecated VS valid preferred)
   Source address selection and address lifetime expiry (valid deprecated VS valid deprecated)
   Source address selection and address lifetime expiry (invalid VS valid deprecated)
   Source address selection and address lifetime expiry (invalid VS invalid)

Test sequence

  TN(or X)                   NUT
  ------------------------------
  Initialize NUT (see ...)

  Send Unsolicited RA to configure address of NUT
  ==== Action #1: Unsolicited RA ===>
        name: usolra
        src: TN's Link-local address
        dst: allnodes multicast
        SLL option exists
        Prefix option
              PrefixLength: 64
              LFlag: 1
              AFlag: 1
              ValidLifetime: 90
              PreferredLifetime: 30
              Prefix: _GLOBAL0_UCAST_PRFX
        Prefix option
              PrefixLength: 64
              LFlag: 1
              AFlag: 1
              ValidLifetime: 120
              PreferredLifetime: 60
              Prefix: _GLOBAL1_UCAST_PRFX

  TN wait the DAD NS sends from NUT. (This judgement is informational only.)
  <=== Judgement #1-1: DAD NS ====
        name: dadns_from_NUT
        src: ::0
        dst: solnode[TargetAddress]
        TargetAddress: NUT's tentative _GLOBAL[01]_UCAST_PRFX + interface-id

  TN wait the DAD NS sends from NUT. (This judgement is informational only.)
  <=== Judgement #1-2: DAD NS ====
        name: dadns_from_NUT
        src: ::0
        dst: solnode[TargetAddress]
        TargetAddress: NUT's tentative _GLOBAL[01]_UCAST_PRFX + interface-id

  Wait for NUT to finish DAD. (sleep $RetransTimerSec=1 [sec])

  Wait <waitsec> [sec] to spent NUT's address lifetime.

  Execute ping on NUT by remote control
  ==== Action #2: execute "ping6 3ffe:501:ffff:102::1" ===>

  TN wait the ICMPv6 echo request send from NUT.
  <=== Judgement #2: ICMPv6 echo request ====
        name: echo_request
        src: <Source Address>
        dst: 3ffe:501:ffff:102::1


JUDGEMENT

Test for a Host

The following table shows RA for address configuration and address states by <waitsec>.

    Contents of RA (usolra)
   ------------------------------------------------------
     Prefix                  GLOBAL0   GLOBAL1
     PreferredLifetime[sec]    30        60
     ValidLifetime[sec]        90       120
   ------------------------------------------------------

    Address states by waitsec
   ------------------------------------------------------
    <waitsec> [sec]      GLOBAL0 state  GLOBAL1 state
      10( 0-30)           valid pref    valid pref
      40(30-60)           valid dep     valid pref
      70(60-90)           valid dep     valid dep
     100(90-120)          invalid       valid dep
     130(120-  )          invalid       invalid
   ------------------------------------------------------

Source address selection and address lifetime expiry (valid deprecated VS valid preferred)

  -pkt ADDRSTATE_dep_pref.def  waitsec=40  init=DADSuccess_boot

   Judgement #1-1,2. DAD NS may come from NUT on Global address autoconfiguration.
                (This judgement is informational only.)

   Judgement #2.  ICMPv6 echo request must come from NUT.
        name: echo_request
        src: _GLOBAL1_UCAST_PRFX + interface-id  (so waitsec=40)
        dst: 3ffe:501:ffff:102::1

Source address selection and address lifetime expiry (valid deprecated VS valid deprecated)

  -pkt ADDRSTATE_dep_dep.def   waitsec=70  init=DADSuccess_boot

   Judgement #1-1,2. DAD NS may come from NUT on Global address autoconfiguration.
                (This judgement is informational only.)

   Judgement #2.  ICMPv6 echo request must come from NUT.
        name: echo_request
        src: _GLOBAL[01]_UCAST_PRFX + interface-id  (so waitsec=70)
        dst: 3ffe:501:ffff:102::1

Source address selection and address lifetime expiry (invalid VS valid deprecated)

  -pkt ADDRSTATE_inval_dep.def waitsec=100 init=DADSuccess_boot

   Judgement #1-1,2. DAD NS may come from NUT on Global address autoconfiguration.
                (This judgement is informational only.)

   Judgement #2.  ICMPv6 echo request must come from NUT.
        name: echo_request
        src: _GLOBAL1_UCAST_PRFX + interface-id  (so waitsec=100)
        dst: 3ffe:501:ffff:102::1

Source address selection and address lifetime expiry (invalid VS invalid)

  -pkt ADDRSTATE_inval_inval.def waitsec=130 init=DADSuccess_boot

   Judgement #1-1,2. DAD NS may come from NUT on Global address autoconfiguration.
                (This judgement is informational only.)

   Judgement #2.  ICMPv6 echo request must not come from NUT.
        name: echo_request
        src: _GLOBAL[01]_UCAST_PRFX + interface-id  (so waitsec=130)
        dst: 3ffe:501:ffff:102::1


SEE ALSO

 detail of v6eval tool option: see perldoc V6evalTool.pm, perldoc V6evalRemote.pm
 detail of parameters: see Test sequence for IPv6 Stateless Address Autoconfiguration.