Nexus 7K QoS – Part 1

2011/12/02 2 comments

I’m working on a project for a customer where QoS for the Nexus 7K is a requirement.  Anyone who has attempted to configure QoS on these boxes has probably questioned how different are these devices from, say, the Catalyst 6500s.  Well, they are quite different.  If you are familiar with Modular QoS CLI (MQC,) that is a huge advantage, as all QoS configuration on the N7K is based on MQC.

IMPORTANT NOTE:  DISCUSSIONS AND CONFIGURATIONS FOR THIS SERIES ARE BASED ON NX-OS 5.1(1).  PREVIOUS FIRMWARE VERSIONS DO NOT SUPPORT ALL OF THESE FEATURES!

Let me start by pointing out some key differences between the 6500 and the N7k.

6500 N7K
ENABLE QOS       mls qos Enabled by default
TRUST mls qos trust [cos|dscp|ip-precedence] DSCP (on M1 modules) and CoS (on F1 modules) trusted by default
INTERNAL QOS QoS Label is used internally CoS and/or DSCP passed through, though QoS-Groups can be used
COS TO DSCP MAPPING Default of CoS to 3 most significant bits of DSCP (CoS 1 to DSCP 8 ) Same
DSCP to COS MAPPING Default 3 most significant bits of DSCP to CoS (DSCP 10 to CoS 1) Same
CHANGE COS/DSCP MAPPING Modify cos-dscp or dscp-cos maps Create and apply qos policy-map(s) ingress and/or egress

So, it’s a different way of thinking about QoS when it comes to the Nexus 7Ks.  Why should things stay the same (rhetorical question…)  And, I haven’t even discussed ingress or egress queueing.

In addition to thinking in terms of class-maps and policy-maps, there are some other key pieces that need to be understood.  First, there are three class-map and policy-map object-types that can be created:

  1. Network qos: This is defined in the default VDC.  It defines CoS properties for the entire switch, including all VDCs.  These can be overriden per interface.
  2. QoS: They can be applied ingress and egress to interfaces.  They can be used to mark and police traffic.
  3. Queuing: They can be  ingress and egress to interfaces.  They can be used to mark, shape and (not surprisingly) queue traffic.
    • NOTE: “queuing” class-maps are pre-defined and CANNOT be changed.  These are defined per the input and output queuing options of the specific module.

Another aspect that makes N7K interesting is that different modules (the M1(-XL) and the F1) have different options for QoS.  In particular, the F1 queueing policies should match the network-qos policies.  Also, F1 modules don’t support mapping to QoS Groups.  The “Cisco Nexus 7000 Series NX-OS Quality of Service Configuration Guide, Release 5.X” has further information on the F1 and specific items for its configuration.

In working through an N7K QoS configuration, I came to the conclusion that it generally makes sense to do the following:

  1. Develop a QoS policy for inbound traffic.  Trusting is fine, but is module dependent (see above on the M1 and F1 differences.)  Matching and either trusting or changing DSCP values, in particular, was key to the proper development of the config.
  2. Develop a queuing policy for outbound traffic.  What CoS values should be used for which output queues (module dependent)?  Is priority queuing needed? What DWRR weights should be used for each CoS value?

So, again – inbound QoS and outbound queueing seems to make the most sense for building QoS configurations for most situations.  And, having that decided helps in better determining the actual configurations.

In part 2, I’ll go through a network-qos policy configuration, an ingress qos policy, and an ingress queueing policy to provide some more concrete examples.

Changes…

2011/10/29 2 comments

Last night I got the call.  One that I’ve never received before.  One that places me with millions of others.  “You’re being let go, effective immediately.”

It’s a different feeling than any I’ve had.  I’ve been working hard, working long hours.  However, the company wasn’t making money.  So, they had to make cuts.  I can understand it, but it still stings.

So, how does one live between jobs, look for a new job when you don’t have one, care for your family, and all the things that are now running through my mind?  I’m reminded of a few things:

Pray

As a follower of Christ, I know that he has all things in control.  So, I trust him to take care of my family and me.

Reach out to old friends

I’m reminded of how important it is to not “burn bridges” when leaving a company.  Life changes, and we leave jobs.  But, having a good name and reputation are vital to situations like these.

Look for ways to cut back

We had actually started doing this before this happened.  You never know when this sort of thing will happen.  Plus, learning to live on less is a blessing.

Enjoy time with family and friends

You’ve probably been like me, working long hours to get things done.  During the time with no (job) deadlines, take time to do things with your family and friends.  You may not have it again after you’ve gotten back into work.

Evaluate priorities

Look at what is important to you, both personally and professionally.  Start to make changes in those things.  When looking for a new job, be up front about what you would like to be doing and how your past experience and interests tie into that.

Hopefully this can help some of you when you go through the same situation.  And, I’ll post when I have that new job!

Categories: Life Tags: , , , ,