RA_incVLT - check the address expiration process. NUT receives RAs twice which contain one Global Prefix and second RA contains greater VLT value than first one.(Assigning and Expiring Global address)
All Node
RA_incVLT.seq [-tooloption ...] -pkt <packetdef> [addrconf=<addrconfname>]
-tooloption : v6eval tool option <packetdef> : packet definition file (v6eval tool option) <addrconfname>: how to configure address on NUT; boot/reboot
detail of v6eval tool option: see perldoc V6evalTool.pm, perldoc V6evalRemote.pm
Reboot NUT or Initialize interface of NUT or Initialize IPv6 stack of NUT.
The following tests are prepared in this test package. See INDEX file.
Test for all node
When NUT receives RA which contains Global Prefix, NUT assignes autoconfigured address. Later NUT receives different RA which contains same prefix but greater VLT than first one before first VLT exires. At this point, NUT resets its VLT using second VLT, and the assinged address MUST expire second VLT[sec] later.
Test sequence
TN NUT --------------------------------- Initialize NUT
Configure address of NUT (reboot or interface initialization etc...)
TN wait the DAD NS sent from NUT
<=== Judgement #1: DAD NS =======
name: DADNS_from_NUT
<=== Judgement #2: RS ===========
name: RS_from_NUT, RS_from_NUT_wSLL
==== Action #1: RA =============>
name: RA_GA0
(First RA VLT=shortVLT)
<=== Judgement #3: DAD NS =======
name: DADNS_from_NUT_GA0Tgt
Wait for DupAddrDetectTransmits*RetransTimer
Check if NUT's address is configured
==== Action #2: DAD NS =========>
name: DADNS_from_TN_GA0Tgt
<=== Judgement #4: DAD NA =======
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
Wait until (shortVLT*1/2)+5[sec] pasts since receiving first RA
==== Action #3: RA =============>
name: RA_GA0
(Second RA VLT=longVLT)
X<== Judgement #5: DAD NS =======
name: DADNS_from_NUT_GA0Tgt,DADNS_any, DADNS_any_wSLL
Check if NUT's address is configured
==== Action #4: DAD NS =========>
name: DADNS_from_TN_GA0Tgt
<=== Judgement #6: DAD NA =======
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
Wait until (shortVLT)-3[sec] pasts since receiving first RA
Check if NUT's address is configured
==== Action #5: DAD NS =========>
name: DADNS_from_TN_GA0Tgt
<=== Judgement #7: DAD NA =======
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
Wait until (shortVLT)+3[sec] pasts since receiving first RA
Check if NUT's address is configured
==== Action #6: DAD NS =========>
name: DADNS_from_TN_GA0Tgt
<=== Judgement #8: DAD NA =======
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
Wait until (longVLT)-3[sec] pasts since receiving second RA
Check if NUT's address is configured
==== Action #7: DAD NS =========>
name: DADNS_from_TN_GA0Tgt
<=== Judgement #9: DAD NA =======
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
Wait until (longVLT)+3[sec] pasts since receiving second RA
Check if NUT's address is configured
==== Action #8: DAD NS =========>
name: DADNS_from_TN_GA0Tgt
X<== Judgement #10: DAD NA ======
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
Test for all NODE
NUT performs Stateless Address Autoconfiguration(Global) on its interface
Judgement #1. NUT MUST transmit DAD NS for its autoconfigured Link-local address.
name: DADNS_from_NUT
src: ::0
dst: solnode[NUT's tentative Link-local]
TargetAddress: NUT's tentative Link-local
Judgement #2. NUT SHOULD transmit RS.
name: RS_from_NUT
src: NUT's Link-local
dst: allrouter
Action #1. TN transmits RA which contains Global Prefix.
name: RA_GA0
src: TN's Link-local
dst: allnode
PXOPT: Global0
VLT=30
PLT=15
Judgement #3. NUT MUST transmit DAD NS for its autoconfigured Global address.
(* If the address is consisits of EUI64, as same as Link-local
address, This DAD MAY be omitted.)
name: DADNS_from_NUT_GA0Tgt
src: ::0
dst: solnode[NUT's tentative Global0]
TargetAddress: NUT's tentative Global0
Action #2. TN transmits DAD NS to check if NUT's address is configured.
name: DADNS_from_TN_GA0Tgt
src: ::0
dst: solnode[NUT's Global0]
TargetAddress: NUT's Global0
Judgement #4. NUT MUST transmit DAD NA for its autoconfigured Global address.
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
src: NUT's Link-local
dst: allnode
TargetAddress: NUT's Global0
RFlag: 0
SFlag: 0
OFlag: 1
TLLOPT: NUT's MAC address
(* TLLOPT may be omitted)
Action #3. TN transmits RA which contains Global Prefix.
name: RA_GA0_VLT60
src: TN's Link-local
dst: allnode
PXOPT: Global0
VLT=60
PLT=30
Judgement #5. NUT MUST NOT transmit DAD NS for its autoconfigured Global address.
(* If the address is consisits of EUI64, as same as Link-local
address, This DAD MAY be omitted.)
name: DADNS_from_NUT_GA0Tgt
src: ::0
dst: solnode[NUT's tentative Global0]
TargetAddress: NUT's tentative Global0
Action #4. TN transmits DAD NS to check if NUT's address is configured.
name: DADNS_from_TN_GA0Tgt
src: ::0
dst: solnode[NUT's Global0]
TargetAddress: NUT's Global0
Judgement #6. NUT MUST transmit DAD NA for its autoconfigured Global address.
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
src: NUT's Link-local
dst: allnode
TargetAddress: NUT's Global0
RFlag: 0
SFlag: 0
OFlag: 1
TLLOPT: NUT's MAC address
(* TLLOPT may be omitted)
Action #5. TN transmits DAD NS to check if NUT's address is configured.
name: DADNS_from_TN_GA0Tgt
src: ::0
dst: solnode[NUT's Global0]
TargetAddress: NUT's Global0
Judgement #7. NUT MUST transmit DAD NA for its autoconfigured Global address.
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
src: NUT's Link-local
dst: allnode
TargetAddress: NUT's Global0
RFlag: 0
SFlag: 0
OFlag: 1
TLLOPT: NUT's MAC address
(* TLLOPT may be omitted)
Action #6. TN transmits DAD NS to check if NUT's address is configured.
name: DADNS_from_TN_GA0Tgt
src: ::0
dst: solnode[NUT's Global0]
TargetAddress: NUT's Global0
Judgement #8. NUT MUST transmit DAD NA for its autoconfigured Global address.
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
src: NUT's Link-local
dst: allnode
TargetAddress: NUT's Global0
RFlag: 0
SFlag: 0
OFlag: 1
TLLOPT: NUT's MAC address
(* TLLOPT may be omitted)
Action #7. TN transmits DAD NS to check if NUT's address is configured.
name: DADNS_from_TN_GA0Tgt
src: ::0
dst: solnode[NUT's Global0]
TargetAddress: NUT's Global0
Judgement #9. NUT MUST transmit DAD NA for its autoconfigured Global address.
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
src: NUT's Link-local
dst: allnode
TargetAddress: NUT's Global0
RFlag: 0
SFlag: 0
OFlag: 1
TLLOPT: NUT's MAC address
(* TLLOPT may be omitted)
Action #8. TN transmits DAD NS to check if NUT's address is configured.
name: DADNS_from_TN_GA0Tgt
src: ::0
dst: solnode[NUT's Global0]
TargetAddress: NUT's Global0
Judgement #10. NUT MUST NOT transmit DAD NA for its autoconfigured Global address.
name: DADNA_from_NUT_GA0Tgt, DADNA_from_NUT_GA0Tgt_woTLL
src: NUT's Link-local
dst: allnode
TargetAddress: NUT's Global0
RFlag: 0
SFlag: 0
OFlag: 1
TLLOPT: NUT's MAC address
(* TLLOPT may be omitted)
detail of v6eval tool option: see perldoc V6evalTool.pm, perldoc V6evalRemote.pm