Download PDF
Home

1. Introduction to RtBrick BGP

The RtBrick Full Stack (RBFS) is a distributed, web-scale network operating system based on micro-service architecture and packaged in a Linux container currently based on Ubuntu 18.04. The RBFS decreases the complexity of a network by providing users with capabilities such as composability, programmability, and elasticity in a visionary way.

The RBFS operating system operates on the leaf and spine framework. This framework provides the network operators with methods to configure and manage a network brick by brick, and provides full control of the network so the focus can be on the deployment of the new services and not the constant juggling of hardware.

1.1. BGP Overview

BGP is a standard exterior gateway protocol (EGP) supported by RtBrick. BGP is considered a “Path Vector” routing protocol and maintains a separate routing table based on shortest Autonomous system (AS) path and various other route attributes.

1.2. Supported BGP Standards

RFC Number Description

RFC 2545

Use of BGP-4 Multiprotocol Extensions for IPv6 Inter-Domain Routing

RFC 2918

Route Refresh Capability for BGP-4

RFC 4271

A Border Gateway Protocol 4 (BGP-4)

RFC 4364

BGP/MPLS IP Virtual Private Networks (VPNs)

RFC 4456

BGP Route Reflection: An Alternative to Full Mesh Internal BGP (IBGP)

RFC 4486

Subcodes for BGP Cease Notification Message

RFC 4760

Multiprotocol Extensions for BGP-4

RFC 5492

Capabilities Advertisement with BGP-4

RFC 6793

BGP Support for Four-Octet Autonomous System (AS) Number Space

RFC 6608

Subcodes for BGP Finite State Machine Error

RFC 6774

Distribution of Diverse BGP Paths [Partial Support]

1.3. Supported BGP Features

The RBFS supports the following BGP functions:

  • Basic BGP Protocol

  • Multiprotocol extension for BGP

  • Multipath for iBGP and eBGP

  • Four-byte AS numbers

  • Nexthop Self or nexthop unchanged

  • Fast external-failover

  • Route reflection

  • MD5 Authentication

  • Route refresh

  • Advanced route refresh

  • Route redistribution

  • Multihop EBGP

  • Route selection flexibility (always compare MED, ignore AS Path, and so on)

  • Add path

  • Host name/Domain name

  • Dynamic peers

  • Community, Extended Community, and Large Community support

  • 6PE Support

The statements and commands required to configure and verify the functioning of BGP features are described in this guide.

2. RBFS BGP Instance Hierarchy

The RBFS uses a distinct hierarchy for the BGP statements and commands. When installed, the RBFS runs a default instance named “default.” In most applications, more instances are needed, and many configuration statements apply to various levels of the statement hierarchy.

You can apply BGP configuration statements and commands at the instance, address family, or protocol BGP hierarchy level.

This BGP hierarchy can be represented as:

Global BGP Configuration
    - Router ID
    - Local AS
    - Cluster ID
    - Domain Name
    - Host Name
    - Local Preference
    - Out Metric
    - Protocol Preference
    - Timer: Hold Time
    - Timer: Keep Alive
    - Timer: Connect Retry
Instance BGP Address Family Configuration
    - Default-Information Originate
    - Download-Count
    - Multipath
    - Remote AS
    - Local AS
    - EBGP-Multihop
    - Any-AS
Instance BGP Peer-group Address family Configuration
    - Extended Nexthop
    - Update Nexthop
    - Nexthop Unchanged
    - Nexthop Self
    - Default Information Originate
    - Remove Private AS
    - Route Reflector Client
Instance BGP Peer Configuration

2.1. Address Family

The address family configured at the instance level determines the types of address families that the virtual routing and forwarding (VRF) instance supports. At this level, you also configure the route target (RT), and the import and export policies for the instance. The forwarding daemon (FWDD) uses these configuration statements to create the VRF tables for each address family. Note that the route distinguisher (RD) is configured under the instance hierarchy level.

At the BGP protocol level, the address family configuration is used to determine which address families BGP supports. Multiple commands exist under this hierarchy level.

At the BGP peer group level, the address family configuration is used to determine which address families are needed to negotiate usage with the other BGP peers in the group.

There is no configuration under the peer hierarchy level. This statement establishes the peer, and all peers must be associated with a peer group. All of the parameters that apply to a peer are determined at the peer-group hierarchy level.

For example, this sequence configures IPv4 unicast support for the vrf1 instance:

root@rtbrick: cfg> set instance ip2vrf protocol bgp address-family ipv4 unicast

2.2. Redistribute

BGP determines support for route redistribution based on address family. The selected address family can redistribute local interface routes, static routes, routes learned by IS-IS, and so on. Complete redistribute statement information and examples are included in other sections.

3. BGP Global Configuration Commands

When it comes to BGP configuration, global BGP commands configure the routing instance, and instance BGP commands configure how BGP behaves in the instance.

This describes the BGP global commands. These commands establish the instance, the route distinguisher (RD), and the route target (RT) for BGP to use.

3.1. Instance

Configure and log into the RBFS instance

set instance <instance-name>

Command arguments

<instance-name>

Name of the routing instance

Example
root@rtbrick: cfg> set instance ip2vrf
root@rtbrick: cfg> commit

3.2. Route Distinguisher

Configure the route distinguisher (RD) to define unique routes within an IPv4 network. Provider Edge (PE) routers use route distinguishers to identify which virtual private network (VPN) a packet belongs to in a PE network.

set instance <instance-name> rd <as-number | ipv4-address>:<rd-value>

Command arguments

<instance-name>

Name of the routing instance

<ipv4-address>

The IPv4 address to use for the RD (in dotted decimal format)

<rd-value>

Specifies the route distinguisher value

Example
root@rtbrick: cfg> set instance ip2vrf rd 192.1.4.1:65001
root@rtbrick: cfg> commit

3.3. Route Target

Configure the route target (RT) to use to transfer routes between VRFs and VPNs. The RT identifies a subset of routes within the BGP VPNv3 unicast table that should be used in a VRF for a particular customer. You configure an RT for importing or exporting routes, or both.

set instance <instance-name> address-family <address-family-afi> <address-family-safi> rt import target:<rt-value>

set instance <instance-name> address-family <address-family-afi> <address-family-safi> rt export target:<rt-value>

Command arguments

import

Use this RT for imported routes

export

Use this RT for exported routes

target:<rt-value>

The value to use for the RT, in the same format as the RD

