01-04-2013 02:43 PM - edited 03-04-2019 06:34 PM
Hi all,
Have been trying to solve this myself for a couple of days but haven't managed to find an answer. I've done a similar solution before where I put bandwidth inherit on the Dialer interface of the CPE and it inherited the ATM interface speed (the upload sync rate) and prevented the CPE from maxing out and hitting hardware queuing in the DSLAM. I can't seem to find a way to do this downstream from our ASR1K to the customer though.
Platform is ASR1001 with IOS 3.7.2 or 15.2(4)S
Problem description:
We have many xDSL users (ADSL2+ and VDSL2). They all sync at different speeds depending on how far they are from the DSLAM.
Example:
Customer A might be connected at 40000kbps/10000kbps (VDSL2)
Customer B might be connected at 5000kbps/600kbps (ADSL)
When they connect and the PPPoE session comes up, the bandwidth on the Virtual Access Interface is equal to the customer's downstream sync rate, so Customer A's virtual access interface, Virtual-Access 2.13 will say 40000kbps, and Customer B's virtual access interface Virtual-Access 2.39 will say 5000kbps.
Using RADIUS, we apply a sub-qos-policy-out to the PPPoE session.
I want to shape the customer to 80% of their sync rate so that we do not hit interface congestion in the DSL network which makes VoIP perform poorly.
I cannot use an absolute value for the shape, because the sync rate varies for each customer.
The problem I have is at present the policy-map is using the interface bandwidth of Gi0/0/1 (1Gbit) instead of the bandwidth of the Virtual Access Interface. Therefore the customer is being limited to 800Mbit which means the QoS policy will never take effect.
RADIUS Config Below:
cisco-avpair += ip:sub-qos-policy-out=QOS-POLICY-OUT-PARENT-DSL
Class Maps
class-map match-any QOS-CLASS-VOIP-RTP-DSL
match protocol rtp audio
match access-group name QOS-VOIP-RTP
class-map match-any QOS-CLASS-VIDEO-RTP-DSL
match protocol rtp video
Policy Maps
policy-map QOS-POLICY-OUT-CHILD-DSL
class QOS-CLASS-VOIP-RTP-DSL
priority percent 5
class QOS-CLASS-VIDEO-RTP-DSL
priority percent 10
class class-default
fair-queue
policy-map QOS-POLICY-OUT-PARENT-DSL
class class-default
shape average percent 80
service-policy QOS-POLICY-OUT-CHILD-DSL
Output of Show Interface Vi2.44
show int vi2.44
Virtual-Access2.44 is up, line protocol is up
Hardware is Virtual Access interface
Interface is unnumbered. Using address of Loopback4000
MTU 1500 bytes, BW 48422 Kbit/sec, DLY 100000 usec,
reliability 255/255, txload 5/255, rxload 1/255
Encapsulation PPP, LCP Open, multilink Closed
Open: IPCP, IPV6CP
PPPoVPDN vaccess, cloned from AAA, AAA, Virtual-Template1
Vaccess status 0x0
Protocol l2tp, tunnel id 51815, session id 24465
Keepalive set (60 sec)
246037 packets input, 285563771 bytes
141575 packets output, 18807810 bytes
Time to interface disconnect: idle 00:29:58
Last clearing of "show interface" counters never
Output of Show Policy-Map on Virtual Access Interface
show policy-map interface vi2.44
Virtual-Access2.44
SSS session identifier 1011 -
Service-policy output: QOS-POLICY-OUT-PARENT-DSL
Class-map: class-default (match-any)
105059 packets, 18013377 bytes
30 second offered rate 217000 bps, drop rate 0000 bps
Match: any
Queueing
queue limit 555 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 104996/19900029
shape (average) cir 800000000, bc 3200000, be 3200000
target shape rate 800000000
Service-policy : QOS-POLICY-OUT-CHILD-DSL
queue stats for all priority classes:
Queueing
queue limit 512 packets
(queue depth/total drops/no-buffer drops) 0/0/0
(pkts output/bytes output) 0/0
Class-map: QOS-CLASS-VOIP-RTP-DSL (match-any)
0 packets, 0 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: protocol rtp audio
Match: access-group name QOS-VOIP-RTP
Priority: 5% (40000 kbps), burst bytes 1000000, b/w exceed drops: 0
Class-map: QOS-CLASS-VIDEO-RTP-DSL (match-any)
0 packets, 0 bytes
30 second offered rate 0000 bps, drop rate 0000 bps
Match: protocol rtp video
Priority: 10% (80000 kbps), burst bytes 2000000, b/w exceed drops: 0
Class-map: class-default (match-any)
105059 packets, 18013377 bytes
30 second offered rate 217000 bps, drop rate 0000 bps
Match: any
Queueing
queue limit 555 packets
(queue depth/total drops/no-buffer drops/flowdrops) 0/0/0/0
(pkts output/bytes output) 104996/19900029
Fair-queue: per-flow queue limit 138 packets
Output of Show Run Interface Vi2.44
show run int vi2.44
Building configuration...
Current configuration : 257 bytes
!
interface Virtual-Access2.44
ip flow ingress
ip flow egress
ipv6 unnumbered Loopback4000
ipv6 enable
ipv6 mtu 1492
ipv6 nd reachable-time 30
ipv6 nd other-config-flag
no ipv6 nd ra suppress
ipv6 dhcp server PPP-RADIUS
ppp timeout idle 1800
end
This comes off the Virtual-Template 1
interface Virtual-Template1
ip unnumbered Loopback4000
ip flow ingress
ip flow egress
load-interval 30
ipv6 unnumbered Loopback4000
ipv6 enable
ipv6 mtu 1492
ipv6 nd reachable-time 30
ipv6 nd other-config-flag
no ipv6 nd ra suppress
ipv6 dhcp server PPP-RADIUS
peer ip address forced
no peer default ip address
no snmp trap link-status
keepalive 60
ppp max-configure 3
ppp mtu adaptive
no ppp lcp fast-start
ppp mru match
ppp authentication pap callin pppoe-dialin
ppp authorization pppoe-dialin
ppp ipcp address required
ppp ipcp no-renegotiation
ppp multilink
ppp timeout retry 8
ppp timeout ncp 10
ppp timeout authentication 18
ppp timeout idle 1800
end
Underlying Physical Interface that L2TP Session Comes in on
interface GigabitEthernet0/0/1.4003
description L2TP Tunnel
encapsulation dot1Q 4003
vrf forwarding XXXXXXX
ip address XXXXXXX 255.255.255.252