summaryrefslogtreecommitdiffhomepage
path: root/tools/route-server/README.md
blob: 6f58b776ece86a4efb51a686141f44c8d6865e77 (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
Route Server testing env
========================

Preparation
-----------
Set up Ubuntu 14.04 Server Edition Virtual Machine environment. We
tested this with Fusion on Mac OS X and VirtualBox on Windows 8.

Setup
-----
Open a terminal and execute the following commands:

```
% sudo apt-get install -y --force-yes wget
% wget https://raw.githubusercontent.com/osrg/gobgp/master/tools/route-server/route-server-docker.sh
% chmod +x route-server-docker.sh
% ./route-server-docker.sh install
```

All necessary software will be installed. You can find all configuration files (for Quagga and gobgp) at /usr/local/gobgp. Let's make sure:

```
fujita@ubuntu:~$ find /usr/local/gobgp|sort
/usr/local/gobgp
/usr/local/gobgp/gobgpd.conf
/usr/local/gobgp/q1
/usr/local/gobgp/q1/bgpd.conf
/usr/local/gobgp/q2
/usr/local/gobgp/q2/bgpd.conf
/usr/local/gobgp/q3
/usr/local/gobgp/q3/bgpd.conf
/usr/local/gobgp/q4
/usr/local/gobgp/q4/bgpd.conf
/usr/local/gobgp/q5
/usr/local/gobgp/q5/bgpd.conf
/usr/local/gobgp/q6
/usr/local/gobgp/q6/bgpd.conf
/usr/local/gobgp/q7
/usr/local/gobgp/q7/bgpd.conf
/usr/local/gobgp/q8
/usr/local/gobgp/q8/bgpd.conf
```

Before going to playing with this environment, you need to log out and log in again.

Start
-----
```
% ./route-server-docker.sh start
```
Eight containers for Quagga and one container for gobgp started.

Now ready to start gobgp so let's go into the container for gobgp:

```
% docker exec -it gobgp bash
```

You are supposed to get a console like the following:

```
root@ec36881de971:~#
```

```
root@e7cb66415e2f:~# go run gobgp/bgpd.go -f /mnt/gobgpd.conf
INFO[0000] Peer 10.0.0.1 is added
INFO[0000] Peer 10.0.0.2 is added
INFO[0000] Peer 10.0.0.3 is added
INFO[0000] Peer 10.0.0.4 is added
INFO[0000] Peer 10.0.0.5 is added
INFO[0000] Peer 10.0.0.6 is added
INFO[0000] Peer 10.0.0.7 is added
INFO[0000] Peer 10.0.0.8 is added       
```

After some time, you'll see more messages on the console (it means
Quagga bgpd connected to gobgp).

On a different console, let's check the status of Quagga.

```
% docker exec -it q1 bash
```

You can do something like:

```
root@a40ac8058ca7:/# telnet localhost bgpd
```

btw, the password is "zebra".

The names of Quagga containers are q1, q2, q3, q4, q5, q6, q7, and q8
respectively. You can execute bash on any container with 'docker exec'
command.

Stop
----
The following command stops and cleans up everything.

```
% ./route-server-docker.sh stop
```

You can safely excute this command whenever something goes wrong and start again.