| ]

Introduction:
The Cisco Virtual Switching System is a clustering technology that pools two Cisco Catalyst 4500-E Series Switches with Cisco Catalyst Supervisor Engine 7-E or 7-LE or two Catalyst 4500-X Series Switches into a single virtual switch. In a VSS, the data plane of both clustered switches is active at the same time in both chassis. VSS members are connected by virtual switch links (VSLs) using standard Gigabit or 10 Gigabit Ethernet connections between the VSS members. VSLs can carry regular user traffic in addition to the control plane communication between the VSS members.

Refer to https://supportforums.cisco.com/document/124626/virtual-switching-system-vss-configuration-cisco-4500-series-switches
Physical vs Logical Topology in a VSS Configuration
vss.jpg
This document describes how to configure a virtual switching system (VSS) for the Catalyst 4500 series switch (Supervisor Engine 7-E, Supervisor Engine 7L-E).
Some key point to be remembered for Cisco 4500 VSS:
1) Configuration/Capability Supported supervisors on Catalyst 4500-E: VSS support Supervisor Engine 7-E or 7-LE (identical pairs).For more information about hardware to support please refer 4500 VSS Hardware requirement
2) Software requirement: Cisco IOS XE 3.4.0SG and ROMMON IOS Version 15.0(1r) SG7 later released support VSS.(Also refer How to Upgrade Cisco 4500 SUP7-E & Sup7L-E ROMMON To support VSS).
3)license requirement : 
To know more on license requirement refer "Release Notes for the Catalyst 4500E Series Switch"
Feature
LAN Base
IP Base
Enterprise Service
  • Virtual Switching System (VSS



No
Yes
(SUP7E only)
Yes
  • Support for Layer 3 MEC—VSS with Layer 3 Multichassis EtherChannel (MEC) at the aggregation layer
  • Support for VSLP Fast Hello—With VSLP Fast Hello, the Catalyst 4500-X configured for VSS can now connect Access Switches that do not support the ePAgP protocol.
  • Support for VSL Encryption
  • Support for Asymmetrix chassis

No
Yes (SUP7E)
No (SUP7LE)
Yes (SUP7E)
Yes (SUP7LE)
4) Single-sup cross-chassis VSS support: Yes.
5) Quad-sup VSS configuration with in-chassis redundant sups: In-chassis redundant sups in rommon mode with active uplinks.
6) It also supports 10 Gigabit Ethernet Virtual Switch Link (VSL) and 1 Gigabit Ethernet VSL.
7) SSO and nonstop forwarding (NSF) must be configured on each switch. If a VSS does not meet the requirements for SSO redundancy; it will be incapable of establishing a relationship with the peer switch. Catalyst 4500/4500-X series switches' VSS does not support route processor redundancy (RPR) mode.
Prerequisite:
Before configuring VSS on Cisco 4500 please verify hardware and software requirement.
SW1#sh ver | in IOS
Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSAL-M), Version 03.04.00.SG RELEASE SOFTWARE (fc3)
Cisco IOS-XE software, Copyright (c) 2005-2010, 2012 by cisco Systems, Inc.
All rights reserved. Certain components of Cisco IOS-XE software are
or the applicable URL provided on the flyer accompanying the IOS-XE
documentation or "License Notice" file accompanying the IOS-XE software
SW1#sh ver | in ROM
ROM: 15.0(1r)SG7
System returned to ROM by power-on
SW1#sh license image levels
Module name       Image level Priority Configured Valid license
--------------------------------------------------------------------
WS-X45-SUP7-E     entservices  1         YES        entservices            
                  ipbase       2         NO         ipbase                
    Role           Current Level     Reboot Level ----------
                  lanbase      3         NO         lanbase     Module Nam e----------------------------------------------------------
