In this post, let’s look at Cisco 9800 QoS in high level. Cisco 9800 (IOS-XE based controllers) support Modular QoS CLI (MQC) contrast to AireOS based WLC QoS that we discussed last post. MQC mean you require to configure class-maps, policy-maps & apply those policy-maps using service policy. When you apply QoS in 9800, 3 QoS policy target available.
- Port level
- SSID level (Metal QoS or user-defined policy)
- Client level (using AAA override)

9800 use a different configuration model (compare to AireOS WLC) . Each AP require to have 3 tags (policy, site & RF).
When it comes to QoS policy, it will configure under “Policy Profile” which maps into “Policy Tag“. Any AP specific configurations will be under “AP Join Profile”. Hence if you want AP to trust DSCP value of upstream traffic, that configuration will within “AP Join Profile”

There are 3 options available when it comes to QoS policy configuration under “Policy Profile“.
- Leave it to Default settings (Platinum QoS equivalent)
- Configure AutoQoS
- Configure Custom QoS policy
Below shows the QoS policy configurations options under Configurations > Tags & Profile > Policy.

Here is the “AP Join Profile” configuration to trust upstream DSCP. This is enabled by default since IOS-XE 17.3.4 versions onward.

If we leave default configuration, let’s see what’s going to happen from QoS point of view. There won’t be any SSID level QoS policies. 9800 will trust whatever the DSCP values coming on wireless packets. Only drawback is there is no way to remark traffic to give them priority as you want (eg if MS-Team traffic comes with DSCP 0, that will go as DSCP 0 traffic to rest of network. With a QoS policy you can remark it as AF41 or any other DSCP that your require)

If you apply SSID level policy, for example metal QoS profile Gold, you will notice that influences DSCP marking of the original packet as well as the outer IP header DSCP in CAPWAP between WLC & AP

When you need to configure QoS policies, there are two choices. AutoQoS may be simple to configure, but you need to understand what granularity it gives and which applications will be in class-maps. Defining your own QoS policy may be the best approach.
- Use Auto QoS
- Define custom QoS policy
Let’s look at those in future posts.
If you are interested to learn about these 9800 QoS configurations, I am doing a Webinar 3PM CST tomorrow (30th Sep), please register using this link.
RELATED POSTS
1. QoS for WLAN Professionals
2. RFC8325 – QoS Mappings
3. AireOS QoS Recommendations
4. Understanding Wireless QoS (Part 1-5)
5. 3850 QoS (Part 1-5)
6. Best Practice QoS Config (AireOS 7.x)
Hey Rasika, great article. The QoS documentation on the C9800 is very limited – so each additional information is very helpful for the engineers out there.
Just two side nodes:
1.) Be careful if creating hierarchical QoS policies, especially in combination with rate limiting. This will break some rate limiting policies. There is no documentation about this, except a bug which was raised because of a SR).
2.) Wired QoS on the WLC (queuing on the wired links) is not documented at all (or again – in a very poor way). The C9800 is based on ASR router platforms and provide similar functionalities. Again, there is no documentation about this, but this would be a great follow up article on your blog.
Hi Johannes, Greatly appreciate your input here and valuable thoughts. I am also not having great insights (as lack of Cisco documentation on this topic) .
I will do 2 more posts based on my understanding and testing done with it.. Hope that helps to digest this topic bit simpler..
KIT
Rasika
I found this document very helpful is initial setup of my 9800, although it too it lite on QOS for wired.
https://www.cisco.com/c/en/us/products/collateral/wireless/catalyst-9800-series-wireless-controllers/guide-c07-743627.html
I’m also surprised there isn’t at equivalent “best practices for iOS/Mac guide” like there is for AireOS. That guide is very helpful with initial setup, and Rasika’s stuff helps reinforce those concepts.
Thank you Jeff sharing your experience & valuable link for all of us.
Hi Rasika, Due to work duties I had to drop off from your webinar. Will you be making the link for the recording available. I will appreciate if you can do it. Thanks
I had the same question as I had to drop off at 2pm.
Thank you for Joining Jeff, Don’t worry I have responded to Hiten comment with the link. Enjoy watching it and pls give us your feedback
Rasika
Hi Hiten, Thank you very much for joining the session. Here is the link for recording.
https://lms.wifitraining.com/courses/rockstar-9800-qos-live-webinar
If you already have an account with our LMS, access should be there. If not pls create an account and watch it.
Rasika,
Question on AutoQOS.
On AireOS, when following the best practice for iOS/Mac, enabling “Fastlane” on an SSID kicks off the modification of the Platinum profile, creates a AVC Profile, enables the QoS map including custom DSCP to UP Mapping, Fastlane EDCA profile, etc.
On the 9800, there is both a “Fastlane” and “Platinum” AutoQOS option, and it’s not clear to me which of those best translates from what happens on the AireOS side when “fastlane” is setup vs what should be selected on to the 9800.
Hi Jeff, This is a really good question and I understand what is the confusion. Let me explain like below and see if that makes sense to you.
1. “Fastlane” is a term Cisco using many different places for many different purpose and that create the confusion
2. “Apple-Cisco” partnership in 2015 introduce this term to indicate Apple clients in a Cisco enterprise network can get a “Fast Lane” for certain applications (webex ,facetime,etc)
3. In AireOS world, Cisco include a GUI checkbox (Fastlane) under WLAN QoS tab. Once you click that it will go ahead and do lot of configurations that you highlighted. (it is a one click to do many things)
4. When it comes to 9800, it is based on MQC, no metal QoS is recommended (by default equivalent of platinum), no qos map support. So there is no single GUI checkbox for apply all the best practices
5. However there is two settings use name “fastlane”
– Under AutoQoS profile (Fastlane)
– Under EDCA (Fastlane)
6. That create confusion in my view. If you enable AutoQoS Fastlane, then there will be a port level QoS policy applies and EDCA parameters change to best practice.
7. If you change EDCA parameters to Fastlane, that will change EDCA, but no QoS applies under ports.
8. My recommendation is you go ahead under EDCA and set it to Fastlane, but then go ahead with custom QoS policy under SSID & Port (outbound only). Not use AutoQoS profile under QoS policy profile
Sorry about lengthy response
Rasika
This is very helpful. I suspected Cisco was using the term in different contexts, and the “AutoQOS fastlane” was not the same as “fastlane” on AireOS. Thank you for clarifying.
I’m also looking forward to your next installments on 9800 QOS.
Now that I had a chance to finish the webinar, I can see why a custom QoS policy, using NBAR2, is the way to go.
Have you considered creating a set of “best starting point” QOS policies? For example, one that you would suggest for higher education customers to start with?
Hi Jeff, I will share what I will use in my University environment, that will come as in future blog posts. That will give you a good starting point
HTH
Rasika