Skip to content

Default Route Reflector Client#

Underlay Routing → DRDefault Route Reflector Clients

The DefaultRouteReflectorClient resource is in many ways similar to the RouteReflectorClient resource, but is deployed in the default VRF instead of the overlay. This means that it has support for more routing protocols, which are required to distribute overlay (service) routes.

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 DefaultBGPPeer for every DefaultRouteReflector that the DefaultRouteReflectorClient targets. This targeting is done by assigning labels to the DefaultRouteReflector and referencing this label in the DefaultRouteReflectorClient.

Don't forget to use labels!

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

Example:

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

In this example, Client1 will create 2 derived DefaultBGPPeer resources: one for each route reflector. Client2 will create only 1 derived DefaultBGPPeer 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 DefaultBGPGroup that the DefaultRouteReflectorClient will inherit settings from, such as local and remote AS numbers
  • An interface that the DefaultRouteReflectorClient will use to establish the client sessions. This can either be a SystemInterface or a DefaultInterface

Referenced resources#

DefaultBGPGroup#

The DefaultBGPPeer resource that the DefaultRouteReflectorClient creates towards each selected DefaultRouteReflector is always linked to a single DefaultBGPGroup. 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 DefaultBGPGroup, the operator can change these settings in a single location for all BGP peers.

SystemInterface#

To know which IP address is used to send BGP traffic, EDA must have a reference to a virtual interface. If this interface is a SystemInterface attached directly to the system address of the DefaultRouter, a reference to this resource needs to be provided when creating the DefaultRouteReflectorClient.

DefaultInterface#

To know which IP address is used to send BGP traffic, EDA must have a reference to a virtual interface. If this interface is an DefaultInterface attached to a DefaultRouter, a reference to this resource needs to be provided when creating the DefaultRouteReflectorClient.

Policy#

The DefaultBGPPeer resources that the DefaultRouteReflectorClient creates towards each selected DefaultRouteReflector inherit import/export policies from the assigned DefaultBGPGroup. This behavior can be overridden by specifying policies in the DefaultRouteReflectorClient. Click here for more information on BGP import/export policies.

Examples#

apiVersion: protocols.eda.nokia.com/v2
kind: DefaultRouteReflectorClient
metadata:
  labels:
    rr-label: client
  name: example-route-reflector-client
  namespace: eda
spec:
  defaultBgpClientGroup: example-default-group
  interface: leaf-1-loopback
  interfaceKind: DefaultInterface
  ipv4Unicast:
    enabled: true
  routeReflectorSelectors:
    - rr-label=rr
cat << 'EOF' | kubectl apply -f -
apiVersion: protocols.eda.nokia.com/v2
kind: DefaultRouteReflectorClient
metadata:
  labels:
    rr-label: client
  name: example-route-reflector-client
  namespace: eda
spec:
  defaultBgpClientGroup: example-default-group
  interface: leaf-1-loopback
  interfaceKind: DefaultInterface
  ipv4Unicast:
    enabled: true
  routeReflectorSelectors:
    - rr-label=rr
EOF

Custom Resource Definition#

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

DefaultRouteReflectorClient

protocols.eda.nokia.com / v2

SPEC

DefaultRouteReflectorClient enables the configuration of iBGP sessions from a client to RouteReflectors. It includes settings for the DefaultInterface, BGP group, client selectors, and a list of Route Reflector IPs. Additionally, it allows for the configuration of L2VPN EVPN settings and applies common BGP configuration settings to manage routing efficiently within the network.

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

STATUS

DefaultRouteReflectorClientStatus defines the observed state of DefaultRouteReflectorClient

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