cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1315
Views
0
Helpful
3
Replies

Nexus 7k - QOS

zykobot
Level 1
Level 1

Hi All,

We use two Nexus 7ks between Cisco UCS servers and Netapp Storage devices.

The Nexus 7k acts purely as a L2 switch (I know it's a waste but it's a long story).

I'm attempting to apply CoS to the NFS and Fault Tolerance networks..

This is what I have so far...

ip access-list FT_ACL
   10 permit ip 10.192.x.0/24 any
   20 permit ip any 10.192.x.0/24
ip access-list NFS_ACL
   10 permit ip 10.189.x.0/24 any
   20 permit ip any 10.189.x.0/24
class-map type qos match-all FT_QOS
   match access-group name FT_ACL
class-map type qos match-all NFS_QOS
   match access-group name NFS_ACL
policy-map type qos Ingress_FT
   class FT_QOS
     set cos 2
policy-map type qos Ingress_NFS
   class NFS_QOS
     set cos 1

vlan configuration 455
   service-policy type qos input Ingress_NFS
vlan configuration 457
   service-policy type qos input Ingress_FT

The above entries work fine and I can see matches on the VLAN interface.

However, the default egress queues couple COS 0 and 1 together. I wanted to separate them and attempted to create my own class maps to achieve this. But when I tried I got the following..

class-map type queuing match-any test-8e-out-pq1
match cos 5-7

ERROR: match on cos not supported for class-map

I'm also attempting to set MTU based on type of packet is presented, ie I only want the NFS network to use MTU 9000.

class-map type network-qos match-any NFS_NQ
   match cos 2
class-map type network-qos match-any ALL_OTHER_NQ
   match cos 0-1,3-7
class-map type network-qos match-any NFS_Traffic_COS
policy-map type network-qos MTU_NQ
   class type network-qos ALL_OTHER_NQ
     congestion-control tail-drop
   class type network-qos NFS_NQ
     mtu 9000
     congestion-control random-detect

Then when I try 'service-policy type network-qos MTU_NQ'

I get "ERROR: Different MTUs 1500, 9000 found in same ingress queue for CoS 0,2"

My question is three-fold.

1. Am I going the right way about applying CoS to the NFS and FT networks?

2. Why am I getting this error on 'match on cos'?

3. Why am I getting the error with the MTU policy?

Any help will be greatly appreciated.

Nick.

3 Replies 3

zykobot
Level 1
Level 1

Just realised there's a typo in my information above..

class-map type network-qos match-any NFS_NQ

   match cos 1

class-map type network-qos match-any ALL_OTHER_NQ

   match cos 0,2-7

again, thanks for any help.

Since it is an egress queuing, you can assign the desire COS value into the output of the line card (not your own queuing class). For example, you can do something like this

class-map type queuing match-any 1p7q4t-out-q2

  match cos 5-7

This means put COS 5-7 into the M132's Q2.

Then you create a policy-map like

policy-map 10G-OUT

class type queuing 1p7q4t-out-q2

 

For MTU, you need to apply it on the systme level and interface level like ethernetx/x or port-channel xxxx

system jumbomtu 9000

interface e0/0

mtu 9000

service-policy type queuing output 10G-OUT

HTH,

jerry

With all due respect Jerry, your answer is pretty vague.

I'll post my outcome here for anyone that's interested.

Jumbo Packets

It's possible to create several class-map to split the CoS groups up.
Then use the two different class maps under the policy map to align a different MTU, however different ingress queues are required per CoS group. By default there are two ingress queues, one for CoS 0-4 and the other for 5-7 - the class maps need to match these. You can potentially set an MTU of 9k for CoS 0-4 and MTU of 1.5k for CoS 5-7.

The following is performed on the native VDC

class-map type network-qos match-any ALL_NQ
  match cos 0-7

policy-map type network-qos MTU_NQ
  class type network-qos ALL_NQ
    mtu 9000

system qos
service-policy type network-qos MTU_NQ


CoS Marking, in our case I marked NFS as CoS 2 and FT as CoS 3.

We created a VDC on the Nexus 7k and it's within this VDC I performed the following configuration.

The policy maps below will match an egress queue according to the CoS value chosen. By default there's four queues:
Q1: matches CoS 5-7 (Priority 1)
Q2: matches CoS 3-4
Q3: matches Cos 2
Q4: matches CoS 0,1
This implies NFS and FT will get their own que.


ip access-list NFS_ACL
  10 permit ip 172.x.x.0/24 any
  20 permit ip any 172.x.x.0/24


ip access-list FT_ACL
  10 permit ip 172.x.x.0/24 any
  20 permit ip any 172.x.x.0/24

class-map type qos match-all NFS_QOS
  match access-group name NFS_ACL

class-map type qos match-all FT_QOS
  match access-group name FT_ACL

policy-map type qos Ingress_FT
  class FT_QOS
    set cos 3

policy-map type qos Ingress_NFS
  class NFS_QOS
    set cos 2 

vlan configuration

service-policy input Ingress_NFS

vlan configuration

service-policy input Ingress_FT

I made the following changes to the Cisco UCS within the environment.

Change Fibre Channel to CoS 1

Change NFS to Cos 2

Change FT to CoS 3

MTU 9000 only for NFS

Note - the default queues can be changed to other templates so choose based on your requirements.