Tasks 8.2 & 8.4 - Why is nesting required?

Hi,

It is still not clear for me why the SG is using nesting for the policy-maps in order to configure queueing and WRED. I applied this directly to the parent class-default and it is working. Following my outputs:

======R1 for Task 8.2======

policy-map FRTS
 class class-default
    shape average 128000
    queue-limit 640 packets

 

Rack1R1#sh policy-map int s0/0/0

 Serial0/0/0

  Service-policy output: FRTS

    Class-map: class-default (match-any)
      19 packets, 1347 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any
      Queueing
      queue limit 640 packets
      (queue depth/total drops/no-buffer drops) 0/0/0
      (pkts output/bytes output) 25/1503
      shape (average) cir 128000, bc 512, be 512
      target shape rate 128000
        lower bound cir 0,  adapt to fecn 0

 

========R4 for task 8.4=======

policy-map FRTS
 class class-default
    shape average 128000
     random-detect
     random-detect precedence 5 60 90 5

 

Rack1R4#sh policy-map int s0/0/0

 Serial0/0/0

  Service-policy output: FRTS

    Class-map: class-default (match-any)
      2716 packets, 169972 bytes
      5 minute offered rate 0 bps, drop rate 0 bps
      Match: any
      Queueing
      queue limit 64 packets
      (queue depth/total drops/no-buffer drops) 0/0/0
      (pkts output/bytes output) 2716/108852
      shape (average) cir 128000, bc 512, be 512
      target shape rate 128000
        lower bound cir 0,  adapt to fecn 0
        Exp-weight-constant: 9 (1/512)
        Mean queue depth: 0 packets
        class     Transmitted       Random drop      Tail drop          Minimum        Maximum     Mark
                  pkts/bytes     pkts/bytes       pkts/bytes          thresh         thresh     prob
       
        0            1210/18187           0/0              0/0                 20            40  1/10
        1               0/0               0/0              0/0                 22            40  1/10
        2               0/0               0/0              0/0                 24            40  1/10
        3               0/0               0/0              0/0                 26            40  1/10
        4               0/0               0/0              0/0                 28            40  1/10
        5               0/0               0/0              0/0                 60            90  1/5
        6            1506/90665      0/0              0/0                 32            40  1/10
        7               0/0               0/0              0/0                 34            40  1/10

 

==========================================================

 

So this is working fine without nesting. I don't know if it is because of the version I'm running

Rack1R4#sh ver
Cisco IOS Software, 2800 Software (C2800NM-ADVENTERPRISEK9-M), Version 12.4(24)T1, RELEASE SOFTWARE (fc3)

 

I appreciate any inputs.

Regards,

Jorge

 

