266 Commits
Author SHA1 Message Date
FUJITA Tomonori 03f864a23f docs: update cli output
Signed-off-by: FUJITA Tomonori <[email protected]>
2020-03-05 14:28:44 +09:00
Hitoshi Irino 05a7e0e993 Supporting FRR7.2 2020-01-13 18:55:51 +09:00
FUJITA Tomonori 79a9e20096 docs: update python grpc code generation
Signed-off-by: FUJITA Tomonori <[email protected]>
2019-11-07 15:05:00 +09:00
FUJITA Tomonori a464d93cb3 docs: update bmp verification section
gobgmp was removed long ago. Add a pointer to other BMP server
implementations.

Signed-off-by: FUJITA Tomonori <[email protected]>
2019-10-18 10:13:08 +09:00
FUJITA Tomonori 03f8fb262c docs: update rpki config
Signed-off-by: FUJITA Tomonori <[email protected]>
2019-09-09 14:16:06 +09:00
Kevin KirscheandGitHub a7e6068fbd Fix error in BGP Confederation syntax
Sorry about this, I had forgot that TOML subtables require the name of the parent table in their path's. I've validated this configuration:

```
root@kkirsche-dev:/home/kkirsche# ./gobgpd -f config.toml
{"level":"info","msg":"gobgpd started","time":"2019-08-28T18:32:23Z"}
{"Topic":"Config","level":"info","msg":"Finished reading the config file","time":"2019-08-28T18:32:23Z"}
{"level":"info","msg":"Peer 10.0.0.2 is added","time":"2019-08-28T18:32:23Z"}
{"Topic":"Peer","level":"info","msg":"Add a peer configuration for:10.0.0.2","time":"2019-08-28T18:32:23Z"}
```

```
root@kkirsche-dev:# cat config.toml
[global]
  [global.config]
    as = 65001
    router-id = "10.0.0.1"
  [global.confederation.config]
    enabled = true
    identifier = 30
    member-as-list = [ 65002 ]
```
2019-08-28 14:33:00 -04:00
Kevin Kirsche bf2df3ec6f Add BGP Confederation documentation
Fix #2146
2019-08-27 15:36:48 -04:00
Hitoshi IrinoandFUJITA Tomonori 82f6a7c699 Support connecting zebra of cumulus linux 2019-08-21 08:58:25 +09:00
FUJITA Tomonori c17003e71b docs: add aspath attribute to library usage
Signed-off-by: FUJITA Tomonori <[email protected]>
2019-08-01 14:34:55 +09:00
Hitoshi Irino 7284d4cf8b Avoid panic by receiving vpnv6 prefixes with zebra reported in issue #2113
- Additionally bug fix which avoid panic caused by displaying vpnv6 prefixes using gobgp vrf rib
- Supporting FRRouting 7.1.x
2019-07-21 15:25:50 +09:00
George Melikov 4267098933 gRPC docs: include all needed paths
Signed-off-by: George Melikov <[email protected]>
2019-07-16 16:30:04 +03:00
FUJITA Tomonori 8fb71943c3 docs: remove obsolete rpki command
Long ago gobgp stored the validation results in memory but for reduce
memory usage, the cache was removed. Currently, every time you request
the validation result, gobgp validates paths with the latest ROAs.

Signed-off-by: FUJITA Tomonori <[email protected]>
2019-05-26 19:39:43 +09:00
FUJITA Tomonori 25428e881e fix markdownlint warnings
Signed-off-by: FUJITA Tomonori <[email protected]>
2019-05-16 20:59:53 +09:00
Hitoshi IrinoandFUJITA Tomonori 7d2823d4c0 zebra: supporting FRRouting version 7
- the "version" parameter (which means ZAPI) 6 in zebra config changes supporting FRRouting version 7 instead of FRRouting version 6.
 - the "software-name" parameter which supports backward compatibility is added in zebra config.
   (GoBGP support FRRouting version 6 when "version = 6" and "software-name = frr6" is configured.)
