Applies To:
Show VersionsBIG-IP AAM
- 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
BIG-IP APM
- 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
BIG-IP GTM
- 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
BIG-IP Analytics
- 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
BIG-IP Link Controller
- 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
BIG-IP LTM
- 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
BIG-IP PEM
- 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
BIG-IP AFM
- 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
BIG-IP ASM
- 11.6.5, 11.6.4, 11.6.3, 11.6.2, 11.6.1
Dynamic routing on the BIG-IP system
By enabling and configuring any of the BIG-IP advanced routing modules, you can configure dynamic routing on the BIG-IP system. You enable one or more advanced routing modules, as well as the Bidirectional Forwarding Detection (BFD) protocol, on a per-route-domain basis. Advanced routing module configuration on the BIG-IP system provides these functions:
- Dynamically adds routes to the Traffic Management Microkernel (TMM) and host route tables.
- Advertises and redistributes routes for BIG-IP virtual addresses to other routers.
- When BFD is enabled, detects failing links more quickly than would normally be possible using the dynamic routing protocols' own detection mechanisms.
Supported protocols for dynamic routing
The BIG-IP advanced routing modules support these protocols.
Protocol Name | Description | Daemon | IP version supported |
---|---|---|---|
BFD | Bidirectional Forwarding Detection is a protocol that detects faults between two forwarding engines connected by a link. On the BIG-IP system, you can enable the BFD protocol for the OSPFv2, BGP4, and IS-IS dynamic routing protocols specifically. | oamd | IPv4 and IPv6 |
BGP4 | Border Gateway Protocol (BGP) with multi-protocol extension is a dynamic routing protocol for external networks that supports the IPv4 and IPv6 addressing formats. | bgpd | IPv4 and IPv6 |
IS-IS | Intermediate System-to-Intermediate System (IS-IS) is a dynamic routing protocol for internal networks, based on a link-state algorithm. | isisd | IPv4 and IPv6 |
OSPFv2 | The Open Shortest Path First (OSPF) protocol is a dynamic routing protocol for internal networks, based on a link-state algorithm. | ospfd | IPv4 |
OSPFv3 | The OSPFv3 protocol is an enhanced version of OSPFv2. | ospf6d | IPv6 |
RIPv1/RIPv2 | Routing Information Protocol (RIP) is a dynamic routing protocol for internal networks, based on a distance-vector algorithm (number of hops). | ripd | IPv4 |
RIPng | The RIPng protocol is an enhanced version of RIPv2. | ripngd | IPv6 |
About the Bidirectional Forwarding Detection protocol
Bidirectional Forwarding Detection (BFD) is an industry-standard network protocol on the BIG-IP system that provides a common service to the dynamic routing protocols BGPv4, OSPFv2, and IS-IS. Enabled on a per-route domain basis, BFD identifies changes to the connectivity between two forwarding engines, or endpoints, by transmitting periodic BFD control packets on each path between the two endpoints. When either endpoint fails to receive these control packets for a specific duration of time, the connectivity between the endpoints is considered lost, and BFD notifies the associated dynamic routing protocols. In general, BFD detects connectivity changes more rapidly than the endpoints' standard Hello mechanisms, leading to quicker network convergence, which is highly desirable to data center applications.
BFD operates by establishing a session between two endpoints, sending BFD control packets over the link. If more than one link exists between two endpoints, BFD can establish multiple sessions to monitor each link.
A BFD session can operate in one of two modes, either asynchronous mode or demand mode:
- You configure BFD to operate in asynchronous mode when you want both endpoints to verify connectivity by periodically sending Hello packets to each other. This is the most commonly-used mode.
- You configure BFD to operate in demand mode when you want the endpoints to use another way to verify connectivity to each other instead of sending Hello packets. For example, the endpoints might verify connectivity at the underlying physical layer. Note, however, that in demand mode, either host can send Hello packets if needed.
Configuration overview
The first step in configuring the Bidirectional Forwarding Detection (BFD) protocol on the BIG-IP system is to use the IMI Shell within tmsh to configure the protocol for the relevant advanced routing modules (BGP4, OSPFv2, and IS-IS):
- Because BFD does not include a discovery mechanism, you must explicitly configure BFD sessions between endpoints.
- The BFD protocol requires you to commit a nominal amount of additional system resources, in the form of timers, interface bandwidth, and system memory.
After configuring BFD protocol behavior, you enable the protocol on one or more specific route domains.
Enabling the BFD protocol for a route domain
You must enable the Bidirectional Forwarding Detection (BFD) network protocol on a per-route domain basis. Use this task to enable BFD on an existing route domain.
Common commands for BFD base configuration
There are two common BFD commands that you can use to perform BFD base configuration. To use these commands, you use the IMI Shell within tmsh.
Sample command line sequence | Result |
---|---|
bigip (config-if)# bfd interval 100 minrx 200 multiplier 4 | Sets desired Min Tx, required Min Rx, and detect Multiplier. |
bigip (config)# bfd slow-timer 2000 | Sets BFD slow timer to two seconds. |
Common commands for BFD routing configuration
There are a number of common BFD commands that you can use to perform BFD routing configuration. To use these commands, you use the IMI Shell within tmsh.
Protocol | Sample command line sequence | Result |
---|---|---|
BGP4 | bigip (config-if)# neighbor 1.1.1.1 fallover bfd multihop | Enables multi-hop bidirectional forwarding detection to BGP neighbor 1.1.1.1. |
OSPFv2 | bigip (config)# bfd all-interfaces | Enables single-hop bidirectional forwarding detection for all OSPF neighbors. |
OSPFv2 | bigip (config)# area 1 virtual-link 3.3.3.3 fallover bfd | Enables multi-hop bidirectional forwarding detection to OSPF router 3.3.3.3. |
IS-IS | bigip (config-if)# bfd all-interfaces | Enables bidirectional forwarding detection for all IS-IS neighbors. |
About ECMP routing
Some of the advanced routing modules on the BIG-IP system include support for Equal Cost Multipath (ECMP) routing. ECMP is a forwarding mechanism for routing a traffic flow along multiple paths of equal cost, with the goal of achieving equally-distributed link load sharing. By load balancing traffic over multiple paths, ECMP offers potential increases in bandwidth, as well as some level of fault tolerance when a path on the network becomes unavailable.
Advanced routing modules that support ECMP
The BIG-IP system deploys Equal Cost Multipath (ECMP) routing with these advanced routing modules:
- BGP4
- IS-IS
- OSPFv2
- OSPFv3
- RIPv1
- RIPv2
The ECMP protocol is enabled by default for all of these advanced routing modules except BGP4. For BGP4, you must explicitly enable the ECMP forwarding mechanism.
Enabling the ECMP protocol for BGP4
You can enable the Equal Cost Multipath (ECMP) forwarding mechanism for the BGP4 advanced routing module, using the Traffic Management Shell (tmsh) command line interface. When you enable ECMP for BGP4, the BIG-IP system provides multiple paths for a traffic flow to choose from, in order to reach the destination.
Viewing routes that use ECMP
- Open a console window, or an SSH session using the management port, on a BIG-IP system.
- Use your user credentials to log in to the system.
- At the command prompt, type tmsh show net route.
Location of startup configuration for advanced routing modules
When you enable advanced routing modules for a route domain, the BIG-IP system creates a dynamic routing startup configuration. Each route domain has its own dynamic routing configuration, located in the folder /config/zebos/rdn, where n is the numeric route domain ID.
Accessing the IMI Shell
Perform this task when you want to use IMI Shell (imish) to configure any of the dynamic routing protocols. Note that if you are using the route domains feature, you must specify the route domain pertaining to the dynamic routing protocol that you want to configure.
Relationship of advanced routing modules and BFD to route domains
For each route domain on the BIG-IP system (including route domain 0), you can enable one or more dynamic routing protocols, as well as the network protocol Bidirectional Forwarding Detection (BFD). For example, you can enable BGP4 and OSPFv3 on a specific route domain. Use of dynamic routing protocols for a route domain is optional.
When you enable dynamic routing on a specific route domain, the BIG-IP system creates a dynamic routing instance. This dynamic routing instance is made up of the core dynamic routing daemons (imi and nsm), as well each relevant dynamic routing protocol daemon. If you enable BFD, the BFD instance is made up of the oamd protocol daemon. Thus, each dynamic routing instance for a route domain has a separate configuration. You manage a dynamic routing configuration using the IMI shell (imish).
Enabling a protocol for a route domain
The first step in configuring dynamic routing protocols on the BIG-IP system is to enable one or more routing protocols, as well as the optional the Bidirectional Forwarding Detection (BFD) network protocol. A protocol is enabled when at least one instance of the protocol is enabled on a route domain.
Disabling a protocol for a route domain
Perform this task to disable an instance of a routing or network protocol that is currently associated with a route domain other than route domain0.
After disabling a dynamic routing protocol for a route domain, the BIG-IP system stops the daemon of the specified protocol, resulting in these effects:
- If the specified protocol was the only protocol enabled on the system, the system stops the common daemons nsm and imi, and possibly the oamd daemon. You will no longer see these daemons running on the system.
- The relevant configuration is removed from the runtime configuration, but the configuration is stored on the system until you explicitly save the running configuration.
- If restarted later, the BIG-IP system does not automatically re-enable the protocol. In this case, you must explicitly re-enable the protocol after the system restarts.
Displaying the status of enabled protocols
About Route Health Injection
Route Health Injection (RHI) is the system process of advertising the availability of virtual addresses to other routers on the network. You can configure two aspects of RHI: route advertisement and route redistribution.
About route advertisement of virtual addresses
Route advertisement is the function that the BIG-IP system performs when advertising a route for a virtual address to the Traffic Management Microkernel (TMM) routing table. You must configure route advertisement to ensure that the dynamic routing protocols propagate this route to other routers on the network.
When configuring route advertisement for a virtual address, you can specify the particular condition under which you want the BIG-IP system to advertise the address. The available conditions that you can choose from, and their descriptions, are:
- When any relevant virtual server is available
- If the system has multiple virtual servers for that virtual address and at least one of them is available, the system advertises the route for the virtual address.
- When all relevant virtual servers are available
- The system only advertises the route for the virtual address when all of the relevant virtual servers are available.
- Always
- The system can advertise the route even when all relevant virtual servers are unavailable. For example, the system can advertise the route when the virtual server is disabled but the virtual address is enabled and the assigned pool is available.
After you specify the desired behavior of the system with respect to route advertisement, the tmrouted daemon attempts to comply. The daemon only succeeds in advertising the route for the virtual address when the relevant virtual servers, pool, and pool members collectively report their status in specific combinations.
Determination of UP state for a virtual address
The tmrouted daemon within the BIG-IP system considers a virtual IP address to be in an UP state when any one of the following conditions are true:
- The BIG-IP Configuration utility shows blue, green, or yellow status for the virtual address.
- The virtual address is a member of an active traffic group.
- The virtual address is enabled and is currently being advertised.
Conditions for route advertisement of virtual addresses
This table shows the ways that Local Traffic Manager (LTM) object status affects whether the BIG-IP system advertises a route to a virtual address. In the table, the colors represent object status shown on the Local Traffic screens within the BIG-IP Configuration utility. The table also summarizes the collective LTM object status that determines route advertisement.
LTM object status | |||||
---|---|---|---|---|---|
Route advertised? | Pool member | Pool | Virtual server | Virtual address | Status summary |
Yes | Pool members are monitored and UP. The virtual address is UP. | ||||
Yes | Pool or pool members are unmonitored. The virtual address is enabled. | ||||
Yes | Pool members are disabled. Other objects are enabled. | ||||
Yes | Virtual server is disabled. Virtual address is enabled. | ||||
Yes | N/A | The pool has no members. The virtual address is enabled. | |||
Yes | N/A | N/A | Virtual server has no pool assigned. | ||
No | Pool members are monitored and DOWN. | ||||
No | Virtual server and virtual address are disabled. | ||||
No | Virtual address is disabled. Other objects are enabled. |
LTM object status indicators
The BIG-IP Configuration utility displays various colored icons to report the status of virtual servers, virtual addresses, pools, and pool members.
- Green circle
- The object is available in some capacity. The BIG-IP system services traffic destined for this object.
- Blue square
- The availability of the object is unknown. Sample causes of this status are when the object is not configured for service checking, the IP address of the object is misconfigured, or the object is disconnected fromthe network.
- Yellow triangle
- The object is not currently available but might become available later with no user intervention. For example, an object that has reached its configured connection limit might show yellow status but later switch to green when the number of connections falls below the configured limit.
- Red diamond
- The object is not available. The BIG-IP system cannot service traffic destined for this object. A sample cause of this status is when a node fails service checking because it has become unavailable. This status requires user intervention to restore the object status to green.
- Black circle
- A user has actively disabled an available object.
- Black diamond
- A user has actively disabled an unavailable object.
- Gray icons
- A parent object disabled the object, or the object is enabled but unavailable because of another disabled object.
Configuring route advertisement on virtual addresses
Perform this task to specify the criterion that the BIG-IP system uses to advertise routes for virtual addresses. You must perform this task if you want the dynamic routing protocols to propagate this route to other routers on the network.
Displaying advertised routes for virtual addresses
After performing this task, you should see the advertised routes for virtual addresses. For example, advertised routes for virtual addresses 10.1.51.80/32 and 10.2.51.81/32 appear as follows:
K 10.1.51.80/32 is directly connected, tmm0 K 10.1.51.81/32 is directly connected, tmm0
The /32 netmask indicates that the IP addresses pertain to individual hosts, and the tmm0 indicator shows that protocols on other routers have learned these routes from the Traffic Management Microkernel (TMM).
Delaying the withdrawal of RHI routes
Perform this task to delay the withdrawal of RHI routes when operation status changes. Delaying route withdrawal prevents short route flaps that might occur due to both the short period during failover when both devices are in a standby state, and the periodic housekeeping processes in routing protocol daemons (specifically bgpd).
Redistribution of routes for BIG-IP virtual addresses
You can explicitly configure each dynamic routing protocol to redistribute routes for advertised virtual addresses, to ensure that other routers on the network learn these routes. For purposes of redistribution, the dynamic routing protocols consider any route generated through Route Health Injection (RHI) to be a host route.
This example shows an entry in the OSPF configuration. When you add this statement to the OSPF configuration, the BIG-IP system redistributes the route for the virtual address.
router ospf redistribute kernelYou can optionally specify a route-map reference that specifies the route map to use for filtering routes prior to redistribution. For example:
redistribute kernel route-map external-outRoute maps provide an extremely flexible mechanism for fine-tuning redistribution of routes using the dynamic routing protocols.
Advertisement of next-hop addresses
The BIG-IP system advertises all self IP addresses, including floating self IP addresses, to the dynamic routing protocols. The protocols store floating addresses so that the protocols can prefer a floating address as the advertised next hop. This applies only to protocols that allow explicit next-hop advertisement.
IPv6 next-hop address selection (BGP4 only)
When you are using BGP4 and IPv6 addressing, you can advertise one or two next-hop addresses for each route. The BIG-IP system selects the addresses to advertise based on several factors.
Parameter combinations for next-hop address selection
For BGP-4 only, you can choose from several combinations of configuration parameters to control the selection of next-hop IPv6 addresses.
Link-local autoconf. (LL-A) | Link-local (LL) | Link-local floating (LL-F) | Global (G) | Global floating (G-F) | EBGP multihop | Advertised nexthop addresses |
---|---|---|---|---|---|---|
P | LL-A | |||||
X | P | LL | ||||
X | P | X | LL-F | |||
X | P | X | G, LL | |||
X | P | G, LL-A | ||||
X | X | X | P | X | G | |
X | X | X | P | LL-F | ||
X | P | X | G-F | |||
X | P | X | X | GF, LL | ||
X | X | P | X | GF | ||
X | P | X | X | X | LL-F | |
X | X | X | P | X | GF-F |
Visibility of static routes
The dynamic routing protocols view Traffic Management Microkernel (TMM) static routes as kernel routes. (TMM static routes are routes that you configure using tmsh or the BIG-IP Configuration utility.) Because TMM static routes are viewed as kernel routes, a TMM static route has a higher precedence than a dynamic route (with an identical destination).
Management routes and addresses are not visible to the dynamic routing protocols and cannot be advertised. Routes to the networks reachable through the management interface can be learned by dynamic routing protocols if they are reachable through a VLAN, VLAN group, or tunnel.
About dynamic routing for redundant system configurations
If the BIG-IP system that you are configuring for dynamic routing is part of a redundant system configuration, you should consider these factors:
- You must configure the dynamic routing protocols on each member of the device group.
- For protocols that include the router ID attribute, you should verify that each member of the device group has a unique router ID.
- When you configure Route Health Injection (RHI), only active device group members advertise routes to virtual addresses.
Special considerations for BGP4, RIP, and IS-IS
For the BGP, RIP, RIPng, and IS-IS protocols, you no longer need to specifically configure these protocols to function in active-standby configurations. Each member of the device group automatically advertises the first floating self IP address of the same IP subnet as the next hop for all advertised routes. This applies to both IPv4 and IPv6 addresses.
Advertising a next-hop address that is always serviced by an active device guarantees that all traffic that follows routes advertised by any device in the redundant pair is forwarded based on the active LTM configuration.
Special considerations for OSPF
For OSPF protocols, the BIG-IP system ensures that standby device group members are the least preferred next-hop routers. The system does this by automatically changing the runtime state as follows:
Protocol Name | Runtime state change |
---|---|
OSPFv2 | The OSPF interface cost is increased on all interfaces to the maximum value (65535) when the status of the device is Standby. Also, all external type 2 Link State Advertisements (LSAs) are aged out. |
OSPFv3 | The OSPF interface cost is increased on all interfaces to the maximum value. |
Dynamic routing on a VIPRION system
If you have a VIPRION system, it is helpful to understand how the cluster environment affects the dynamic routing functionality.
VIPRION appearance as a single router
On a VIPRION system, the dynamic routing system behaves as if the cluster were a single router. This means that a cluster always appears as a single router to any peer routers, regardless of the dynamic routing protocol being used.
From a management perspective, the VIPRION system is designed to appear as if you are configuring and managing the routing configuration on a single appliance. When you use the cluster IP address to configure the dynamic routing protocols, you transparently configure the primary blade in the cluster. The cluster synchronization process ensures that those configuration changes are automatically propagated to the other blades in the cluster.
Redundancy for the dynamic routing control plane
The dynamic routing system takes advantage of the redundancy provided by the cluster environment of a VIPRION chassis, for the purpose of providing redundancy for the dynamic routing control plane. Two key aspects of dynamic routing control plane redundancy are the VIPRION cluster’s appearance to the routing modules as a single router, and the operational modes of the enabled dynamic routing protocols.
Operational modes for primary and secondary blades
Enabled dynamic routing protocols run on every blade in a cluster in one of these operational modes: MASTER, STANDBY, or SLAVE.
This table shows the operational modes for primary and secondary blades, on both the active cluster and the standby cluster.
Blade Type | Active Cluster | Standby Cluster | Notes |
---|---|---|---|
Primary | MASTER mode | STANDBY mode | The dynamic routing protocols:
|
Secondary | SLAVE mode | SLAVE mode | The dynamic routing protocols:
|
In MASTER and STANDBY modes, all routes learned by way of dynamic routing protocols on the primary blade are (in real-time) propagated to all secondary blades. The difference between MASTER and STANDBY mode is in the parameters of advertised routes, with the goal to always make the active unit the preferred next hop for all advertised routes.
The transition from SLAVE to MASTER or STANDBY mode takes advantage of standard dynamic routing protocol graceful restart functionality.
Viewing the current operational mode
Perform this task to display the current operational mode (MASTER, STANDBY, or SLAVE) of a blade.
About graceful restart on the VIPRION system
With the graceful restart function, the dynamic routing protocol control plane moves from one blade to another without disruption to traffic. Graceful restart is enabled for most supported protocols and address families by default.
To operate successfully, the graceful restart function must be supported and enabled on all peer routers with which the VIPRION system exchanges routing information. If one or more peer routers does not support graceful restart for one or more enabled dynamic routing protocols, a change in the primary blade causes full dynamic routing reconvergence, and probably traffic disruption. The traffic disruption is caused primarily by peer routers discarding routes advertised by the VIPRION system.
The BIG-IP system always preserves complete forwarding information (TMM and host route tables) on VIPRION systems during primary blade changes, regardless of support for graceful restart on peer routers.
Runtime monitoring of individual blades
The BIG-IP system automatically copies the startup configuration to all secondary blades and loads the new configuration when the running configuration is saved on the primary blade.
You can display information about the runtime state of both the primary and secondary blades. However, some information displayed on secondary blades might differ from the information on the primary blade. For troubleshooting, you should use the information displayed on the primary blade only, because only the primary blade both actively participates in dynamic routing communication and controls route tables on all blades.
Troubleshooting information for dynamic routing
Dynamic route propagation depends on a BIG-IP system daemon named tmrouted. The BIG-IP system starts the tmrouted daemon when you enable the first dynamic routing protocol. and restarts the daemon whenever the BIG-IP system restarts.
In the rare case when you need to manage the tmrouted daemon due to a system issue, you can perform a number of different tasks to troubleshoot and solve the problem.
Checking the status of the tmrouted daemon
- Open a console window, or an SSH session using the management port, on a BIG-IP device.
- Type your user credentials to log in to the system.
- If the system has granted you access to the BASH shell prompt, type tmsh. Otherwise, skip this step.
- Type show /sys service tmrouted.
Stopping the tmrouted daemon
You perform this task to stop an instance of the tmrouted daemon.
- Open a console window, or an SSH session using the management port, on the BIG-IP device.
- Type your user credentials to log in to the system.
- If the system has granted you access to the BASH shell prompt, type tmsh. Otherwise, skip this step.
- At the tmsh shell prompt, type stop /sys service tmrouted.
Restarting the tmrouted daemon
You perform this task to restart an instance of the tmrouted daemon. Whenever the BIG-IP system reboots for any reason, the BIG-IP system automatically starts an instance of tmrouted for each instance of an enabled dynamic routing protocol.
- Open a console window, or an SSH session using the management port, on the BIG-IP system.
- Type your user credentials to log in to the system.
- If the system has granted you access to the BASH shell prompt, type tmsh. Otherwise, skip this step.
- At the tmsh shell prompt, type restart /sys service tmrouted.
Configuring tmrouted recovery actions
Location and content of log files
For each dynamic routing protocol, the BIG-IP system logs messages to a file that pertains to the route domain in which the protocol is running. An example of the path name to a dynamic routing log file is /var/log/zebos/rd1/zebos.log file, where rd1 is the route domain of the protocol instance.
The system logs additional messages to the files /var/log/daemon.log and /var/log/ltm. The system logs protocol daemon information for protocol-specific issues, and logs nsm and imi daemon information for core daemon-related issues.
If a core dynamic routing daemon exits, the system logs an error message similar to the following to the /var/log/daemon.log file:
Mar 5 22:43:01 mybigip LOGIN: Re-starting tmroutedIn addition, the BIG-IP system logs error messages similar to the following to the /var/log/ltm file:
mcpd[5157]: 01070410:5: Removed subscription with subscriber id bgpd mcpd[5157]: 01070533:3: evWrite finished with no byte sent to connection 0xa56f9d0 (user Unknown) - connection deleted