Application-Aware Routing Policy Configuration Example
This article shows a straightforward example of configuring application-aware routing policy. This example defines a policy that applies to ICMP traffic, directing it to links with latency of 50 milliseconds or less when such links are available.
Configuration Steps
You configure application-aware routing policy on a vSmart controller. The configuration consists of the following high-level components:
- Definition of the application (or applications)
- Definition of SLA parameters
- Definition of sites, prefixes, and VPNs
- Application-aware routing policy itself
- Specification of overlay network sites to which the policy is applied
The order in which you configure these components is immaterial from the point of view of the CLI. However, from an architectural design point of view, a logical order is to first define all the parameters that are invoked in the application-aware routing policy itself or that are used to apply the policy to various sites in the overlay network. Then, you specify the application-aware routing policy itself and the network sites to which you want to apply the policy.
Here is the procedure for configuring this application-aware routing policy on vSmart, which is a vSmart controller:
- Define the SLA parameters to apply to matching ICMP traffic. In our example, we want to direct ICMP traffic to links that have a latency of 50 milliseconds or less:
vSmart# config
vSmart(config)# policy sla-class test_sla_class latency 50
vSmart(config-sla-class-test_sla_class)# - Define the site and VPN lists to which we want to apply the application-aware routing policy:
vSmart(config-sla-class-test_sla_class)# exit
vSmart(config-sla-class-test_sla_class)# lists vpn-list vpn_1_list vpn 1
vSmart(config-vpn-list-vpn_1_list)# exit
vSmart(config-lists)# site-list site_500 site-id 500
vSmart(config-site-list-site_500)# - Configure the application-aware routing policy. Note that in this example, we apply the policy to the application in two different ways: In sequences 1, 2, and 3, we specify the protocol number (protocol 1 is ICMP, protocol 6 is TCP, and protocol 17 is UDP).
vSmart(config-site-list-site_500)# exit
vSmart(config-lists)# exit
vSmart(config-policy)# app-route-policy test_app_route_policy
vSmart(config-app-route-policy-test_app_route_policy)# vpn-list vpn_1_list
vSmart(config-vpn-list-vpn_1_list)# sequence 1 match protocol 6
vSmart(config-match)# exit
vSmart(config-sequence-1)# action sla-class test_sla_class strict
vSmart(config-sequence-1)# exit
vSmart(config-vpn-list-vpn_1_list)# sequence 2 match protocol 17
vSmart(config-match)# exit
vSmart(config-sequence-2)# action sla-class test_sla_class
vSmart(config-sequence-2)# exit
vSmart(config-vpn-list-vpn_1_list)# sequence 3 match protocol 1
vSmart(config-match)# exit
vSmart(config-sequence-3)# action sla-class test_sla_class strict
vSmart(config-sequence-3)# exit
vSmart(config-sequence-4)# -
Apply the policy to the desired sites in the Viptela overlay network:
vSmart(config-sequence-4)# top
vSmart(config)# apply-policy site-list site_500 app-route-policy test_app_route_policy -
Display the configuration changes:
vSmart(config-site-list-site_500)# top
vSmart(config)# show config -
Validate that the configuration contains no errors:
vSmart(config)# validate
Validation complete -
Activate the configuration:
vSmart(config)# commit
Commit complete. -
Exit from configuration mode:
vSmart(config)# exit
vSmart#
Full Example Configuration
Putting all the pieces of the configuration together gives this configuration:
vSmart# show running-config policy policy sla-class test_sla_class latency 50 ! app-route-policy test_app_route_policy vpn-list vpn_1_list sequence 1 match protocol 6 ! action sla-class test_sla_class strict ! sequence 2 match protocol 17 ! action sla-class test_sla_class ! sequence 3 match protocol 1 ! action sla-class test_sla_class strict ! ! ! lists vpn-list vpn_1_list vpn 1 ! site-list site_500 site-id 500 ! site-list site_600 site-id 600 ! ! ! apply-policy site-list site_500 app-route-policy test_app_route_policy ! !
Additional Information
Application-Aware Routing
Configuring Application-Aware Routing