summaryrefslogtreecommitdiffstats
path: root/tests/topotests/bgp_multiview_topo1/README.md
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)