The first step to creating a quality of service configuration in SD-WAN is to create our localized
data policy. The localized data policy is going to consist of all the elements that we usually throw
into a data policy such as lists and creating this time a unique property which is the QoS
map. So let's go ahead and jump in. We're going to start by going to our configuration section over
here, scroll down, and we're going to go to policies. Now up at the top here we're going to
go to custom options and because we're configuring a localized policy we're going to look on this
side and we should see lists here. So we're going to create a localized policy set of lists and in
this case we want to create class maps. So it's interesting because it calls it class map here,
it calls it class list over here. This is sort of a conflict of sorts between the old way of calling
things with Viptela and the new way of calling things because Cisco has always referred to these
as class maps in their original architecture on iOS XE. However as we know we're trying to call
everything lists when it comes to our groups of interest. So we have, you know, it works out well
that we have an access control list for example as a classical name it happens to end in list
but we've and prefix lists for that matter fit into that as well and then we got you know other
types of lists like VPN lists and site lists and things like that. So is it a class map or a class
list? The answer is kind of yes, it's both. So we're going to create our class list here. All
we're going to do is give the class list a name. So let's say I want to create a class for voice
over IP traffic. That's going to be very important later that we know what we call these classes. So
try to keep them simple and try to standardize them within my organization. As for the queue,
which of my hardware queues am I going to apply this to? Now remember q0, well I shouldn't say
throw our voice over IP traffic into that if we wanted to. I'm just going to say q1 here and I'm
going to click save and now we have a class called voice over IP and that goes into q1. So again
we're referencing one of those eight hardware queues that our edges are going to have. So from
here I can create another one. Let's just call this best effort and we'll place this into queue
number two and click save. All right so we have created a couple of class lists here. What are
we going to do with those? Well next we're going to come up here and we're going to go to forwarding
classes or well what did it say? Forwarding classes slash QoS and what we need to do now
is we need to create a QoS map. So I'm going to say add a QoS map, create new, we'll go ahead and
call this QoS map lab something like this. I will tell you again that these names matter just like
with our access control list. So if you remember if you worked your way through this course
sequentially we recently got done configuring access control lists and the way that this is
going to work is we're going to push policies down to the edges and then we have to get onto
the interface and tell it which policy to apply. And because the policies have a name it would be
nice if it just gave us a drop down and said okay here's your options but it keeps it more flexible
than that and allows us to apply the policy name specifically. So I have to, I guess that's a nice
to apply it to an interface later. So we'll keep this simple all caps with underscores QoS map lab
and then a description doesn't matter as much although the description does show up when we're
trying to pick which one to apply but either way I'll just call this QoS map for lab. So these can
be useful don't just throw something arbitrary in there take a little bit of time to again come up
with a standard for all of this really when you're deploying this into your organization.
So what do we see here? Well with our resolution as always zoomed up so that we can see things well
in the video it's a little bit tricky we've got these sliding windows you probably won't see this
on your end when you're doing your configuration but we've got a buffer pie chart which doesn't
look like a pie chart it looks like a circle and then we have a bandwidth pie chart which again
looks like a circle. Why does it look like a circle? Well because right now Q0 which is a
default configuration in a QoS map is given 100 percent of our bandwidth. Notice that this is the
only queue that is going to have low latency queuing we can only have one of those in a policy
and the forwarding class is known as control again we mentioned BFD and the like. So we're going to
go ahead and add a queue into this and I'm going to pick my queue number one now notice I can't
pick queue number zero I can pick six and seven which is something we don't usually get in
systems we have access to all of these different queues. So I'm going to call queue number one here
my voice over IP queue notice it already or voice yeah voice over IP queue
notice it added the forwarding class down here so voice over IP is the name of the forwarding class
and it knows that this is what's getting assigned because we already mapped voice over IP traffic
to queue number one so just by picking queue number one it's like oh cool this is the voice
over IP queue. So from here I can pick a bandwidth level let's just call it 10 percent the buffer is
how much space we have essentially for packets so I want to make sure that I have so much of the
buffer reserved for this particular queue voice over IP packets are very small so I don't need
to worry about a lot of the buffer space being consumed so I'll pick 10 percent there as well
and then scheduling and drops so scheduling is already decided it's this weighted round robin
concept it basically is going to allow me to schedule different queuing types within the queue
we'll worry about that another time but the drops is kind of important we can either drop packets
proactively which is what random early is meaning that hey we're getting a lot of packets in the
queue is almost full we might want to drop some packets early to prevent a full queue
or we can just go with tail drop and that'll work just fine here so I'm going to say save queue
and notice now it starts to look like a pie chart because q0 has 90 percent of the bandwidth it's
basically going to provide all of the unassigned bandwidth to q0 and then q1 is given the 10
percent that I assigned it let's go ahead and add another queue this time we're going to pick whoops
queue number two which is our best effort I'm going to set bandwidth all the way up here to
80 percent we'll give it 80 of the buffer as well and then drop type can also be tail drop
so I'm going to save queue and now look at my pie chart here so q number two is now 80 percent
of the bandwidth allocation q0 is 10 q1 is 10 and I can see that in tabular format here
so this is the concept that what we're basically talking here as far as creating bandwidth
allocation and for that matter just creating the queues yes there are up to eight different
hardware queues I don't have to use all of them so what does my actual queuing policy look like
it's right here it's right here in the QoS map that's going to define for me what my queuing
policy looks like including the bandwidth allocation on a per queue basis I can see
right here for example voice over IP belongs to q1 and it is allocated 10 percent of the
interface bandwidth so from here we're just going to save the policy and so what we've done
if we scroll up and go back to our localized policy concepts what we've done is we created
our class lists or class maps depending on what we want to call them and we've created our
QoS map here it says forwarding class slash QoS but this is where we configure the QoS map
so that's great we've got these individual components now we actually have to configure
a localized policy remember the last localized policy we deployed was to deploy an access
control list so what I'm going to do now is create a new policy here I'm going to add policy whoops
didn't mean to scroll down there and we can create groups of interest here if we need to
we don't need to we've already created those I'm going to click next this is where I could create
a QoS map if I haven't created one but what I can do is I can also import one that I've created
outside of the policy wizard so I can choose the drop down to select my QoS map lab and import it
and now there it sits now next whoops there we go next I can skip my access control list
now to be clear again we're trying to just keep things simple and not modify a bunch of data
policies or just assigning one data policy at a time in production networks I'm only allowed to
have one data policy on a per edge basis and as a result if I have access control lists and I have
quality of service maps and such I'm going to need to put them all in one policy so this is not an
either or thing Cisco is expecting us to have QoS and to have access control lists potentially and
route policy as we see so we've got all of these different concepts bundled up into one localized
data policy because I'm only allowed to put one on each device and so I need to make sure that
I can actually do all of the things all at once so in production environments that's exactly what
we'd be doing next we're going to skip through the route policy all right so now we get to actually
name the policy it's kind of interesting I've always found it rather odd that we name it at
the very end but so it goes so what we're going to do is we're going to give this a name of let's
say QoS localized policy so now we know explicitly what this is policy description it's my local QoS
map because that's what we're ultimately applying here so with the name in place we do need to
identify a couple of these boxes to check all right so first of all if we're identifying if
we're intending to identify application traffic we're going to need to check this box we might
not be doing that we might be mapping on DSCP tags but be aware of that and then this one's a little
bit less clear I suppose based on the name the cloud QoS concept is basically saying that we're
going to deploy this either on the service side meaning sending traffic into our network which
we might want but usually we're focused on deploying our QoS towards the cloud or towards
the service provider and yes cloud is on both of these but essentially this is saying transport
side it's implied here it's explicitly service side here it's implied that it's transport side
so we're going to want to check those boxes potentially depending on our situation possibly
this one as well and then there's other app options here as well for example if we're doing
NetFlow tracking if we want to add ACL logging etc etc so lots of options but we'll just check
those and click save policy so now we have created our QoS localized policy now it's time to apply
it I know how do we apply localized policies there's nothing here to say that I'm going to
push it out and the reason for that is because this isn't a centralized policy that just goes to the
vsmarts or the SD-WAN controllers instead this is something I'm going to have to apply to edges
and the way I deploy configuration to edges is via templates so I'm going to come over here to
my templates and again there's two sides of this I need to push the QoS configuration down
via device template then I need to configure an interface to use it via my feature template so
I'm going to select my lab edge here I know it's kind of hard to see there we go so we've got my
our controller localized template our device template and we also have one that's affecting
edges 11 and 12. So I'm going to edit this device template I'm going to click on additional
templates here and remember this non-descript policy is what we used for our access control
list because this is how we apply a localized data policy I wish it said data policy here but
it just says policy that's fine so I'm going to look and I see my access control list policy
but I what I really want is my QoS localized policy this by the way is where the description
shows up so we can use that to kind of help guide us but the name should be pretty clear as well
so I'm going to click update and it's telling me it's going to push it to the two edges perfectly
fine now I can click on one of these edges I just looks like I clicked on edge 12 there I
clicked before I looked and then once it's done grinding here it's going to allow me to look at
the config diff and I can scroll down and see exactly what configuration it's pushing out
so for example it's creating that class map for best effort and it's matching it to what Cisco
calls a QoS group which we know is going to ultimately get mapped to a hardware queue
so we're also going to see some default configurations in here as well as the class
map for voice over IP then in my QoS map again what is running under the hood it's iOS XE
this is where again we can call it a class list if we want but Cisco's deploying this as a class
map and we can call it a QoS map if we want but Cisco's deploying it as a policy map because
the class map policy map service policy architecture that hierarchical Cisco calls
it modular QoS CLI or MQC lots of terminology but iOS XE is running iOS XE or we we have to
at some point apply it to concepts that Cisco has configured so are already in iOS XE so this
is how it kind of glues together don't need to worry too much about that just understand that
if we're looking at the configuration it's going to look a little different at CLI and once we do
start to do configuration in CLI we're going to need to know that we're using iOS XE terms
so this is why it's really nice to have QoS map in the name because where is the QoS map
it's here inside the policy map and we can see it right there so under my different queues
we've got the policer set for percent zero this is interesting Q0 remember we didn't configure
Q0 that is the low latency queue and Cisco is saying hey guess what we are restricting that
queue to 10 percent not you know not using a bandwidth statement here we're using a police
statement the bandwidth statement means that we're going to use this and we're also going
to use more if we can so bandwidth remaining ratio of 10 and bandwidth remaining ratio of
80 for the class default so it's kind of cool that Cisco automatically applied best effort
traffic to class default there so when we scroll down though we're not seeing well we do see under
policy here that the class map is configured here within our SD-WAN policy that's cool
but we don't see anything under the interfaces I'm not actually applying anything to the interfaces
and that's the important part here is we are via the device template we're pushing down
the configuration but we are not actually enabling this on any of our interfaces yet
so let's go ahead and allow this to push out and once it's successful we'll go push it to
the interface all right so we are whoops it's successful on one of these still waiting on
the other one here but let's go ahead and there it goes all right so we don't need to wait I guess
so let's go ahead and go to configuration and templates again we just did that via device
template let's go ahead and go to the feature templates I need to apply this to an interface
and it's going to be one of my wide area network interfaces let's go ahead and go apply this to
actually let's do it to the MPLS interface so I'm going to say edit and I'm going to scroll up
there's a whole section dedicated to ACL and QoS right here ACL slash QoS we just used this section
to apply an ingress ACL not too long ago we said on and specified the name of an ingress ACL here
there we go but notice again remember I had to type in manually the name of that ACL
well same thing here notice I can apply a QoS map so I'm going to say the default global
configuration for all of the devices this template affects and again it's not a drop down I'm going
to have to manually type this in so hopefully we remember what the name of the QoS map is
map is for us it was QoS underscore map underscore lab now I can also configure a shaping right here
and we'll see in a little bit when we do adaptive QoS configuration we'll come back and do some
work here I'm going to click update and we'll push this out to our devices and let's take a
quick look at the config difference that is going to show us that we're actually applying this
configuration to an interface scroll down until we see the green all right there it is just one
line and again what what else would it be other than a service policy output command so on our
gig interface or gig ethernet 2 interface that is connecting to our MPLS cloud and we are applying
this what's ultimately a policy map although we're calling it a QoS map to this interface
all right so I'm going to configure the devices and confirm and allow that to push out so remember
that at this point it feels pretty good right like we've applied a QoS policy to the edges
and we've enabled it on an interface so are we done well no in fact at this point believe it
or not we've accomplished challenge you know task number one I wrote it above the the video here
that we've got to start by configuring the QoS map and pushing it down via that localized policy
but what's missing is the traffic assignment so right now all the traffic is just going into the
default queue if I want to use the queues that I configured I'm going to have to push a policy down
that allows the device to to map that so let's go ahead and take a quick break and
in the next video we're going to do just that