Showing posts with label QoS. Show all posts
Showing posts with label QoS. Show all posts

Sunday, February 26, 2012

MGCP Signaling QoS marking


According to show mgcp, the default marking for MGCP signaling DSCP marking is AF31 (26):

MGCP media (RTP) dscp: ef, MGCP signaling dscp: af31

It can be override with the command:  mgcp ip qos dscp cs3 signaling
MGCP media (RTP) dscp: ef, MGCP signaling dscp: cs3

As a result the signaling is now marked as CS3 (24) instead of AF31 (26)

Difference between "set dscp" and "set ip dscp" under policy-map

They are more or less the same in the IPv4 world.  The only difference is, set dscp will work for IPv4 and IPv6 and set ip dscp is for IPv4 only.


pandasw02(config-pmap-c)#set ?
  dscp        Set DSCP in IP(v4) and IPv6 packets
  ip          Set IP specific values
  precedence  Set precedence in IP(v4) and IPv6 packets


pandasw02(config-pmap-c)#set ip ?
  dscp        Set IP DSCP (DiffServ CodePoint)
  precedence  Set IP precedence

Sunday, January 29, 2012

FRF.12 Link Fragmentation and Interleaving calculation

Assuming we want to configure FRF.12 with interleaving and fragmentation delay of 10ms on a 768Kbps link:

Delay = Frame size (bits) / Link Bandwidth (bps)
0.01s = Frame size (bits) / 768,000 bps
Frame size = 7680 bits = 960 bytes

This is the configuration example extracted from the AutoQoS applied on the frame relay sub-interface

map-class frame-relay AutoQoS-FR-Se0/0/0:1-202
  frame-relay cir 768000
  frame-relay bc 7680
  frame-relay be 0
  frame-relay mincir 768000
  frame-relay fragment 960
  service-policy output AutoQoS-Policy-Trust

SRR queue - sharing and shaping on 3750

On 3750, both ingress and egress queue are serviced by SRR queue.  Here are a summary on SRR queue sharing and shaping:

1. You can configure sharing or shaping for egress queue, however for ingress you can only configure sharing.

2. In shaped mode, the egress queues are guaranteed a percentage of the bandwidth, and they are rate-limited to that amount. Shaped traffic does not use more than the allocated bandwidth even if the link is idle.

3. With shaping, the inverse absolute value of each weight is used to compute the bandwidth available for the queues.

Example: "srr-queue bandwidth shape 4 0 0 0", which means 1/4 of the interface bandwidth is assigned to queue 1.  If the link is a FE interface, around 25Mbps is allocated.  Even if the link is idle, queue 1 can't use more than 25Mbps bandwidth in this case.

4. In shared mode, the queues share the bandwidth among them according to the configured weights. The bandwidth is guaranteed at this level but not limited to it. For example, if a queue is empty and no longer requires a share of the link, the remaining queues can expand into the unused bandwidth and share it among them.

5. With sharing, the ratio of the weights controls the frequency of dequeuing.

Example: "srr-queue bandwidth share 30 40 25 5", the sum is 30 + 40 + 25 + 5 = 100 (better to reference to 100 for ease of calculation). The relative rate are 30/100, 40/100, 25/100 and 5/100

6. Shaping and sharing is configured per interface. Each interface can be uniquely configured.

7. You can mix shared and shaped on the same interface.

Example:
interface GigabitEthernet 1/0/1
srr-queue bandwidth share 1 30 40 30
srr-queue bandwidth shape 5 0 0 0

The interface bandwidth is 1000Mbps, queue 1 will get 1/5 = 200 Mbps. Queue 2, 3 and 4 will share the remaining 800Mbps.

Queue 2 = 800Mbps x 30% = 240Mbps
Queue 3 = 800Mbps x 40% = 320Mbps
Queue 4 = 800Mbps x 30% = 240Mbps

8. When you type "priority-queue out", you will turn queue 1 into PQ, it will ignore shared and shaped weight in the calculation. It means the PQ has 100% bandwidth when it needs, therefore other shaped queue may starve.

Monday, April 12, 2010

Learning Nexus 7000 QoS by Example

My environment: Nexus 7010, NX-OS 4.2

Just got a chance to play with the Nexus 7000 NX-OS QoS, the “mls qos” syntax has gone and now all the commands are based on MQC.

 

In the following example, I’m going to configure 2 ingress ports, one with high priority traffic and one with normal traffic, and at egress port high priority traffic will be assigned to PQ to dequeue first.

 

Classification

N7K# conf t

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

  match cos 5

It can only be done via the main VDC.  It can’t be done on child VDC.  And you can ONLY match cos in the class-map.

Marking

Now let’s mark the ingress traffic, I will do this at the port assigned to the vdc “test”.

N7K# switchto vdc test

N7K-test#

policy-map type queuing highpriority-in-policy

   class type queuing 2q4t-in-q-default

     set cos 5

Scheduling and Queuing

Finally, I want to assign the high priority traffic (cos=5) to PQ

N7K-test#

policy-map type queuing highpriority-out-policy

  class type queuing 1p3q4t-out-pq1

    priority level 1

Last step is to assign service policy to the interface:

N7K-test#

int e3/1

description - High Priority – Ingress -

service-policy type queuing input highpriority-in-policy

!

int e3/2

description – Low Priority – Ingress -

!

int e3/3

description – Egress Port -

service-policy type queuing output highpriority-out-policy

!

Monday, November 17, 2008

Low Latency Queue (LLQ) Cheatsheet

  • LLQ = CBWFQ + “priority” keyword
  • You can have more than 1 queue at a time
  • PQ can consume 100% bandwidth and starve low priority queue
  • LLQ discard traffic when exceed configured bandwidth – Policing!

Example Configuration

R11(config)#class-map voip-class
R11(config-cmap)#match ip dscp ef
R11(config-cmap)#policy-map voip-map
R11(config-pmap)#class voip-class
R11(config-pmap-c)#priority percent 33
R11(config-pmap-c)#int fa0/0
R11(config-if)#service-policy output voip-map

Double LLQ – 2 policing in 1 queue

Example:

1 Video Conference session = 320kbps

3 G.729a voice calls = 80kbps

If you configure “priority 400”, and if you have more than 3 G.729a voice calls, it will affect the video conferencing quality as it will exceed the policed rate 400kbps.

If you have 2 separate class-maps, i.e.

R11(config-pmap)#policy-map 2llq-map
R11(config-pmap)#class voice-class
R11(config-pmap-c)#priority 80
R11(config-pmap)#class video-class
R11(config-pmap-c)#priority 320

You can’t have more than 1 video conference call or more than 3 G.729a calls as it is policed in 2 difference classes. 

Wednesday, February 6, 2008

Enabling AutoQoS on Catalyst Switches


You can use one single command to enable QoS on your catalyst switches, and QoS will be applied to the switchports automatically.

Catalyst (config-if) # auto qos voip cisco-phone

It can achieve the following with AutoQoS macro:

  • Enforces a trust boundary at Cisco IP Phones
  • Enforces a trust boundary on Catalyst switch access ports and uplinks/downlinks
  • Enables Catalyst strict priority queuing for voice and weighted round robin queuing for data traffic
  • Modifies queue admission criteria (i.e. CoS to-queue mapping)
  • Modifies queue sizes, as well as queue weights where required
  • Modifies CoS-to-DSCP and IP precedence to-DSCP mappings