Comments

  • I have the same question.....anyone have any ideas.... ????     I applied the same config as Jorge and it seems to work.....anyone ????












  • Newer versions on newer
    platforms don’t have the same restrictions for some of the QoS methods.  The
    final verification for this is the show policy-map interface command.  If the
    packet counters are going up, then your solution is applied correctly. 
    Sometimes the parser will tell you with an error message if your config is
    wrong, sometimes not.  This is why it’s important to look for the packet
    counter going up.

     

    HTH,

     

    Brian McGahan, CCIE #8593 (R&S/SP/Security)

    [email protected]

     

    Internetwork Expert, Inc.

    http://www.INE.com

    Toll Free: 877-224-8987 x 705

    Outside US: 775-826-4344 x 705

    Online Community: http://www.IEOC.com

    CCIE Blog: http://blog.INE.com

     

    From:
    [email protected] [mailto:[email protected]] On
    Behalf Of
    matthias2280

    Sent: Monday, September 06, 2010 3:28 PM

    To: Brian McGahan

    Subject: Re: [iewb-rs-vol2-v5-lab8] Tasks 8.2 & 8.4 - Why is nesting
    required?

     

    I have the same question.....anyone have any ideas....
    ????     I applied the same config as Jorge and it seems to
    work.....anyone ????







    Internetwork Expert - The Industry Leader in CCIE Preparation

    http://www.internetworkexpert.com



    Subscription information may be found at:

    http://www.ieoc.com/forums/ForumSubscriptions.aspx





  • Thanks Brian....I appreciate the feedback.....

    Lab scheduled for mid November...gotta make sure I'm studying the correct material.

     

    Thanks again

  • do we really need to apply Nested class? if yes why.

  • Not necessarily to use nested policy. As mentioned by Brian McGahan, the nested policy is used by SG as the time SG was composed, there was a restriction of using "random-detect" that requires it to be nested. But I am applying "random-detect" directly under class-default and it is working just fine, similar with Jorge's experience.

    policy-map FRTS_128
     class class-default
      shape average 128000
      random-detect
      random-detect precedence 5 60 90 5

    The ultimate verification is by doing "show policy-map interface s0/0/0" and confirm that the counter is increasing.

    Rack18R4#ping
    Protocol [ip]:
    Target IP address: 174.18.145.1
    Repeat count [5]: 100
    Datagram size [100]:
    Timeout in seconds [2]:
    Extended commands [n]: y
    Source address or interface: 174.18.4.4
    Type of service [0]: 160
    Set DF bit in IP header? [no]:
    Validate reply data? [no]:
    Data pattern [0xABCD]:
    Loose, Strict, Record, Timestamp, Verbose[none]:
    Sweep range of sizes [n]:
    Type escape sequence to abort.
    Sending 100, 100-byte ICMP Echos to 174.18.145.1, timeout is 2 seconds:
    Packet sent with a source address of 174.18.4.4
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    Success rate is 100 percent (100/100), round-trip min/avg/max = 56/58/156 ms

    Rack18R4#sh policy-map int s0/0/0
    <snipped>

            class     Transmitted       Random drop      Tail drop          Minimum        Maximum     Mark
                      pkts/bytes     pkts/bytes       pkts/bytes          thresh         thresh     prob

            0             356/4628            0/0              0/0              20            40  1/10
            1               0/0               0/0              0/0                 22            40  1/10
            2               0/0               0/0              0/0                 24            40  1/10
            3               0/0               0/0              0/0                 26            40  1/10
            4               0/0               0/0              0/0                 28            40  1/10
               5             100/10400           0/0              0/0                           60            90  1/5
            6             519/29918           0/0              0/0                 32            40  1/10
            7               0/0               0/0              0/0                 34            40  1/10

  • Hi All,

     

    This is a interesting question.

     

    in my version of IOS it lets you use the queue-limit if enabling fair q... echoing brians comments.

     

    Rack5R1(config-pmap-c)#queue-limit 10
    fair-queue or bandwidth on the class is required to issue this command
    Rack5R1(config-pmap-c)#fair-queue
    Rack5R1(config-pmap-c)#queue-limit 10

     

    Although I cannot see it in the show policymap ...

     

    policy-map Q81
     class class-default
      shape average 128000 16000 0
      fair-queue
      queue-limit 10

    Rack5R1(config-pmap-c)#do sh policy-map int s0/0

     Serial0/0

      Service-policy output: Q81

        Class-map: class-default (match-any)
          115858 packets, 10721351 bytes
          5 minute offered rate 0 bps, drop rate 0 bps
          Match: any
          Traffic Shaping
               Target/Average   Byte   Sustain   Excess    Interval  Increment
                 Rate           Limit  bits/int  bits/int  (ms)      (bytes) 
               128000/128000    2000   16000     0         125       2000    

            Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping
            Active Depth                         Delayed   Delayed   Active
            -      0         107317    10610318  0         0         no
          Queueing
            Flow Based Fair Queueing
            Maximum Number of Hashed Queues 256
            (total queued/total drops/no-buffer drops) 0/0/0
    Rack5R1(config-pmap-c)#

     

    It only does this when you apply the bandwidth nested config.

    !

    !
    policy-map CBWFQ
     class class-default
      bandwidth percent 100
      queue-limit 10
    policy-map Q81
     class class-default
      shape average 128000 16000 0
      service-policy CBWFQ

    !

    Rack5R1(config-pmap-c)#do sh policy-map int s0/0

     Serial0/0

      Service-policy output: Q81

        Class-map: class-default (match-any)
          116025 packets, 10736623 bytes
          5 minute offered rate 1000 bps, drop rate 0 bps
          Match: any
          Traffic Shaping
               Target/Average   Byte   Sustain   Excess    Interval  Increment
                 Rate           Limit  bits/int  bits/int  (ms)      (bytes) 
               128000/128000    2000   16000     0         125       2000    

            Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping
            Active Depth                         Delayed   Delayed   Active
            -      0         107472    10625434  0         0         no

          Service-policy : CBWFQ

            Class-map: class-default (match-any)
              72 packets, 6261 bytes
              5 minute offered rate 1000 bps, drop rate 0 bps
              Match: any
              Queueing
                Output Queue: Conversation 25
                Bandwidth 100 (%)
                Bandwidth 128 (kbps)Max Threshold 10 (packets)
                (pkts matched/bytes matched) 0/0
            (depth/total drops/no-buffer drops) 0/0/0
    Rack5R1(config-pmap-c)#

    !

    AIl though Im a bit confused by the question which asked for 10 times the default the default amount of packets im assuming its just 1 packet ..? for this vailue to be 10. Although I cannot find this in the doc cd ....

     

    http://www.cisco.com/en/US/docs/ios/qos/command/reference/qos_q1.html#wp1084877

     

    but if you take of the queue limit it defaults to 64 ...

    Rack5R1(config-pmap-c)#no  queue-limit 10      
    Rack5R1(config-pmap-c)#do sh policy-map int s0/0

     Serial0/0

      Service-policy output: Q81

        Class-map: class-default (match-any)
          116086 packets, 10742403 bytes
          5 minute offered rate 1000 bps, drop rate 0 bps
          Match: any
          Traffic Shaping
               Target/Average   Byte   Sustain   Excess    Interval  Increment
                 Rate           Limit  bits/int  bits/int  (ms)      (bytes) 
               128000/128000    2000   16000     0         125       2000    

            Adapt  Queue     Packets   Bytes     Packets   Bytes     Shaping
            Active Depth                         Delayed   Delayed   Active
            -      0         107528    10631149  0         0         no

          Service-policy : CBWFQ

            Class-map: class-default (match-any)
              133 packets, 12041 bytes
              5 minute offered rate 1000 bps, drop rate 0 bps
              Match: any
              Queueing
                Output Queue: Conversation 25
                Bandwidth 100 (%)
                Bandwidth 128 (kbps)Max Threshold 64 (packets)
                (pkts matched/bytes matched) 0/0
            (depth/total drops/no-buffer drops) 0/0/0

     

     

    Although we are introducing the additional queues via the nested policy, so I suppose that make;s the default of 1 packet.?

     

    Can somone comfirm this please ...

     

    thanks

     

    Lee

     

     

     

     

     

  • I did not see anything in the above document where the default queue-limit is 1. Can you please help me understand why the SG choose a queue-limit of 10 instead of 640? 

  • I have the same question on setting the queue-limit 10?  I was looking for the number of queues to multiply by 10?

  • As a side note, is there a way on IOS to see which freindly names are mapped to which DSCP/Precedence code points?

    Thanks!

  •  

    Hi,

    You can use the context sensitive help (?) with the extended ACLs for that purpose.

  • Or you can you a TEST class-map to figure those values out. However, the formula is quite easy and for sure the fastest way to get it:

    AFxy. You need to make 8*x + 2*y = DSCP

    For example, AF41 is DSCP 34. To get the value 8*4 + 2*1= 34.

    If you need to get from DSCP to AF, you just do the inverse.

    34/8 = 4 and remains 2. Then 2/2, gives you a 1. So AF41.

    HTH

    Good luck!

Sign In or Register to comment.