entservices       entservices
WS-X45-SUP7-E  Active        
SW2#sh ver | in IOS
Cisco IOS Software, IOS-XE Software, Catalyst 4500 L3 Switch Software (cat4500e-UNIVERSAL-M), Version 03.04.00.SG RELEASE SOFTWARE (fc3)
Cisco IOS-XE software, Copyright (c) 2005-2010, 2012 by cisco Systems, Inc.
All rights reserved. Certain components of Cisco IOS-XE software are
or the applicable URL provided on the flyer accompanying the IOS-XE
documentation or "License Notice" file accompanying the IOS-XE softw
SW2#sh ver | in ROM
ROM: 15.0(1r)SG7
System returned to ROM by power-on
SW2#sh license image levels
Module name       Image level Priority Configured Valid license
--------------------------------------------------------------------
WS-X45-SUP7-E     entservices  1         YES        entservices            
                  ipbase       2         NO         ipbase                
  Role           Current Level     Reboot Level -----------
                  lanbase      3         NO         lanbase Module Name  ---------------------------------------------------------
 entservices       entservices
WS-X45-SUP7-E   Active      

Configuration Steps:

STEP1: Assigning Virtual Switch Domain and Switch Numbers
First you have to configure the same virtual switch domain number on both switches of the VSS. The virtual switch domain is a number between 1 and 255.After domain number you must configure one switch to be switch number 1 and the other switch to be switch number 2.
SW1#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW1(config)#switch virtual domain 10
Domain ID 10 config will take effect only
after the exec command 'switch convert mode virtual' is issued
SW1(config-vs-domain)#switch 1
SW1(config-vs-domain)#exit
SW1(config)#
SW2#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SW2(config)#switch virtual domain 10
Domain ID 10 config will take effect only
after the exec command 'switch convert mode virtual' is issued
SW2(config-vs-domain)#switch 2
SW2(config-vs-domain)#exit
SW2(config)#
STEP2: Configuring VSL Port Channel:
Then you need to configure VSL with a unique port channel on each switch. During the conversion, the VSS configures both port channels on the VSS Active switch. If the VSS Standby switch VSL port channel number has been configured for another use, the VSS comes up in RPR mode. To avoid this situation, check that both port channel numbers are available on both of the switches.
SW1(config)#int port-channel 5
SW1(config-if)#switchport
ual link 1 SW1(config-if)#no shut SW
SW1(config-if)#switch vir t1(config-if)#exit
2: %SPANTREE-6-PORTDEL_ALL_VLANS: Port-channel5 deleted from all Vlans
*Jan 24 05:19:57.0 9

SW2(config)#int port-channel 10
SW2(config-if)#switchport
ual link 2 SW2(config-if)#no shut SW
SW2(config-if)#switch vir t2(config-if)#exit SW2(config)#
6-PORTDEL_ALL_VLANS: Port-channel10 deleted from all Vlans
*Jan 24 05:14:17.273: %SPANTREE -

STEP3: configure the VSL ports
You need to add the VSL physical ports to the port channel. In the following example, interfaces Gigabit Ethernet 7/3 and 7/4 on Switch 1 are connected to interfaces Gigabit Ethernet 4/45 and 4/46 on Switch 2.
SW1(config)#int range gig7/3 - 4
SW1(config-if-range)#switchport mode trunk
SW1(config-if-range)#channel-group 5 mode on
WARNING: Interface GigabitEthernet7/3 placed in restricted config mode. All extraneous configs removed!
WARNING: Interface GigabitEthernet7/4 placed in restricted config mode. All extraneous configs removed!
SW1(config-if-range)#exit

SW2(config)#int range gig4/45 - 46
SW2(config-if-range)#switchport mode trunk
SW2(config-if-range)#channel-group 10 mode on
WARNING: Interface GigabitEthernet4/45 placed in restricted config mode. All extraneous configs removed!
WARNING: Interface GigabitEthernet4/46 placed in restricted config mode. All extraneous configs removed!
SW2(config-if-range)#exit

