summaryrefslogtreecommitdiffhomepage
path: root/tools/route-server/README.md
blob: 1940551e7a3e727f49dd748ab8d347fbf4590925 (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
# 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:

```bash
% 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:

```bash
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

```bash
% ./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:

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

You are supposed to get a console like the following:

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

```bash
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.

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

You can do something like:

```bash
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.

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

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