Skip to main content
Viptela is now part of Cisco.
Support
Product Documentation
Viptela Documentation

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:

  1. 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)#
  2. 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)#
  3. 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)#
  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

  5. Display the configuration changes:
    vSmart(config-site-list-site_500)# top
    vSmart(config)# show config

  6. Validate that the configuration contains no errors:

    vSmart(config)# validate
    Validation complete

  7. Activate the configuration:

    vSmart(config)# commit
    Commit complete.

  8. 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
 !
!
  • Was this article helpful?