Note: Once the interfaces are put into VSL port-channel with “channel-group" command, then the interfaces goes into “notconnect” status. Interface status will show UP, but the line protocol will be down. The interface will be in UP/down (not connect) status, till the switch is rebooted in step 4.
STEP4: Converting the Switch to Virtual Switch Mode:
You need to enter the “switch convert mode virtual” command on Switch 1 for Converting to Virtual Switch Mode .After you enter this command it will prompted to confirm the action. Enter yes. The system creates a converted configuration file, and saves the file to the bootflash:
SW1#switch convert mode virtual
his command will convert all interface names
Tto naming convention "interface-type switch-number/slot/port",
save the running config to startup-config and
s/no]: yes Convert
reload the switch. Do you want to proceed? [y eing interface names Building configuration...
3 bytes[OK] Saving converted configuration to bootflash: .
Compressed configuration from 6551 bytes to 28 9.. Destination filename [startup-config.converted_vs-20130124-062921]?
n (G) Signature verification PASSED Rommon
Please stand by while rebooting the system... Restarting system. Romm o (P) Signature verification PASSED
D
FPGA   (P) Signature verification PASS E

Similarly you need to enter the “switch convert mode virtual” command on Switch 2 for converting to Virtual Switch Mode.
SW2#switch convert mode virtual​
This command will convert all interface names
to naming convention "interface-type switch-number/slot/port",
save the running config to startup-config and
s/no]: yes Convert
reload the switch. Do you want to proceed? [y eing interface names Building configuration...
4 bytes[OK] Saving converted configuration to bootflash: .
Compressed configuration from 6027 bytes to 27 7.. Destination filename [startup-config.converted_vs-20130124-052526]?
n (G) Signature verification PASSED Rommon
Please stand by while rebooting the system... Restarting system. Romm o (P) Signature verification PASSED FPGA   (P) Signature verification PASSED
                                     * * Welcome to Rom Mon
************************************************************ *                    itor for   WS-X45-SUP7-E System.       * * Copyright (c) 2008-2012 by Cisco Systems, Inc.           *
                 * *****************************************
* All rights reserved.                                     * *                                        
*******************

After you confirm the above commands on both switches, the running configuration is automatically saved as the startup configuration and the switch reboots. After the reboot, the switch is in virtual switch mode, so you must specify interfaces with three identifiers (switch/module/port).
When switches are being converted to VSS, you should not set them to ignore startup-config. If done, the switch can be enabled to parse the startup-config at the rommon prompt. Ignoring startup-config in VSS mode causes a switch to boot in a semi-VSS mode, which can only be corrected by a reboot and by enabling the parsing of startup-config.
Verification:
1) To displays the virtual switch domain number, and the switch number and role for each of the switches you can use “show switch virtual”command.

SW1#sh switch virtual
xecuting the command on VSS member switch role = VSS Active, id = 1
E Switch mode                  : Virtual Switch
mber          : 1 Local switch op
Virtual switch domain number : 10 Local switch n uerational role: Virtual Switch Active Peer switch number           : 2
mmand on VSS member switch role = VSS Standby, id = 2
Peer switch operational role : Virtual Switch Standby Executing the c o Switch mode                  : Virtual Switch Virtual switch domain number : 10 Local switch number          : 2
Virtual Switch Active
Local switch operational role: Virtual Switch Standby Peer switch number           : 1 Peer switch operational role :

2) Once both switches cluster in single virtual switch, you will only have Active switch console and your Standby switch console appears as follow:

SW2-standby>
tandby console disabled
S

3) To displays the role, switch number, and priority for each of the switch in the VSS use “show switch virtual role” command.
SW1#sh switch virtual role
xecuting the command on VSS member switch role = VSS Active, id = 1
E RRP information for Instance 1
--------------------------------- Valid Flags   Peer     Preferred R
---------------------------------- -eserved                Count     Peer       Peer
--------------- TRUE   V       1           1         1 Switch Swi
---------------------------------------------------- -tch Status Preempt       Priority Role     Local   Remote
  SID ----------------------------------------------------------
       Number         Oper(Conf)   Oper(Conf)         SID  ---------- LOCAL   1     UP     FALSE(N )     100(100) ACTIVE   0       0
epresents the local switch Flags : V - Valid In dual-active re
REMOTE  2     UP     FALSE(N )     100(100) STANDBY 6834   6152 Peer 0 rcovery mode: No Executing the command on VSS member switch role = VSS Standby, id = 2 RRP information for Instance 2
Count     Peer       Peer ---------------------------------------
-------------------------------------------------------------------- Valid Flags   Peer     Preferred Reserved                ----------------------------- TRUE    V       1           1         1 Switch Switch Status Preempt       Priority Role     Local   Remote
2     UP     FALSE(N )     100(100) STANDBY  0       0 REMOTE  1
       Number         Oper(Conf)   Oper(Conf)         SID     SID -------------------------------------------------------------------- LOCAL       UP     FALSE(N )     100(100) ACTIVE   6152   6834 Peer 0 represents the local switch Flags : V - Valid