Example: Configure an RT for import and export routes
root@rtbrick: cfg> set instance ip2vrf address-family ipv4 unicast rt import target:192.1.4.0:11
root@rtbrick: cfg> set instance ip2vrf address-family ipv6 unicast rt import target:192.1.4.0:21
root@rtbrick: cfg> commit

4. BGP Instance Configuration Commands

This section describes the commands used to configure BGP in an instance.

4.1. bgp

You must enable BGP inside an instance before you configure the BGP-specific instance options. When this enable command is successfully executed, the mode is changed from edit to set.

edit protocol bgp

Example: Configure BGP for the vrf1 instance
[ edit instance vrf1 ] root@spine1:confd> edit protocol bgp

4.2. address-family (and BGP Options)

You must configure the BGP address families if you are using route redistribution, load balancing, or other advanced features. By default, BGP neighbor sessions support IP4v unicast and multicast address families.

set instance <instance-name> protocol bgp address-family <address-family-afi> <address-family-safi>

<instance-name>

Name of the instance

<address-family-afi>

Enables the address family identifier (AFI) IPv4 or IPv6

<address-family-safi>

Enables the subsequent address family identifier (SAFI) options: unicast, labeled-unicast, or vpn-unicast

Example: Enable the IPv4 unicast address family for BGP on the vrf1 instance
root@rtbrick: cfg> set instance ip2vrf protocol bgp address-family ipv4 unicast
root@rtbrick: cfg> commit

In addition to the basic family support, you can also configure a number of options.

Supported options, detailed in sections below, are:

default-information

Configure default route information to distribute

download-count

Forward packets over multiple paths, but set maximum prefixes to use

download-policy

Establish a policy for downloading routes

multipath

Enable load sharing among multiple BGP paths

redistribute

Enter redistribution configuration mode

retain-route-target

Retain VPN routes for all route targets

srgb

Establish Segment Routing Global Block for segment routing

Important You should always configure BGP to distribute a default route.
Example: Configure BGP to distributes a default IPv4 unicast address in the vrf1 instance
root@rtbrick: cfg> set instance ip2vrf protocol bgp address-family ipv4 unicast default-information originate true
root@rtbrick: cfg> commit

4.3. download-count

This statement is for temporary use until full routing policy support is configured. Use this statement to configure the number of prefixes that the BGP unicast session can download to the forwarding daemon (FWDD). BGP downloads the attribute information (community, extended community, and as-path) for prefixes to the Routing Information Base (RIB) and Forwarding Information Base (FIB) for advertising.

You can assign counters based on BGP prefixes and attributes on a per-input interface basis.

set protocol bgp address-family <address-family-afi> <address-family-safi> unicast download-count <count-number>

<address-family-afi>

Enables the IPv4 or IPv6 address families

<address-family-safi>

Enables the subsequent address family identifier (SAFI) options: unicast, labeled-unicast, or vpn-unicast

unicast

BGP distributes unicast routes

download-count

Count prefixes

<count-number>

Number of prefixes to forward over multiple paths

Example: Configure BGP for a maximum of 40 prefixes
[ edit instance vrf1 ] root@spine1:confd> set protocol bgp address-family ipv4 unicast download-count 40

4.4. download-policy

Apply the BGP routing policy for downloaded routes. The policy is defined elsewhere.

set protocol bgp address-family <address-family-afi> <address-family-safi> download-policy <policy-name>

<address-family-afi>

Enables the IPv4 or IPv6 address families

<address-family-safi>

Enables the subsequent address family identifier (SAFI) options: unicast, labeled-unicast, or vpn-unicast

<policy-name>

Name of the policy to apply

Note The policy is NOT configured here. Routing policy configuration is covered in another chapter.
Example: Configure download policy
[edit]
root@spine1:confd> set bgp address-family ipv4 unicast download-policy fibpolicy

4.5. multipath

Allow load sharing among the configured number of multiple Exterior BGP (EBGP) and Internal BGP (IBGP) paths.

set instance protocol bgp address-family <address-family-afi> <address-family-safi> multipath <number-of-paths>

<address-family-afi>

Enables the IPv4 or IPv6 address families

<address-family-safi>

Enables the subsequent address family identifier (SAFI) options: unicast, labeled-unicast, or vpn-unicast

<number-of-paths>

Number of paths that can be installed in the forwarding table. This is an integer in the range 0 to 255.

Example: Configure multipath for a value of 10 forwarding table entries
root@rtbrick: cfg> set instance protocol bgp address-family ipv4 unicast multipath 10
root@rtbrick: cfg> commit

4.6. redistribute

Enable the redistribution feature to dynamically inject routes from a certain protocol into the IP routing table.

set instance <instance> protocol bgp address-family <address-family-afi> <address-family-safi> redistribute <source>

<instance>

Name of the routing instance

<address-family-afi>

Enables the IPv4 or IPv6 address families

<address-family-safi>

Enables the subsequent address family identifier (SAFI) options: unicast, labeled-unicast, or vpn-unicast

<source>

Redistribute routes from this protocol. Protocols can be direct or local interfaces, IS-IS, OSPF, PIM, PPP, or static routes.

Note IS-IS and OSPF have additional options detailed below.
Example: Configure redistribution on direct routes into BGP.
root@rtbrick: cfg> set instance ip2vrf protocol bgp address-family ipv4 unicast redistribute direct
root@rtbrick: cfg> commit

4.6.1. IS-IS Redistribute Options

If you configure the redistribution of IS-IS routes, you have the option of testing for a match on either level-1 or level-2 IS-IS routers. The syntax is as follows:

set instance <instance> protocol bgp address-family <address-family-afi> <address-family-safi> redistribute isis policy-map <policy-map>

<address-family-afi>

Enables the IPv4 or IPv6 address families

<address-family-safi>

Enables the subsequent address family identifier (SAFI) options: unicast, labeled-unicast, or vpn-unicast

<policy-map>

Name of the policy map

Example: Configure redistribution for IS-IS Level 1 routes.
root@rtbrick: cfg> set instance ip2vrf protocol bgp address-family ipv4 unicast redistribute isis match policy-map policymap1
root@rtbrick: cfg> commit

4.6.2. OSPF Redistribute Options

If you configure the redistribution of OSPF routes, you have the option of testing for a match on several types of OSPF routers. The syntax is as follows:

set instance <instance> protocol bgp address-family <address-family-afi> <address-family-safi> redistribute ospf policy-map <policy-map>

<address-family-afi>

Enables the IPv4 or IPv6 address families

<address-family-safi>

Enables the subsequent address family identifier (SAFI) options: unicast, labeled-unicast, or vpn-unicast

