RA w/ Preference=LOW, Route Information Option(Link1:Preference=LOW) vs.
RA w/ Preference=HIGH, Route Information Option(Link1:Preference=HIGH)
Prefered Router get unreachable
Host
rtinfo_LOW_HIGH_UNREACH.seq [-tooloption ...] -pkt RTINFO.def
-tooloption: v6eval tool option
HOST2
|
---------------+-----------+--- Link2
|
RT3 HOST1
| |
-------+-------+-------+---+--- Link1
| |
RT2 RT1
| |
-------+-------+-------+------- Link0
|
NUT
| Link0 |
global |
3ffe:501:ffff:100::/64 |
Testing link |
| Link1 |
global |
3ffe:501:ffff:101::/64 |
other link |
| Link2 |
global |
3ffe:501:ffff:102::/64 |
other link |
| RT1(Link0) |
global |
3ffe:501:ffff:100::a0a0 |
Alternative router |
| link-local |
fe80::200:ff:fe00:a0a0 |
| ether |
00:00:00:00:a0:a0 |
| RT2(Link0) |
global |
3ffe:501:ffff:100::a1a1 |
Alternative router |
| link-local |
fe80::200:ff:fe00:a1a1 |
| ether |
00:00:00:00:a1:a1 |
| HOST1 |
global |
3ffe:501:ffff:101::1 |
Host on Link1 |
| HOST2 |
global |
>3ffe:501:ffff:102::1 |
Host on Link2 |
Flush Default Router List
Flush Routing Table
Flush Neighbor Cache
Flush Prefix List
NUT RT1 RT2 HOST1 HOST2
| | | | |
==================(INITIALIZE)===================
| | | | |
| Link1Pref=LOW| | | |
| Pref=LOW| | | |
|<--------------+ | | | RA from RT1
| | Link1Pref=HIGH| | |
| | Pref=HIGH| | |
|<------------------------------+ | | RA from RT2
| | | | |
|<--------------#-----------------------+ | Echo Request (via RT1)
+-------------------------------#------>| | Echo Reply (via RT2)(*1)
| | | | |
|<--------------#-------------------------------+ Echo Request (via RT1)
+-------------------------------#-------------->| Echo Reply (via RT2)(*2)
| | | | |
(Wait for expiration Reachable time)
| | | | |
|<--------------#-----------------------+ | Echo Request (via RT1)
+-------------------------------#------>| | Echo Reply (via RT2)(*3)
| | | | |
+------------------------------>| | | Probe RT2 (NS)
+------------------------------>| | | Probe RT2 (NS)
+------------------------------>| | | Probe RT2 (NS)
| | | | |
|<--------------#-----------------------+ | Echo Request (via RT1)
+---------------#---------------------->| | Echo Reply (via RT1)(*4)
| | | | |
+-------------->| | | | Probe RT1 (NS)
|<--------------+ | | | NA
| | | | |
|<--------------#-------------------------------+ Echo Request (via RT1)
+---------------#------------------------------>| Echo Reply (via RT1)(*5)
| | | | |
| | | | |
==================(INITIALIZE)===================
| | | | |
| Link1Pref=HIGH| | | |
| Pref=HIGH| | | |
|<--------------+ | | | RA from RT1
| | Link1Pref=LOW| | |
| | Pref=LOW| | |
|<------------------------------+ | | RA from RT2
| | | | |
|<--------------#-----------------------+ | Echo Request (via RT1)
+---------------#---------------------->| | Echo Reply (via RT1)(*6)
| | | | |
|<--------------#-------------------------------+ Echo Request (via RT1)
+---------------#------------------------------>| Echo Reply (via RT1)(*7)
| | | | |
(Wait for expiration Reachable time)
| | | | |
|<--------------#-----------------------+ | Echo Request (via RT1)
+---------------#---------------------->| | Echo Reply (via RT1)(*8)
| | | | |
+-------------->| | | | Probe RT1 (NS)
+-------------->| | | | Probe RT1 (NS)
+-------------->| | | | Probe RT1 (NS)
| | | | |
|<--------------#-----------------------+ | Echo Request (via RT1)
+-------------------------------#------>| | Echo Reply (via RT2)(*9)
| | | | |
+------------------------------>| | | Probe RT2 (NS)
|<------------------------------+ | | NA
| | | | |
|<--------------#-------------------------------+ Echo Request (via RT1)
+-------------------------------#-------------->| Echo Reply (via RT2)(*10)
| | | | |
(INITIALIZATION)
1. RT1 Sends RA w/ Preference=LOW, RouteInfoOption(Link1:Preference=LOW)
2. RT2 Sends RA w/ Preference=HIGH, RouteInfoOption(Link1:Preference=HIGH)
3. HOST1 Sends Echo Request
4. NUT Sends Echo Reply to HOST1 via RT2(*1)
5. HOST2 Sends Echo Request
6. NUT Sends Echo Reply to HOST2 via RT2(*2)
(WAIT TO EXPIRE REACHABLE TIME)
7. HOST1 Sends Echo Request
8. NUT Sends Echo Reply to HOST1 via RT2(*3)
9. HOST1 Sends Echo Request
10. NUT Sends Echo Reply to HOST1 via RT1(*4)
11. HOST2 Sends Echo Request
12. NUT Sends Echo Reply to HOST2 via RT1(*5)
(INITIALIZATION)
13. RT1 Sends RA w/ Preference=HIGH, RouteInfoOption(Link1:Preference=HIGH)
14. RT2 Sends RA w/ Preference=LOW, RouteInfoOption(Link1:Preference=LOW)
15. HOST1 Sends Echo Request
16. NUT Sends Echo Reply to HOST1 via RT1(*6)
17. HOST2 Sends Echo Request
18. NUT Sends Echo Reply to HOST2 via RT1(*7)
(WAIT TO EXPIRE REACHABLE TIME)
19. HOST1 Sends Echo Request
20. NUT Sends Echo Reply to HOST1 via RT1(*8)
21. HOST1 Sends Echo Request
22. NUT Sends Echo Reply to HOST1 via RT2(*9)
23. HOST2 Sends Echo Request
24. NUT Sends Echo Reply to HOST2 via RT2(*10)
(*1)
PASS: HOST1 receives Echo Reply via RT2
(*2)
PASS: HOST2 receives Echo Reply via RT2
(*3)
PASS: HOST1 receives Echo Reply via RT2
(*4)
PASS: HOST1 receives Echo Reply via RT1
(*5)
PASS: HOST2 receives Echo Reply via RT1
(*6)
PASS: HOST1 receives Echo Reply via RT1
(*7)
PASS: HOST2 receives Echo Reply via RT1
(*8)
PASS: HOST1 receives Echo Reply via RT1
(*9)
PASS: HOST1 receives Echo Reply via RT2
(*10)
PASS: HOST2 receives Echo Reply via RT2
ROUTE.pm
RTINFO.def