In dual-active recovery mode: N o

4) To Displays information about the VSL use “show switch virtual link”command.
SW1#sh switch virtual link
xecuting the command on VSS member switch role = VSS Active, id = 1
E VSL Status : UP VSL Uptime : 3 minutes VSL Control Link : Gi1/7/4
VSL Status : UP VSL Uptime : 3 minutes VSL Control Link : Gi2/4/45
Executing the command on VSS member switch role = VSS Standby, id = 2

5) You can also verify information about the VSL port channel using “show switch virtual link port-channel”command.

SW1#sh switch virtual link port-channel 
xecuting the command on VSS member switch role = VSS Active, id = 1
E Flags: D - down       P - bundled in port-channel
standby (LACP only)        R - Layer
       I - stand-alone s - suspended        H - Hot -3     S - Layer2        U - in use     N - not in use, no aggregation
e, no aggregation due to minimum links not met  
       f - failed to allocate aggregator           M - not in u s     m - not in use, port not aggregated due to minimum links not met        u - unsuitable for bundling
rts ------+-------------+
       d - default port     w - waiting to be aggregated Group Port-channel Protocol   P o-----------+------------------- 5     Po5(SU)          -       Gi1/7/3(P) Gi1/7/4(P)
member switch role = VSS Standby, id = 2 Flags: D -
10    Po10(SU)         -       Gi2/4/45(P) Gi2/4/46(P) Executing the command on VS Sdown       P - bundled in port-channel        I - stand-alone s - suspended        H - Hot-standby (LACP only)
ate aggregator          
       R - Layer3     S - Layer2        U - in use     N - not in use, no aggregation        f - failed to allo c  M - not in use, no aggregation due to minimum links not met        m - not in use, port not aggregated due to minimum links not met
ts ------+-------------+----------
       u - unsuitable for bundling        d - default port   w - waiting to be aggregated Group Port-channel Protocol   Po r-+------------------- 5     Po5(SU)          -       Gi1/7/3(P) Gi1/7/4(P) 10    Po10(SU)         -       Gi2/4/45(P) Gi2/4/46(P)
SW1 #

Reference:

Catalyst Confidence: VSS on the 4500 :

| ]

Cisco IOS XE Software Release 3.4.0SG and Cisco IOS Software Release 15.1(2)SG for Cisco Catalyst 4500E, 4500-X, and 4900 Series Switches





Overview
This product bulletin describes the primary hardware and software features supported by Cisco IOS® Software Release XE3.4.0SG/15.1(2)SG for the following products:
  • Cisco® Catalyst® 4500 Series Supervisor Engine 7-E and Supervisor Engine 7L-E running Cisco IOS XE Software Release 3.4.0SG
  • Cisco Catalyst 4500-X Series Switch running Cisco IOS XE Software Release 3.4.0SG
  • Cisco Catalyst 4500 Series Supervisor Engine 6-E and Supervisor Engine 6L-E running Cisco IOS Software Release 15.1(2)SG
  • Cisco Catalyst 4900M, 4948E, and 4948E-F Switches running Cisco IOS Software Release 15.1(2)SG

    Cisco IOS XE Software Release 3.2.0SG and Cisco IOS Software Release 15.0(2)SG are the base releases for new extended maintenance on Cisco Catalyst 4500E, 4500-X and Cisco Catalyst 4900M and 4948E/E-F Series Switches.

    For detailed information about the features and hardware supported in Extended Maintenance Release Cisco IOS XE Software Release 3.4.0SG and Cisco IOS Software Release 15.1(2)SG, refer to the release notes and support documentation at:
Primary Hardware and Software Service Innovations Delivered in Cisco IOS XE Software Release 3.4.0SG and Cisco IOS Software Release 15.1(2)SG