<policy-map>

Name of the policy map

Example: Configure redistribution for OSPF inter-area routes.
[edit]
root@rtbrick: cfg> set instance ip2vrf protocol bgp address-family ipv4 unicast redistribute ospf policy-map policymap1

4.7. retain-route-target

By default, the forwarding table retains the VPN routes for all route targets when the roputing protocol process shuts down. If you disable this retention of route targets, the VPN routes are removed from the forwarding table when the routing protocol shuts down.

set instance <instance> protocol bgp address-family <address-family-afi> <address-family-safi> retain-route-target disable

<address-family-afi>

Enables the IPv4 or IPv6 address families

<address-family-safi>

Enables the subsequent address family identifier (SAFI) for vpn-unicast (the only family supported)

Example: Configure removal of VPN routes when routing process shuts down.
[edit]
root@rtbrick: cfg> set instance ip2vrf bgp address-family ipv4 vpn-unicast retain-route-target disable

4.8. srgb

The Segment Routing Global Block (SRGB) is the range of label values reserved for segment routing (SR). These values are assigned as segment identifiers (SIDs) to SR-enabled network nodes and have global significance throughout the routing domain.

Note SRGB is supported only for labeled unicast.

You must specify the base starting value for the labels (a number greater than 15), a range for the labels, and an index within the label range.

set instance <instance> protocol bgp address-family [<address-family-afi> | <address-family-safi>] labeled-unicast srgb ( base <base-value> | range <range-value> | index <index-value> )

<address-family-afi>

Enables the IPv4 or IPv6 address families

base <base-value>

Starting base value, greater than 15, of the SRGB values

range <range-value>

Range of label values

index <index-value>

Index within the label range

Example: Configure the SRGB label base to 2000, range to 100, and index to 2 (which selects label 2001 from the zero-based label range).
root@rtbrick: cfg> set instance ip2vrf protocol bgp address-family ipv4 labeled-unicast base 2000 range 100 index 2
root@rtbrick: cfg> commit

4.9. cluster-id

Configure cluster ID to associate routers in a group within a BGP routing instance. Routers belong to the same cluster if they have the same cluster ID. The cluster ID is formatted as an IPv4 address.

set instance <instance> protocol bgp cluster-id <cluster-identifier>

<cluster-identifier>

An IPv4 address

Example: Configure cluster-id 192.168.1.1 for this BGP instance.
root@rtbrick: cfg> set instance ip2vrf protocol bgp cluster-id 192.168.1.1
root@rtbrick: cfg> commit

4.10. domain-name

Configure the domain name for this BGP routing instance.

set instance <instance> protocol bgp domain-name <domain-name>

<instacne>

Name of the BGP instance

<domain-name>

The name of the BGP routing domain, to a maximum of 64 characters

Example: Configure domain name spine for this BGP instance.
root@rtbrick: cfg> set instance default protocol bgp domain-name leaf-1
root@rtbrick: cfg> commit

4.11. enforce-first-as

By default, the BGP routing process enforces the First AS feature. This feature discards updates received from an eBGP peer if the peer does not list its own AS number as the first segment in the AS_PATH BGP attribute.

To disable the First AS feature and accept updates without the peer’s source AS matching the first AS in the AS_PATH attribute, configure the feature to disable the enforce First AS feature.

set instance <instance> protocol bgp enforce-first-as disable

<instance>

Name of the BGP instance

disable

Disable the default First AS feature BGP behavior

Example: Configure this BGP instance to disable the First AS feature.
root@rtbrick: cfg> set instance ip2vrf protocol bgp enforce-first-as disable
root@rtbrick: cfg> commit

4.12. host-name

Configure a host name for BGP to use.

set instance <instance> protocol bgp host-name <host-name>

<instance>

Name of the BGP instance

<host-name>

The name of the BGP host, to a maximum of 64 characters

Example: Configure this BGP instance to use host name spine1.
root@rtbrick: cfg> set instance ip2vrf protocol bgp host-name pod1-leaf1-ip2vrf-instance
root@rtbrick: cfg> commit

4.13. local-as

Configure the local AS number in four-byte format for BGP to use.

set instance <instance> protocol bgp local-as <as4-number>

<instance>

Name of the routing instance

<as4-number>

The AS number in four-byte format. The numbers allowed are from 1 to 4294967285

Example: Configure this BGP instance to use local AS Number 65001.
root@rtbrick: cfg> set instance ip2vrf protocol bgp local-as 65004
root@rtbrick: cfg> commit

4.14. local-preference

Configure the value to use as BGP local preference. You can use the local AS preference number to choose the exit path for an AS.

set instance <instance> protocol bgp local-preference <preference-number>

<preference-number>

The local preference number for the BGP protocol. The numbers allowed are from 0 to 4294967285

Example: Configure this BGP instance to use local preference 150.
root@rtbrick: cfg> set instance ip2vrf protocol bgp local-preference 150
root@rtbrick: cfg> commit

4.15. out-metric

Configure the value to use as BGP Multi-Exit Discriminator (MED) value. When an AS has multiple links to another AS, the MED value is used to determine the exit to use to reach the other AS.

set instance <instance> protocol bgp out-metric <med-value>

<instance>

Name of the BGP instance

<med-value>

The MED value for the BGP protocol. The numbers allowed are from 0 to 4294967285

Example: Configure this BGP instance to use MED 10.
root@rtbrick: cfg> set instance ip2vrf protocol bgp out-metric 10
root@rtbrick: cfg> commit

4.16. protocol-preference

Assign a protocol preference distance value to routes learned by eBGP, iBGP, or both.

set instance <instance> protocol bgp protocol-preference ( internal | external) <preference-value>

<instance>

Name of the BGP instance

internal

Use this distance value preference for routes learned by iBGP

external

Use this distance value preference for routes learned by eBGP

<preference-value>

Use this distance value as BGP route protocol preference

Example: Configure this BGP instance to use a value of 50 for eBGP routes and a value of 100 for iBPG routes.
root@rtbrick: cfg> set instance ip2vrf protocol bgp protocol-preference external 50
root@rtbrick: cfg> set instance ip2vrf protocol bgp protocol-preference internal 100
root@rtbrick: cfg> commit

4.17. router-id

Configure the value used as the router ID.

set instance <instance> protocol bgp router-id <router-id>

<instance>

Name of the BGP instance

<router-id>

Router identifier in IPv4 format

