blob: 66fbe36770fafd0f16cf23ba6ea2b5ad15e134ce (
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
|
# CLI Operations
This page explains comprehensive examples of operations via GoBGP CLI.
## Prerequisites
Assumed that you finished [Getting Started](https://github.com/osrg/gobgp/blob/master/docs/sources/getting-started.md).
## Configuration
This example starts with the same configuration with [Getting Started](https://github.com/osrg/gobgp/blob/master/docs/sources/getting-started.md)
Make sure that all the peers are connected.
```
$ gobgp neighbor
Peer AS Up/Down State |#Advertised Received Accepted
10.0.255.1 65001 00:00:04 Establ | 2 2 2
10.0.255.2 65002 00:00:04 Establ | 2 2 2
```
## Adding or deleting a peer dynamically
You can add a new peer or delete the existing peer without stopping
GoBGP daemon. You can do such by adding a new peer configuration or
deleting the existing configuration of a peer in your configuration
file and sending `HUP` signal to GoBGP daemon.
In this example, 10.0.255.3 peer is added. The configuration file
should be like the following.
```
[Global]
[Global.GlobalConfig]
As = 64512
RouterId = "192.168.255.1"
[Neighbors]
[[Neighbors.NeighborList]]
[Neighbors.NeighborList.NeighborConfig]
NeighborAddress = "10.0.255.1"
PeerAs = 65001
[Neighbors.NeighborList.RouteServer]
[Neighbors.NeighborList.RouteServer.RouteServerConfig]
RouteServerClient = true
[[Neighbors.NeighborList]]
[Neighbors.NeighborList.NeighborConfig]
NeighborAddress = "10.0.255.2"
PeerAs = 65002
[Neighbors.NeighborList.RouteServer]
[Neighbors.NeighborList.RouteServer.RouteServerConfig]
RouteServerClient = true
[[Neighbors.NeighborList]]
[Neighbors.NeighborList.NeighborConfig]
NeighborAddress = "10.0.255.3"
PeerAs = 65003
[Neighbors.NeighborList.RouteServer]
[Neighbors.NeighborList.RouteServer.RouteServerConfig]
RouteServerClient = true
```
After you send `HUP` signal (`kill` command), you should see 10.0.255.3 peer.
```
$ gobgp neighbor
Peer AS Up/Down State |#Advertised Received Accepted
10.0.255.1 65001 00:03:42 Establ | 3 2 2
10.0.255.2 65002 00:03:42 Establ | 3 2 2
10.0.255.3 65003 00:01:39 Establ | 4 1 1
```
## Temporarily disable a configured peer
Sometime you might want to disable the configured peer without
removing the configuration for the peer. Likely, again you enable the
peer later.
```
$ gobgp neighbor 10.0.255.1 disable
$ gobgp neighbor
Peer AS Up/Down State |#Advertised Received Accepted
10.0.255.1 65001 never Idle(Admin) | 0 0 0
10.0.255.2 65002 00:12:32 Establ | 1 2 2
10.0.255.3 65003 00:10:29 Establ | 2 1 1
```
The state of 10.0.255.1 is `Idle(Admin)`. Let's enable the peer again.
```
$ gobgp neighbor 10.0.255.1 enable
$ gobgp neighbor
Peer AS Up/Down State |#Advertised Received Accepted
10.0.255.1 65001 never Idle | 0 0 0
10.0.255.2 65002 00:13:33 Establ | 1 2 2
10.0.255.3 65003 00:11:30 Establ | 2 1 1
```
Eventually, the state should be `Established` again.
```
$ gobgp neighbor
Peer AS Up/Down State |#Advertised Received Accepted
10.0.255.1 65001 00:00:02 Establ | 3 2 2
10.0.255.2 65002 00:14:59 Establ | 3 2 2
10.0.255.3 65003 00:12:56 Establ | 4 1 1
```
## Reset, Reset, and Reset
Various reset operations are supported.
```
$ gobgp neighbor 10.0.255.1 reset
$ gobgp neighbor 10.0.255.1 softreset
$ gobgp neighbor 10.0.255.1 softresetin
$ gobgp neighbor 10.0.255.1 softresetout
```
You can know more about gobgp command syntax [here](https://github.com/osrg/gobgp/blob/master/docs/sources/cli-command-syntax.md).
|