Cisco IOS Software Release XE3.4.0SG/15.1(2)SG is part of the new software releases on Cisco Catalyst 4500E and 4500-X Series Switches and Cisco Catalyst 4900M and 4948E/E-F Switches. These releases deliver new software and hardware innovations in campus access and aggregation deployments that span across many technologies, including security, high availability, and IP multicast. Each technology is covered in more detail in this product bulletin.

Software Features
Cisco Virtual Switching System (VSS) for Cisco Catalyst 4500E (Supervisor Engine 7-E and 7L-E) and 4500X Series Switches

Cisco VSS on the Cisco Catalyst 4500E and Cisco Catalyst 4500-X provides the following benefits:
  • Simplified network operations:
    • Providing a single point of management (with single IP address), it allows any updates, policy changes and configurations to be synchronized between the two switches, eliminating error-prone manual synchronization.
    • Forming Multichassis EtherChannel (MEC) to the logical switch, Cisco VSS provides a loop-free topology, no longer needing to rely on Spanning Tree Protocol.
    • A single routing instance on the virtual switch eliminates the issues of managing, tuning, and troubleshooting first hop routing protocols such as Hot Standby Router Protocol (HSRP) and Virtual Router Redundancy Protocol (VRRP).
    • Cisco Prime™ 4.2.2 now enables one to centrally manage the pair of switches as a single virtual chassis.
  • Resiliency:
    • Stateful failover between the supervisor engines on the two chassis provides subsecond failover and transparent failover even to delay-sensitive applications such as voice and video.
    • With EtherChannels extended across two physical chassis, it provides for increased resiliency. These links are configured as MEC, minimizing traffic disruption from switch or uplink failure.
  • Increased system bandwidth:
    • The active-active MEC extended across two physical chassis provides for dual bandwidth utilization, increasing return on investment (ROI) and reducing additional capital expenditures (CapEx) to add capacity.
For Cisco Catalyst 4500E, VSS is supported in IP base and Enterprise services on Supervisor Engine 7-E and in Enterprise services only on Supervisor Engine 7L-E. On Cisco Catalyst 4500-X, VSS is supported in IP base and enterprise services. All 1 Gigabit Ethernet (GE) and 10GE links may be configured for virtual switch links (VSL).

The physical and logical views of VSS are represented in Figures 1 and 2.

Figure 1. VSS Physical View Showing the Physical Connectivity


Figure 2. VSS Physical View Showing the Physical and Logical View


| ]

Read more: http://networklessons.com/quality-of-service/how-to-configure-queuing-on-cisco-catalyst-3560-and-3750-switch/#ixzz2yHmC5Ufo

QoS (Quality of Service) on Cisco Catalyst switches is not as easy as configuring it on routers. The big difference is that on routers QoS runs in software while on our switches it’s done in hardware. Since switching is done in hardware (ASICs) we also have to do our congestion management (queuing) in hardware. The downside of this is that QoS is in effect immediately. In this article I will give you an overview of all the different commands and an explanation of how QoS works. If you are totally new to LAN QoS do yourself a favor and watch this video:
The first 54 minutes are about classification, marking and policing so if you only care about congestion management and queuing you can skip the first part. Having said that let’s walk through the different commands.

Priority Queue

If your switch supports ingress queuing then on most switches (Cisco Catalyst 3560 and 3750) queue 2 will be the priority queue by default. Keep in mind that there are only 2 ingress queues. If we want we can make queue 1 the priority queue and we can also change the bandwidth. Here’s how to do it:
Switch(config)#mls qos srr-queue input priority-queue 1 bandwidth 20
The command makes queue 1 the priority queue and limits it to 20% of the bandwidth of the total internal ring bandwidth.
For our egress queuing we have to enable the priority queue ourselves! It’s not enabled by default. Here’s how you can do it:
Switch(config)#interface fa0/1
Switch(config-if)#priority-queue out
The command above will enable the outbound priority queue for interface fa0/1. By default queue 1 is the priority queue!

Queue-set