Example: Configure the router identifier to be 192.168.1.1.
root@rtbrick: cfg> set instance ip2vrf protocol bgp router-id 192.168.1.1
root@rtbrick: cfg> commit

4.18. timer

Configure the timer value used to keep the router active.

set instance <instance> protocol bgp timer hold-time <seconds>

set instance <instance> protocol bgp timer keep-alive <seconds>

<seconds>

Time in seconds. The valid range is 5 to 65535

Example: Configure the router connect retry to 15 seconds, and the hold-time to 60 seconds.
root@rtbrick: cfg> set instance ip2vrf protocol bgp timer keep-alive 30
root@rtbrick: cfg> commit

4.19. type-of-service

Configure the value for the type-of-service (DSCP) bits.

set instance <instance> protocol bgp type-of-service cost <low|normal>

set instance <instance> protocol bgp type-of-service delay <low|normal>

set instance <instance> protocol bgp type-of-service precedence <precedence>

set instance <instance> protocol bgp type-of-service reliability <high|normal>

set instance <instance> protocol bgp type-of-service throughput <high|normal>

root@spine1:confd> set instance ip2vrf protocol bgp type-of-service delay 32
root@rtbrick: cfg> commit

4.20. peer-group

Configure a name for a peer group of BGP routers. Neighbor peers with the same update policies can be grouped as peers (equals) to simplify the initial configuration and updates. Peers share the same policies such as route maps, distribution lists, filter lists, update source, and so on, so peer groups only need one configuration statement for these values.

set instance <instance> protocol bgp peer-group <peer-group-name> ( address-family <address-family-afi> | any-as <true|false> | ebgp-multihop <hop-count> | link-local-nexthop-only <true|false> | local-as <as-number> | remote-as <as-number>)

<instance>

Name of the BGP instance

<peer-group-name>

Name of the peer group

address-family
<address-family-afi>
<address-family-safi>

Configure to address family AFI and SAFI for the peer group (for supported AFI and SAFI values, see the address-family BGP configuration statement)

any-as

Enable dynamic AS negotiation for this peer group

ebgp-multihop <hop-count>

By default, the maximum number of hops between eBGP peers is 1 (direct connection). This hop count overrides the default behavior allow connectivity between eBGP peers not directly connected.

link-local-nexthop-only

Enable link-local nexthop only feature

local-as

Configure local AS number

remote-as

Configure remote AS number

Example: Configure the BGP peer as spine and enable dynamic negotiation of the AS number, sets the eBGP multihop count to 3, and set the number of additional paths sent to the peer group to 20.
root@rtbrick: cfg> set instance ip2vrf protocol bgp peer-group spine any-as
root@rtbrick: cfg> set instance ip2vrf protocol bgp peer-group spine ebgp-multihop 3
root@rtbrick: cfg> set instance ip2vrf protocol bgp peer-group spine add-path 20 send-only
root@rtbrick: cfg> commit
Note The full set of address family names is listed under the address-family configuration statement.

4.21. address-family (peer-group)

You must configure the BGP address families for a peer-group if you are using route redistribution, load balancing, or other advanced features. Note: The advanced features are NOT configured here, but under the BGP instance. By default, BGP neighbor sessions support IP4v unicast and multicast address families.

set instance <instance> protocol bgp peer-group <peer-group-name> address-family <address-family-afi> <address-family-safi> [ options ]

<instance>

Name of the BGP instance

<peer-group-name>

Name of the peer group supporting these families

<address-family-afi>

Enables the address family identifier (AFI) IPv4 or IPv6

<address-family-safi>

Enables the subsequent address family identifier (SAFI) options: unicast, labeled-unicast, or vpn-unicast

Additional options:

add-path

Negotiate additional path capabilities with these peers, so that more than one path can be active to the peers in the group

default-information

Enable default route information to be sent to peers in group

extended-nexthop

Enable extended nexthop capability so that peers in the group do not have to be directly connected

( nexthop-self | nexthop-unchanged )

Propagate nexthop self or nexthop unchanged for advertised paths

policy

Apply a routing policy to the peer group

remove-private-as

Remove private AS numbers from routes advertised to group peers

route-reflect-client

Configure this peer as a route reflector client

update-nexthop

Update the nexthop for routes advertised to this peer group

Example: Enable the IPv4 unicast address family for BGP on the vrf1 instance and make the peer a route-reflector client
root@rtbrick: cfg> set instance ip2vrf protocol bgp address-family ipv4 unicast route-reflect-client
root@rtbrick: cfg> commit

4.22. peer

Configure parameters for a, IPv4 or IPv6 BGP peer. A BGP peer is a BGP router that has an active TCP connection to another BGP router. To establish point-to-point connections between peer autonomous systems (ASs) for eBGP or within the AS for iBGP, you configure a BGP session on an interface. When you configure a BGP peer, the configuration adds the IP address of the peer in the specified autonomous system to the multiprotocol BGP (mBPG) neighbor table maintained in the local router.

set instance <instance> protocol bgp peer ( ipv4 | ipv6) <peer-address> <update-source> peer-group <peer-group-name>

instance

Name of the BGP instance

(ipv4 | ipv6 )

Configure either an IPv4 or IPv6 BGP peer

peer-address <ip-address>

Configure the peer IPv4 or IPv6 address. You cannot use this option with the interface option below.

update-source <ip-address>

Configure an IP address to use as the source for packets sent to the peer address

peer-group <peer-group-name>

Assign this peer to this peer group

Note The peer-address and interface options are mutually exclusive. In other words, you cannot locate a peer by both interface and address; only one or the other.

There are three main peer types to configure:

  • IPv4 peers

  • IPv6 peers

  • IPv6 link local peers (dynamic peers)

Each type has a general peer configuration format associated with it:

  • (IPv4 peer) set instance protocol bgp peer ipv4 peer-address <ipv4-address> update-source <ipv4-address> peer-group <group-name>

  • (IPv6 peer) set instance protocol bgp peer ipv6 peer-address <ipv6-address> update-source <ipv6-address> peer-group <group-name>

  • (IPv6 link-local dynamic peer) set instance protocol bgp peer interface <interface-name> peer-group <group-name> Note that IP6v link-local peers configure the interface. The following examples configure a peer of each type.

