NAME

Packet receiving and Site-local address lifetime expiry (valid preferred, valid deprecated, invalid)


TARGET

Host


SYNOPSIS

ADDRSTATE_pkt_receiving.seq -pkt SLOCAL0_valRA_vlt60plt30.def addrconf=ra init=DADSuccess_boot

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


INITIALIZATION

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


TEST PROCEDURE

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

  Send Unsolicited RA to configure address of NUT (sequence parameter addrconf=ra)
  ==== 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: 60
              PreferredLifetime: 30
              Prefix: <Prefix>

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

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

  Check if NUT's address is configured.
  ==== Action #2: DAD NS ====>
        name: chkconf_dadns_to_NUT
        src: ::0
        dst: solnode[TargetAddress]
        TargetAddress: NUT's <Prefix> + interface-id

  DAD NA come from NUT because NUT's address is configured (valid preferred).
  <=== Judgement #2: DAD NA come====
        name: chkconf_dadna_from_NUT (or chkconf_dadna_from_NUT_rf1 if NUT is a Router)
        src: NUT's Link-local address or TargetAddress
        dst: allnodes multicast
        TargetAddress: NUT's <Prefix> + interface-id
        OFlag: 1
        RFlag: 0 ( if NUT is a Router then 1)

  Wait NUT's address state becomes valid deprecated. (sleep 35[sec])

  Check if NUT's address is configured.
  ==== Action #3: DAD NS ====>
        name: chkconf_dadns_to_NUT
        src: ::0
        dst: solnode[TargetAddress]
        TargetAddress: NUT's <Prefix> + interface-id

  DAD NA come from NUT because NUT's address is configured (valid deprecated).
  <=== Judgement #3: DAD NA come====
        name: chkconf_dadna_from_NUT (or chkconf_dadna_from_NUT_rf1 if NUT is a Router)
        src: NUT's Link-local address or TargetAddress
        dst: allnodes multicast
        TargetAddress: NUT's <Prefix> + interface-id
        OFlag: 1
        RFlag: 0 ( if NUT is a Router then 1)

  Wait NUT's address state becomes invalid. (sleep 35[sec])

  Check if NUT's address is configured.
  ==== Action #4: DAD NS ====>
        name: chkconf_dadns_to_NUT
        src: ::0
        dst: solnode[TargetAddress]
        TargetAddress: NUT's <Prefix> + interface-id

  DAD NA does not come from NUT because NUT's address is not configured (invalid).
  <=== Judgement #4: DAD NA does not come====
        name: chkconf_dadna_from_NUT (or chkconf_dadna_from_NUT_rf1 if NUT is a Router)
        src: NUT's Link-local address or TargetAddress
        dst: allnodes multicast
        TargetAddress: NUT's <Prefix> + interface-id
        OFlag: 1
        RFlag: 0 ( if NUT is a Router then 1)


JUDGEMENT

  TN(or X)                   NUT
  ------------------------------
  Send Unsolicited RA to configure address of NUT (sequence parameter addrconf=ra)
  ==== Action #1: Unsolicited RA ===>
        name: usolra
        Prefix option
              ValidLifetime: 60
              PreferredLifetime: 30
              Prefix: _SLOCAL0_UCAST_PRFX

  TN wait the DAD NS sends from NUT. (This judgement is informational only.)
  <=== Judgement #1: DAD NS ====
        name: dadns_from_NUT
        TargetAddress: NUT's tentative _SLOCAL0_UCAST_PRFX + interface-id

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

  Check if NUT's address is configured.
  ==== Action #2: DAD NS ====>
        name: chkconf_dadns_to_NUT
        TargetAddress: NUT's _SLOCAL0_UCAST_PRFX + interface-id

  DAD NA come from NUT because NUT's address is configured (valid preferred).
  <=== Judgement #2: DAD NA come====
        name: chkconf_dadna_from_NUT (or chkconf_dadna_from_NUT_rf1 if NUT is a Router)
        TargetAddress: NUT's _SLOCAL0_UCAST_PRFX + interface-id

  Wait NUT's address state becomes valid deprecated. (sleep 35[sec])

  Check if NUT's address is configured.
  ==== Action #3: DAD NS ====>
        name: chkconf_dadns_to_NUT
        TargetAddress: NUT's _SLOCAL0_UCAST_PRFX + interface-id

  DAD NA come from NUT because NUT's address is configured (valid deprecated).
  <=== Judgement #3: DAD NA come====
        name: chkconf_dadna_from_NUT (or chkconf_dadna_from_NUT_rf1 if NUT is a Router)
        TargetAddress: NUT's _SLOCAL0_UCAST_PRFX + interface-id

  Wait NUT's address state becomes invalid.

  Check if NUT's address is configured.
  ==== Action #4: DAD NS ====>
        name: chkconf_dadns_to_NUT
        TargetAddress: NUT's _SLOCAL0_UCAST_PRFX + interface-id

  DAD NA does not come from NUT because NUT's address is not configured (invalid).
  <=== Judgement #4: DAD NA does not come====
        name: chkconf_dadna_from_NUT (or chkconf_dadna_from_NUT_rf1 if NUT is a Router)
        TargetAddress: NUT's _SLOCAL0_UCAST_PRFX + interface-id


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.