The queue-set is like a template for QoS configurations on our switches. There are 2 queue-sets that we can use and by default all interfaces are assigned to queue-set 1. If you plan to make changes to buffers etc. it’s better to use queue-set 2 for this. If you change queue-set 1 you will apply you new changes to all interfaces.
This is how you can assign an interface to a different queue-set:
Switch(config)#interface fa0/2
Switch(config-if)#queue-set 2
Above we put interface fa0/2 in queue-set 2. Keep in mind that we only have queue-sets for egress queuing, not for ingress.

Buffer Allocation

For each queue we need to configure the assigned buffers. The buffer is like the ‘storage’ space for the interface and we have to divide it among the different queues. This is how to do it:
mls qos queue-set output  buffers Q1 Q2 Q3 Q4
Above you see the mls qos command. First we select the queue-set and then we can divide the buffers between queue 1,2,3 and 4. For queue 1,3 and 4 you can select a value between 0 and 99. If you type 0 you will disable the queue. You can’t do this for queue 2 because it is used for the CPU buffer. Let’s take a look at an actual example:
Switch(config)#mls qos queue-set output 2 buffers 33 17 25 25
This will divide the buffer space like this:
  • 33% for queue 1.
  • 17% for queue 2.
  • 25% for queue 3.
  • 25% for queue 4.
Besides dividing the bufferspace between the queues we also have to configure the following values per queue:
  • Threshold 1 value
  • Threshold 2 value
  • Reserved value
  • Maximum value
The command to configure these values looks like this:
mls qos queue-set output  threshold  T1 T2 RESERVED MAXIMUM
First you need to select a queue-set, select the queue number and finally configure a threshold 1 and 2 value, reserved value and the maximum value.
Here’s an example:
Switch(config)#mls qos queue-set output 2 threshold 3 33 66 100 300
In the example above we configure queue-set 2. We select queue 3 and set the following values:
  • Threshold 1 = 33%
  • Threshold 2 = 66%
  • Reserved = 100%
  • Maximum = 300%
This means that threshold 1 can go up to 33% of the queue. Threshold 2 can go up to 66% of the queue. We reserve 100% buffer space for this queue and in case the queue is full we can borrow more buffer space from the common pool. 300% means we can get twice our queue size from the common pool.

Assign marked packets/frames to correct queue

You now know how to configure the buffers and thresholds but we still have to tell the switch which CoS and DSCP values have to go to which queue. Here’s the command for it:
mls qos srr-queue
This is what it means:
  • Direction: input or output.
  • Marking: CoS or DSCP.
  • Queue: The queue number.
  • Threshold: this can be threshold 1,2 or 3.
  • Values: The CoS or DSCP values you want to put here.
Let’s take a look at an actual example:
Switch(config)#mls qos srr-queue output cos-map queue 1 threshold 1 0 1
The command assigns CoS values 0 and 1 to queue 1 up to threshold 1.
Switch(config)#mls qos srr-queue output cos-map queue 1 threshold 2 2 3
This example assigns CoS values 2 and 3 to queue 1 up to threshold 2.
Switch(config)#mls qos srr-queue output cos-map queue 4 threshold 2 6 7
And this one assigns CoS values 6 and 7 to queue 4 up to threshold 2.

Bandwidth Allocation

The buffers determine how large the queues are. In other words how ‘big is our storage’. The bandwidth is basically how often we visit our queues. We can change the bandwidth allocation for each interface. Here’s what it looks like for our igress queuing:
mls qos srr-queue input bandwidth Q1 Q2
Igress queuing only has two queues. We can divide a weight between the two queues. Here’s an example:
Switch(config)#mls qos srr-queue input bandwidth 30 70
With the command above queue 1 will receive 30% of the bandwidth and queue 2 will receive 70%. These two values are “weighted” and don’t have to add up to 100%. If I would have typed somethine like “70 60″ then queue 1 would receive 60/130 = about 46% of the bandwidth and queue 2 would receive 70/130 = about 53%. Of course it’s easier to calculate if you make these values add up to 100.
For our egress queues we have to do the same thing but it will be on interface level. We can also choose between shaping or sharing. Sharing means the queues will divide the available bandwidth between each other. Shaping means you set a fixed limit, it’s like policing. Here’s an example:
Switch(config)#interface fa0/1
Switch(config-if)#srr-queue bandwidth share 30 20 25 25
This will divide the bandwidth as following:
  • Queue 1: 30%
  • Queue 2: 20%
  • Queue 3: 25%
  • Queue 4: 25%