Example 1: Configure an IPv4 BGP peer and assign the peer to the spine peer group.
root@rtbrick: cfg> set instance ip2vrf protocol bgp peer ipv4 192.168.1.1 192.168.1.2 peer-group spine
root@rtbrick: cfg> commit
Example 2: Configure an IPv6 peer and assign the peer to the spine peer group.
root@rtbrick: cfg> set instance ip2vrf protocol bgp peer ipv6 1::1 1::2 peer-group spine
root@rtbrick: cfg> commit
Example 3: Configure an IPv6 dynamic peer on interface ifl-0/0/1/1/1 and assign the peer to peer group spine.
root@rtbrick: cfg> set instance protocol bgp peer interface ifl-0/0/1/1/1 peer-group spine
root@rtbrick: cfg> commit

5. BGP Show Commands for APPD

Configuration statements can be shown to be working properly using show commands.

This section details the fields displayed by BGP show commands handled by the APPD module. BGP is implemented in two modules: APPD and IOD.

5.1. show bgp rib

Display information about the BGP routing information base local (rib-local) table for an address family. The rib-local table is used to determine entries for the forwarding table.

show bgp rib <afi> <safi>

Command arguments

<afi>

AFI value: ipv4 or ipv6

<safi>

SAFI value: unicast, labeled-unicast, or vpn-unicast

<Enter>

Execute command

Output Fields

Prefix

The Network Layer Routing Information (NLRI) in BGP RIB-in

Snd-Path-ID

Path ID to be sent for the NLRI

Rcv-Path-ID

Add Path-ID received for the NLRI

Peer

Peer IP address supplying this information

Next-Hop

Next-Hop address for the NLRI

Up Time

Time since this NLRI was installed in table

Example Output: show bgp rib ipv4 unicast
show bgp rib ipv4 unicast

5.2. show bgp fib

Display information summary about the BGP routes downloaded to the Forwarding Information Base (FIB) table.

show bgp rib <afi> <safi>

Command arguments

<afi>

AFI value: ipv4 or ipv6

<safi>

SAFI value: unicast, labeled-unicast, or vpn-unicast

<Enter>

Execute command

Output Fields

Prefix

The Network Layer Routing Information (NLRI) in the FIB

Preference

Preference value for the NLRI

Next-Hop

Next-Hop address for the NLRI

Example Output: show bgp fib ipv4 unicast
show bgp fib ipv4 unicast

5.3. show bgp ribout

Display information summary about the BGP routes in the peer group table that will be sent to peers from the Routing Information Base output (RIB-out) table.

show bgp rib <peer-group-name> <afi> <safi>

Command arguments

<peer-group-name>

Name of the peer group

<afi>

AFI value: ipv4 or ipv6

<safi>

SAFI value: unicast, labeled-unicast, or vpn-unicast

<Enter>

Execute command

Output Fields

Prefix

The Network Layer Routing Information (NLRI) to be sent to peer

Rcv-Path-ID

Add Path-ID received for the NLRI

MED

MED for this NLRI

LocalPref

Local Preference value for the NLRI

Origin

Origin value for the NLRI

Next-Hop

Next-Hop address for the NLRI

AS-Path

AS-Path for the NLRI

Example Output: show bgp ribout vanilla_bgp ipv4 unicast
show bgp ribout vanilla bgp ipv4 unicast

6. BGP Show Commands for IOD

Configuration statements can be shown to be working properly using show commands.

This section details the fields displayed by BGP show commands handled by the APPD module. BGP is implemented in two modules: APPD and IOD.

6.1. show bgp peer

Display information summary about the BGP peers.

show bgp peer ( instance <instance-name> )

Command arguments

instance

Display information about peers in an instance

<instance-name>

Name of the instance: you must specify “default” for the default instance.

<Enter>

Execute command

Output Fields

Peer

Peer at the remote end of the BGP session

Remote-AS

AS number of the peer

State

State of the peer (active, established, and so on)

Up/Down Time

Time since the peer has been in session or down

PfxRcvd

Prefixes received

PfxSent

Prefixes sent

Example Output: show bgp peer
show bgp peer

6.2. show bgp peer detail

Display detailed information about the BGP peers.

show bgp peer <peer-ip> detail ( instance <instance-name> )

Command arguments

<peer-ip>

Display information about the peer at this IP address

instance

Display information about peers in an instance

<instance-name>

Name of the instance: you must specify “default” for the default instance.

<Enter>

Execute command

Output Fields

Peer

Peer host name

Peer Domain

Peer domain name

Peer IP

IP address of the peer

AS

AS number of the peer

Local

Source IP address for the peer session

Level

Level negotiated for the peer

AS

Local AS number

Any-AS

Dynamic AS negotiation configuration

Type

Type of BGP session

State

State of the peer session

Up Time

Time since the peer has been in session

Reason

Last transition reason

Sub-Code

Code for transition reason

Discovered

Interface where peer is located

Last Transition

Time of last transition

Flap count

Number of times the peer has flapped

Peer ID

Peer BGP identifier for the session

Local ID

Local BGP identifier for the session

Instance

Instance of the session

Peer Group

Peer group for this peer

Detail Fields

Timers

Time to expiration for timers listed

NLRI

Address families configured, received, or negotiated

Capabilites

Session capabilities configured, received, negotiated, or supported

End-Of-RIB

End-of-RIB sent and received time for each address family

Message Stats

BGP message sent and received count

Route Stats

NLRI sent and received count by address family

Example Output: show bgp peer detail
show bgp peer detail

6.3. show bgp peer rib-in

Display information summary about the RIB-in table and a peer.

show bgp peer <peer-ip> rib-in <afi> <safi>

Command arguments

<peer-ip>

Display information about the peer at this IP address

<afi>

AFI value: ipv4 or ipv6

<safi>

SAFI value: unicast, labeled-unicast, or vpn-unicast

<Enter>

Execute command

Output Fields

Prefix

The NLRI received from the peer

Rcv-Path-ID

Add Path-ID received for the NLRI

MED

MED received for this NLRI

LocalPref

Local Preference value received for the NLRI

Origin

Origin value received for the NLRI

Next-Hop

Next-Hop address received for the NLRI

AS-Path

AS-Path received for the NLRI

Example Output: show bgp peer 10.11.1.7 rib-in ipv4 unicast
show bgp peer ipv unicast

7. Routing Policies and Examples

This section covers the RtBrick way of configuring routing polices.

7.1. The Role of Routing Policy

Routing Policies are the rules that allows you to control and modify the default behaviour of the routing protocols such as BGP and IS-IS. To use routing policies, you configure policies, and then apply policies to peer groups or instances.

RtBrick supports attaching a BGP routing policy at two levels:

  • Peer group address-family level

  • Instance address-family level

In each case, you can apply the policy as an import or export policy and filter. As expected, import filters determine which routing updates are accepted and export filters determine which routes are advertised to other peers.

