[c-nsp] QoS on ADSL: it works! well, in some locations.
Adam Atkinson
ghira at mistral.co.uk
Wed Dec 30 15:55:28 EST 2009
I have read the archives of this mailing list, and blog.ioshints.info,
and various Cisco docs and Cisco press books. I have what I believe to
be a working config but I get the impression from mail on this list
earlier this year that what I have done is not the preferred option, so
I'm wondering there's actually anything wrong with what I've got. (Since
it seems to work, you can understand I'm a bit loath to mess with it.)
I have access to a number of 837s mostly running 12.4(17b) and 877s
mostly running 12.4(24)T2. Yes, I appreciate that these are
substantially different pieces of hardware and very different software
versions.
On one 877 I get this output to "show policy-map int virtual-access 3 out"
router#sh policy-map int virtual-access 3 out
Virtual-Access3
Service-policy output: shaper
Class-map: class-default (match-any)
17083 packets, 1701441 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
Queueing
queue limit 256 packets
(queue depth/total drops/no-buffer drops) 0/69669/0
(pkts output/bytes output) 3008129/2580223256
shape (average) cir 392000, bc 1568, be 1568
target shape rate 392000
Service-policy : nicetosmall
Class-map: highprec (match-any)
16134 packets, 1462276 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: precedence 4 5 6 7
16134 packets, 1462276 bytes
5 minute rate 0 bps
Queueing
queue limit 256 packets
(queue depth/total drops/no-buffer drops/flowdrops) 0/0/0/0
(pkts output/bytes output) 1016237/90520107
bandwidth 384 kbps
Fair-queue: per-flow queue limit 64
Class-map: class-default (match-any)
949 packets, 239165 bytes
5 minute offered rate 0 bps, drop rate 0 bps
Match: any
Queueing
queue limit 256 packets
(queue depth/total drops/no-buffer drops/flowdrops) 0/69669/0/0
(pkts output/bytes output) 1991892/2489703149
Fair-queue: per-flow queue limit 64
Exp-weight-constant: 9 (1/512)
Mean queue depth: 1 packets
class Transmitted Random drop Tail/Flow drop
Minimum Maximum Mark
pkts/bytes pkts/bytes pkts/bytes
thresh thresh prob
0 68671/36922972 1354/391185 244/41326
20 40 1/10
1 1630623/2396487300 63232/93468168 220/326224
22 40 1/10
2 34163/33976614 278/292357 36/26855
24 40 1/10
3 258435/22316263 3994/331861 311/19786
26 40 1/10
4 0/0 0/0 0/0
28 40 1/10
5 0/0 0/0 0/0
30 40 1/10
6 0/0 0/0 0/0
32 40 1/10
7 0/0 0/0 0/0
34 40 1/10
which certainly _looks_ as though it's doing things. And it also passes
the acid test that if I (try to) flood the link with traffic which
belongs in the child default class, people who belong in the child
"highprec" class don't notice anything.
The ip precedence values are of course applied using an incoming
policy-map on vlan1.
From advice in various locations, what I did was:
put ppp multilink on dialer interface
put policy-map on dialer interface
in policy map have parent class shaping to the highest traffic I was
able to actually get out of the dialer, and put children doing the
actual "meat" of the job I wanted doing.
On the ATM interface I have:
pvc 0/38
vbr-nrt 448 448 1
tx-ring-limit 3
encapsulation aal5snap
protocol ppp dialer
So we have the "set tx ring to 3" and "use vbr-nrt instead of ubr, or at
least tell the router you are" pieces of advice.
There are two flies in the ointment. On another 877, connected to a
different ISP, the ppp multilink statement doesn't take effect and
just this seems to kill the whole plan.
And secondly I get the impression from some things I've read that even
on the 877 which works I "should" have put the policy-map on the pvc
rather than on the dialer, though I'm not quite sure why. Would it be
better somehow?
On the 837s I couldn't get the two-level policies to work (the commands
were accepted but not policies showed as being present in the config). I
don't think they have enough oomph to run 12.4(20)T or later. Is there
any hope at all on 837s with only 12.4(17b)?
I expect any experimenting with 2-level policy maps straight on the pvc
will take place on the router(s) where multilink isn't working. I've
seen some claims that it may be necessary to try vbr-rt or cbr so I
guess they'll go in the mix.
Older documentation I've found talked about using one policy on dialer
and another on pvc but 12.4(20)T and later very much don't seem to want
you to do that.
I get the impression from archives of this list that going the pvc route
it doesn't matter if we use a subinterface or not, though in many
examples people seem to use one.
Given that ppp multilink can't be relied upon to work I expect on 877s
and better in future the pvc approach is what I need to use.
More information about the cisco-nsp
mailing list