From: Carlos G Mendioroz (tron@huapi.ba.ar)
Date: Fri Jul 13 2007 - 06:58:38 ART
Djerk,
this is exactly what I was saying, so we agree.
(Nobody remembers custom queueing ???)
I don't understand the PQ(LLQ) thing you are bringing up though.
PQs have priority, which is a police statement. They get ALL the
bandwidth, even first thing (PQ, right?) but up to this much.
AFAIK, a queue becomes a PQ when you use the priority keyword,
and this implies the policing of it, so there is no way you can
have a PQ w/o policing.
The whole thing I was trying to say is that the default queue
works like a "low priority" queue, but without the grace of
the policing of the rest, and thus the starving possibility.
(when no bandwidth is assigned)
BTW, queues don't need to know their bit rates, just their "share"
of available BW. In your examples, 3/4/3 or 1/5/4.
-Carlos
Djerk Geurts @ 12/07/2007 20:04 -0300 dixit:
> Maybe this helps (pls spare me the CCO link as it's too late already for me,
> prod me if you want the link I'll have to look it up some other time):
>
> When 3 classes are defines and only 2 are using bandwidth they can use the
> 3rd class's bandwidth. The bandwidth statement only indictaes a weight, it
> does not police or shape when there is no congestion.
>
> Now when the two classes in use are congesting the link (leaving wred etc
> out for simplicity) then the bandwidth will be devided according to the
> following logic:
>
> - Classes A and C are in use, B isn't -
>
> BW available to class A = A + BW of class B * A / (A+C)
> BW available to class C = C + BW of class B * A / (A+C)
>
> Example:
> A = 30
> B = 40
> C = 30
> A and C will both get 50% of the link
>
> A = 10
> B = 50
> C = 40
> A will get 10 + ( 50 * 10 / (10+40) ) = 20%
> C will get 80%
>
> Now back to the question of a bandwidth statement for the default-queue.
> I've not tested this but in theory if the class-default did not have a
> bandwith statement it should get starved during 'link' congestion. With a
> bandwidth statement it's weighted with the other queues that have bandwidth
> statements so _can't_ get starved.
>
> The annoying thing is that on a number of platforms you can not give the PQ
> a bandwidth statement. Now how do the queues work out their 'bit rates' if
> they don't know what percentage of the link the PQ uses? Whis actualy raises
> another question: On which platform is a PQ a strict priority queue if it
> doesn't have a police statement?
>
> Djerk Geurts
>
>> -----Original Message-----
>> From: nobody@groupstudy.com [mailto:nobody@groupstudy.com] On
>> Behalf Of Mike Kraus (mikraus)
>> Sent: donderdag 12 juli 2007 23:46
>> To: Carlos G Mendioroz; Jason Guy (jguy)
>> Cc: ccielab@groupstudy.com
>> Subject: RE: Class-default contradiction
>>
>> Some additional info:
>>
>> "If a default class is configured with the bandwidth policy-map class
>> configuration command, all unclassified traffic is put into a single
>> FIFO queue and given treatment according to the configured
>> bandwidth. If
>> a default class is configured with the fair-queue command, all
>> unclassified traffic is flow classified and given best-effort
>> treatment.
>> If no default class is configured, then by default the
>> traffic that does
>> not match any of the configured classes is flow classified and given
>> best-effort treatment."
>>
>> http://www.cisco.com/univercd/cc/td/doc/product/software/ios12
>> 2/122cgcr/
>> fqos_c/fqcprt2/qcfconmg.htm#wp1001203
>>
>> -----Original Message-----
>> From: nobody@groupstudy.com [mailto:nobody@groupstudy.com] On
>> Behalf Of
>> Carlos G Mendioroz
>> Sent: Thursday, July 12, 2007 12:08 PM
>> To: Jason Guy (jguy)
>> Cc: ccielab@groupstudy.com
>> Subject: Re: Class-default contradiction
>>
>> Well, I can not stop thinking about it as a progammer.
>> You have a bunch of packets being queued at some queues, and
>> you have to
>> decide what to transmit next. So follow the rules:
>>
>> 1- Is there anything in LLQ ? send it, restart.
>> 2- Ok, we have a bunch of queues now to serve, do it with some bytes
>> from each queue in a proportional way to its allocated bandwidth.
>> restart at each packet sent, but keep track of where you were.
>> (sort of WRR with deficit tracking)
>> 3- Nothing up there to send ? Oh well, send whatever is in the default
>> queue, er, class.
>>
>> Bandwith allocations make a minimum. If you put enough packets into a
>> queue, you can starve class default.
>> Agree with you that if you put a bandwidth there, it just becomes
>> another queue.
>>
>> BTW, this is not my invention, it comes from some cisco QoS
>> guru, whose
>> identity is protected until he agrees to show up (Tim ? :) Obviously,
>> all understanding errors are my own.
>>
>> -Carlos
>>
>>
>> Jason Guy (jguy) @ 12/07/2007 13:52 -0300 dixit:
>>> Carlos,
>>>
>>> The one thing that the doc implies is the default class
>> does not need
>>> to allocate bandwidth. It is not in contention with the
>> other queues
>>> by default. It allocates bandwidth from the
>> non-"max-reserved-bandwidth"
>>> pool. So it is automatically has access to 25%, so the
>> other queueing
>>
>>> cannot affect it by default since they allocate bandwidth from the
>>> reservable 75%. Therefore, I cannot see how it can be
>> starved if it
>>> is protected along with the control traffic.
>>>
>>> I think if the class-default is allocated bandwidth (using the
>>> bandwidth {remaining} command), it is included with the
>> other queues.
>>
>>> But by default is does not show up in the configuration and I think
>>> that is when it is part of the 25% non reservable
>> bandwidth. Once it
>>> is specified, I think it is just another reservable bandwidth queue.
>>>
>>> Hope I am making my question clear. I understand how to use the
>>> class-default, and what it does on a wole, but I am
>> questioning where
>>> it allocates bandwidth from. It is not entirely clear.
>>>
>>> Jason
>>>
>>>> -----Original Message-----
>>>> From: Carlos G Mendioroz [mailto:tron@huapi.ba.ar]
>>>> Sent: Wednesday, July 11, 2007 3:23 PM
>>>> To: Jason Guy (jguy)
>>>> Cc: ccielab@groupstudy.com
>>>> Subject: Re: Class-default contradiction
>>>>
>>>> AFAIK, max-reserved-bandwidth is just an administrative limit.
>>>> It will not let you go over this "reservation" limit.
>>>>
>>>> But regarding class-default, that's another story.
>>>> In the process of giving access to bandwidth, there are 3
>>> "priorities":
>>>> -LLQ (AKA priority) goes first,
>>>> -Bandwidth allocated classes
>>>> -default class (if not explicitly allocated some BW).
>>>>
>>>> So what the docs say is true, you can starve class default if you
>>>> oversubscribe the rest. And the numbers aare done in layer
>> 3, so the
>>>> layer 2 headers are extra.
>>>>
>>>> -Carlos
>>>>
>>>> Jason Guy (jguy) @ 11/07/2007 16:03 -0300 dixit:
>>>>> I have been studying QoS some more, and I think the documentation
>>>>> contradicts itself in relation to the class
>> class-default. In the
>>>>> Congestion management overview, it say this:
>>>>>
>>>>>
>> http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgc
>>> r/
>>>>> fqos_c/fqcprt2/qcfconmg.htm#wp1001203
>>>>>
>>>>> CBWFQ Bandwidth Allocation
>>>>> The sum of all bandwidth allocation on an interface
>> cannot exceed 75
>>
>>>>> percent of the total available interface bandwidth. The
>> remaining 25
>>
>>>>> percent is used for other overhead, including Layer 2 overhead,
>>> routing
>>>>> traffic, and best-effort traffic. ***Bandwidth for the CBWFQ
>>>>> class-default class, for instance, is taken from the remaining 25
>>>>> percent.*** However, under aggressive circumstances in which you
>>> want to
>>>>> configure more than 75 percent of the interface bandwidth to
>>> classes,
>>>>> you can override the 75 percent maximum sum allocated to
>> all classes
>>> or
>>>>> flows using the max-reserved-bandwidth command. If you want to
>>> override
>>>>> the default 75 percent, exercise caution and ensure that
>> you allow
>>>>> enough remaining bandwidth to support best-effort and control
>>> traffic,
>>>>> and Layer 2 overhead.
>>>>>
>>>>> Then as I read through the WFQ configuration guide, it says this:
>>>>>
>> http://www.cisco.com/univercd/cc/td/doc/product/software/ios122/122cgc
>>> r/
>>>>> fqos_c/fqcprt2/qcfwfq.htm#wp1017373
>>>>>
>>>>> Configuring the Class-Default Class Policy The
>> class-default class
>>>>> is used to classify traffic that does not
>>> fall
>>>>> into one of the defined classes. Even though the
>> class-default class
>>> is
>>>>> predefined when you create the policy map, you still have to
>>> configure
>>>>> it. ***If a default class is not configured, then traffic
>> that does
>>> not
>>>>> match any of the configured classes is given best-effort
>> treatment,
>>>>> which means that the network will deliver the traffic if it can,
>>> without
>>>>> any assurance of reliability, delay prevention, or throughput.***
>>>>>
>>>>>
>>>>> The interesting thing is that in one paragraph it
>> basically says 25%
>>> of
>>>>> the interface is reserved (by default) for the class-default, L2,
>>> and
>>>>> control. Then the other says class-default is best
>> effort. I would
>>
>>>>> consider best-effort traffic to have to contend with the other
>>> Queue's
>>>>> for bandwidth. In this case, it seems the class-default
>> is not in
>>>>> contention for the reservable 75% of the interface bandwidth (by
>>>>> default).
>>>>>
>>>>> Am I misinterpreting this? If you change the
>> max-reserved-bandwidth
>>> to
>>>>> 95%, does this mean any traffic not classified has to
>> contend for 5%
>>> of
>>>>> the control traffic? What if you put a bandwidth statement under
>>> the
>>>>> class-default class? Does that affect where it allocates it's
>>> bandwidth
>>>>> from? Seems like the class-default should be treated
>> like any other
>>
>>>>> class.
>>>>>
>>>>> Jason
>>>>>
>>>>>
>> ______________________________________________________________________
>>> _
>>>>> Subscription information may be found at:
>>>>> http://www.groupstudy.com/list/CCIELab.html
>>>>>
>>>> --
>>>> Carlos G Mendioroz <tron@huapi.ba.ar> LW7 EQI Argentina
>>>
>> --
>> Carlos G Mendioroz <tron@huapi.ba.ar> LW7 EQI Argentina
>>
>> ______________________________________________________________
>> _________
>> Subscription information may be found at:
>> http://www.groupstudy.com/list/CCIELab.html
>>
>> ______________________________________________________________
>> _________
>> Subscription information may be found at:
>> http://www.groupstudy.com/list/CCIELab.html
>
> _______________________________________________________________________
> Subscription information may be found at:
> http://www.groupstudy.com/list/CCIELab.html
>
-- Carlos G Mendioroz <tron@huapi.ba.ar> LW7 EQI Argentina
This archive was generated by hypermail 2.1.4 : Sat Aug 18 2007 - 08:17:40 ART