7.2. Peer Group and Instance Details

An import policy, when applied to an address family at the peer group level, examines all incoming routes from all BGP peers in the peer group, but only for that address family.

An export policy, when applied to an address family at the peer group level, examines all outgoing routes to all BGP peers in the peer group. but only for that address family.

At the instance level, routing policies that are applied to an address family can work as import or export policies, but for the instance as a whole.

An import policy, when applied to an address family at the instance level, examines all incoming routes before accepting the information only from global or default tables to other instance or VRF table.

An export policy, when applied to an address family at the instance level, examines all outgoing routes before sending the information from the VRF to global, and then to the vpn table (default).

7.3. Attachment Point

Policies are useful when they are applied to routes, and for policies to be applied to routes they need to be made known to routing protocols. In BGP, for example, there are several situations where policies can be used, the most common of these is defining import and export policy. The policy attachment point is the point in which an association is formed between a specific protocol entity, in this case a BGP neighbor, and a specific named policy.

Attachment Point for Export Policy to peer-group

Export policies attached to a BGP peer-group, can be used to apply certain conditions based on any of the route attributes and advertise to the peers, only those route that match our criteria.

set instance ip2vrf protocol bgp peer-group leaf1 address-family ipv4 vpn-unicast policy policy-name p2 export
Input
rtb bgp.appd.1 show datastore table dump default.bgp.routing-table.ipv4.vpn-unicast
Output
rtb bgp.appd.1 show datastore table dump default.bgp.1.peer-group.leaf1.ipv4.vpn-unicast

Attachment Point for Import Policy to peer-group

Import policies attached to a BGP peer-group, can be used to filter and modify based on any of the route attribute that we wish to.

set instance ip2vrf protocol bgp peer-group rr address-family ipv4 unicast policy <POLICY-NAME> import
Input
rtb bgp.appd.1 show datastore table dump default.bgp.rib-in.ipv4.unicast.<peer_ip>.<local_ip>

Attachment Point for Export Policy to main Instance

Export policies attached to an instance, help us to modify the attributes of a route present in the instance before exporting them as VPN routes. If we would to attach an extended_community, nexthop, community etc before exporting them as VPN routes, we can do so by using this attachment point.

set instance ip2vrf address-family ipv4 unicast policy policy-name p1 export
Input
rtb bgp.appd.1 show datastore table dump ip2vrf.bgp.1.fib-local.ipv4.unicast
rtb bgp.appd.1 show datastore table dump ip2vrf.bgp.rib-in.ipv4.unicast.0.0.0.0
Output
rtb bgp.appd.1 show datastore table dump default.bgp.rib-local.ipv4.vpn-unicast

Attachment Point for import policy to main instance

Import policies attached to an instance, help us to modify the attributes of a route/route-list before importing into the instance. The matching criteria can be any of the route attributes such as prefix, as_path, community, extended_community etc.

set instance ip2vrf address-family ipv4 unicast policy policy-name p1 import
Input
rtb bgp.appd.1 show datastore table dump default.bgp.fib-local.ipv4.vpn-unicast
Output
rtb bgp.appd.1 show datastore table dump ip2vrf.bgp.1.rib-local.ipv4.unicast

7.4. Routing Policy Examples

The following sections show a few examples of useful routing policies for BGP.

7.4.1. Apply Import Policy to peer group

set policy-options policy-statement SPINE_BLOCK_IPv4_AGGR_ROUTE_WITH_COMMUNITY term MATCH_COMMUNITY ordinal 1 match-conditions match-type or rules rule 1 route community match exact value 200:10
set policy-options policy-statement SPINE_BLOCK_IPv4_AGGR_ROUTE_WITH_COMMUNITY term MATCH_COMMUNITY ordinal 1 action rules rule 1 action return-deny
set policy-options policy-statement SPINE_BLOCK_IPv4_AGGR_ROUTE_WITH_COMMUNITY term ADD_COMMUNITY ordinal 5 action rules rule 1 route community operation overwrite value 800:80
set policy-options policy-statement SPINE_BLOCK_IPv4_AGGR_ROUTE_WITH_COMMUNITY term ADD_COMMUNITY ordinal 5 action rules rule 2 action return-permit
set instance ip2vrf protocol bgp peer-group rr address-family ipv4 unicast policy policy-name SPINE_BLOCK_IPv4_AGGR_ROUTE_WITH_COMMUNITY import

7.4.2. Apply export policy to peer group

set policy-options policy-statement BLOCK_VPN_INTERNET_ROUTES term MATCH_COMMUNITY ordinal 1 match-conditions match-type or rules rule 1 route community match exact value 800:80
set policy-options policy-statement BLOCK_VPN_INTERNET_ROUTES term MATCH_COMMUNITY ordinal 1 action rules rule 1 action return-deny
set policy-options policy-statement BLOCK_VPN_INTERNET_ROUTES term PERMIT_OTHERWISE ordinal 10 action rules rule 1 action return-permit
set instance protocol bgp peer-group leaf1 address-family ipv4 vpn-unicast policy policy-name BLOCK_VPN_INTERNET_ROUTES export

7.4.3. Apply policy to main instance

7.4.3.1. Export Policy
set policy-options policy-statement V4_STATIC_ROUTE_APPLY_COMMUNITY term MATCH_SOURCE ordinal 1 match-conditions match-type or rules rule 1 route source match exact value static
set policy-options policy-statement V4_STATIC_ROUTE_APPLY_COMMUNITY term MATCH_SOURCE ordinal 1 action rules rule 1 route community operation overwrite value 300:10
set policy-options policy-statement V4_STATIC_ROUTE_APPLY_COMMUNITY term PERMIT_OTHERWISE ordinal 2 action rules rule 1 action return-permit
set instance ip2vrf address-family ipv4 unicast policy policy-name V4_STATIC_ROUTE_APPLY_COMMUNITY export
7.4.3.2. Import Policy
set policy-options policy-statement BLOCK_AGGR_ROUTE_LEAF_V4 term MATCH_COMMUNITY ordinal 1 match-conditions match-type or rules rule 1 route community match exact value 100:10
set policy-options policy-statement BLOCK_AGGR_ROUTE_LEAF_V4 term MATCH_COMMUNITY ordinal 1 action rules rule 1 action return-deny
set policy-options policy-statement BLOCK_AGGR_ROUTE_LEAF_V4 term PERMIT_OTHERWISE ordinal 2 action rules rule 1 action return-permit
set instance ip2vrf address-family ipv4 unicast policy policy-name BLOCK_AGGR_ROUTE_LEAF_V4 import

