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