Configuring ATM Subinterfaces
Problem
You want to configure an ATM link with PVCs that connect to several other routers.
Solution
Our preferred way of handling ATM PVCs is to use ATM subinterfaces. We also recommend using the IOS feature that sends ATM 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)#exit
Router2(config)#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)#exit
Router2(config)#end
Router2#
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/Subnetwork Access Protocol (AAL5 SNAP). 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. The aal5mux option is similar to aal5snap, but it only supports a single higher layer protocol on each VC. And the last option is aal5nlpid, which stands for Network Layer Protocol Identification. This option is required if you want to interoperate with an ADSU device, as we discussed in Recipe 16.2.
We generally recommend using AAL5 SNAP, 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,000 Kbps, and an average rate of 5,000 Kbps. 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
As you can see here, 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 clearly some F5 cells have been lost at some point. 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 PVC's 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 exactly the 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 exactly 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 Nonreal 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 of the routers, and the other would still think that the PVC was still active. You can go one step further than this as well, by configuring the router to send an SNMP trap when it sees a PVC failure with the following command:
Router2(config)#snmp-server enable traps atm pvc extension oam failure loopback
This new feature was introduced in IOS Version 12.2(4)T.