]> git.proxmox.com Git - mirror_frr.git/blob - tests/topotests/bgp_multiview_topo1/README.md
Merge pull request #5421 from sworleys/PBR-Del-Mark-All-Seq
[mirror_frr.git] / tests / topotests / bgp_multiview_topo1 / README.md
1 # Simple FreeRangeRouting Route-Server Test
2
3 ## Topology
4 +----------+ +----------+ +----------+ +----------+ +----------+
5 | peer1 | | peer2 | | peer3 | | peer4 | | peer5 |
6 | AS 65001 | | AS 65002 | | AS 65003 | | AS 65004 | | AS 65005 |
7 +-----+----+ +-----+----+ +-----+----+ +-----+----+ +-----+----+
8 | .1 | .2 | .3 | .4 | .5
9 | ______/ / / _________/
10 \ / ________________/ / /
11 | | / _________________________/ / +----------+
12 | | | / __________________________/ ___| peer6 |
13 | | | | / ____________________________/.6 | AS 65006 |
14 | | | | | / _________________________ +----------+
15 | | | | | | / __________________ \ +----------+
16 | | | | | | | / \ \___| peer7 |
17 | | | | | | | | \ .7 | AS 65007 |
18 ~~~~~~~~~~~~~~~~~~~~~ \ +----------+
19 ~~ SW1 ~~ \ +----------+
20 ~~ Switch ~~ \_____| peer8 |
21 ~~ 172.16.1.0/24 ~~ .8 | AS 65008 |
22 ~~~~~~~~~~~~~~~~~~~~~ +----------+
23 |
24 | .254
25 +---------+---------+
26 | FRR R1 |
27 | BGP Multi-View |
28 | Peer 1-3 > View 1 |
29 | Peer 4-5 > View 2 |
30 | Peer 6-8 > View 3 |
31 +---------+---------+
32 | .1
33 |
34 ~~~~~~~~~~~~~ Stub Network is redistributed
35 ~~ SW0 ~~ into each BGP view with different
36 ~~ 172.20.0.1/28 ~~ attributes (using route-map)
37 ~~ Stub Switch ~~
38 ~~~~~~~~~~~~~
39
40 ## FRR Configuration
41
42 Full config as used is in r1 subdirectory
43
44 Simplified `R1` config:
45
46 hostname r1
47 !
48 interface r1-stub
49 description Stub Network
50 ip address 172.20.0.1/28
51 no link-detect
52 !
53 interface r1-eth0
54 description to PE router - vlan1
55 ip address 172.16.1.254/24
56 no link-detect
57 !
58 router bgp 100 view 1
59 bgp router-id 172.30.1.1
60 network 172.20.0.0/28 route-map local1
61 timers bgp 60 180
62 neighbor 172.16.1.1 remote-as 65001
63 neighbor 172.16.1.2 remote-as 65002
64 neighbor 172.16.1.5 remote-as 65005
65 !
66 router bgp 100 view 2
67 bgp router-id 172.30.1.1
68 network 172.20.0.0/28 route-map local2
69 timers bgp 60 180
70 neighbor 172.16.1.3 remote-as 65003
71 neighbor 172.16.1.4 remote-as 65004
72 !
73 router bgp 100 view 3
74 bgp router-id 172.30.1.1
75 network 172.20.0.0/28
76 timers bgp 60 180
77 neighbor 172.16.1.6 remote-as 65006
78 neighbor 172.16.1.7 remote-as 65007
79 neighbor 172.16.1.8 remote-as 65008
80 !
81 route-map local1 permit 10
82 set community 100:9999 additive
83 set metric 0
84 !
85 route-map local2 permit 10
86 set as-path prepend 100 100 100 100 100
87 set community 100:1 additive
88 set metric 9999
89 !
90
91 ## Tests executed
92
93 ### Check if FRR is running
94
95 Test is executed by running
96
97 vtysh -c "show logging" | grep "Logging configuration for"
98
99 on router `R1`. This should return the logging information for all daemons registered
100 to Zebra and the list of running daemons is compared to the daemons started for this
101 test (`zebra` and `bgpd`)
102
103 ### Verify for BGP to converge
104
105 BGP is expected to converge on each view within 60s total time. Convergence is verified by executing
106
107 vtysh -c "show ip bgp view 1 summary"
108 vtysh -c "show ip bgp view 2 summary"
109 vtysh -c "show ip bgp view 3 summary"
110
111 and expecting 11 routes seen in the last column for each peer. (Each peer sends 11 routes)
112
113 ### Verifying BGP Routing Tables
114
115 Routing table is verified by running
116
117 vtysh -c "show ip bgp view 1"
118 vtysh -c "show ip bgp view 2"
119 vtysh -c "show ip bgp view 3"
120
121 and comparing the result against the stored table in the r1/show_ip_bgp_view_NN.ref files
122 (with NN 1, 2, 3) (A few header and trailer lines are cut/adjusted ahead of the compare to
123 adjust for different output based on recent changes)
124
125