All right, it's time to configure application-aware routing,
and we have a sense of how that works by going through the manager UI.
And now we want to just kind of diagram out how exactly this is going to work in the CLI space.
It does start with the lists.
It always starts with the lists.
I'm going to get into list mode, and I can configure my app list here if I so desire.
We took a look at app lists at the UI.
There's examples of creating like a Google list that has a bunch of Google apps in it,
We can also create whatever other lists we want that we've already created,
like TLOCs and VPNs and site lists and so on and so forth.
If we think back to manager and we remember that it's in the group of interest area of our manager interface
where I configure these lists and also SLA class,
I might think that that's where the SLA class is configured in CLI, and it's not.
We're actually going to back out of our lists and go just into the global policy configuration,
and this is where we're going to configure our SLA class, which is very important.
It's going to have our loss and latency and jitter configuration,
and then we're also going to configure our app route policy.
Our app route policy is what we're then going to apply.
We've got to take this, and we have to apply it.
Within the app route policy, that's where we're going to set our match action statements.
Just keep in mind that we're matching on usually applications we demonstrated on prefix lists.
We can match on whatever we want as long as it identifies traffic.
We've got to identify traffic using match, and then action is going to point to the SLA class,
but remember also that we want to specify our preferred color at that point,
and so that's exactly what we're going to go through here.
Let's go ahead and start by getting into our policy configuration and then get into lists,
and we can from here configure an app list.
Let's just call it something like Google Apps,
and now when I run question mark, what am I looking for?
I'm looking for apps.
What type of apps are there?
Well, again, I can do app question mark, and we see a whole lot of lists or apps actually,
a whole lot of apps.
Look at all this.
We've barely just gotten through the A's.
That's incredible.
Maybe I could do a G question mark, and I can see that we've got Gmail and other Google things,
all kinds of different applications that we can pick up on and recognize.
I'm just going to say app Gmail and something like app, again, Google Docs we'll say,
and that's our list of Google Apps.
Whatever our application list needs to be, we have control over that.
We can configure the application lists and then include applications within those.
Now, our application-aware policy might have many different application lists.
Again, we've got sequence numbers, so I can make a sequence number with a match action.
I match these applications.
I apply this SLA class.
Voice over IP should, you know, we were matching on VoIP traffic,
but then it should really have a very different SLA class compared to something like Gmail,
and so it's not just that we're going to configure a single individual match action statement.
We could actually have dozens of match action statements depending on the needs of our organization.
So, again, we just took care of the app list.
Let's take care of everything on the policy side.
So I'm actually going to exit out of this, find myself in the policy section,
and this is where I can configure my SLA class.
Let's call it something like VoIP CLI.
Actually, we just did Google, didn't we?
So maybe we'll call it Google CLI.
I don't know, something like that.
So we're going to here, we do a question mark.
We see that we've got the ability to configure loss, latency, and jitter, and so I'm going to do that.
I'm going to say loss, and we see we're adding a percentage here, so we'll just say loss of, well, it's Google Apps.
We probably care less, so maybe a loss of 3%.
Latency, we could do something a little higher, like let's say 250 milliseconds,
and then jitter as well can be a little higher.
We'll say 100 milliseconds.
So that is how we configure an SLA class.
So now I've just configured that.
Now I can jump right into my policy and start to do my match action statements.
So app route policy here, we'll call it AAR CLI.
Okay, so this is another step that we need to be careful of.
So let's go ahead and draw this out.
So when I create my app route policy, I might think that the first thing I'm going to start to create would be those sequence numbers,
and therefore I can do my match action statements.
because our application-aware routing happens at the service level,
and therefore we need to make sure this data plane policy, we need to know which VPNs are actually getting this applied to.
So this is where we specify it, and it's actually at this point in the hierarchy that we add it in.
Then from here, we're going to start to see sequence numbers.
So we can have multiple VPN lists as part of this app route policy as well with different sequence numbers,
So that's what we're trying to accomplish.
Let's go ahead and do that.
I'm going to specify the VPN list here, and well, let's grab one.
We've got VPN 10 here, VPN list of VPN 10.
Okay, so now we can start to enter our sequence statements.
So sequence 10, match.
Again, what am I matching on?
In our case, we probably want to just match on the app list.
So I'll say app list, and then our Google Apps app list there.
And so that's one good, and then I can exit out and specify the action for this sequence.
And again, we want our action to be based on the SLA class, and we'll choose our Google CLI SLA class.
And now we don't want to just hit enter here because we actually do want to configure our preferred color.
So this is a very important part of this process.
and then from there, maybe it would load balance after that.
So that's how I do my match action statements.
I'm just going to exit out of the policy.
We can, again, do more sequence statements if we wanted to.
We could edit the default action if we so desired,
although the default action is to not apply any kind of SLA measuring, and that's usually what we want.
So we'll exit out of our policies, and we'll go to apply policy again.
And we'll specify the site list, so maybe site 14.
And then we can add our app route policy of AAR CLI.
So what's interesting here, as we exit out of our controller configuration,
is this policy is unique because it affects the data plane.
It's not localized.
It is centralized coming from the controller, but as we've discussed, it impacts the data plane,
So if I come back here to edge 11, let's go ahead and abort out of those changes.
Now, we haven't actually committed these changes that we just did.
However, we do have an AAR policy in place that we put in earlier,
and I can see that policy here on edge 11 by running show SD-WAN policy and then from vSmart.
And so what we see here is that, again, from vSmart, which is our SD-WAN controller, we have this SLA class.
This is the one that we created at the UI and pushed down.
From vSmart, we have this app route policy that it created, and so it's applying it to VPN 10,
and here's sequence number one, and we're matching a prefix list.
Remember, that's what we did in the lab, and we're applying this SLA class with a preferred color of MPLS
So this is where it really starts to come together as far as what's actually happening on the back end.
Remember, if the SD-WAN controller is enforcing policy, it's usually doing that by excluding routing
and TLOC information and the like, or VPN information for that matter.
In this case, it can't exclude anything.
It has to push configuration down, and so it's not just deleting routes.
It's actually saying, hey, here's a configuration, and by the way, I don't have a netconf connection with you,
so I'm going to have to send this via OMP as just a config set,
and then that config set gets implemented here on the edge to impact data plane operations.
So as always, as we're going through these CLI configs, again, as I already mentioned,
one of the values of going through this process, even if we're planning to use the SD-WAN manager,
it really drives home what exactly is happening and how all of this comes together
in order to enforce the policies that we're deploying.