Previous section   Next section

Recipe 16.7 Configuring ATM Subinterfaces

16.7.1 Problem

You want to configure an ATM link with PVCs that connect to several other routers.

16.7.2 Solution

Our preferred way of handling ATM PVCs is to use ATM subinterfaces. We also recommend using the IOS feature that sends ATM Operations Administration and Management (OAM) cells periodically to test the VC. Cisco provides two different syntaxes for configuring ATM PVCs. Here is an example of the older method:

Router2#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
Router2(config)#interface ATM0/0
Router2(config-if)#no ip address
Router2(config-if)#exit
Router2(config)#interface ATM0/0.1 point-to-point
Router2(config-subif)#description PVC to New York
Router2(config-subif)#ip address 192.168.250.146 255.255.255.252
Router2(config-subif)#atm pvc 1 0 60 aal5snap 10000 5000 3 oam 5
Router2(config-subif)#end
Router2#

In IOS 11.3, Cisco introduced a new configuration method for ATM PVCs:

Router2#configure terminal 
Enter configuration commands, one per line.  End with CNTL/Z.
Router2(config)#interface ATM0/0
Router2(config-if)#no ip address
Router2(config-if)#exit
Router2(config)#interface ATM0/0.1 point-to-point
Router2(config-subif)#description PVC to New York
Router2(config-subif)#ip address 192.168.250.146 255.255.255.252
Router2(config-subif)#pvc 0/60 
Router2(config-if-atm-vc)#vbr-nrt 10000 5000 30
Router2(config-if-atm-vc)#oam-pvc manage 5
Router2(config-if-atm-vc)#end
Router2#

16.7.3 Discussion

These two configuration examples do exactly the same thing. The older syntax is considerably shorter, but the new version is a little easier to read. Let's look at the old version first:

Router2(config-subif)#atm pvc 1 0 60 aal5snap 10000 5000 30 oam 5

The first numerical argument is called the Virtual Circuit Descriptor (VCD). This is simply a unique number that you can use to distinguish this ATM VC from any others on the same router. The VCD value is strictly local to the router, so you can choose any value that you like, as long as it is unique.

The next two numbers (0 and 60, in this case) are the Virtual Path Identifier (VPI) and Virtual Circuit Identifier (VCI), respectively. These are the numbers that the ATM switch uses to identify this particular ATM VC, so you have to make sure that these match the values that the switch uses.

Then we defined the encapsulation to be ATM Adaptation Layer 5 Logical Link Control/Sub-Network Access Protocol (aal5snap). This is a standard method for encapsulating higher-layer protocols into ATM cells for data networks. There are other options here. We could have configured the aal5ciscoppp option, which is a Cisco proprietary ATM data-encapsulation format that allows you to use standard PPP authentication for a VC if required. We also could have used aal5mux, which is similar to aal5snap, but supports only a single higher layer protocol on each VC. The last option is Network Layer Protocol Identification (aal5nlpid). This option is required for interoperation with an ADSU device, as discussed in Recipe 16.2.

We generally recommend using aal5snap unless you specifically need to support PPP authentication or interoperate with ADSU devices.

The next three fields in the atm pvc command configure traffic shaping for this VC. In this case, we have a maximum throughput of 10,000Kbps and a committed rate of 5,000Kbps. The maximum burst length is 30 ATM cells. These parameters are optional, but if we had not included them, the router would try to send at the full line rate for this ATM circuit.

The last part of the command tells the router to send ATM Operations Administration and Management (OAM) cells through this VC periodically to test that it is working properly. There are actually several different types of OAM cells, but one type, called the F5 (or loopback) test cell, works like an IP ping. When the device that terminates this VC (such as the router on the far end) receives an F5 cell, it turns around and sends it back to the source. In this case, we have configured the router to send one of these OAM cells every five seconds. You can then use the show atm pvc command to ensure that you receive the same number of F5 cells that you send:

Router2#show atm pvc 0/60
ATM0/0.1: VCD: 1, VPI: 0, VCI: 60, etype:0x0, AAL5 - LLC/SNAP, Flags: 0x830
PeakRate: 10000, Average Rate: 5000, Burst Cells: 96, VCmode: 0xE000
OAM frequency: 5 second(s), InARP frequency: 15 minute(s)
InPkts: 1292959637, OutPkts: 3327374998, InBytes: 2196038015, OutBytes: 813592646
InPRoc: 19959239, OutPRoc: 24660, Broadcasts: 19481389
InFast: 1212924649, OutFast: 3297025318, InAS: 60075750, OutAS: 10843631
OAM F5 cells sent: 6804133, OAM cells received: 6740056
Status: ACTIVE

You can see that this VC has been active for a considerable length of time, and has sent and received a large number of F5 OAM cells. The numbers are nearly the same, but some F5 cells have clearly been lost. If you suspect a problem, it is often useful to issue this command repeatedly and watch the OAM counters increment.

You can also use the show atm pvc command without an argument to see all of the PVCs on the router:

Router2>show atm pvc
                                     AAL /         Peak   Avg.  Burst      
Interface     VCD   VPI   VCI Type  Encapsulation  Kbps   Kbps  Cells Status
ATM0/0.1        1     0    60  PVC  AAL5-SNAP      10000  5000    30  ACTIVE 
ATM0/0.42      42     1    42  PVC  AAL5-SNAP      10000  5000    30  ACTIVE 
Router2>

The second example uses the newer syntax to configure the exact same parameters:

Router2(config-subif)#pvc 0/60 
Router2(config-if-atm-vc)#vbr-nrt 10000 5000 30
Router2(config-if-atm-vc)#oam-pvc manage 5

The pvc command defines the VPI and VCI as before. Note that there is no VCD value in this example. If you like, you can configure a unique name for this VC by adding up to 16 characters before the VPI/VCI values:

Router2(config-subif)#pvc NEWYORK 0/60 

The vbr-nrt command lets you configure the traffic shaping parameters. This assumes, of course, that this is a Variable Bit Rate Non-Real Time (VBR-NRT) PVC. If it had been an Unspecified Bit Rate (UBR) PVC, you would simply leave out the vbr-nrt line, because UBR is the default. For a Committed Bit Rate (CBR) PVC, the configuration specifies only the committed rate for the PVC:

Router2(config-if-atm-vc)#cbr 10000

But perhaps the biggest advantage to the new syntax is that Cisco routers can now mark ATM subinterfaces as being in a down state if the router sends out three OAM cells in a row without receiving a response. You can verify this using the show interface command:

Router2#show interfaces ATM0/0.1
ATM0/0.1 is down, line protocol is down
  Hardware is cyBus ATM
  Internet address is 172.25.25.5/30
  MTU 4470 bytes, BW 2000 Kbit, DLY 100 usec, rely 255/255, load 9/255
  Encapsulation ATM

Without this feature, you could power off one router and the other would still think that the PVC was still active. You can also go one step further than this and configure the router to send an SNMP trap when it sees a PVC failure:

Router2(config)#snmp-server enable traps atm pvc extension oam failure loopback

This new feature was introduced in IOS Version 12.2(4)T.

16.7.4 See Also

Recipe 16.2


  Previous section   Next section
Top