cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
1502
Views
5
Helpful
9
Replies

WAN QoS

Jerome C.
Level 1
Level 1

Hello

On my router, an external consultant has configured our router with the following configuration regarding the QoS. My question is : is the configuration is correct to set "service-policy output LAN-policy" on gi0/0 (WAN interface) or the correct configuration is to replace "service-policy output LAN-policy" by " service-policy output policy-map shape_40M" ?

BR

-------------------------------------------------------------

class-map match-all CRITICAL
match ip dscp cs2 af21 cs3 af31 ef cs6
class-map match-all PRIORITY
match ip dscp cs5
class-map match-all ANY
match access-group name ANY
class-map match-all PREMIUM
match ip dscp af11
!
!
policy-map LAN-policy
class PRIORITY
priority percent 25
class CRITICAL
bandwidth percent 25
class PREMIUM
bandwidth percent 25
policy-map shape_40M
class ANY
shape average 40000000
service-policy LAN-policy

!

interface GigabitEthernet0/0
description WAN-IF
ip address xx.xxx.xxx.xxx 255.255.255.248
no ip redirects
no ip proxy-arp
load-interval 30
service-policy output LAN-policy

9 Replies 9

e.ciollaro
Level 4
Level 4

Hi Jerome,

when you use hierarchical QoS (HQos) you have to apply the parent policy to the interf so if your goal is to shape the traffic and assign  different priority to the different type of traffic, the right config is:

interface GigabitEthernet0/0
  service-policy output shape_40M

Bye

e

To add to Ciollaro's info, I believe many Cisco shapers do not account for L2 overhead, so if your CIR is 40 Mbps, you may want to shape about 15% slower.

You have a class-map ANY and your shape_40M appears to use it, but from what's posted, it appears the class-default might be used instead.

Generally, DSCP EF traffic goes into LLQ, which isn't the case in your posted policy.

Hello, Joseph.

Could you please clarify what did you mean by "L2 overhead" - is this about L2 header only or you also mean preamble and check-sum?

Could you please provide a proof link, that routers do not account these? 

***

And how did you come up with 15%?

As far as I know, there is a logic to shape to 95% (due to pack_priority) and 90% (to additionally make sure you fit PE policer bc or buffer on dummy devices in the middle).

***

PS: it's a first time I hear the recommendation to shape 15% slower, that is why I'm trying to understand if it's justified by documentation.

Could you please provide a proof link, that routers do not account these? 

Sorry, don't have a link specifically for that, but some later Cisco shapers mention accounting for L2, so that would imply others do not.  My experience also seems to imply many do not.

e.g.:

QoS: L2 Overhead Specification for Shaping and Policing Parameters for Ethernet

The Layer 2 (L2) Overhead Specification for Shaping and Policing Parameters for Ethernet allows you to configure shaping and policing bit rates that count Layer 2 encapsulation frame lengths in addition to Layer 3 packet lengths.

Feature History for QoS: L2 Overhead Specification for Shaping and Policing Parameters for Ethernet

Release
Modification

12.0(28)S

This feature was introduced for the Cisco 12000 Series 4-Port Gigabit Ethernet ISE Line Card.

http://www.cisco.com/c/en/us/td/docs/ios/12_0s/feature/guide/12sl2os.html

Could you please clarify what did you mean by "L2 overhead" - is this about L2 header only or you also mean preamble and check-sum?

The latter.

And how did you come up with 15%?

I've found it to be a reasonable average for "typical" (e.g. IMIX) L2 overhead.  Of course, actual L2 percentage of overhead varies based on packet size.  Highest overhead percentage for minimum sized packets and lowest percentage for maximum sized packets.  Adjust your L2 percentage allowance to what you believe is suitable for your traffic.  Also adjust toward worst case percentage if you're really trying to guarantee performance.

PS: it's a first time I hear the recommendation to shape 15% slower, that is why I'm trying to understand if it's justified by documentation.

As noted above, the 15% is subject to change.  Otherwise, you're right, I don't recall mention often made of this.  But then, there are other subtle points to QoS that aren't often covered in the "book".

For example, when I first started to do serious QoS on Cisco routers, I didn't appear to be getting the prioritization performance I expected, although config looked correct.  I then came across a Cisco whitepaper (this one?: http://www.cisco.com/c/en/us/support/docs/asynchronous-transfer-mode-atm/ip-to-atm-class-of-service/6142-txringlimit-6142.html) mentioning the need to manually adjust tx-ring-limit on ATM interfaces so that the interface FIFO queue will overflow sooner into the CBWFQ queue, so that packets like VoIP would get the LLQ priority desired.  Searching for more information on tx-ring-limit setting, came across a few other tidbits, but there's not much mention of this issue.

The first I came across the L2 overhead issue, was from confidential performance paper provided by a tier 1 SP, which explained when they implemented a CIR it was a L2 CIR, and if you didn't want to overrun it, you need to shape for the L2 bps.  (I don't recall whether that paper suggested 15%, but it was over 15 years ago.  I think I recall they did mention the need to allow for L2 overhead if using a shaper that only accounted for L3 bps.)

As far as I know, there is a logic to shape to 95% (due to pack_priority) and 90% (to additionally make sure you fit PE policer bc or buffer on dummy devices in the middle).

Interesting - I was unaware of either.

Hello.

The link provided is specific to 12K router.

If you do QoS on software router (ISR G2), you would see, that L2 Ethernet header is taken into account by QoS.

But anyway the behavior is heavily platform dependent - here is an example for ASR903 - http://www.cisco.com/c/en/us/td/docs/routers/asr903/software/guide/b_QoS_guidelines_903/qos-900.html#ID-1374-0000047c

In the example we obviously see, that shaping by itself takes all (including preamble, CRC and IPG) overhead into consideration.

The link provided is specific to 12K router.

Yep. 

The 12K, I think, was the first time I saw this L2 overhead issue documented, but as a new feature.  I.e. before the new feature, it may not have been publicly documented.

The latest platforms, like your ASR9K example, now better document what policing and/or shaping overhead they take into account.  However, even that documentation, which I have not extensively studied, doesn't (?) mention whether Q-in-Q and/or MPLS overhead is considered.

BTW, I also recall (?) some documentation, for some platform, that allowed you to provide a fixed L2 allowance parameter.

I fully agree with your "But anyway the behavior is heavily platform dependent . . ."  Unfortunately, not always well documented.

If you do QoS on software router (ISR G2), you would see, that L2 Ethernet header is taken into account by QoS.

Per chance, do you have a reference like the ASR9K that documents that an ISR does explicitly accounts for L2 overhead (including on different media)?

Very nice, and worth the 5 rating I provided, but you did notice it's an optional feature that needs to be enabled available on later IOS releases?

Without this feature being available and enabled, a shaper may transmit faster than intended, correct?  So, an alternative, if the feature is not supported, would be to set your shaper slower than the desired L2 rate, correct?

That said, a nice feature, and a much better choice, if available, then slowing a shaper's (or policer's) rate to account for L2 overhead.  (It's also probably the feature I recalled that allowed fixed allowances for L2 overhead.)

The feature is an extension in case you need to tune overhead.

By default L2 header is taken into account - you may try it sending just one packet into a class and checking the bytes counted.

IPG, FCS and other fields are not (on ISR G2/G3) taken correctly and there are enhancement requests on this.