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

Nexus 7000 Queuing

james.davis
Level 1
Level 1

So we ran into an  interesting issue today, and hoping someone might be able to confirm my  assumptions / It'll help someone else out if they come across it.

  • NX-OS 5.0(3)N2(1)
  • Nexus 7010
  • N7K-M132XP-12 line cards.

By default the linecards/system use only 2 egress queues for the 32 port M1 cards.

  • 1p7q4t-out-pq1  (matches cos 5-7)
  • 1p7q4t-out-q-default  (matches cos 0-4)

Which really doesn't line up with what wanted so we modify the config on the default vdc to the following.

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

match cos 5

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

match cos 7

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

match cos 6

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

match cos 3

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

match cos 2

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

match cos 4

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

match cos 0

class-map type queuing match-any 1p7q4t-out-q-default

match cos 1

Create the relevant policy-map which sets the priority queue and bandwidth requirements for each queue/class

Apply the policy map to the interfaces that we wanted.. Viola, everything works..

Well actually no, the system basically started dropping packets on  the egress (output discards) on all the ports that didn't have the new  policy applied to them.

Now we can't create custom class maps, we have to use the system default ones, and then modify them suit (match cos statements)

It's my assumption, that once we modify these default class maps, it's also being applied to the default policy

Which reads as follows - sh queuing int e x/x

Service-policy (queuing) output:   default-out-policy   policy statistics status:   enabled   Class-map (queuing):   out-pq1 (match-any)

priority level 1
queue-limit percent 16 
queue dropped pkts : 0

Class-map (queuing):   out-q2 (match-any)

queue-limit percent 1 
queue dropped pkts : 0 

Class-map (queuing):   out-q3 (match-any)

queue-limit percent 1 
queue dropped pkts : 0 

Class-map (queuing):   out-q-default (match-any)

queue-limit percent 82 
bandwidth remaining percent 25
queue dropped pkts : 0

By modifying the default queues it's affected the default egress  policy-map, and in order to function correctly, a custom default list  needs to be setup.

With the default egress policy, anything not in the above 4 queues gets dropped.

Few things.

  1. Why doesn't the output queue in the default policy map (out-q3) match the actual class-map name of 1p7q4t-out-q3
  2. Are my assumptions about the output discards correct relating to the fact there is no relevant mapping for the modified egress queues in the default system policy
  3. Where in the config guide is this? I've seen some reference that infer it, but don't actually point it out.
  4. I'm sure someone can explain to me why this is a system wide config item, rather than on a per vdc basis.

Cheers

3 Replies 3

james.davis
Level 1
Level 1

No one?

sachinraja
Level 9
Level 9

Hi James.. interesting post, and I was working on similar situation:

  1. Why doesn't the output queue in the default policy map (out-q3) match the actual class-map name of 1p7q4t-out-q3 --- The output of show interface queuing has the queue-limits defined:

Configured queue-limit ratios

      queue-limit ratios:     78[1p7q4t-out-q-default] 1[1p7q4t-out-q2] 1[1p7q4t

-out-q3] *1[1p7q4t-out-q4] *1[1p7q4t-out-q5] *1[1p7q4t-out-q6] *1[1p7q4t-out-q7]

16[1p7q4t-out-pq1]

   If you look at queues 2, 3, 4,5 - they are at 1 %..  I really dont know the correlation of class-maps to the drop packets output that you showed above. For us we are getting tail drops at queue4, because COS 3 is mapped directly to queue 4 (which should not be the case). COS 0-4 should normally map to default class, but it wasnt

  1. Are my assumptions about the output discards correct relating to the fact there is no relevant mapping for the modified egress queues in the default system policy - Yes.. if you modify the default policies with another policy-map, you would still see output discards if the new policy is not applied to interface using "service-policy type queuing output abc" command

  1. Where in the config guide is this? I've seen some reference that infer it, but don't actually point it out. - closest i have seen is this URL:

http://www.cisco.com/en/US/docs/switches/datacenter/sw/5_x/nx-os/qos/configuration/guide/cpl.html#wpxref84769

  1. I'm sure someone can explain to me why this is a system wide config item, rather than on a per vdc basis - may be by design.. eveyrhingt points to default vdc .. may be this would change with newer IOS versions ?

Hope this helps.

Regards

Raj

jkilleda
Level 3
Level 3

 

Hi James.

Nexus 7000 Queuing

Please find the configuration guide in below link.

https://www.cisco.com/c/en/us/td/docs/switches/datacenter/sw/5_x/nx-os/qos/configuration/guide/nx-os_qos_book/qos_queuingf1.html