All right, what we're going to do is we're going to get on to the CLI side of the house
So our edges 13 and 14 in the lab still allows us to do some CLI config
We're going to do a very basic quality of service configuration
Which will allow us to not only queue up some traffic based on DSCP tags
but also be able to test it and see what those commands look like when we do some show commands to see the traffic actually
Passing through the the queues that we configure. So the first thing we're going to do is create a class map
so I'm going to get into my config dash T here and
Then I'm going to create a class map
So again class map class list the class list is a little bit more of a Viptela term
We still call it that but on the back end and iOS XE as we talked about it's a class map
so I can say match any and then the name voice over IP or VoIP and this name does need to
Matt or what's going to matter we need to make sure it aligns with our data policy that we create later
And so I'm going to use a match statement here to say I'm matching DSCP EF for expedited forwarding
So from there, we're going to create an SD WAN policy, which will map our classes to hardware queues
So I'm going to enter into the SD WAN configuration enter into our policy section
Create a class map or enter the class map section really by hitting enter and now I'm going to specify
My voice over IP class and at this point I can give it a queue assignment
So just like we did with the graphical user interface
I'm going to assign voice over IP to queue number one now in a production environment
I'm going to have a lot of classes here mapping to a lot of queues
But in our lab environment, we don't have to worry about that. We're just creating the one queue. So
I'm going to I will really yeah, let's just go and exit out. It's gonna commit, but we're not quite ready to commit yet
So we're gonna exit out of the class map and policy
Hierarchical config and we want to make sure we're still in SD WAN
Mode, so let's make sure we're there. There we go. Alright, so next what we want to do is want to apply the
QoS map. So remember what the QoS map was doing. It was creating those bandwidth reservations. So it allows me to
Say hey this particular queue is going to get 20% of the bandwidth and the way Cisco does that is not with QoS maps
It's with the concept of a policy map. So again class maps and policy maps. We are still using here with our SD WAN configuration
So I'm going to enter the policy map command here and I'm gonna call it something like QoS map lab
That's what we called it before. So we'll just use the same name
I'm going to get on to my voice over IP class give it a priority
percent of 20
Now we didn't particularly go into the details of this
Priority command is used when we want this queue being serviced first
So it turns it into a priority queue, but it does still restrict the amount of bandwidth
So we're restricting it to 20% of our bandwidth and then from here I can do whoops
Let's just go ahead and exit out of here and then we'll do a class
class default
So this would be our catch-all so basically any tag that isn't what we can figure up here EF for voice over IP
so if it's not EF, it's going to go into the class default and that does include our
DSTP values of zero our default untagged value. So everything though falls into this. So we're gonna use the bandwidth command
Instead of priority and say that it's a percent of 80
All right, so from here we can exit out and exit out and we're going to get on to an interface and
And apply the policy map
now we might expect that we are going to get into our SD WAN section get on to interface gigabit Ethernet 3 here and
Do a service policy command, but that is not where we're going to do this. It can be a little bit tricky
We're just simply doing a config T and then or config dash T and then we're doing interface
Gigabit Ethernet 3 this way and now I can add a service policy
So I'm going to add my service policy in the outbound direction using the output command and then QoS map lab. Whoops
Lab with an underscore there is the name of the policy map at this point. I've got a lot to commit
Let's go ahead and commit it. All looks like it all took just fine
and
Now we're going to want to do
Just a little bit of verification
So what we can do is this excellent command of show policy map and then I can specify an interface so I can say interface
Gigabit Ethernet 3 and look at this. We can actually see the service policy
It tells us the direction the name of the policy map that we're using here. And now we see the two different
Classes that we created we see the voice over IP
Which we explicitly created and then we see the class default which just exists again by default
It's catching all of the tags that don't fit into any of these class maps up here in our case
We only have one we do see that it's a priority queue and it's restricted to 20%
While the class default has the rest of the bandwidth reserved at 80%
We also see that we're we're getting some traffic here
We actually see even though it says zero bits per second
We see how many packets and bytes have actually passed through the default queue
If we run this again, we should see that that's increased and it has increased quite a bit
Where is this traffic coming from?
Well, my guess is that it's the VRRP keepalives that are being sent across the LAN links. So Gigabit Ethernet 3
Connects into our LAN at site 13
So the question is how could I maybe see that traffic is getting properly classified here into voice over IP
Well, we actually have a good way to do that
We can do a ping so I can ping in my VRF 10 and let's say I just want to ping
My Linux host so that's 10.10.13.50
Make sure it works great. If I look at the class map or the policy map again here on the interface
I see that I still have zero
Packets in voice over IP, but our packet count continues to increase in class default. So that's not super helpful
To ping into the class default. But what I can do is specify DSCP EF as part of the ping command
So all it did was send the pings with DSCP marked with EF
Now when I run the command we see that five packets did go through
Our voice over IP queue, which tells us that our queuing is working
We're matching on DSCP of EF and we again are treating this like it's a priority queue
So the last thing we need to do is we need to look at our controller config
This is going to be where we're going to apply a data policy
So I'm going to do a config space T since it's running Viptela. I get on to the policy section and
Then I say data policy. So I'm going to create a data policy. I'll call this traffic assignment
I'm going to
need to get on to
or specify the VPN list where this is going to go so I'm going to specify a VPN list of VPN 10 and
Then I've got to create a sequence number and this should feel familiar because we've configured a few of these already at this point
So what do we do in a sequence number like sequence 10? We do a match action statement. So I'm gonna say match DSCP of
46
And so that's my match statement. I'm gonna exit out of that specify my action statement
So I'm gonna say action accept and then I can set the forwarding class of voice over IP
So at this point I would maybe
Possibly need to make some lists if possible. I've already got my VPN list in place
I need to make sure I have a site list. Maybe I'm using an application list, but either way I
Exit exit exit exit and now I can do my apply policy command say apply policy
Specify the site list. Let's say I'm applying it to sites
11 and 12 with my site list that's called that and then I apply the data policy of traffic assignment
So that's all I would do. I would just commit at this point. The problem is that's always in our lab environment
We're not able to commit because our controller is currently being managed by our SD WAN manager
So we're not gonna be able to actually commit this but that's fine. We were able to see the class maps and policy maps
Effectively in place at the data plane there on edge 13. So that is how we apply quality of service at the CLI
It's a little bit familiar because it's still using class maps and policy maps service policy commands
But it's also a little bit different because I'm gonna have to keep track of where I do certain configurations
Whether that's outside of the SD WAN and on the iOS XE side of the house or if that's inside of the SD WAN
Configuration which is a lot of traditional that telecommands, but in our case, we're still kind of bouncing back and forth applying them
Just always keep in mind that we do apply them outside of SD WAN mode using the service policy command