When you use Per-VC (distributed) Weighted Random Early Discard (Per-VC (D)WRED), you can perform an intelligent packet discard when congestion occurs. However, this solution limits you to the use of one Permanent Virtual Circuit (PVC) between two end devices. As a result, the different service classes (streams with different IP precedence values) experience different drop probabilities. The non-discarded packets experience the same Quality of Service (QoS) or delay characteristics. This means that the ATM PVC traffic class must be selected to satisfy the most demanding QoS. This can cause problems if you have different types of traffic, such as voice and data.
This limitation is solved by PVC bundles, which allow you to assign different QoS parameters to various types of traffic while you are still able to use Per-VC DWRED.
Note: Distributed mechanisms (such as distributed Cisco Express Forwarding (DCEF) or DWRED) are specific to a 7500/Virtual Interface Processor (VIP) architecture. These mechanisms are not handled by the Route Switch Processor (RSP) CPU, but by the CPU on the VIP module.
There are no specific requirements for this document.
The information in this document is based on these software and hardware versions:
Cisco IOS® Software Release 12.0(3)T and later
Cisco 7500: VIP2-50, all PA-A3 versions. (only one PA-A3 per VIP2-50)
Cisco 7200: NPE200 or later, all PA-A3 versions
Cisco 2600 and 3600:
Cisco IOS® Software Release 12.0(7)T and later with the NM-1A-OC3 and the NM-4E1-IMA, NM-4T1-IMA, NM-8E1-IMA, NM-8T1-IMA network modules
Cisco IOS® Software Release 12.1(2)T and later with the NM-1A-T3 and NM-1A-E3 network modules
Note: With the Cisco 2600 platform, the NM-1A-OC3 is only supported on the Cisco 2691 and requires at least Cisco IOS® Software Release 12.2(13)T and an IP Plus of service provider (-p) feature set.
Note: Both ends of the connection (routers) must support PVC bundles.
The information presented in this document was created from devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command before you use it.
For more information on document conventions, refer to the Cisco Technical Tips Conventions.
ATM PVC bundle management allows you to configure multiple PVCs that have different QoS characteristics between two end devices.
You bind a PVC from the bundle to one, or several, precedence values. To determine which VC in the bundle is to be used to forward specific traffic, the ATM VC bundle management software matches precedence levels between packet and VCs.
Additionally, you can run Per-VC DWRED to perform intelligent discards per-vc and per precedence value on each VC.
In this section, you are presented with the information to configure the features described in this document.
Note: To find additional information on the commands used in this document, use the Command Lookup Tool (registered customers only) .
This document uses the network setup shown in this diagram:
Two PVCs are created between Ema and Bernard (two 7507s that use a PA-A3 in a VIP2-50 and run Cisco IOS® version 12.0(7)T).
These two PVCs have been assigned the values 1/130 and 1/131 on both ends of the connection. For the sake of clarity, 1/130 is switched to 1/130 by the ATM switch and 1/131 is switched to 1/131.
The PVC 1/130 is configured as a variable bit rate-nonreal time (VBR-nrt) VC and 1/131 is configured as an available bit-rate (ABR) VC. The precedence values 0 to 4 are bound to PVC 1/130, and precedence values 5 to 7 are bound to the PVC 1/131. Per-VC DWRED is used as the packet discard mechanism.
This document uses the configurations shown here:
Bernard |
---|
random-detect-group testWRED exponential-weighting-constant 2 precedence 3 100 1000 3 precedence 5 200 1000 5 ! ip cef distributed ! interface ATM2/0/0 ip route-cache distributed ip route-cache cef ! interface ATM2/0/0.6 point-to-point ip address 14.0.0.1 255.0.0.0 no ip directed-broadcast bundle bernard protocol ip 14.0.0.2 broadcast broadcast oam-bundle manage pvc-bundle 1/131 class-vc ABR random-detect attach testWRED precedence 5-7 pvc-bundle 1/130 random-detect attach testWRED vbr-nrt 100 10 precedence 0-4 ! vc-class atm ABR abr 1000 100 |
Ema |
---|
random-detect-group testWRED exponential-weighting-constant 2 precedence 3 300 1000 3 precedence 5 2000 4000 5 ! ip cef distributed ! interface ATM2/0/0 ip route-cache distributed ip route-cache cef ! interface ATM2/0/0.6 point-to-point ip address 14.0.0.2 255.0.0.0 no ip directed-broadcast bundle ema protocol ip 14.0.0.1 broadcast broadcast oam-bundle manage pvc-bundle 1/131 class-vc ABR random-detect attach testWRED precedence 5-7 pvc-bundle 1/130 random-detect attach testWRED vbr-nrt 100 50 precedence 0-4 ! vc-class atm ABR abr 1000 100 |
Note: When you create the PVCs for a PVC bundle, do not use virtual channel identifier (VCI) equal to 3 or 4 as these values are reserved for F4 (virtual path connection [VPC] level) Operation, Administration, and Maintenance (OAM) segment and end-to-end loopback management. If you do this, you receive this error message:
Note: %ATM: Invalid VCI of 4 requested: (ATM6/ima1): Not creating vc:63:4 as in the output here:
7200-16(config)#int atm 6/ima1.12 point-to-point 7200-16(config-subif)#bundle Test 7200-16(config-if-atm-bundle)#pvc-bundle Red 63/4 %ATM: Invalid VCI of 4 requested: (ATM6/ima1): Not creating vc:63:4
In order to show the results of the PVC bundle, a traffic generator sends two streams of data: one with the IP precedence equal to 3 and one with the IP precedence equal to 5.
In the configuration shownthe stream IP precedence three must go across the pvc 1/130, and the traffic with IP precedence 5 across the PVC 1/131. This can be verified in this show command output:
bernard#show queuing interface atm 2/0/0.6 Interface ATM2/0/0.6 VC 1/131 Exp-weight-constant: 2 (1/4) Mean queue depth: 0 Queue size: 0 Maximum available buffers: 2628 Output packets: 802 WRED drops: 14 No buffer: 121515 Class Random Tail Minimum Maximum Mark Output drop drop threshold threshold probability Packets 0 0 0 20 40 1/10 0 1 0 0 22 40 1/10 0 2 0 0 24 40 1/10 0 3 0 0 100 1000 1/3 0 4 0 0 28 40 1/10 0 5 13 0 200 1000 1/5 772 6 0 0 32 40 1/10 0 7 0 0 34 40 1/10 0 Interface ATM2/0/0.6 VC 1/130 Exp-weight-constant: 2 (1/4) Mean queue depth: 781 Queue size: 781 Maximum available buffers: 2628 Output packets: 53 WRED drops: 114 No buffer: 121413 Class Random Tail Minimum Maximum Mark Output drop drop threshold threshold probability Packets 0 0 0 20 40 1/10 17 1 0 0 22 40 1/10 0 2 0 0 24 40 1/10 0 3 114 0 100 1000 1/3 817 4 0 0 28 40 1/10 0 5 0 0 200 1000 1/5 0 6 0 0 32 40 1/10 0 7 0 0 34 40 1/10 0
You can see that traffic flows across the proper VC based on the traffic's PVC IP precedence.
bernard#show atm bundle bernard on ATM2/0/0.6: UP Config Current Bumping PG/ Peak Avg/Min Burst VC Name VPI/ VCI Preced. Preced. Preced./ PV Kbps kbps Cells Sts Accept 3 1/131 7-5 7-5 4 / Yes - 1000 100 UP 6 1/130 4-0 4-0 - / Yes - 64 10 94 UP
Also note that when the VIP2-50/PA-A3 DWRED is turned on, there are no drops on the PA-A3. However, there are drops on the VIP. You can verify this in the output shown here:
bernard#show atm pvc 1/130 ATM2/0/0.6: VCD: 6, VPI: 1, VCI: 130 VBR-NRT, PeakRate: 64, Average Rate: 10, Burst Cells: 94 AAL5-LLC/SNAP, etype:0x0, Flags: 0x100020, VCmode: 0x0 OAM frequency: 10 second(s), OAM retry frequency: 1 second(s), OAM retry frequency: 1 second(s) OAM up retry count: 3, OAM down retry count: 5 OAM Loopback status: OAM Received OAM VC state: Verified ILMI VC state: Not Managed VC is managed by OAM. InARP frequency: 15 minutes(s) Transmit priority 2 InPkts: 55, OutPkts: 86, InBytes: 3700, OutBytes: 105654 InPRoc: 49, OutPRoc: 17 InFast: 0, OutFast: 0, InAS: 7, OutAS: 69 InPktDrops: 42, OutPktDrops: 0 CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0 OAM cells received: 169 F5 InEndloop: 169, F5 InSegloop: 0, F5 InAIS: 0, F5 InRDI: 0 F4 InEndloop: 0, F4 InSegloop: 0, F4 InAIS: 0, F4 InRDI: 0 OAM cells sent: 169 F5 OutEndloop: 169, F5 OutSegloop: 0, F5 OutRDI: 0 F4 OutEndloop: 0, F4 OutSegloop: 0, F4 OutRDI: 0 OAM cell drops: 0 Status: UP
bernard#show atm pvc 1/131 ATM2/0/0.6: VCD: 3, VPI: 1, VCI: 131 ABR, PeakRate: 1000, Minimum Rate: 100, Initial Rate: 1000, Current Rate: 998 RIF: 16, RDF: 16 FRM cells received: 165, BRM cells received: 910 RM cells sent: 1073 AAL5-LLC/SNAP, etype:0x0, Flags: 0x110820, VCmode: 0x0 OAM frequency: 10 second(s), OAM retry frequency: 1 second(s), OAM retry frequency: 1 second(s) OAM up retry count: 3, OAM down retry count: 5 OAM Loopback status: OAM Received OAM VC state: Verified ILMI VC state: Not Managed VC is managed by OAM. InARP frequency: 15 minutes(s) Transmit priority 3 InPkts: 31, OutPkts: 854, InBytes: 3640, OutBytes: 1227090 InPRoc: 31, OutPRoc: 34InFast: 0, OutFast: 0, InAS: 0, OutAS: 820 InPktDrops: 0, OutPktDrops: 0 CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0 OAM cells received: 180 F5 InEndloop: 180, F5 InSegloop: 0, F5 InAIS: 0, F5 InRDI: 0 F4 InEndloop: 0, F4 InSegloop: 0, F4 InAIS: 0, F4 InRDI: 0 OAM cells sent: 184 F5 OutEndloop: 184, F5 OutSegloop: 0, F5 OutRDI: 0 F4 OutEndloop: 0, F4 OutSegloop: 0, F4 OutRDI: 0 OAM cell drops: 0 Status: UP
The other configurations included in this document are based on Cisco 7500 routers. As you can see, the PVC bundle options are configured on the bundle and the PVCs themselves. This type of configuration is also achieved through the use of vc-classes. Here is an example:
Configuration |
---|
vc-class atm atm-bundle broadcast oam-pvc manage 1 oam retry 3 3 1 encapsulation aal5snap protocol ip inarp broadcast oam-bundle manage 1 ! vc-class atm data vbr-nrt 4096 2048 32 precedence 0-4 no bump traffic protect vc ! vc-class atm vo-ip vbr-nrt 4096 2048 32 precedence 5-7 no bump traffic protect vc ! interface ATM1/0.100 point-to-point mtu 1500 bandwidth 2000 ip address 1.1.1.1 255.0.0.0 bundle test class-bundle atm-bundle max-vcnum 0 pvc-bundle vo-ip 2/202 class-vc vo-ip pvc-bundle data 1/101 class-vc data |
The vc-class atm-bundle allows you to define the bundle parameters, while the classes vo-ip and data define the parameters of each of the VCs.
If the PVC bundle configuration is not complete, the bundle goes down, and provides this reason:
Incomplete config, PV down
This error is usually caused by a precedence which is not mapped to a PVC. Even if a precedence is not used, the precedence must be mapped to a PVC in the bundle. This is an example:
Configuration |
---|
vc-class atm atm-bundle broadcast oam-pvc manage 1 oam retry 3 3 1 encapsulation aal5snap protocol ip inarp broadcast oam-bundle manage 1 ! vc-class atm dus-mun-data vbr-nrt 4096 2048 32 precedence 0-4 no bump traffic protect vc ! vc-class atm vo-ip vbr-nrt 4096 2048 32 precedence 5-6 no bump traffic protect vc |
Issue the show atm bundle command:
Damme#show atm bundle test on ATM1/0.100: DOWN, Incomplete config, PV down Config Current Bumping PG/ Peak Avg/Min Burst VC Name VPI/ VCI Preced. Preced. Preced./ PV Kbps kbps Cells Sts Accept dus-mun-data 1/101 4-0 - / No PV 4096 2048 32 UP vo-ip 2/202 6-5 - / No PV 4096 2048 32 UP
As you can see, precedence 7 was not mapped to a PVC, which causes the whole bundle to go down. If you add precedence 7 under the vo-ip pvc, the bundle comes UP.
Damme#configure terminal Enter configuration commands, one per line. End with CNTL/Z. Damme(config)#vc-class atm vo-ip Damme(config-vc-class)#pre Damme(config-vc-class)#precedence 7 Damme(config-vc-class)#^Z Damme# Damme#show atm bundle test on ATM1/0.100: UP Config Current Bumping PG/ Peak Avg/Min Burst VC Name VPI/ VCI Preced. Preced. Preced./ PV Kbps kbps Cells Sts Accept vo-ip 2/202 7-5 7-5 - / No PV 4096 2048 32 UP dus-mun-data 1/101 4-0 4-0 - / No PV 4096 2048 32 UP
Bug CSCdm43184: CAR + PVC bundling = packets forwarded on wrong VC
Release Notes: If you use committed access rate (CAR) to set the precedence bits in the IP header, it is possible for the packets to be sent to the wrong PVC in a PVC bundle. This is observed in Cisco IOS® Software Release 12.0(4)T. In this situation, packets are switched if the packets come in with the precedence bits set out on the correct VCs in the bundle. The incoming packets without the precedence bits set (set by CAR) are switched out on the precedence 0 VC. This seems to imply that the precedence levels are changed by CAR after the decision to switch to CEF is made.
Bug CSCds80669: VBR-nrt not a configuration option with pvc-bundle command mode
Release Notes: VBR-nrt is not available under the PVC bundle configuration:
cop-ves9-wan-gw1#configure terminal Enter configuration commands, one per line. End with CNTL/Z. cop-ves9-wan-gw1(config)#interface ATM2/0.100 point-to-point cop-ves9-wan-gw1(config-subi)# bundle cop-sto cop-ves9-wan-gw1(config-if-a)# pvc-bundle cop-sto-data 103/1 cop-ves9-wan-gw1(config-if-a)#? ATM VC bundle member configuration commands: abr Enter Available Bit Rate (pcr)(mcr) class-vc Configure default vc-class name default Set a command to its defaults exit Exit from ATM bundle member configuration mode no Negate a command or set its defaults ubr+ Enter Peak Cell Rate(pcr)Minimum Cell Rate(mcr) in Kbps.
For this example, Cisco IOS® Software Release 12.1(3a)T4 runs on a Cisco 3640 platform.
This section provides information you can use to confirm that your configuration functions properly.
Certain show commands are supported by the Output Interpreter Tool (registered customers only) , which allows you to view an analysis of show command output.
show atm bundle bundle-name [stat] [detail] —Displays detailed statistics on a specified bundle
show atm map—Displays the list of all configured ATM static maps to remote hosts on an ATM network and on ATM bundle maps
show queuing interface atm [x/[y/[z]]].w —Displays the queueing statistics of an interface
show random-detect-group —Displays the WRED or DWRED parameter group
This is the command output for the show atm bundle bundle-name [stat] [detail] command:
Bundle Name: Bundle State: UP AAL5-NLPID OAM frequency: 0 second(s), OAM retry frequency: 1 second(s) OAM up retry count: 3, OAM down retry count: 5 BUNDLE is managed by. InARP frequency: 15 minutes(s) InPkts: 3695, OutPkts: 4862, InBytes: 407836, OutBytes: 2848414 InPRoc: 3579, OutPRoc: 3211, Broadcasts: 0 InFast: 0, OutFast: 0, InAS: 116, OutAS: 1652 InPktDrops: 42, OutPktDrops: 0 CrcErrors: 0, SarTimeOuts: 0, OverSizedSDUs: 0
This is the command output for the show atm map command:
bernard#show atm map Map list bernard_B_ATM2/0/0.6 : PERMANENT ip 14.0.0.2 maps to bundle bernard, 1/131, 1/130, ATM2/0/0.6 , broadcast, aal5mux
This section provides information you can use to troubleshoot your configuration.
Certain show commands are supported by the Output Interpreter Tool (registered customers only) , which allows you to view an analysis of show command output.
Note: Before you issue debug commands, refer to Important Information on Debug Commands.
debug atm bundle errors—Enables the display of information on bundle errors
debug atm bundle events—Enables the display of bundle events when use occurs
Revision | Publish Date | Comments |
---|---|---|
1.0 |
05-Jun-2005 |
Initial Release |