Skip to content

Route Reflector Client#

Virtual Networks → RRRoute Reflector Clients

BGP route reflector clients peer with route reflectors to eliminate the need for a full-mesh iBGP peering network, where every router needs to establish an iBGP session with every other router in the network. They assume that all routes in the network are advertised by the route reflectors.

EDA creates a derived BGPPeer for every RouteReflector that the RouteReflectorClient targets. This targeting is done by assigning labels to the RouteReflector and referencing this label in the RouteReflectorClient.

Don't forget to use labels!

If no target label is specified in the RouteReflectorSelector property of the RouteReflectorClient resource, the RouteReflectorClient will create BGPPeer resources for every DefaultRouteReflector and RouteReflector.

Example:

  • RouteReflectorClient Client1 has no RouteReflectorSelectorlabels
  • RouteReflectorClient Client2 has one RouteReflectorSelector label: my-rr-label=A
  • RouteReflector RR1 has one label: my-rr-label=A
  • RouteReflector RR2 has one label: my-rr-label=B

In this example, Client1 will create 2 derived BGPPeer resources: one for each route reflector. Client2 will create only 1 derived BGPPeer resource towards RR1. RR2 does not have label my-rr-label=A, and therefore is not selected as route reflector for Client2.

Dependencies#

To configure this resource, the following resources must exist or be created alongside the RouteReflectorClient

  • A BGPGroup that the RouteReflectorClient will inherit settings from, such as local and remote AS numbers
  • An interface that the RouteReflectorClient will use to establish the client sessions. This can either be a RoutedInterface or an IRBInterface

Referenced resources#

BGPGroup#

The BGPPeer resource that the RouteReflectorClient creates towards each selected RouteReflector is always linked to a single BGPGroup. These BGP peers share common parameters, such as BGP import and export policies, local and peer autonomous system numbers, and BGP timers. By specifying these parameters in a BGPGroup, the operator can change these settings in a single location for all BGP peers.

RoutedInterface#

To know which IP address the router uses to send BGP traffic, EDA must have a reference to a virtual interface. If this interface is a RoutedInterface attached directly to an Interface, a reference to this resource needs to be provided when creating the RouteReflectorClient.

IRBInterface#

To know which IP address the router uses to send BGP traffic, EDA must have a reference to a virtual interface. If this interface is an IRBInterface attached to a BridgeDomain, a reference to this resource needs to be provided when creating the RouteReflectorClient.

Policy#

The BGPPeer resources that the RouteReflectorClient creates towards each selected RouteReflector inherit import/export policies from the assigned BGPGroup. This behavior can be overridden by specifying policies in the RouteReflectorClient. Click here for more information on BGP import/export policies.

Examples#

apiVersion: protocols.eda.nokia.com/v2
kind: RouteReflectorClient
metadata:
  labels:
    my-rrc-label: vnet-bgp
  name: my-rrc
  namespace: eda
spec:
  bgpGroup: bgp-ipv4-only
  interface: leaf-1-interface-rrc
  interfaceKind: RoutedInterface
  ipv4RouteReflectorSelectors:
    - my-rr-label=vnet-bgp
  ipv4Unicast:
    enabled: true
  ipv6RouteReflectorSelectors:
    - my-rr-label=vnet-bgp
  ipv6Unicast:
    enabled: false
cat << 'EOF' | kubectl apply -f -
apiVersion: protocols.eda.nokia.com/v2
kind: RouteReflectorClient
metadata:
  labels:
    my-rrc-label: vnet-bgp
  name: my-rrc
  namespace: eda
spec:
  bgpGroup: bgp-ipv4-only
  interface: leaf-1-interface-rrc
  interfaceKind: RoutedInterface
  ipv4RouteReflectorSelectors:
    - my-rr-label=vnet-bgp
  ipv4Unicast:
    enabled: true
  ipv6RouteReflectorSelectors:
    - my-rr-label=vnet-bgp
  ipv6Unicast:
    enabled: false

EOF

Custom Resource Definition#

To browse the Custom Resource Definition go to crd.eda.dev.

RouteReflectorClient

protocols.eda.nokia.com / v2

SPEC

RouteReflectorClient manages the configuration of iBGP sessions between a client and RouteReflectors. This resource allows you to specify the Interface for BGP sessions, set selectors for RouteReflectors, and configure common BGP settings.

  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #
  • #

STATUS

RouteReflectorClientStatus defines the observed state of RouteReflectorClient

  • #
  • #
  • #
  • #
  • #
  • #
  • #