11-19-2013 10:28 AM - edited 03-07-2019 04:41 PM
I'm trying to configure policy-based queueing with dscp-based WRED on a VSS system with Sup2T-10GE sup and WS-X6816-2T line cards.
According to "show queueing" interface command the ports in shared mode support the following queueing:
Transmit queues [type = 1p7q4t]
Receive queues [type = 1p7q2t]
I have also checked the data sheet for the WS-X6816-10GE and this say the same
Oversubscription mode:
• Receive: 1p7q2t per port
• Transmit: 1p7q4t per port group
Config snippet:
class-map type lan-queuing match-all REALTIME-QUEUE
match dscp cs4 cs5 ef
class-map type lan-queuing match-all CONTROL-QUEUE
match dscp cs2 cs3 cs6 cs7
class-map type lan-queuing match-all MULTIMEDIA-CONFERENCING-QUEUE
match dscp af41 af42 af43
class-map type lan-queuing match-all MULTIMEDIA-STREAMING-QUEUE
match dscp af31 af32 af33
class-map type lan-queuing match-all TRANSACTIONAL-DATA-QUEUE
match dscp af21 af22 af23
class-map type lan-queuing match-all BULK-DATA-QUEUE
match dscp af11 af12 af13
class-map type lan-queuing match-all SCAVENGER-QUEUE
match dscp cs1
!
policy-map type lan-queuing 1P7Q2T
class REALTIME-QUEUE
priority
class CONTROL-QUEUE
bandwidth remaining percent 10
class MULTIMEDIA-CONFERENCING-QUEUE
bandwidth remaining percent 10
random-detect dscp-based aggregate
random-detect dscp values 34 percent 80 100
random-detect dscp values 36 38 percent 70 100
class MULTIMEDIA-STREAMING-QUEUE
bandwidth remaining percent 10
random-detect dscp-based aggregate
random-detect dscp values 26 percent 80 100
random-detect dscp values 28 30 percent 70 100
class TRANSACTIONAL-DATA-QUEUE
bandwidth remaining percent 10
random-detect dscp-based aggregate
random-detect dscp values 18 percent 80 100
random-detect dscp values 20 22 percent 70 100
class BULK-DATA-QUEUE
bandwidth remaining percent 4
random-detect dscp-based aggregate
random-detect dscp values 10 percent 80 100
random-detect dscp values 12 14 percent 70 100
class SCAVENGER-QUEUE
bandwidth remaining percent 1
class class-default
random-detect dscp-based
random-detect dscp 0 percent 80 100
!
policy-map type lan-queuing 1P7Q4T
class REALTIME-QUEUE
priority
class CONTROL-QUEUE
bandwidth remaining percent 10
class MULTIMEDIA-CONFERENCING-QUEUE
bandwidth remaining percent 10
random-detect dscp-based
random-detect dscp 34 percent 80 100
random-detect dscp 36 percent 70 100
random-detect dscp 38 percent 60 100
class MULTIMEDIA-STREAMING-QUEUE
bandwidth remaining percent 10
random-detect dscp-based
random-detect dscp 26 percent 80 100
random-detect dscp 28 percent 70 100
random-detect dscp 30 percent 60 100
class TRANSACTIONAL-DATA-QUEUE
bandwidth remaining percent 10
random-detect dscp-based
random-detect dscp 18 percent 80 100
random-detect dscp 20 percent 70 100
random-detect dscp 22 percent 60 100
class BULK-DATA-QUEUE
bandwidth remaining percent 4
random-detect dscp-based
random-detect dscp 10 percent 80 100
random-detect dscp 12 percent 70 100
random-detect dscp 14 percent 60 100
class SCAVENGER-QUEUE
bandwidth remaining percent 1
class class-default
random-detect dscp-based
random-detect dscp 0 percent 80 100
!
Attaching the output queueing policy-map "1P7Q4T" to an interface in output direction works fine and both "show running interface" and "show queueing interface" commands confirm the policy is enabled OK.
interface TenGigabitEthernet1/2/1
switchport
switchport mode trunk
udld port aggressive
service-policy type lan-queuing output 1P7Q4T
LINKCORE-01#show queueing int te1/2/1
Interface TenGigabitEthernet1/2/1 queueing strategy: Weighted Round-Robin
Port QoS is enabled globally
Queueing on Te1/2/1: Tx Enabled Rx Enabled
Trust boundary disabled
Trust state: trust DSCP
Trust state in queueing: trust DSCP
Extend trust state: not trusted [COS = 0]
Default COS is 0
Class-map to Queue in Tx direction
Class-map Queue Id
----------------------------
REALTIME-QUEUE 8
CONTROL-QUEUE 7
MULTIMEDIA-CONFERENC 6
MULTIMEDIA-STREAMING 5
TRANSACTIONAL-DATA-Q 4
BULK-DATA-QUEUE 3
SCAVENGER-QUEUE 2
class-default 1
Queueing Mode In Tx direction: mode-dscp
Transmit queues [type = 1p7q4t]:
The input queueing policy though is driving me nuts. I can not get the policy to work with random-detect dscp-based or
random-detect dscp-based aggregate in any class. If I attach a policy with any sort of rand-detect command in a class, the switch swallows the interface command and it looks like it replicate it to the other ports in the port-group (remember we are in oversubscription mode here) without complaining. If I then check the interface config there is no service-policy type lan-queueing input there.
If I remove all random-detect commands from the classes it will however be applied OK and it looks like it works.
According to the QOS config guide for 15.0SY 1p7q2t interfaces should support this. I have also tried random-detect cos-based and random-detect
multiple-type-based. None of these seem to be supported.
This however works fine as a lan-queueing input policy
policy-map type lan-queuing TEST-INPUT
class REALTIME-QUEUE
priority
class CONTROL-QUEUE
bandwidth remaining percent 10
class MULTIMEDIA-CONFERENCING-QUEUE
bandwidth remaining percent 10
class MULTIMEDIA-CONFERENCING-QUEUE
bandwidth remaining percent 10
class MULTIMEDIA-STREAMING-QUEUE
bandwidth remaining percent 10
class TRANSACTIONAL-DATA-QUEUE
bandwidth remaining percent 10
class BULK-DATA-QUEUE
bandwidth remaining percent 4
class SCAVENGER-QUEUE
bandwidth remaining percent 1
class class-default
I can not find anything in bug-search so at least it does not look like a documented bug. Am I doing something wrong?
12-20-2013 02:02 AM
Have had a rather long winding case with TAC about this. Interfaces with 1p7q2T ingress queues do not support WRED. Tis is a documentation error. One must use tail-drop for these. On top of that the documentation do not state that T2 has a fixed value of 100%. The final queue config for 1p7q2T ingress ended up like this
policy-map type lan-queuing 1P7Q2T-TailDrop-IN
class REALTIME-QUEUE
priority
class CONTROL-QUEUE
bandwidth remaining percent 10
class MULTIMEDIA-CONFERENCING-QUEUE
bandwidth remaining percent 10
queue-limit multiple-type-base
queue-limit dscp values 36 38 percent 80
queue-limit dscp values 34 percent 100
class MULTIMEDIA-STREAMING-QUEUE
bandwidth remaining percent 10
queue-limit multiple-type-base
queue-limit dscp values 28 30 percent 80
queue-limit dscp values 26 percent 100
class TRANSACTIONAL-DATA-QUEUE
bandwidth remaining percent 10
queue-limit multiple-type-base
queue-limit dscp values 20 22 percent 80
queue-limit dscp values 18 percent 100
class BULK-DATA-QUEUE
bandwidth remaining percent 4
queue-limit multiple-type-base
queue-limit dscp values 12 14 percent 80
queue-limit dscp values 10 percent 100
class SCAVENGER-QUEUE
bandwidth remaining percent 1
class class-default
12-20-2013 04:09 PM
Why would you ever use ingress queues? Usually policing is the only necessary action on access port input service policies.
12-23-2015 11:55 AM
I know this is a really old comment, but to answer the question "Why would you ever use ingress queues?"
One reason to use ingress queues is if your backplane is oversubscribed such as on the Cat-6880.
01-03-2016 11:23 AM
Old comments are tracked. New comments are welcome. (-:
Marc, I would be interested in the case study if you have a nice Cat6880-X QoS experience.
03-21-2016 01:30 PM
Hi Peter,
I'm trying to do the same thing on the egress side - ie output. However, I'm running 15.1.2SY6 on a standalone 6880-x-le. I can't assign the service-policy to the interface.
I have platform qos queuing-only set but I'm literally grasping at straws right now. What are the pre-requisite config's required to enable an egress policy.
Thanks,
Rash
03-22-2016 06:36 AM
If you have and bandwidth reserved under class-default it is not supported. If you remove the bandwidth and then apply it it will work.
https://supportforums.cisco.com/discussion/12523971/6807-sup2t-qos-queuing-config-mqc
Also see this bugCSCur92556
03-22-2016 06:44 AM
Hi Steve,
Here is my policy. I don't have bandwidth associated with class-default.
policy-map type lan-queuing UPLINK_EGRESS
class PRIORITY
priority
class NETWORK-CTRL
bandwidth remaining percent 10
queue-buffers ratio 10
queue-limit dscp cs3 percent 100
queue-limit dscp cs6 percent 100
queue-limit dscp cs7 percent 100
class SLF-GOLD-PLUS
bandwidth remaining percent 20
queue-buffers ratio 15
queue-limit dscp af31 percent 90
queue-limit dscp af41 percent 100
class GOLD
bandwidth remaining percent 20
queue-buffers ratio 15
random-detect dscp-based
random-detect dscp 16 percent 70 100
random-detect dscp 18 percent 90 100
class SILVER
bandwidth remaining percent 25
queue-buffers ratio 20
random-detect dscp-based
random-detect dscp 10 percent 90 100
random-detect dscp 12 percent 80 100
random-detect dscp 14 percent 70 100
class class-default
queue-buffers ratio 25
random-detect dscp-based aggregate
random-detect dscp values 0 1 2 3 4 5 6 7 percent 70 100
random-detect dscp values 8 9 11 13 15 17 19 21 percent 70 100
random-detect dscp values 23 25 27 29 31 33 35 37 percent 70 100
random-detect dscp values 39 41 42 43 44 45 47 49 percent 70 100
random-detect dscp values 50 51 52 53 54 55 57 58 percent 70 100
random-detect dscp values 59 60 61 62 63 percent 70 100
bha01ad1(config-if)#service-policy type lan-queuing output UPLINK_EGRESS
bha01ad1#sh run inter te1/4
Load for five secs: 6%/0%; one minute: 4%; five minutes: 4%
Time source is NTP, 09:43:06.137 edt Tue Mar 22 2016
Building configuration...
Current configuration : 447 bytes
!
interface TenGigabitEthernet1/4
dampening
mtu 9216
ip address 10.86.244.5 255.255.255.254
no ip proxy-arp
ip pim query-interval 1
ip pim sparse-mode
ip igmp version 3
ip ospf network point-to-point
ip ospf dead-interval 3
ip ospf hello-interval 1
ip ospf bfd
logging event link-status
logging event nfas-status
logging event bundle-status
load-interval 30
carrier-delay msec 0
hold-queue 300 in
end
So I'll remove the pieces buffer piece right now and try.
Cheers,
Rash
03-23-2016 08:39 AM
Hi Peter,
In regards to your response - "but this is a routed port, not a switch port". I've modified the policy to reflect the following:'
policy-map UPLINK_EGRESS
class PRIORITY
priority
class NETWORK-CTRL
bandwidth remaining percent 10
queue-buffers ratio 10
queue-limit dscp cs3 percent 100
queue-limit dscp cs6 percent 100
queue-limit dscp cs7 percent 100
class GOLD-PLUS
bandwidth remaining percent 20
queue-buffers ratio 15
queue-limit dscp af31 percent 90
queue-limit dscp af41 percent 100
class GOLD
bandwidth remaining percent 20
queue-buffers ratio 15
random-detect dscp-based
random-detect dscp 16 percent 70 100
random-detect dscp 18 percent 90 100
class SILVER
bandwidth remaining percent 25
queue-buffers ratio 20
random-detect dscp-based
random-detect dscp 10 percent 90 100
random-detect dscp 12 percent 80 100
random-detect dscp 14 percent 70 100
class class-default
random-detect dscp-based aggregate
random-detect dscp values 0 1 2 3 4 5 6 7 percent 70 100
random-detect dscp values 8 9 11 13 15 17 19 21 percent 70 100
random-detect dscp values 23 25 27 29 31 33 35 37 percent 70 100
random-detect dscp values 39 41 42 43 44 45 47 49 percent 70 100
random-detect dscp values 50 51 52 53 54 55 57 58 percent 70 100
random-detect dscp values 59 60 61 62 63 percent 70 100
I still have issues. With matching COS in the class-map.
routerb(config-if)#service-policy output UPLINK_EGRESS
Match cos is not supported for this interface in the output direction.
routerb(config-if)#exit
After removing the "cos" match statements I get the following that I need to remove the priority.
routerb(config-if)#service-policy output UPLINK_EGRESS
priority command is not supported in output direction for this interface
Configuration failed!
Here is the interface config
interface TenGigabitEthernet2/4
mvrp timer leave-all 1000
mvrp timer leave 60
mvrp timer join 20
no mvrp timer periodic
no mvrp
no access-group hardware share label bridge-domain
dampening
mtu 9216
ip address 10.86.244.7 255.255.255.254
ip redirects
ip unreachables
no ip proxy-arp
ip mtu 9216
ip pim dr-priority 1
ip pim query-interval 1
ip pim sparse-mode
ip mfib forwarding input
ip mfib forwarding output
ip mfib cef input
ip mfib cef output
ip cef accounting non-recursive internal
ip load-sharing per-destination
ip route-cache cef
ip route-cache
ip split-horizon
ip igmp last-member-query-interval 1000
ip igmp last-member-query-count 2
ip igmp query-max-response-time 10
ip igmp version 3
ip igmp query-interval 60
ip igmp tcn query count 2
ip igmp tcn query interval 10
ip ospf network point-to-point
ip ospf resync-timeout 40
ip ospf dead-interval 3
ip ospf hello-interval 1
ip ospf retransmit-interval 5
ip ospf transmit-delay 1
no ip ospf flood-reduction
no ip ospf demand-circuit
no ip ospf mtu-ignore
no ip ospf database-filter all out
ip ospf bfd
ip ospf cost 1
logging event link-status
logging event nfas-status
logging event bundle-status
load-interval 30
carrier-delay msec 0
keepalive 10
platform multicast forwarding ip
platform multicast forwarding ipv6
no platform ip features sequential
no platform ip directed-broadcast include-router
no platform ip directed-broadcast exclude-router
no platform ip directed-broadcast drop
led beacon
ipv6 nd reachable-time 0
ipv6 nd ns-interval 0
ipv6 nd dad attempts 1
ipv6 nd prefix framed-ipv6-prefix
ipv6 nd nud igp
ipv6 nd ra lifetime 1800
ipv6 nd ra interval 200
ipv6 redirects
ipv6 unreachables
ipv6 mfib forwarding input
ipv6 mfib forwarding output
ipv6 mfib cef input
ipv6 mfib cef output
no mab
snmp trap link-status
cts role-based enforcement
macro description
storm-control broadcast level 100.00
storm-control multicast level 100.00
storm-control unicast level 100.00
load-balance src-dst-ip
load-balance src-dst-mac
load-balance src-dst-port
load-balance dst-ip
load-balance dst-mac
load-balance src-mac
load-balance src-ip
load-balance vlan
load-balance mpls
no dot1ad uni
no arp arpa
arp timeout 14400
clns route-cache
spanning-tree port-priority 128
ethernet oam max-rate 10
ethernet oam min-rate 1
ethernet oam remote-loopback timeout 2
ethernet oam timeout 5
ethernet oam mtu 1518
hold-queue 300 in
no bgp-policy accounting
no bgp-policy accounting output
no bgp-policy accounting input source
no bgp-policy accounting output source
no bgp-policy source ip-prec-map
no bgp-policy source ip-qos-map
no bgp-policy destination ip-prec-map
no bgp-policy destination ip-qos-map
03-22-2016 03:45 PM
But this is a routed port, not a switchport.
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide