]> git.proxmox.com Git - mirror_frr.git/blob - tests/topotests/ospf6-topo1/README.md
28f68e8fa57664188ab5bc424ba1841e550692db
[mirror_frr.git] / tests / topotests / ospf6-topo1 / README.md
1 # OSPFv3 (IPv6) Topology Test
2
3 ## Topology
4 -----\
5 SW1 - Stub Net 1 SW2 - Stub Net 2 \
6 fc00:1:1:1::/64 fc00:2:2:2::/64 \
7 \___________________/ \___________________/ |
8 | | |
9 | | |
10 | ::1 | ::2 |
11 +---------+---------+ +---------+---------+ |
12 | R1 | | R2 | |
13 | FRRouting | | FRRouting | |
14 | Rtr-ID: 10.0.0.1 | | Rtr-ID: 10.0.0.2 | |
15 +---------+---------+ +---------+---------+ |
16 | ::1 | ::2 \
17 \______ ___________/ OSPFv3
18 \ / Area 0.0.0.0
19 \ / /
20 ~~~~~~~~~~~~~~~~~~ |
21 ~~ SW5 ~~ |
22 ~~ Switch ~~ |
23 ~~ fc00:A:A:A::/64 ~~ |
24 ~~~~~~~~~~~~~~~~~~ |
25 | /---- |
26 | ::3 | SW3 - Stub Net 3 |
27 +---------+---------+ /-+ fc00:3:3:3::/64 |
28 | R3 | / | /
29 | FRRouting +--/ \---- /
30 | Rtr-ID: 10.0.0.3 | ::3 ___________/
31 +---------+---------+ \
32 | ::3 \
33 | \
34 ~~~~~~~~~~~~~~~~~~ |
35 ~~ SW6 ~~ |
36 ~~ Switch ~~ |
37 ~~ fc00:B:B:B::/64 ~~ \
38 ~~~~~~~~~~~~~~~~~~ OSPFv3
39 | Area 0.0.0.1
40 | ::4 /
41 +---------+---------+ /---- |
42 | R4 | | SW4 - Stub Net 4 |
43 | FRRouting +------+ fc00:4:4:4::/64 |
44 | Rtr-ID: 10.0.0.4 | ::4 | /
45 +-------------------+ \---- /
46 -----/
47
48 ## FRR Configuration
49
50 Full config as used is in r1 / r2 / r3 / r4 / r5 subdirectories
51
52 Simplified `R1` config (R1 is similar)
53
54 hostname r1
55 !
56 interface r1-stubnet
57 ipv6 address fc00:1:1:1::1/64
58 ipv6 ospf6 network broadcast
59 !
60 interface r1-sw5
61 ipv6 address fc00:a:a:a::1/64
62 ipv6 ospf6 network broadcast
63 !
64 router ospf6
65 router-id 10.0.0.1
66 log-adjacency-changes detail
67 redistribute static
68 interface r1-stubnet area 0.0.0.0
69 interface r1-sw5 area 0.0.0.0
70 !
71 ipv6 route fc00:1111:1111:1111::/64 fc00:1:1:1::1234
72
73 Simplified `R3` config
74
75 hostname r3
76 !
77 interface r3-stubnet
78 ipv6 address fc00:3:3:3::3/64
79 ipv6 ospf6 network broadcast
80 !
81 interface r3-sw5
82 ipv6 address fc00:a:a:a::3/64
83 ipv6 ospf6 network broadcast
84 !
85 interface r3-sw6
86 ipv6 address fc00:b:b:b::3/64
87 ipv6 ospf6 network broadcast
88 !
89 router ospf6
90 router-id 10.0.0.3
91 log-adjacency-changes detail
92 redistribute static
93 interface r3-stubnet area 0.0.0.0
94 interface r3-sw5 area 0.0.0.0
95 interface r3-sw6 area 0.0.0.1
96 !
97 ipv6 route fc00:3333:3333:3333::/64 fc00:3:3:3::1234
98
99 ## Tests executed
100
101 ### Check if FRR is running
102
103 Test is executed by running
104
105 vtysh -c "show log" | grep "Logging configuration for"
106
107 on each FRR router. This should return the logging information for all daemons registered
108 to Zebra and the list of running daemons is compared to the daemons started for this test (`zebra` and `ospf6d`)
109
110 ### Verify for OSPFv3 to converge
111
112 OSPFv3 is expected to converge on each view within 60s total time. Convergence is verified by executing (on each node)
113
114 vtysh -c "show ipv6 ospf neigh"
115
116 and checking for "Full" neighbor status in the output. An additional 15 seconds after the full converge is waited for routes to populate before the following routing table checks are executed
117
118 ### Verifying OSPFv3 Routing Tables
119
120 Routing table is verified by running
121
122 vtysh -c "show ipv6 route"
123
124 on each node and comparing the result to the stored example config (see `show_ipv6_route.ref` in r1 / r2 / r3 / r4 directories). Link-Local addresses are masked out before the compare.
125
126 ### Verifying Linux Kernel Routing Table
127
128 Linux Kernel IPv6 Routing table is verified on each FRR node with
129
130 ip -6 route
131
132 Tables are compared with reference routing table (see `ip_6_address.ref` in r1 / r2 / r3 / r4 directories). Link-Local addresses are translated after getting collected on each node with interface name to make them consistent