Manual Chapter :
Move ZebOS BGP and BFD routing
configuration to iControl REST
Applies To:
Show VersionsBIG-IP LTM
- 13.1.1, 13.1.0
Move ZebOS BGP and BFD routing
configuration to iControl REST
Before moving your configuration to
iControl REST, be sure to create the VLANs and Self-IP
addresses you need to use.
You have to create a new
deployment because migration compatibility is not yet available.
- Enable thesys db variableby adding a JSON object to the URI.For example, if you had two devices (10.144.130.174and10.144.128.231) you would enter this command into a terminal that can reach both devices:curl -k -u admin:admin https://10.144.130.174/mgmt/tm/sys/db/tmrouted.tmos.ro uting/ -H "Content-Type: application/json" -X PUT -d '{"value": "enable"}'curl -k -u admin:admin https://10.144.128.231/mgmt/tm/sys/db/tmrouted.tmos.ro uting/ -H "Content-Type: application/json" -X PUT -d '{"value": "enable"}'
- Remove existing routing protocols.For example:curl -k -u admin:admin https://10.144.130.174/mgmt/tm/net/route-domain/0/ -H "Content-Type: application/json" -X PATCH -d '{"routingProtocol": []}' curl -k -u admin:admin https://10.144.128.231/mgmt/tm/net/route-domain/0/ -H "Content-Type: application/json" -X PATCH -d '{"routingProtocol": []}'
- Create the routing instance: name, specify the AS, redistribute connected, static, and kernel routes.For example:curl -k -u admin:admin https://10.144.130.174/mgmt/tm/net/routing/bgp -H "Content-Type: application/json" -X POST -d '{"name": "testBGP", "localAs": "111", "addressFamily": [ {"name": "ipv4", "redistribute": [ {"name": "connected"}, {"name": "static"}, {"name": "kernel"}]}, {"name": "ipv6", "redistribute": [ {"name": "connected"}, {"name": "static"}, {"name": "kernel"}]}]}' curl -k -u admin:admin https://10.144.128.231/mgmt/tm/net/routing/bgp -H "Content-Type: application/json" -X POST -d '{"name": "testBGP", "localAs": "112", "addressFamily": [ {"name": "ipv4", "redistribute": [ {"name": "connected"}, {"name": "static"}, {"name": "kernel"}]}, {"name": "ipv6", "redistribute": [ {"name": "connected"}, {"name": "static"}, {"name": "kernel"}]}]}'
- To verify the routing instance:tmsh list net routing
- Set the routers up as neighbors.For example:curl -k -u admin:admin https://10.144.130.174/mgmt/tm/net/routing/bgp/testBGP /neighbor -H "Content-Type: application/json" -X POST -d '{"name":"1.1.1.2", "remoteAs" : "112"}' curl -k -u admin:admin https://10.144.130.174/mgmt/tm/net/routing/bgp/testBGP /neighbor -H "Content-Type: application/json" -X POST -d '{"name":"1::2", "remoteAs" : "112"}' curl -k -u admin:admin https://10.144.128.231/mgmt/tm/net/routing/bgp/testBGP /neighbor -H "Content-Type: application/json" -X POST -d '{"name":"1.1.1.1", "remoteAs" : "111"}' curl -k -u admin:admin https://10.144.128.231/mgmt/tm/net/routing/bgp/testBGP /neighbor -H "Content-Type: application/json" -X POST -d '{"name":"1::1", "remoteAs" : "111"}'
- Create the routes.An example of static routes:curl -k -u admin:admin https://10.144.130.174/mgmt/tm/net/route -H "Content- Type: application/json" -X POST -d '{"name":"4.4.4.1/32", "blackhole": true}' curl -k -u admin:admin https://10.144.130.174/mgmt/tm/net/route -H "Content- Type: application/json" -X POST -d '{"name": "4::1/128", "blackhole": true}' curl -k -u admin:admin https://10.144.128.231/mgmt/tm/net/route -H "Content- Type: application/json" -X POST -d '{"name":"3.3.3.1/32", "blackhole": true}' curl -k -u admin:admin https://10.144.128.231/mgmt/tm/net/route -H "Content- Type: application/json" -X POST -d '{"name": "3::1/128", "blackhole": true}'An example of connected routes (self IP addresses):curl -k -u admin:admin https://10.144.130.174/mgmt/tm/net/self -H "Content- Type: application/json" -X POST -d '{"name":"4.4.4.2/32", "vlan": "testVlan", "allowService": "none"}' curl -k -u admin:admin https://10.144.130.174/mgmt/tm/net/self -H "Content- Type: application/json" -X POST -d '{"name":"4::2/128", "vlan": "testVlan", "allowService": "none"}' curl -k -u admin:admin https://10.144.128.231/mgmt/tm/net/self -H "Content- Type: application/json" -X POST -d '{"name":"3.3.3.2/32", "vlan": "testVlan", "allowService": "none"}' curl -k -u admin:admin https://10.144.128.231/mgmt/tm/net/self -H "Content- Type: application/json" -X POST -d '{"name":"3::2/128", "vlan": "testVlan", "allowService": "none"}'An example of kernel routes (virtual-addresses):curl -k -u admin:admin https://10.144.130.174/mgmt/tm/ltm/virtual-address -H "Content-Type: application/json" -X POST -d '{"name": "4.4.4.3", "routeAdvertisement": "always"}' curl -k -u admin:admin https://10.144.130.174/mgmt/tm/ltm/virtual-address -H "Content-Type: application/json" -X POST -d '{"name": "4::3", "routeAdvertisement": "always"}' curl -k -u admin:admin https://10.144.128.231/mgmt/tm/ltm/virtual-address -H "Content-Type: application/json" -X POST -d '{"name": "3.3.3.3", "routeAdvertisement": "always"}' curl -k -u admin:admin https://10.144.128.231/mgmt/tm/ltm/virtual-address -H "Content-Type: application/json" -X POST -d '{"name": "3::3", "routeAdvertisement": "always"}'
- To verify the routes have been exchanged:tmsh show net routing bgpIt can take about 10 seconds for the daemon to start up.
- To modify the configuration:curl -k -u admin:admin https://10.144.130.174/mgmt/tm/net/routing/bgp/testBGP /neighbor -H "Content-Type: application/json" -X POST -d '{"name":"5.5.5.5", "remoteAs" : "535"}'