Note:There is no need to specify the protocol when the policy applies to other than the main instance.

7.4.4. Apply policy to VRF instance and Address Family

set policy-options policy-statement V4_STATIC_ROUTE_APPLY_COMMUNITY term MATCH_SOURCE ordinal 1 match-conditions match-type or rules rule 1 route source match exact value static
set policy-options policy-statement V4_STATIC_ROUTE_APPLY_COMMUNITY term MATCH_SOURCE ordinal 1 action rules rule 1 route community operation overwrite value 300:10
set policy-options policy-statement V4_STATIC_ROUTE_APPLY_COMMUNITY term PERMIT_OTHERWISE ordinal 2 action rules rule 1 action return-permit
set instance ip2vrf address-family ipv4 unicast policy policy-name V4_STATIC_ROUTE_APPLY_COMMUNITY export

7.5. Routing Policy Summary

These examples show only the basics of the complete application of routing policy. Almost all BGP attributes can be used, along with many possible keywords. The current list is as follows:

  • as-path

  • bgp-nh4

  • bgp-nh6

  • cluster-list

  • community

  • extended-community

  • label

  • large-community

  • local-preference

  • med

  • origin

  • originator-id

  • peer4

  • peer6

  • prefix4

  • prefix6

  • rd

  • router-id4

  • src-ipv4-address

  • src-ipv6-address

8. BGP MD5-Authentication Configuration Commands

Border Gateway Protocol (BGP) supports the authentication mechanism using the Message Digest 5 (MD5) algorithm. When authentication is enabled, any Transmission Control Protocol (TCP) segment belonging to BGP exchanged between the peers is verified and accepted only if authentication is successful. For authentication to be successful, both the peers must be configured with the same password. If authentication fails, the BGP neighbor relationship is not be established.

8.1. Commands for enabling MD5 authentication for BGP IPv4 session

Note
  • Remove 'ip2vrf' from the commands if you want to configure MD5-authentication under default instance.

  • When one of the parameters such as source-port, destination-port, source-ip or destination-ip is matched, the authentication will be successful

8.1.1. Setting authentication type

The following command sets the MD5 authentication type.

Syntax

set instance <instance> tcp authentication-identifier rtb_spine_1 authentication-type MD5

Example
root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 authentication-type MD5
root@rtbrick: cfg> commit

8.1.2. Setting source port

The following command sets the source port.

Syntax

set instance <instance> tcp authentication-identifier rtb_spine_1 source-port <port-number>

Command arguments

<port-number>

Specify port number range 0-65535

Example
Note If the default value 0 is used as a port-number, then match is done for any of the source-port
root@spine1:confd> set instance ip2vrf tcp authentication-identifier rtb_spine_1 source-port 0

8.1.3. Setting destination port

The following command sets the destination port.

Syntax

set instance <instance> tcp authentication-identifier <identifier> destination-port <port-number>

Command arguments

<identifier>

Name of the tcp authentication identifier

<port-number>

Specify port number range 0-65535

Example
Note If the default value 0 is used as a port-number, then match is done for any of the destination-port
root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 destination-port 0
root@rtbrick: cfg> commit

8.1.4. Setting destination prefix

The following command sets the destination prefix address.

Syntax

set instance <instance> tcp authentication-identifier <identifier> destination-prefix ipv4 <ipv4_address>

Command arguments

<identifier>

Name of the tcp authentication identifier

<ipv4_address>

Specify a valid IPv4 address, for example 10.10.10.2/24

Example
Note With IP as 0.0.0.0/0, will match any destination-prefix
root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 destination-prefix ipv4 10.10.10.1/32
root@rtbrick: cfg> commit

8.1.5. Setting source prefix

The following command sets the source prefix address.

Syntax

set instance <instance> tcp authentication-identifier <identifier> source-prefix ipv4 <ipv4_address>

Command arguments

<identifier>

Name of the tcp authentication identifier

<ipv4_address>

Specify a valid source-prefix IPv4 address, for example 10.10.10.2/24

Example
Note with IP as 0.0.0.0/0, will match any source-prefix
root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 source-prefix ipv4 99.99.99.9/32
root@rtbrick: cfg> commit

8.1.6. Setting receive id

The following command sets the receiver key identifier.

Syntax

set instance <instance> tcp authentication-identifier rtb_spine_1* <receive-key-id> <key-id> <receive-key> <authentication-key>

Command arguments

<instance>

Name of the BGP instance

<receive-key-id>

The receiver-key-id, for example " receive-key1-id, receive-key2-id"

<key-id>

Key-id, for example "key_id as 1 for receive-key1-id or key_id as 2 for receive-key2-id"

<receive-key>

receive-key, for example "receive-key1 for receive-key1-id or receive-key2 for receive-key2-id"

<authentication-key>

MD5 authentication-key

Example
Note Passwords need to be mandatorily prefixed with a zero for MD5

For receive-key1-id

root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 receive-key1-id 1 receive-key1 0MD5
root@rtbrick: cfg> commit

For receive-key2-id

root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 receive-key2-id 2 receive-key2 0MD5
root@rtbrick: cfg> commit

8.1.7. Setting send id

The following command sets the sender’s key identifier.

Syntax

set instance <instance> tcp authentication-identifier <identifier> send-key-id <key-id> send-key <authentication-key>

Command arguments

<instance>

Name of the BGP instance

<identifier>

Name of the TCP authentication identifier

<key-id>

Key-id

<authentication-key>

MD5 authentication-key

Example
Note Passwords need to be mandatorily prefixed with a zero for MD5
root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 send-key-id 1 send-key 0MD5
root@rtbrick: cfg> commit

Note: When one of the parameters such as source-port, destination-port, source-ip or destination-ip is matched, the authentication will be successful

8.2.1. Setting authentication type

The following command sets the MD5 authentication type.

Syntax

set instance <instance> tcp authentication-identifier <identifier> authentication-type MD5

Example
root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 authentication-type MD5
root@rtbrick: cfg> commit

8.2.2. Setting source port

The following command sets the source port.

Syntax

set instance <instance> tcp authentication-identifier <identifier> source-port <port-number>

Command arguments

<instance>

Name of the BGP instance

<identifier>

Name of the TCP authentication identifier

<port-number>

Specify port number range 0-65535

Example
Note If the default value 0 is used as a port-number, then match is done for any of the source-port
root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 source-port 0
root@rtbrick: cfg> commit