2019-05-08 08:48:26 +09:00
JieJhih JhangandFUJITA Tomonori 42feaea2a0 cmd/gobgp: Parse evpn IPMSI parameter 2019-04-11 07:30:35 +09:00
FUJITA Tomonori fa5878f6f3 docs: add how policy and soft reset works
Signed-off-by: FUJITA Tomonori <[email protected]>
2019-04-10 22:06:40 +09:00
Nasato GotoandFUJITA Tomonori 20d3254d3b docs: update image of route server policy model
Corresponding to Single RIB structure.
2019-03-29 16:11:00 +09:00
Hitoshi IrinoandFUJITA Tomonori b7189a6aca Updating documet integrating with FRRouting and use of mpls-label-range-size. 2019-03-14 21:20:31 +09:00
Vincent BernatandGitHub dc4d9c6d1b doc: fix "del" command for removing a neighbor
`gobgp neighbor delete` doesn't work. We need to use `gobgp neighbor del`.
2019-03-05 18:06:56 +01:00
FUJITA Tomonori 259d9b5264 docs: add v6 route example to lib
Signed-off-by: FUJITA Tomonori <[email protected]>
2019-02-19 12:37:27 +09:00
FUJITA Tomonori 662b711d32 docs: delete the description of obsolete mrt cli commands
Signed-off-by: FUJITA Tomonori <[email protected]>
2019-02-18 17:48:05 +09:00
Thomas RosensteinandFUJITA Tomonori 483a0b6e7d [Doc #1968] Add NeighborSet Warning 2019-02-16 18:16:00 +09:00
Artur Makutunowicz 48508c7f3d Add BGP-LS usage example 2019-01-31 12:21:16 -08:00
FUJITA Tomonori d2da513e32 docs: fix outdated comment of the gRPC API examples
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-25 06:34:07 +09:00
FUJITA Tomonori 48fa25d06c docs: delete outdated java/nodejs/ruby gRPC API examples
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-24 23:20:35 +09:00
FUJITA Tomonori bb1bbdd197 docs: update C++ gRPC API example
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-24 23:18:37 +09:00
FUJITA Tomonori 28d96f985b docs: update python gRPC API example
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-12-24 21:41:54 +09:00
FUJITA Tomonori 6b05d9db0f api: rename NlriAny in api.Path to Nlri
Also rename PathAttrsAny to PathAttrs. Both are the first choice
rather than the binary format members.

Support SortType member to ListPathRequest to add an option to return
unordered paths.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-16 16:49:49 +09:00
FUJITA Tomonori 99556f9cfc server: change monitor API design
https://github.com/osrg/gobgp/issues/1763#issuecomment-437594975

Follow Chris's proposal; consistent with the rest of the APIs.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-12 09:30:20 +09:00
FUJITA Tomonori 076d019b75 make gRPC server private
No need to be exported.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-09 19:10:43 +09:00
FUJITA Tomonori 809f941df9 docs/lib.md: add PeerMonitor API
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-11-09 08:55:11 +09:00
FUJITA Tomonori 97ad6b32ee api: change Family
fixes #1812

Avoid the cast and use strightforward data strcuture; two variables
for afi and safi instead of squashing two into one variable.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-08-28 15:36:50 +09:00
FUJITA Tomonori 834fb80a88 fix library usage example
also enable the CI for it again.

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-08-10 13:38:13 +09:00
[email protected]andFUJITA Tomonori 179824221b cmd: implement ebgp-multihop-ttl option when add neighbor
Signed-off-by: Chen Haiquan <[email protected]>
2018-07-14 15:27:53 +09:00
FUJITA Tomonori e4031c14a5 api: decrease the dependency
move grpc_server.go to server/

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-07-06 23:56:54 +09:00
Marcin Ptaszyński 5fbd0cb243 table: support AfiSafiIn Policy Condition match 2018-06-13 20:53:17 -07:00
urbanandFUJITA Tomonori 5d15b3f290 table: support nexthop match policy 2018-06-05 19:57:21 +09:00
IWASE YusukeandFUJITA Tomonori 32f7faa8e7 config: Enable to configure VRF via config file
This patch enables to configure VRF tables by using config file. This
feature is useful when using VRF-Neighbor feature.

Example of Usage:

```toml
[[vrfs]]
  [vrfs.config]
    name = "vrf1"
    id = 1
    rd = "65000:100"
    both-rt-list = ["65000:100"]
```

Signed-off-by: IWASE Yusuke <[email protected]>
2018-05-10 21:12:30 +09:00
Paul GreenbergandFUJITA Tomonori 97eea7aac6 gobgp/cmd: add router-mac option for BGP EVPN Type 2
The `router-mac` option in `gobgp` CLI allows sending Router's
MAC Extended Community via BGP EVPN Type 2 and Type 5 advertisements.

As explained in below RFC draft, this community is used to carry the
MAC address of the VTEP where MAC-IP pair resides.

More info: For example, GoBGP router (R1) peers with Cisco router (R2).
R1 is used by an orchestraction platform, e.g. OpenStack, Docker Swarm,
etc., to advertise container MAC-IP bindings. When R1 advertises the
binding it also sets next hop for the route as the host where the MAC-IP
binding (i.e. container) resides. When R2 receives the route, it will
not install it unless Router's MAC Extended Community is present. R2
will use the MAC address in the community to create an entry in MAC
address table of R2 pointint to NVE interface.

```
gobgp global rib -a evpn add macadv e9:72:d7:aa:1f:b4 \
    172.16.100.100 etag 0 label 34567 rd 10.1.1.1:100 \
    rt 65001:100 encap vxlan nexthop 10.10.10.10 \
    origin igp router-mac e9:72:d7:aa:1f:b4

gobgp global rib -a evpn add nexthop 10.10.10.10 origin igp \
    prefix 172.16.100.100/32 esi 0 etag 0 rd 10.1.1.1:100 \
    rt 65001:100 gw 10.10.10.10 label 34567 encap vxlan \
    router-mac e9:72:d7:aa:1f:b4
```

In the above example, a host with IP of `10.10.10.10` runs a
container connected to an Open vSwitch instance. The container's IP
address is `172.16.100.100` and MAC address `e9:72:d7:aa:1f:b4`.
The Open vSwitch is VTEP with `tunnel_key=34567`, i.e. VNID `34567`.

GoBGP (R1) and Cisco (R2) routers are in BGP AS 65001. R1's IP is
`10.1.1.1`. R2 used RT of `65001:100` to import routes and place
them into appropriate VRF. In this case the VRF is associated with
L2VNI from VLAN 300. Upon the receipt of the above BGP EVPN
Type 2 and Type 5 routes, R2 will create create a MAC address
entry pointing to it's NVE interface with destination IP address
of `10.10.10.10`.

```
Legend:
        * - primary entry, G - Gateway MAC, (R) - Routed MAC, O - Overlay MAC
        age - seconds since last seen,+ - primary entry using vPC Peer-Link,
        (T) - True, (F) - False, C - ControlPlane MAC
   VLAN     MAC Address      Type      age     Secure NTFY Ports
---------+-----------------+--------+---------+------+----+------------------
*  300     e972.d7aa.1fb4   static   -         F      F    nve1(10.10.10.10)
```

The R2 will use the `router-mac e9:72:d7:aa:1f:b4` as the destination MAC
address of the inner VXLAN packet. For example, an underlay host `20.20.20.20`
ping the container. The inner VXLAN L2 destination address is
`e9:72:d7:aa:1f:b4`. The inner VXLAN L2 source address is R2's MAC. The outer
VXLAN L3 source address, i.e. `10.2.2.2` is R2' NVE address.

```
OUTER VXLAN L2: 10:20:08:d0:ff:23 > b2:0e:19:6a:8d:51
OUTER VXLAN L3: 10.2.2.2.45532 > 10.10.10.10.4789: VXLAN, flags [I] (0x08), vni 34567
INNER VXLAN L2: 4e:f4:ca:aa:f6:7b > e9:72:d7:aa:1f:b4
INNER VXLAN L3: 20.20.20.20 > 172.16.100.100: ICMP echo reply, id 66, seq 1267, length 64
```

See also: https://tools.ietf.org/html/draft-sajassi-l2vpn-evpn-inter-subnet-forwarding-05#section-6.1

Signed-off-by: Paul Greenberg <[email protected]>
2018-05-08 09:57:33 +09:00
FUJITA Tomonori 34382909f0 docs: update policy about route server setup
Signed-off-by: FUJITA Tomonori <[email protected]>
2018-05-07 21:18:04 +09:00
IWASE Yusuke 008f34053c *.md: Improvements for markdownlint
Signed-off-by: IWASE Yusuke <[email protected]>
2018-04-02 16:16:01 +09:00
FUJITA Tomonori 4205bb3e9f docs: update gettting-started
The way to install GoBGP is outdated. README tells how so let's remove.

Also bash completion scripts haven't be updated for long time so let's
remove too.

[ci skip]

Signed-off-by: FUJITA Tomonori <[email protected]>
2018-02-25 21:07:16 +09:00
IWASE YusukeandFUJITA Tomonori 421a3840e0 cli: Support to advertise PMSI Tunnel Attribute
This patch enables "gobgp" command to advertise the PMSI Tunnel
Attribute which is appended to the EVPN Inclusive Multicast Ethernet Tag
routes for example.

Usage Example:
$ gobgp global rib -a evpn add multicast 10.0.0.1 etag 10 rd 65000:100 pmsi ingress-repl 100 1.1.1.1
$ gobgp global rib -a evpn
   Network                                              Labels     Next Hop             AS_PATH              Age        Attrs
*> [type:multicast][rd:65000:100][etag:10][ip:10.0.0.1]            0.0.0.0                                   00:00:00   [{Origin: ?} {Pmsi: type: ingress-repl, label: 100, tunnel-id: 1.1.1.1}]

Signed-off-by: IWASE Yusuke <[email protected]>
2018-02-16 11:28:02 +09:00
Dennis DurlingandFUJITA Tomonori 52770785bd docs: fix typo in README
is, not in
2018-01-19 06:39:44 +09:00
IWASE YusukeandFUJITA Tomonori 32e6e98ca4 zebra.md: Description for supported version of FRRouting
Signed-off-by: IWASE Yusuke <[email protected]>
2018-01-18 21:49:10 +09:00
IWASE YusukeandFUJITA Tomonori 6061f8e117 zebra.md: Update for Markdown linter
Signed-off-by: IWASE Yusuke <[email protected]>
2018-01-18 21:49:10 +09:00
IWASE YusukeandFUJITA Tomonori 51f69fe247 cli-command-syntax: Update desc for "monitor" command
This patch adds a section for "monitor adj-in" command and updates
syntax and output examples for other "monitor" sub commands.

Signed-off-by: IWASE Yusuke <[email protected]>
2018-01-12 21:36:57 +09:00
IWASE YusukeandFUJITA Tomonori 4aa2c438bf evpn.md: Add description and examples for ESI
Also this patch updates table of contents.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-12-30 20:33:37 +09:00
IWASE YusukeandFUJITA Tomonori 06be3c5c26 cli: Support EVPN Default Gateway Extended Community
This patch enables to support the Default Gateway Extended Community on
the EVPN MAC/IP Advertisement route.

Usage Example:
$ gobgp global rib -a evpn add macadv aa:bb:cc:dd:ee:ff 10.0.0.1 etag 10 label 20,30 rd 1.1.1.1:65000 default-gateway
$ gobgp global rib -a evpn
   Network                                                                      Labels     Next Hop             AS_PATH              Age        Attrs
*> [type:macadv][rd:1.1.1.1:65000][etag:10][mac:aa:bb:cc:dd:ee:ff][ip:10.0.0.1] [20,30]    0.0.0.0                                   00:00:00   [{Origin: ?} {Extcomms: [default-gateway]} [ESI: single-homed]]

Signed-off-by: IWASE Yusuke <[email protected]>
2017-12-30 20:33:37 +09:00
IWASE YusukeandFUJITA Tomonori b8863e5814 doc: CLI Syntax for EVPN routes
Signed-off-by: IWASE Yusuke <[email protected]>
2017-12-21 08:23:14 +09:00