diff options
author | ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> | 2015-08-31 23:21:51 +0900 |
---|---|---|
committer | ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp> | 2015-08-31 23:23:19 +0900 |
commit | 920d4752783e0512a76f2bd7711b5810bc7cd460 (patch) | |
tree | f173f7e0634bbbce9ea7e1b3bd927512d26e487b /docs/sources | |
parent | 50ac60d74c802f1db6d5724aa0c12fd98126b09d (diff) |
docs: add route-reflector document
Signed-off-by: ISHIDA Wataru <ishida.wataru@lab.ntt.co.jp>
Diffstat (limited to 'docs/sources')
-rw-r--r-- | docs/sources/route-reflector.md | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/docs/sources/route-reflector.md b/docs/sources/route-reflector.md new file mode 100644 index 00000000..c8fbce50 --- /dev/null +++ b/docs/sources/route-reflector.md @@ -0,0 +1,69 @@ +# Route Reflector + +This page explains how to set up GoBGP as a route reflector. + +## Prerequisites + +Assumed you finished [Getting Started](https://github.com/osrg/gobgp/blob/master/docs/sources/getting-started.md). + +## Configuration + +Configure `RouteReflector.RouteReflectorConfig` section to enable route reflector functionality. +The configuration below configures two route reflector clients and two normal iBGP peers. + +```toml +[Global] + [Global.GlobalConfig] + RouterId = "192.168.0.1" + As = 65000 +[Neighbors] + [[Neighbors.NeighborList]] + [Neighbors.NeighborList.NeighborConfig] + NeighborAddress = "192.168.10.2" + PeerAs = 65000 + [Neighbors.NeighborList.RouteReflector.RouteReflectorConfig] + RouteReflectorClient = true + RouteReflectorClusterId = "192.168.0.1" + [[Neighbors.NeighborList]] + [Neighbors.NeighborList.NeighborConfig] + NeighborAddress = "192.168.10.3" + PeerAs = 65000 + [Neighbors.NeighborList.RouteReflector.RouteReflectorConfig] + RouteReflectorClient = true + RouteReflectorClusterId = "192.168.0.1" + [[Neighbors.NeighborList]] + [Neighbors.NeighborList.NeighborConfig] + NeighborAddress = "192.168.10.4" + PeerAs = 65000 + [[Neighbors.NeighborList]] + [Neighbors.NeighborList.NeighborConfig] + NeighborAddress = "192.168.10.5" + PeerAs = 65000 +``` + +## Check route reflector behavior + +Let's check adj-rib-out of a route reflector client. + +```bash +$ gobgp neighbor 192.168.10.2 adj-out +Network Next Hop AS_PATH Attrs +10.0.2.0/24 192.168.10.3 [{Origin: i} {Med: 0} {LocalPref: 100} {Originator: 192.168.0.3} {ClusterList: [192.168.0.1]}] +10.0.3.0/24 192.168.10.4 [{Origin: i} {Med: 0} {LocalPref: 100} {Originator: 192.168.0.4} {ClusterList: [192.168.0.1]}] +10.0.4.0/24 192.168.10.5 [{Origin: i} {Med: 0} {LocalPref: 100} {Originator: 192.168.0.5} {ClusterList: [192.168.0.1]}] +``` + +You can see the routes from other iBGP peers are reflected. +Also Originator and ClusterList path attributes are added. + +For the normal iBGP peer's adj-rib-out + +```bash +$ gobgp neighbor 192.168.10.4 adj-out +Network Next Hop AS_PATH Attrs +10.0.1.0/24 192.168.10.2 [{Origin: i} {Med: 0} {LocalPref: 100}] +10.0.2.0/24 192.168.10.3 [{Origin: i} {Med: 0} {LocalPref: 100}] +``` + +Only the routes from route reflector clients are advertised via GoBGP. +Originator and ClusterList path attributes are not added. |