In this case we have a 100Mbit interface which means queue 1 will receive 30Mbit, queue 2 20Mbit, queue 3 25Mbit and queue 4 25Mbit. If there is no congestion than our queues can go above their bandwidth limit. This is why it’s called “sharing”.
If I want I can enable shaping for 1 or more queues. This is how you do it:
Switch(config)#interface fa0/1
Switch(config-if)#srr-queue bandwidth shape 20 0 0 0
This value is a weighted value. The other queues are not shaped because there’s a 0. When you configure shaping for a queue it will be removed from the sharing mechanism. So how much bandwidth does queue 1 really get? We can calculate it like this:
  • 1/20 = 0.05 x 100Mbit = 5Mbit.
So traffic in queue 1 will be shaped to 5Mbit. Since queue 1 is now removed from the sharing mechanism…how much bandwidth will queue 2,3 and 4 get?
Let’s take a look again at the sharing configuration that I just showed you:
Switch(config)#interface fa0/1
Switch(config-if)#srr-queue bandwidth share 30 20 25 25
I just explained you that queue 1 would receive 30Mbit, queue 2 20Mbit, queue 3 25Mbit and queue 4 also 25Mbit. Since I enabled shaping for queue 1 it doesn’t join the sharing mechanism anymore. This means there is more bandwidth for queue 2,3 and 4. Here’s what the calculation looks like now:
  • Interface fa0/1 is 100Mbit.
  • We configured shaping to 5Mbit for queue 1 so there is 95Mbit left.
  • We configured a weighted of value 20,25 and 25 for queue 2,3 and 4.
  • 20 + 25 + 25 = 70 total.
  • Queue 2 will receive 20/70 = 0.28 * 100 Mbit – 5 Mbit = 27.1 Mbit.
  • Queue 3 will receive 25/70 = 0.35 * 100 Mbit – 5 Mbit = 33.9 Mbit.
  • Queue 4 will receive 25/70 = 0.35 * 100 Mbit – 5 Mbit = 33.9 Mbit.
If we add all these values together:
  • Queue 1 is shaped to 5 Mbit.
  • Queue 2 is shared to 27.1 Mbit.
  • Queue 3 is shared to 33.9 Mbit.
  • Queue 4 is shared to 33.9 Mbit.
  • 5 + 27.1 + 33.9 + 33.9 =  Total bandwidth of 100 Mbit.
That’s how you do it!
It’s also possible to rate-limit the entire interface for egress traffic if you want to save the hassle of configuring shaping. This is how you do it:
Switch(config)#interface fa0/1
Switch(config-if)#srr-queue bandwidth limit 85
This will limit our 100 Mbit interface to 85% so you’ll end up with 85 Mbit.

Verification and troubleshooting

