247 Commits
Author SHA1 Message Date
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
Satoshi FujimotoandFUJITA Tomonori c31011c7b3 docs: Update docs for prefix representations in Neighbor Set
Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-12-16 20:27:06 +09:00
IWASE YusukeandFUJITA Tomonori 694d364d09 docs: cli-command-syntax.md: Missing arg to show VRF RIB
This patch fixes the example on the doc for showing the VRF RIB where
the "rib" keyword is missing to execute the command.

Also, the "-a <adddress family>" is an option and this patch puts it
into brackets.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-12-16 20:17:20 +09:00
sanjmonkeyandFUJITA Tomonori c09259df3d docs: update evpn.md for with yabgp 0.4.0
Notable change: extended community formatting.

# YaBGP BGP EVPN extended communities:
mac-mobility
esi-label
es-import
router-mac
2017-12-16 20:15:32 +09:00
IWASE Yusuke dde8f6f063 docs: Equal Cost Multipath Routing with Zebra
This patch adds a new document explains Equal Cost Multipath routes with
Zebra integration.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-12-11 13:51:02 +09:00
IWASE Yusuke c761860260 flowspec.md: Update for the details of CLI syntax
This patch updates the documents for the FlowSpec along with the
improvements of the CLI command implementation.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-12-05 11:44:47 +09:00
IWASE YusukeandFUJITA Tomonori 517a9433b9 packet/bgp: Use ESI str in EVPN Ethernet Segment Route
This patch fixes to use the string representation of ESI in the string
representation of EVPN Ethernet Segment Route.
Currently, displayed in the default representation of ESI structure.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-11-21 10:56:23 +09:00
IWASE Yusuke 8fed41e4cc evpn.md: Update tutorial using YABGP
This patch updates output examples of GoBGP and YABGP along with
changing the format of "gobgp global rib -a evpn" command.
Also, this patch provides the curl command examples for sending POST
requests.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-11-07 15:15:41 +09:00
IWASE Yusuke 53e1ce496f evpn.md: Update tutorial using BaGPipe
To interchange routes over iBGP session, this patch add the config of
Route Reflector to GoBGP and updates output examples of GoBGP and
BaGPipe.

Note: The BaGPipe Docker image described on this document does not seem
to be maintained for 2 years and contains the old version of BaGPipe. So
this patch drops the description of this image.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-11-07 14:50:35 +09:00
IWASE Yusuke f4708f8099 docs: Update table of contents of evpn.md
Signed-off-by: IWASE Yusuke <[email protected]>
2017-11-07 14:50:35 +09:00
IWASE YusukeandFUJITA Tomonori d2a34c964a zclient: Enable to connect to FRRouting
Signed-off-by: IWASE Yusuke <[email protected]>
2017-11-02 00:14:09 +09:00
Satoshi FujimotoandFUJITA Tomonori 6f88f352e4 doc: Document for Peer Group and Dynamic Neighbor
Signed-off-by: Satoshi Fujimoto <[email protected]>
2017-11-01 15:49:55 +09:00
IWASE YusukeandFUJITA Tomonori e1d2dd025d docs/sources/mrt: Reduce unrelated config examples
This patch reduces the unrelated or unimportant configuration examples
for the readability.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-10-03 23:04:20 +09:00
IWASE YusukeandFUJITA Tomonori cb2d10ed31 docs/sources/mrt: Update contents index
Signed-off-by: IWASE Yusuke <[email protected]>
2017-10-03 23:04:20 +09:00
IWASE YusukeandFUJITA Tomonori 4fb8241fec docs: Descriptions for per AFI-SAFI add-paths configuration
Signed-off-by: IWASE Yusuke <[email protected]>
2017-10-03 14:53:44 +09:00
Mo BattahandFUJITA Tomonori 7117e32aaf docs: update broken link in unnumbered-bgp.md 2017-10-01 22:56:54 +09:00
IWASE YusukeandFUJITA Tomonori dcc1efb627 docs: Configuration guide for Additional Paths
Signed-off-by: IWASE Yusuke <[email protected]>
2017-09-13 09:32:15 +09:00
IWASE Yusuke 41627dafb0 docs: Configuration guide for TTL Security
Signed-off-by: IWASE Yusuke <[email protected]>
2017-09-12 14:35:26 +09:00
IWASE Yusuke d36df99060 docs: Configuration guide for eBGP Multihop
Signed-off-by: IWASE Yusuke <[email protected]>
2017-09-11 15:20:00 +09:00
IWASE YusukeandFUJITA Tomonori 87b473ad4d cli: Enable to specify AS_PATH
This patch enables to specify AS_PATH in "gobgp" client command.
The syntax is similar to the output of AS_PATH in "global rib" show
command.

Signed-off-by: IWASE Yusuke <[email protected]>
2017-08-30 09:24:10 +09:00