Manual Chapter : Configuring BGP and BFD with tmsh

Applies To:

Show Versions Show Versions

BIG-IP LTM

  • 14.1.0, 14.0.0, 13.1.1, 13.1.0
Manual Chapter

Configuring BGP and BFD with tmsh

ZebOS IMI will still exist in read-only mode, but IMI and tmsh/iControl® REST are mutually exclusive, so you will need to migrate your ZebOS configuration.

Note: The routing configuration cannot be synchronized across a device cluster.

Move ZebOS BGP and BFD routing configuration to tmsh

The same commands used in ZebOS imish for BGP and BFD can be used in tmsh with a few exceptions. You will have to create a new deployment because migration compatibility is not yet available.
Note: Currently BGP and BFD are the only supported protocols available for configuration in tmsh.
  1. To view the routing table:
    tmsh show net route
    You can see what routes the device is dynamically learning from its neighbors. Those routes will have an origin of dynamic.
  2. To view the current configuration in ZebOS:
    imish -e 'show run'
  3. To remove all running routing protocols in tmsh:
    tmsh modify net route-domain 0 routing-protocol replace-all-with { }
    You should run this command in case there are multiple routers across multiple-route-domains. If you have multiple route-domains with routers configured, use the command zebos check -r <rd num> for every route-domain with a router.
    Now you should be able to see that no routing daemons are active if you use the command zebos check.
  4. Before you recreate the router you had in ZebOS, activate the sys db variable by typing the command:
    tmsh modify sys db tmrouted.tmos.routing value enable
    Important: Once you have done this, do not enable any routing protocol in the user interface screen Network > Route Domains , or you will see an error message.
    Once you create a routing instance (BGP or BFD) the system backs upthe routing file in the corresponding route-domain. For example, it is backed up to zebos/rd0/ZebOS.conf.<timestamp> for route-domain 0.
  5. Now you can recreate the router. For example:
    tmsh create net routing bgp testBGP local-as 111 neighbor add { 1.1.1.2 { remote-as 112} 1::2 { remote-as 112 } } address-family { ipv4 ipv6 { redistribute add { connected kernel static } } }
    It can take about 10 seconds for the daemon to start up.
  6. To view the configuration in ZebOS:
    imish -e 'show run'
    To view the configuration in tmsh, type:
    tmsh list net routing
  7. To ensure that the routes made their way into ZebOS:
    imish -e 'show ip route'
  8. To verify that you are once again in an established state with the neighbor:
    tmsh show net routing
  9. Once you create the router, the old configuration is backed up automatically. To ensure that the old configuration is backed up, type the command cat /zebos/rd<x>/ZebOS.conf.<timestamp> where "x" represents the route-domain.
  10. Save your configuration:
    tmsh save sys config
Here is an example of a router and its configuration in tmsh:
net routing bgp testBGP {
    address-family {
        ipv4 {
            redistribute {
                kernel { }
                static { }
            }
        }
        ipv6 {
            redistribute {
                connected { }
            }
        }
    }
    graceful-restart {
        graceful-reset enabled
        restart-time 101
        stalepath-time 44
    }
    local-as 123
    neighbor {
        5:6:7::8 {
            address-family {
                ipv4 {
                    activate disabled
                }
                ipv6 { }
            }
            remote-as 114
        }
        1.2.3.4 {
            address-family {
                ipv4 { }
                ipv6 {
                    activate disabled
                }
            }
            remote-as 113
        }
    }
    profile bgp
    route-domain 0
}
Here is the above router's ZebOS equivalent :
!
service password-encryption
!
bgp extended-asn-cap
!
router bgp 123
 bgp graceful-restart restart-time 101
 bgp graceful-restart stalepath-time 44
 bgp graceful-restart graceful-reset
 redistribute kernel
 redistribute static
 neighbor 1.2.3.4 remote-as 113
 neighbor 5:6:7::8 remote-as 114
 no neighbor 5:6:7::8 activate
 no neighbor 5:6:7::8 capability graceful-restart
 !
 address-family ipv6
 redistribute connected
 no neighbor 1.2.3.4 activate
 no neighbor 1.2.3.4 capability graceful-restart
 neighbor 5:6:7::8 activate
 exit-address-family
!
line con 0
 login
line vty 0 39
 login
!
end

Restore the original ZebOS routing configuration from tmsh

The routing config sync status is in the prompt. If you encounter a config sync failure that you are not able to fix, or if you need to return to your original ZebOS BGP routing configuration, you can restore the ZebOS configuration with the backed up file. Restoring a UCS should fully restore the ZebOS configuration. Note that restoring a UCS will interrupt routing. For more information on restoring using UCS, see https://support.f5.com/csp/article/K13132.
  1. To delete the router you configured in tmsh, type the command:
    tmsh delete net routing all route-domain <route-domain ID>
    Do this for every route-domain with a routing configuration. You are required to specify the route-domain.
  2. To disable the db variable:
    tmsh modify sys db tmrouted.tmos.routing value disable
  3. To verify that the router is deleted:
    tmsh list net routing
  4. To re-enable the routing protocol:
    tmsh modify net route-domain 0 routing-protocol add { BGP }
    You also have to specify any additional protocols you were using in your previous configuration. For example: OSPF, PIM, RIP, and so on.
  5. To restore the backed up configuration:
    # mv /config/zebos/rd0/<filename> /config/zebos/rd0/ZebOS.conf
    For example: # mv /config/zebos/rd0/ZebOS.conf.Apr-20-2017-15:59:07 /config/zebos/rd0/ZebOS.conf
  6. To restart tmrouted:
    bigstart restart tmrouted
    Restarting tmrouted is required to restore the ZebOS configuration after you move the backup file to ZebOS.conf.
  7. To check to see if the configuration was restored:
    imish -e 'show running-config'
  8. To verify the device is still in an established state with the neighbor:
    imish -e 'show bgp neighbor'
  9. To see the routes in the routing table:
    tmsh show net route
    Your configuration should now be back in ZebOS.