Now you know how to configure everything. Let’s take a look at the different commands you can use to verify everything!
First you should check the capabilities of a switch. You can do this on the interface level as following:
Switch#show interfaces fa0/23 capabilities
FastEthernet0/23
Model:                 WS-C3560-24PS
Type:                  10/100BaseTX
Speed:                 10,100,auto
Duplex:                half,full,auto
Trunk encap. type:     802.1Q,ISL
Trunk mode:            on,off,desirable,nonegotiate
Channel:               yes
Broadcast suppression: percentage(0-100)
Flowcontrol:           rx-(off,on,desired),tx-(none)
Fast Start:            yes
QoS scheduling:        rx-(not configurable on per port basis),
tx-(4q3t) (3t: Two configurable values and one fixed.)
CoS rewrite:           yes
ToS rewrite:           yes
UDLD:                  yes
Inline power:          yes
SPAN:                  source/destination
PortSecure:            yes
Dot1x:                 yes
Above you can see that this Cisco Catalyst 3560 switch has 4 queues with 3 threshold levels.
If you are configuring QoS you need to make sure you enabled it globally first with the “mls qos” command. You can verify if QoS is active or not with the following command:
Switch#show mls qos
QoS is enabled
QoS ip packet dscp rewrite is enabled
It tells us that QoS is enabled globally. We can also check the QoS parameters for each interface as following:
Switch#show mls qos interface fa0/1
FastEthernet0/1
trust state: trust cos
trust mode: trust cos
trust enabled flag: ena
COS override: dis
default COS: 1
DSCP Mutation Map: Default DSCP Mutation Map
Trust device: none
qos mode: port-based
Above you can see the trust state for this interface. We can also verify the queue-sets for this switch. If you didn’t configure them you will find some default values:
Switch#show mls qos queue-set
Queueset: 1
Queue     :       1       2       3       4
----------------------------------------------
buffers   :      25      25      25      25
threshold1:     100     200     100     100
threshold2:     100     200     100     100
reserved  :      50      50      50      50
maximum   :     400     400     400     400
Queueset: 2
Queue     :       1       2       3       4
----------------------------------------------
buffers   :      33      17      25      25
threshold1:     100      33      33     100
threshold2:     100      66      66     100
reserved  :      50     100     100      50
maximum   :     400     200     200     400
Above you will find queue-set 1 and 2. You can see how the buffers are divided per queue and the values for our thresholds, reserved and maximum values.
We can check how queuing is configured per interface. This is how you do it:
Switch#show mls qos interface fastEthernet 0/24 queuing
FastEthernet0/24
Egress Priority Queue : disabled
Shaped queue weights (absolute) :  25 0 0 0
Shared queue weights  :  25 25 25 25
The port bandwidth limit : 100  (Operational Bandwidth:100.0)
The port is mapped to qset : 1
Above you see that the priority queue is disabled. Also you see the shaped and shared values and that this interface belongs to queue-set 1.
If you are troubleshooting you should check if you see any drops within the queues. You can do it like this:
Switch#show platform port-asic stats drop FastEthernet 0/1

Interface Fa0/1 TxQueue Drop Statistics
Queue 0
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0
Queue 1
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0
Queue 2
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0
Queue 3
Weight 0 Frames 0
Weight 1 Frames 0
Weight 2 Frames 0
Here you can see the drops for each queue. We can also verify if we are receiving traffic that is marked:
Switch#show mls qos interface fastEthernet 0/1 statistics
FastEthernet0/1 (All statistics are in packets)

dscp: incoming
-------------------------------

0 -  4 :           0            0            0            0            0
5 -  9 :           0            0            0            0            0
10 - 14 :           0            0            0            0            0
15 - 19 :           0            0            0            0            0
20 - 24 :           0            0            0            0            0
25 - 29 :           0            0            0            0            0
30 - 34 :           0            0            0            0            0
35 - 39 :           0            0            0            0            0
40 - 44 :           0            0            0            0            0
45 - 49 :           0            0            0            0            0
50 - 54 :           0            0            0            0            0
55 - 59 :           0            0            0            0            0
60 - 64 :           0            0            0            0
dscp: outgoing
-------------------------------

0 -  4 :           0            0            0            0            0
5 -  9 :           0            0            0            0            0
10 - 14 :           0            0            0            0            0
15 - 19 :           0            0            0            0            0
20 - 24 :           0            0            0            0            0
25 - 29 :           0            0            0            0            0
30 - 34 :           0            0            0            0            0
35 - 39 :           0            0            0            0            0
40 - 44 :           0            0            0            0            0
45 - 49 :           0            0            0            0            0
50 - 54 :           0            0            0            0            0
55 - 59 :           0            0            0            0            0
60 - 64 :           0            0            0            0
cos: incoming
-------------------------------

0 -  4 :           2            0            0            0            0
5 -  7 :           0            0            0
cos: outgoing
-------------------------------

0 -  4 :           0            0            0            0            0
5 -  7 :           0            0            0
Policer: Inprofile:            0 OutofProfile:            0
That’s all I have for you for now! I suggest you to check out these commands on your own switches to become familiar with them.

René is the creator of Networklessons.com where he writes about networking topics like Cisco, Routing, Switching, Linux, Wireless & Security. He also created GNS3Vault.com where people can study Cisco labs for free.

Read more: http://networklessons.com/quality-of-service/how-to-configure-queuing-on-cisco-catalyst-3560-and-3750-switch/#ixzz2yHmo5vT6