- Verify that NUT updates IsRouter
- Verify that NUT assumes TN1 is on-link
- Verify that NUT transmits valid NSs in INCOMPLETE state
TN1 TR1 NUT
| | |
| | --> | RA
| | |
| * | Wait (MAX_RTR_SOLICITATION_DELAY + RetransTimer * DupAddrDetectTransmits)
| | |
| ------------> | Echo Request
| | <-- | NS (multicast) [Judgment #1]
| | ----> | NA (unicast)
| <------------ | Echo Reply
| | |
| | ----> | NA (unicast)
| ------------> | Echo Request [Judgment #2]
| | |
| | * Observe packets [Judgment #3]
| | |
V V V
State: NONE (TR1) (link-local)
1. Send RA
IPv6 header
hop limit = 255
source = TR1 (link-local)
destination = all-nodes multicast address
RA
cur hop limit = 64
M = 0
O = 0
router lifetime = 1800
reachable time = 0
retrans timer = 0
SLL option
Prefix Information option
prefix length = 64
L = 1
A = 1
valid Lifetime = 2592000
preferred lifetime = 604800
prefix = 3ffe:501:ffff:100::
2. Wait (MAX_RTR_SOLICITATION_DELAY + RetransTimer * DupAddrDetectTransmits)
Host constants:
MAX_RTR_SOLICITATION_DELAY: 1 second
Node constants:
RETRANS_TIMER : 1,000 milliseconds
Host Variables:
RetransTimer
Default : RETRANS_TIMER milliseconds
Node Variables:
DupAddrDetectTransmits
Default : 1
State: STALE (TR1) (link-local)
3. Send Echo Request
IPv6 header
source = TN1 (global)
destination = NUT (global)
Echo Request
4. Observe NS [Judgment #1]
IPv6 header
hop limit = 255
source = NUT (link-local)
destination = TR1 (link-local)
NS
target = TR1 (link-local)
SLL option
5. Send NA
IPv6 header
hop limit = 255
source = TR1 (link-local)
destination = NUT (link-local)
NA
R = 1
S = 1
O = 1
target = TR1 (link-local)
TLL option
State: REACHABLE (TR1) (link-local)
State: NONE (TN1) (link-local)
6. Observe Echo Reply [Judgment #2]
IPv6 header
source = NUT (global)
destination = TN1 (global)
Echo Reply
7. Send NA
IPv6 header
hop limit = 255
source = TR1 (link-local)
destination = NUT (link-local)
NA
R = 0
S = 1
O = 1
target = TR1 (link-local)
8. Send Echo Request
IPv6 header
source = TN1 (global)
destination = NUT (global)
Echo Request
State: REACHABLE (TR1) (link-local)
State: INCOMPLETE (TN1) (link-local)
9. Observe MAX_MULTICAST_SOLICIT NSs [Judgment #3]
IPv6 header
hop limit = 255
source = NUT (link-local)
destination = TR1 (solicited-node multicast address)
NS
target = TR1 (link-local)
SLL option
Node constants:
MAX_MULTICAST_SOLICIT: 3 transmissions
State: REACHABLE (TR1) (link-local)
State: NONE (TN1) (link-local)
- Remove global address
- Clear default router
- Set neighbor cache state for TR1 to NONE
TR1 NUT
| |
| ----> | RA (rltime=0, vltime=0, pltime=0)
| |
| ----> | NS (unicast) (different cached address)
| <---- | NA
| |
* | Wait (DELAY_FIRST_PROBE_TIME)
| |
| <---- | NS (unicast)
| <---- | NS (unicast)
| <---- | NS (unicast)
| |
V V
State: REACHABLE (TR1) (link-local)
1. Send RA
IPv6 header
hop limit = 255
source = TR1 (link-local)
destination = all-nodes multicast address
RA
cur hop limit = 64
M = 0
O = 0
router lifetime = 0
reachable time = 0
retrans timer = 0
Prefix Information option
prefix length = 64
L = 1
A = 1
valid Lifetime = 0
preferred lifetime = 0
prefix = 3ffe:501:ffff:100::
2. Send NS
IPv6 header
hop limit = 255
source = TR1 (link-local)
destination = NUT (link-local)
NS
target = NUT (link-local)
SLL option
address = TN1 (ether)
State: STALE (TR1) (link-local)
3. Observe NA
IPv6 header
source = NUT (link-local)
destination = TR1 (link-local)
NA
R = 0
S = 1
O = 1
target = NUT (link-local)
TLL option
State: DELAY (TR1) (link-local)
4. Wait (DELAY_FIRST_PROBE_TIME)
Node constants:
DELAY_FIRST_PROBE_TIME: 5 seconds
State: PROBE (TR1) (link-local)
5. Observe MAX_UNICAST_SOLICIT NSs
IPv6 header
hop limit = 255
source = NUT (link-local)
destination = TR1 (link-local)
NS
target = TR1 (link-local)
SLL option
Node constants:
MAX_UNICAST_SOLICIT: 3 transmissions
State: NONE (TR1) (link-local)