BGP Address Family Configuration

The TNSR BGP implementation is capable of handling routing information for IPv4 and IPv6 independently, among other network layer protocols. The address-family <family> <type> command defines BGP behavior for each specific supported case. The most common address families are ipv4 unicast and ipv6 unicast. The other possible choices supported in this version are ipv4 multicast and ipv6 multicast.

The address-family command changes to BGP address family mode, which contains settings specific to each address family. The prefix for this mode varies depending on the address family command which entered the mode. For example, when configuring settings for the IPv4 unicast address family, the prompt indicates config-bgp-ip4uni.

tnsr(config-bgp)# address-family ipv4 unicast
tnsr(config-bgp-ip4uni)#

Each resulting mode, such as config-bgp-ip4uni or config-bgp-ip6uni, contains its own set of commands. As these may differ, they are split up in multiple sections here.

IPv4 or IPv6 Unicast

The following commands are available in config-bgp-ip4uni and config-bgp-ip6uni modes:

aggregate-address <ip-prefix> [as-set] [summary-only]

This command configures route aggregation using the specified prefix. More specific routes contained within the specified prefix will be aggregated into the larger prefix, minimizing the set of networks advertised to peers.

as-set

When present, routes for the specified prefix will include an AS set. An AS set is a collection of AS numbers for which routes have been aggregated. This allows peers to detect routing loops, duplicate routes, and so on.

summary-only

When present, aggregated routes for this prefix will not be announced, so peers only see the aggregate prefix and not the component networks.

distance external <extern> internal <intern> local <local>

Configures distance values which control how BGP will treat routes based on the length of their AS path.

external <extern>

The distance at which routes are considered external, from 1-255.

internal <intern>

The distance at which routes are considered internal, from 1-255.

local <local>

The distance at which routes are considered local, from 1-255.

distance administrative <dist> prefix <ip-prefix> [access-list <access-list-name>]

This command manually configures the administrative distance for a given prefix, with the following required parameters:

administrative <dist>

The administrative distance for this prefix, from 1-255.

prefix <ip-prefix>

The IP prefix to which this distance will be applied.

access-list <access-list-name>

An access list which can be used to apply the distance to only a subset of the configured prefix.

maximum-paths <non-ibgp-paths> [igbp <ibgp-paths> [equal-cluster-length]]

Configures the maximum number of paths for multi-path eBGP forwarding. This is enabled by default with a value of 64. This allows the router to utilize multiple equal identical paths via different routers.

Paths for prefixes advertised by multiple eBGP peers in the same AS are considered equal cost and result in a multi-path route.

Note

As this feature is enabled by default, to disable this behavior, set the value to 1 which limits routes to only a single path.

igbp <ibgp-paths>

Configures a value for multi-path forwarding in iBGP roles.

equal-cluster-length

Only consider paths as matching when cluster lengths are also equal.

neighbor <existing-neighbor>

Specifies an existing neighbor address or peer group to use with this address family, and enters BGP Address Family Neighbor Configuration mode.

Warning

This command cannot define a new neighbor. A neighbor or peer group must first be defined using the neighbor command from within config-bgp mode before it can be used here.

network <ip-prefix> [route-map <route-map>]

Configures a prefix to be advertised to peers in this address family.

route-map <route-map>

Specifies a route map used to limit advertisements of this prefix.

redistribute <route-source> [metric <val>|route-map <route-map-name>]

Enables redistribution of routes from another source. Available route sources are listed in Dynamic Routing Protocol Lists.

metric <val>

A MED value to apply to redistributed routes.

route-map <route-map-name>

Specifies a route map used to limit redistributed route advertisements.

redistribute ospf [metric <val>|route-map <route-map-name>]

Configure redistribution of routes from OSPF.

metric <val>

A MED value to apply to redistributed routes.

route-map <route-map-name>

Specifies a route map used to limit redistributed route advertisements.

redistribute table id <kernel-table-id> [metric <val>|route-map <route-map-name>]

Configure redistribution of routes only from a specific kernel routing table, rather than all tables.

metric <val>

A MED value to apply to redistributed routes.

route-map <route-map-name>

Specifies a route map used to limit redistributed route advertisements.

table-map <route-map-name>

Uses the specified route map to control how routes received from BGP peers are passed to the dynamic routing manager process, and thus, into routing tables.

IPv4 Multicast

The following commands are available in config-bgp-ip4multi mode. See IPv4 or IPv6 Unicast for descriptions of the commands and parameters:

  • aggregate-address

  • distance external

  • distance administrative

  • neighbor

  • network

  • table-map

IPv6 Multicast

The following commands are available in config-bgp-ip6multi mode See IPv4 or IPv6 Unicast for descriptions of the commands and parameters:

  • distance external

  • distance administrative

  • neighbor

  • network