github.com/osrg/gobgp/v3@v3.30.0/docs/sources/route-reflector.md (about)

     1  # Route Reflector
     2  
     3  This page explains how to set up GoBGP as a route reflector.
     4  
     5  ## Prerequisites
     6  
     7  Assumed you finished [Getting Started](getting-started.md).
     8  
     9  ## Configuration
    10  
    11  Configure `RouteReflector.RouteReflectorConfig` section to enable route reflector functionality.
    12  The configuration below configures two route reflector clients and two normal iBGP peers.
    13  
    14  ```toml
    15  [global.config]
    16    router-id = "192.168.0.1"
    17    as = 65000
    18  
    19  [[neighbors]]
    20    [neighbors.config]
    21      neighbor-address = "192.168.10.2"
    22      peer-as = 65000
    23    [neighbors.route-reflector.config]
    24      route-reflector-client = true
    25      route-reflector-cluster-id = "192.168.0.1"
    26  
    27  [[neighbors]]
    28    [neighbors.config]
    29      neighbor-address = "192.168.10.3"
    30      peer-as = 65000
    31    [neighbors.route-reflector.config]
    32      route-reflector-client = true
    33      route-reflector-cluster-id = "192.168.0.1"
    34  
    35  [[neighbors]]
    36    [neighbors.config]
    37      neighbor-address = "192.168.10.4"
    38      peer-as = 65000
    39  
    40  [[neighbors]]
    41    [neighbors.config]
    42      neighbor-address = "192.168.10.5"
    43      peer-as = 65000
    44  ```
    45  
    46  ## Check route reflector behavior
    47  
    48  Let's check adj-rib-out of a route reflector client.
    49  
    50  ```bash
    51  $ gobgp neighbor 192.168.10.2 adj-out
    52  Network              Next Hop             AS_PATH              Attrs
    53  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]}]
    54  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]}]
    55  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]}]
    56  ```
    57  
    58  You can see the routes from other iBGP peers are reflected.
    59  Also Originator and ClusterList path attributes are added.
    60  
    61  For the normal iBGP peer's adj-rib-out
    62  
    63  ```bash
    64  $ gobgp neighbor 192.168.10.4 adj-out
    65  Network              Next Hop             AS_PATH              Attrs
    66  10.0.1.0/24          192.168.10.2                              [{Origin: i} {Med: 0} {LocalPref: 100}]
    67  10.0.2.0/24          192.168.10.3                              [{Origin: i} {Med: 0} {LocalPref: 100}]
    68  ```
    69  
    70  Only the routes from route reflector clients are advertised via GoBGP.
    71  Originator and ClusterList path attributes are not added.