8.2.3. Setting destination port

The following command sets the destination port.

Syntax

set instance <instance> tcp authentication-identifier <identifier> destination-port <port-number>

Command arguments

<instance>

Name of the BGP instance

<identifier>

Name of the TCP authentication identifier

<port-number>

Specify port number range 0-65535

Example
Note If the default value 0 is used as a port-number, then match is done for any of the destination-port
root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 destination-port 0
root@rtbrick: cfg> commit

8.2.4. Setting destination prefix

The following command sets the destination prefix address.

Syntax

set instance <instance> tcp authentication-identifier <identifier> destination-prefix ipv6 <ipv6_address>

Command arguments

<instance>

Name of the BGP instance

<identifier>

Name of the TCP authentication identifier

<ipv6_address>

Specify a valid IPv6 address, for example fe80::780b:9ff:fe67:1/128

Example
root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 destination-prefix ipv6 fe80::780b:9ff:fe67:1/128
root@rtbrick: cfg> commit

8.2.5. Setting source prefix

The following command sets the source prefix address.

Syntax

< set instance <instance> tcp authentication-identifier <identifier> source-prefix ipv6 <ipv6_address>

Command arguments

<instance>

Name of the BGP instance

<identifier>

Name of the TCP authentication identifier

<ipv6_address>

Specify a valid source-prefix IPv6 address, for example fe80::7871:b4ff:fe93:2/128

Example
root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 source-prefix ipv6 fe80::7871:b4ff:fe93:2/128
root@rtbrick: cfg> commit

8.2.6. Setting receive id

The following command sets the receiver key identifier.

Syntax

set instance <instance> tcp authentication-identifier <identifier> <receive-key-id> <key-id> <receive-key> <authentication-key>

Command arguments

<instance>

Name of the BGP instance

<identifier>

Name of the TCP authentication identifier

<receive-key-id>

The receiver-key-id, for example " receive-key1-id, receive-key2-id"

<key-id>

Key-id, for example "key_id as 1 for receive-key1-id or key_id as 2 for receive-key2-id"

<receive-key>

receive-key, for example "receive-key1 for receive-key1-id or receive-key2 for receive-key2-id"

<authentication-key>

MD5 authentication-key

Example
Note Passwords need to be mandatorily prefixed with a zero for MD5

For receive-key1-id

root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 receive-key1-id 1 receive-key1 0MD5
root@rtbrick: cfg> commit

For receive-key2-id

root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 receive-key2-id 2 receive-key2 0MD5
root@rtbrick: cfg> commit

8.2.7. Setting send id

The following command sets the sender’s key identifier.

Syntax

set instance <instance> tcp authentication-identifier <idenifier> send-key-id <key-id> send-key <authentication-key>

Command arguments

<instance>

Name of the BGP instance

<identifier>

Name of the TCP authentication identifier

<key-id>

Key-id

<authentication-key>

MD5 authentication-key

Example
Note Passwords need to be mandatorily prefixed with a zero for MD5
root@rtbrick: cfg> set instance ip2vrf tcp authentication-identifier rtb_spine_1 send-key-id 1 send-key 0MD5
root@rtbrick: cfg> commit

9. Configuring IPv6 Provider Edge over MPLS (6PE)

6PE solution enables IPv6 communication over MPLS IPv4 core network. IPv6 reachability information is associated with a label and transferred through MP-BGP(AFI: 2 SAFI:4). IPv4 mapped IPv6 address is used to encode the nexthop information. The edge nodes in MPLS IPv4 core have to support both IPv4 and IPv6. The IPv6 Labeled Unicast routes received from the 6PE peer is considered as IPv6 unicast routes and installed in IPv6 Unicast FIB. The received Label is attached to the IPv6 data traffic at the Ingress node and tunneled through a MPLS tunnel(SR) to the egress node, the label identifies the IPv6 traffic and the egress node would POP the label and forward the ipv6 traffic towards the destination.

9.1. Enabling 6PE for a BGP Address-family

9.1.1. Enable ipv6 unicast for BGP instance

The following command enables IPv6 unicast address-family under BGP instance.

Syntax

set instance <instance> protocol bgp address-family ipv6 unicast

Example
root@rtbrick: cfg> set instance ip2vrf protocol bgp address-family ipv6 unicast
root@rtbrick: cfg> commit

9.1.2. Enable ipv6 labeled-unicast for BGP instance

The following command enables IPv6 labeled-unicast address-family under BGP instance.

Syntax

set instance <instance> protocol bgp address-family ipv6 labeled-unicast

Example
root@rtbrick: cfg> set instance ip2vrf protocol bgp address-family ipv6 labeled-unicast
root@rtbrick: cfg> commit

9.1.3. Setting lookup SAFI for IPv6 unicast prefixes

The following command resolves the nexthop address associated with the 6PE route on IPv4 labeled-unicast as nexthop for 6PE route is IPv4 mapped IPv6 address..

Syntax

set instance <instance> protocol bgp address-family ipv6 unicast resolve nexthop safi labeled-unicast

Example
root@rtbrick: cfg> set instance ip2vrf protocol bgp address-family ipv6 unicast resolve nexthop safi labeled-unicast
root@rtbrick: cfg> commit

9.1.4. Enable IPv6 labeled-unicast AFI/SAFI under peer-group

The following command enables IPv6 labeled-unicast address-family under peer-group to which iBGP peer is attached.

Syntax

set instance <instance> protocol bgp peer-group <peer-group-name> address-family ipv6 labeled-unicast

Example
root@rtbrick: cfg> set instance ip2vrf protocol bgp peer-group leaf1 address-family ipv6 labeled-unicast
root@rtbrick: cfg> commit

9.1.5. Setting send-label for IPv6 unicast AFI/SAFI

The following command enables advertisement of the label along with the IPv6 unicast route through iBGP session.

Syntax

set instance <instance> protocol bgp peer-group <peer-group-name> address-family ipv6 unicast send-label

Example
root@rtbrick: cfg> root@spine1:confd> set instance ip2vrf protocol bgp peer-group leaf1 address-family ipv6 unicast send-label
root@rtbrick: cfg> commit

©Copyright 2020 RtBrick, Inc. All rights reserved. The information contained herein is subject to change without notice. The trademarks, logos and service marks ("Marks") displayed in this documentation are the property of RtBrick in the United States and other countries. Use of the Marks are subject to RtBrick’s Term of Use Policy, available at https://www.rtbrick.com/privacy. Use of marks belonging to other parties is for informational purposes only.