Tags

,

I have seen many workbook lab tasks about configure things “as per best practice“. Few examples are ask us to configure  QoS of a switchport  where cisco phone or AP, WLC connected, configure 802.11 data rates for VoWLAN, wireless QoS.

How do we determine what is the best practice configs for these situations ? For example “A 7960 phone is connected to Fa1/0/10 of switch B. Configure QoS on this port to support this phone as per best practice”. How we should approach this ? One quick way is Auto QoS.

You can configure auto-qos on a given switchport  to support VoIP phone connection by using “auto qos voip  cisco-phone” CLI command. Keep in mind this will add whole bunch of other global commands to enable QoS, classification, Scheduling, etc. See below example where I have configured auto QoS on fa1/0/10 in a 3750 switch.

3750-b(config)#int fa1/0/10
3750-b(config-if)#auto qos voip  cisco-phone 
!
! You can see the configuration lines added by this command by using show archive CLI command
!
3750-b#show archive config differences nvram:startup-config system:running-config
!
!Contextual Config Diffs:
+mls qos map policed-dscp  0 10 18 24 46 to 8
+mls qos map cos-dscp 0 8 16 24 32 46 48 56
+mls qos srr-queue input bandwidth 70 30
+mls qos srr-queue input threshold 1 80 90
+mls qos srr-queue input priority-queue 2 bandwidth 30
+mls qos srr-queue input cos-map queue 1 threshold 2 3
+mls qos srr-queue input cos-map queue 1 threshold 3 6 7
+mls qos srr-queue input cos-map queue 2 threshold 1 4
+mls qos srr-queue input dscp-map queue 1 threshold 2 24
+mls qos srr-queue input dscp-map queue 1 threshold 3 48 49 50 51 52 53 54 55
+mls qos srr-queue input dscp-map queue 1 threshold 3 56 57 58 59 60 61 62 63
+mls qos srr-queue input dscp-map queue 2 threshold 3 32 33 40 41 42 43 44 45
+mls qos srr-queue input dscp-map queue 2 threshold 3 46 47
+mls qos srr-queue output cos-map queue 1 threshold 3 4 5
+mls qos srr-queue output cos-map queue 2 threshold 1 2
+mls qos srr-queue output cos-map queue 2 threshold 2 3
+mls qos srr-queue output cos-map queue 2 threshold 3 6 7
+mls qos srr-queue output cos-map queue 3 threshold 3 0
+mls qos srr-queue output cos-map queue 4 threshold 3 1
+mls qos srr-queue output dscp-map queue 1 threshold 3 32 33 40 41 42 43 44 45
+mls qos srr-queue output dscp-map queue 1 threshold 3 46 47
+mls qos srr-queue output dscp-map queue 2 threshold 1 16 17 18 19 20 21 22 23
+mls qos srr-queue output dscp-map queue 2 threshold 1 26 27 28 29 30 31 34 35
+mls qos srr-queue output dscp-map queue 2 threshold 1 36 37 38 39
+mls qos srr-queue output dscp-map queue 2 threshold 2 24
+mls qos srr-queue output dscp-map queue 2 threshold 3 48 49 50 51 52 53 54 55
+mls qos srr-queue output dscp-map queue 2 threshold 3 56 57 58 59 60 61 62 63
+mls qos srr-queue output dscp-map queue 3 threshold 3 0 1 2 3 4 5 6 7
+mls qos srr-queue output dscp-map queue 4 threshold 1 8 9 11 13 15
+mls qos srr-queue output dscp-map queue 4 threshold 2 10 12 14
+mls qos queue-set output 1 threshold 1 100 100 50 200
+mls qos queue-set output 1 threshold 2 125 125 100 400
+mls qos queue-set output 1 threshold 3 100 100 100 400
+mls qos queue-set output 1 threshold 4 60 150 50 200
+mls qos queue-set output 1 buffers 15 25 40 20
+mls qos
+auto qos srnd4
+class-map match-all AUTOQOS_VOIP_DATA_CLASS
 +match ip dscp ef 
+class-map match-all AUTOQOS_DEFAULT_CLASS
 +match access-group name AUTOQOS-ACL-DEFAULT
+class-map match-all AUTOQOS_VOIP_SIGNAL_CLASS
 +match ip dscp cs3 
+policy-map AUTOQOS-SRND4-CISCOPHONE-POLICY
 +class AUTOQOS_VOIP_DATA_CLASS
  +set dscp ef
  +police 128000 8000 exceed-action policed-dscp-transmit
 +class AUTOQOS_VOIP_SIGNAL_CLASS
  +set dscp cs3
  +police 32000 8000 exceed-action policed-dscp-transmit
 +class AUTOQOS_DEFAULT_CLASS
  +set dscp default
  +police 10000000 8000 exceed-action policed-dscp-transmit
interface FastEthernet1/0/10
 +srr-queue bandwidth share 1 30 35 5
 +priority-queue out 
 +mls qos trust device cisco-phone
 +mls qos trust cos
 +auto qos voip cisco-phone 
 +service-policy input AUTOQOS-SRND4-CISCOPHONE-POLICY
+ip access-list extended AUTOQOS-ACL-DEFAULT
 +permit ip any any

From exam perspective, they would not expect all of the above commands & interesting on interface specifics with basic QoS global configs. I would not worry about specific input service policy unless they give instructions to define these class maps & policy maps.

Below is my answer to this configuration task. Points are  enable QoS, DSCP 46 mapping to CoS 5 voice traffic, “Trusting CoS & conditional trust for cisco-phone”, “VoIP traffic put into egress PQ with bandwidth sharing mechanism- means unused bandwidth can be used by other traffic classes”

mls qos
mls qos map cos-dscp 0 8 16 24 32 46 48 56
!
int fa1/0/10
srr-queue bandwidth share 1 30 35 5
priority-queue out 
mls qos trust device cisco-phone
mls qos trust cos

Once you copy this interface configs  to a notepad you can simply reload switch without saving the configs to remove those all global configs. Once reloaded you can simply apply interface configurations from the notepad.

If it is AP connected switch port, as you know we have to trust DSCP. So best practice configs for those ports is something like below.

mls qos
mls qos map cos-dscp 0 8 16 24 32 46 48 56
!
int fa1/0/10
mls qos trust dscp

If it is WLC connected switch port we have to trust CoS & best practice configs for those ports is something like below.

mls qos
mls qos map cos-dscp 0 8 16 24 32 46 48 56
!
int fa1/0/10
mls qos trust cos