BPX-8600- and MGX-8250-Based PoP


The first PoP is made up of one LSR and two eLSRs. A BPX-8620 controlled switch and a Cisco 7204-based LSC (external controller) form the LSR. The two eLSRs are RPM/B cards in an MGX-8250 edge concentrator shelf. The PXM-1 controller card in the MGX edge concentrator connects to the BPX. The details of the setup are shown in Figure 6-4.

Figure 6-4. BPX-8650- and MGX-8250-Based PoP


We will study this case in two main steps. First we'll look at the configuration steps to bring up the LSR, and then the steps to attach the eLSRs.

ATM LSR Bringup: BPX + LSC

We start the configuration by upping and configuring the 3.1 trunk that connects the BPX to the LSC (see Example 6-1). That interface is the control interface. On the trunk configuration, using cnftrk, we will leave the statistical reserve non-null. Even though there is no CC traffic to protect, we will protect VSI protocol traffic.

Example 6-1. Upping the Control Interface in a BPX-Based LSR
 P1-b8620       TN    Cisco           BPX 8620  9.3.30    Nov. 23 2001 14:47 GMT TRK       Type   Current Line Alarm Status                    Other End  3.1      OC3    Clear - OK                                   - Last Command: uptrk 3.1 256 PVCs allocated. Use 'cnfrsrc' to configure PVCs Next Command: 

We define a partition on the control interface so that VSI has resources to control. In this resource partition, we leave no resources (LCN and bandwidth) for PVCs because we will have only VSI traffic and VSI-controlled MPLS traffic. From the three VSI partitions that the BXM card supports, we enable partition ID 1 for MPLS. See Example 6-2.

Example 6-2. Creating a VSI Resource Partition
 P1-b8620       TN    Cisco           BPX 8620  9.3.30    Nov. 23 2001 14:50 GMT Trunk : 3.1                                       Full Port Bandwidth: 353208 Maximum PVC LCNS:             0       Maximum PVC Bandwidth: 0                                       (Statistical Reserve: 5000) PVC VPI RANGE [1]:   -1    /-1        PVC VPI RANGE [2]: -1    /-1 PVC VPI RANGE [3]:   -1    /-1        PVC VPI RANGE [4]: -1    /-1           Partition :  1                 2                 3     Partition State :  Enabled           Disabled          Disabled   VSI LCNS (min/max):  500    /1000      0      /0         0      /0  VSI VPI (start/end):  1     /4          0     /0          0     /0     VSI BW (min/max):  348207 /348207    0      /0         0      /0      VSI ILMI Config:  CLR               CLR               CLR Last Command: cnfrsrc 3.1 0 348207 y 1 e 500 1000 1 4 348207 348207 Next Command: 

NOTE

Strictly speaking, a resource partition on the control interface is not needed to add the controller because VSI communication occurs on the VSI VCs. However, without a resource partition, VSI can't set up a cross-connect with a leg in the control interface (such as the private legs of the control-vcs) because it has no resources to control.


At this point, interface 3.1 is in LOS alarm. We need to clear that alarm to proceed with adding the controller (see Example 6-3) so that we can move on to the LSC configuration.

Example 6-3. Adding a Label Switch Controller
 P1_LSC_c7204# P1_LSC_c7204#conf t Enter configuration commands, one per line.  End with CNTL/Z. P1_LSC_c7204(config)#interface ATM 3/0 P1_LSC_c7204(config-if)#label-control-protocol vsi id 1 base-vc 0 40 P1_LSC_c7204(config-if)#no shutdown P1_LSC_c7204(config-if)# 18:02:14: %LINK-3-UPDOWN: Interface ATM3/0, changed state to up 18:02:15: %LINEPROTO-5-UPDOWN: Line protocol on Interface ATM3/0, changed state to up P1_LSC_c7204(config-if)#end P1_LSC_c7204# 

We use the interface-level command label-control-protocol to specify that this is an LSC and that VSI will be used to manage a controlled switch. In this case, we specify a controller ID of 1 and a base-vc for VSI communication of VPI/VCI = 0/40. The base-vc is the VPI/VCI value for slave 0. These are the LSC default values, and they need to match in the controlled switch.

We are ready now to start VSI communication by adding the VSI controller. To do so, we go to the BPX and use the command addshelf with the VSI option, as shown in Example 6-4. Adding a VSI shelf means adding a VSI controller.

Example 6-4. Starting VSI Communication from the BPX-8600
 P1-b8620       TN    Cisco           BPX 8620  9.3.30    Nov. 23 2001 15:01 GMT                    BPX 8620 Interface Shelf Information Trunk    Name      Type     Part Id   Ctrl Id      Control_VC       Alarm                                                   VPI  VCIRange  3.1     VSI       VSI         1         1         0    40-54       OK Last Command: addshelf 3.1 VSI 1 1 0 40 Shelf has been added Next Command: 

The addshelf command triggers the creation of the VSI virtual circuits (VCs), both master-slave and slave-to-slave VCs.

The addshelf command also assigns resources in the LC-ATM interfaces to the specific controller. Mapping the partition ID to the controller ID does this. In this case, the controller with an ID of 1, which is the LSC, controls resource partition 1 in all interfaces.

NOTE

We could have selected any partition ID (1 to 3 in the BPX) and any controller ID. However, if we want to also run PNNI in the BPX, the service expansion shelf (SES) PNNI controller has a fixed controller ID of 2.


We can check the controller configured in a BPX switch by using the command dspctrlrs.

From the LSC, we can check the status of VSI communication using the command show controllers vsi, as shown in Example 6-5.

Example 6-5. Showing the VSI Sessions
 P1_LSC_c7204#show controllers vsi session Interface    Session  VCD    VPI/VCI    Switch/Slave Ids   Session State ATM3/0       0        1      0/40       0/0                UNKNOWN ATM3/0       1        2      0/41       0/0                UNKNOWN ATM3/0       2        3      0/42       0/3                ESTABLISHED ATM3/0       3        4      0/43       0/0                UNKNOWN ATM3/0       4        5      0/44       0/0                UNKNOWN ATM3/0       5        6      0/45       0/0                UNKNOWN ATM3/0       6        7      0/46       0/0                UNKNOWN ATM3/0       7        8      0/47       0/0                UNKNOWN ATM3/0       8        9      0/48       0/0                UNKNOWN ATM3/0       9        10     0/49       0/0                UNKNOWN ATM3/0       10       11     0/50       0/0                UNKNOWN ATM3/0       11       12     0/51       0/0                UNKNOWN ATM3/0       12       13     0/52       0/0                UNKNOWN ATM3/0       13       14     0/53       0/0                UNKNOWN P1_LSC_c7204# 

The parameter session displays all the VSI sessions that the VSI master maintains. In the state machine, ESTABLISHED is the last state for a discovered and active VSI slave. Because we know there's one VSI session per slave, slaves are also called sessions.

We can also display all the session details by specifying the session number. Refer to Example 6-6.

Example 6-6. Displaying the VSI Session Details
 P1_LSC_c7204#show controllers vsi session 2 Interface:            ATM3/0      Session number:       2 VCD:                  3           VPI/VCI:              0/42 Switch type:          BPX         Switch id:            0 Controller id:        1           Slave id:             3 Keepalive timer:      15          Powerup session id:   0x00000001 Cfg/act retry timer:  8/8         Active session id:    0x00000001 Max retries:          10          Ctrl port log intf:   0x00030100  ! LIN for 3.1 Trap window:          50          Max/actual cmd wndw:  21/21 Trap filter:          all         Max checksums:        79 Current VSI version:  2           Min/max VSI version:  2/2 Messages sent:        16          Inter-slave timer:    0.004 Messages received:    11          Messages outstanding: 0 P1_LSC_c7204# 

Session 2 is the only active session at this point. The field Switch/Slave Id is equal to 0/3. The switch ID is 0 and is meaningful only in multishelf slaves because VSI supports multishelf. The slave ID equals the slot number.

NOTE

The session state is ESTABLISHED for all active BXM cards or VSI slaves in general, even if they do not have resource partitions.


The parameter descriptor shows the VSI logical interface details, including the Logical Interface Number (LIN), as shown in Example 6-7. The descriptor is an ASCII field in VSI interface messages that can be thought of as the interface's "name." Even though we can work with the 32-bit LIN, it's easier for humans to remember the ASCII descriptor.

Example 6-7. Showing VSI Interface Partition Details by Descriptor
 P1_LSC_c7204#show controllers vsi descriptor Phys desc: 0.3.1.0 Log intf:  0x00030100   ! The slave resides in BXM Card in slot 3. Interface: switch control port IF status: n/a                   IFC state: ACTIVE Min VPI:   1                     Maximum cell rate:  348207 Max VPI:   4                     Available channels: 1000 Min VCI:   32                    Available cell rate (forward):  348207 Max VCI:   65535                 Available cell rate (backward): 348207 P1_LSC_c7204# 

Finally, we can also enable a debug to see the VSI messages, as shown in Example 6-8.

Example 6-8. Debugging VSI Packets on a VSI Slave
 P1_LSC_c7204#debug vsi packets interface ATM 3/0 slave 2 VSI Master packet debugging is on Displaying packets on interface ATM3/0, selected slave(s) only P1_LSC_c7204# 00:35:12: VSI Master (session 2 on ATM3/0): sent msg SW GET CNFG CMD on 0/42 00:35:12: VSI Master (session 2 on ATM3/0): rcvd msg SW GET CNFG RSP on 0/42 00:35:27: VSI Master (session 2 on ATM3/0): sent msg SW GET CNFG CMD on 0/42 00:35:27: VSI Master (session 2 on ATM3/0): rcvd msg SW GET CNFG RSP on 0/42 00:35:42: VSI Master (session 2 on ATM3/0): sent msg SW GET CNFG CMD on 0/42 00:35:42: VSI Master (session 2 on ATM3/0): rcvd msg SW GET CNFG RSP on 0/42 P1_LSC_c7204# 

The VSI messages SW GET CNFG (switch get configuration) command and response are used as keepalives. As displayed in the VSI session details show command, the keepalive timer defaults to 15 seconds.

NOTE

The VSI channels in the controlled switch can be seen in the BPX-8650 and IGX-8400 platforms using the command dspvsich {Slot}. Both control-port msvc and interslav channels are displayed, with the local and remote slots.


The next step is the basic MPLS configuration at the LSR (effectively at the LSC).

In the initial MPLS configuration in the LSC, we enable Cisco Express Forwarding (CEF), we configure the label protocol to be LDP (as opposed to TDP), we give the LSR a loopback IP address, and we assign that loopback address to be the LDP router ID to provide LDP stability (see Example 6-9).

Example 6-9. Initial MPLS LSC Configuration
 P1_LSC_c7204#conf t Enter configuration commands, one per line.  End with CNTL/Z. P1_LSC_c7204(config)#ip cef P1_LSC_c7204(config)#mpls label protocol ?   ldp  Use LDP   tdp  Use TDP (default) P1_LSC_c7204(config)#mpls label protocol ldp P1_LSC_c7204(config)#interface loopback 0 P1_LSC_c7204(config-if)#ip address 172.27.1.1 255.255.255.255 P1_LSC_c7204(config-if)#exit P1_LSC_c7204(config)#mpls ldp router-id loopback 0 P1_LSC_c7204(config)#^Z P1_LSC_c7204# 

NOTE

The global configuration command mpls label protocol ldp enables LDP in all the interfaces in the LSR. This command has an interface configuration mode as well, to enable TDP, LDP, or both on a per-interface basis.


MGX-8250 eLSR Configuration

Now that we have our MPLS LSR, we will attach the two eLSRs. We will first configure the LSR end of the links to the eLSRs. Then we will bring up the RPM/Bs as eLSRs.

We are ready to configure the interfaces between LSR and eLSRs. As covered in Chapter 3, "Implementations and Platforms," we cannot partition resources in the PXM-1 controller card. Therefore, we will add Virtual Path Connections (VPCs) from the PXM-1 to the RPM/Bs and use VP-Tunnel LC-ATM interfaces.

From the BPX side, we start by upping a virtual trunk, as shown in Example 6-10.

Example 6-10. Upping a VP-Tunnel LC-ATM Interface
 P1-b8620       TN    Cisco           BPX 8620  9.3.30    Nov. 23 2001 15:30 GMT TRK       Type   Current Line Alarm Status                    Other End  3.1      OC3    Clear - OK                                   VSI(VSI)  3.3.1    OC3    Clear - OK                                   - Last Command: uptrk 3.3.1 256 PVCs allocated. Use 'cnfrsrc' to configure PVCs Next Command: 

We configure the trunk so that we set the statistical reserve to 0 and do not misuse bandwidth resources, as well as configure the virtual trunk's VPI number. For simplicity, we will use VPI=9 for the RPM/B in slot 9 and VPI=10 for the RPM/B in slot 10. See Example 6-11.

Example 6-11. Configuring the VP-Tunnel from the BPX-8600 Controlled Switch
 P1-b8620       TN    Cisco           BPX 8620  9.3.30    Nov. 23 2001 15:32 GMT TRK  3.3.1 Config   OC3     [2867  cps]    BXM slot:     3 Transmit Rate:         3000                VPC Conns disabled:    -- Protocol By The Card:  --                  Line framing:          STS-3C VC Shaping:            No                       coding:           -- Hdr Type NNI:          No                       recv impedance:   -- Statistical Reserve:   0       cps              cable type:       -- Idle code:             7F hex                         length:     -- Connection Channels:   256                 Pass sync:             No Traffic:V,TS,NTS,FR,FST,CBR,N&RT-VBR,ABR   Loop clock:            No Restrict CC traffic:   No                  HCS Masking:           Yes Link type:             Terrestrial         Payload Scramble:      Yes Routing Cost:          10                  Frame Scramble:        Yes F4 AIS Detection:      No                  Vtrk Type / VPI:       CBR / 9                                            Incremental CDV:       0                                            Deroute delay time:    0 seconds Last Command: cnftrk 3.3.1 3000 N 0 7F V,TS,NTS,FR,FST,CBR,NRT-VBR,ABR,RT-VBR N   TERRESTRIAL 10 N 0 N N Y Y Y CBR 9 0 Next Command: 

Finally, we partition resources in the virtual trunk, setting the PVC LCNs to 0 (so as not to misuse LCN resources). We use partition ID = 1 because that's the one controlled by the LSC. Refer to Example 6-12.

Example 6-12. Creating a Resource Partition in the BPX-8600
 P1-b8620       TN    Cisco           BPX 8620  9.3.30    Nov. 23 2001 15:33 GMT Virtual Trunk : 3.3.1                                       Full Port Bandwidth: 3000 Maximum PVC LCNS:             0       Maximum PVC Bandwidth: 0                                       (Statistical Reserve: 0) PVC VPI RANGE [1]:   -1    /-1        PVC VPI RANGE [2]: -1    /-1 PVC VPI RANGE [3]:   -1    /-1        PVC VPI RANGE [4]: -1    /-1           Partition :  1                 2                 3     Partition State :  Enabled           Disabled          Disabled   VSI LCNS (min/max):  256    /512       0      /0         0      /0  VSI VPI (start/end):  9     /9          9     /9          9     /9     VSI BW (min/max):  1400   /2867      0      /0         0      /0      VSI ILMI Config:  CLR               CLR               CLR Last Command: cnfrsrc 3.3.1 0 0 y 1 e 256 512 9 9 1400 2867 Next Command: 

We can also check that we are using SCT 1 in this virtual trunk, using the command dspvsiif (see Example 6-13). SCT 1 is the default SCT and is an MPLS-only SCT.

Example 6-13. Checking the Service Class Template in the BPX-8600 VSI Slaves
 P1-b8620       TN    Cisco           BPX 8620  9.3.30    Nov. 23 2001 15:34 GMT     Virtual Trunk : 3.3.1     Service Class Template ID: 1     VSI Partitions :                 channels         bw              vpi     Part  E/D   min   max    min     max     start  end      ilmi     1     E     256   512    1400    2867    9      9        D     2     D     0     0      0       0       9      9        D     3     D     0     0      0       0       9      9        D Last Command: dspvsiif 3.3.1 Next Command: 

From the LSC, we can see the just-added partition that is not yet bound to any extended MPLS interface, as shown in Example 6-14.

Example 6-14. Showing the VSI Partition Details from the LSC by Descriptor
 P1_LSC_c7204#show controllers vsi descriptor Phys desc: 0.3.1.0 Log intf:  0x00030100 Interface: switch control port IF status: n/a                   IFC state: ACTIVE Min VPI:   1                     Maximum cell rate:  348207 Max VPI:   4                     Available channels: 1000 Min VCI:   32                    Available cell rate (forward):  348207 Max VCI:   65535                 Available cell rate (backward): 348207 Phys desc: 0.3.3.1 Log intf:  0x00030301 Interface: n/a IF status: n/a                   IFC state: ACTIVE Min VPI:   9                     Maximum cell rate:  2867 Max VPI:   9                     Available channels: 512 Min VCI:   32                    Available cell rate (forward):  2867 Max VCI:   65535                 Available cell rate (backward): 2867 P1_LSC_c7204# 

The LSC knows this because the VSI slave in the BXM card sent a VSI interface trap to the VSI master when we configured the resource partition. This is done so that the LSC is aware of the new virtual interface and its resources that it has to control.

For the LSC to control those resources, we create an extended MPLS ATM interface (XTagATM), which is an extension of the physical interface's resources in the BPX switch. See Example 6-15.

Example 6-15. Creating and Configuring an Extended MPLS Interface from the LSC
 P1_LSC_c7204#conf t Enter configuration commands, one per line.  End with CNTL/Z. P1_LSC_c7204(config)#int XTagATM 331 P1_LSC_c7204(config-if)#mpls ip P1_LSC_c7204(config-if)#ip unnumbered loopback 0 P1_LSC_c7204(config-if)#extended-port ATM 3/0 bpx 3.3.1 P1_LSC_c7204(config-if)#end 18:38:56: %LINK-3-UPDOWN: Interface XTagATM331, changed state to up 18:38:57: %LINEPROTO-5-UPDOWN: Line protocol on Interface XTagATM331, changed state P1_LSC_c7204# 

After creating the XTagATM interface, we enable MPLS in it with mpls ip, unnumber the interface's IP address to the loopback IP address, and tell the XTagATM interface that is bound to port 3.3.1 in the controlled switch.

NOTE

Using unnumbered interfaces saves IP addresses as well as precious LCN resources because by default, MPLS sets up LVCs to all IP addresses in the global routing table.


We can see that the VSI interface is bound to the XTagATM interface. See Example 6-16.

Example 6-16. Displaying the VSI Controller Status
 P1_LSC_c7204#show controllers vsi status Interface Name                  IF Status   IFC State  Physical Descriptor switch control port                   n/a      ACTIVE  0.3.1.0 XTagATM331                             up      ACTIVE  0.3.3.1 P1_LSC_c7204# 

Finally, we need to configure an Interior Gateway Protocol (IGP) in our MPLS network. We choose OSPF with only the backbone area, as shown in Example 6-17.

Example 6-17. Configuring the IGP
 P1_LSC_c7204(config)#router ospf 100 P1_LSC_c7204(config-router)#network 172.27.1.1 0.0.0.0 area 0 P1_LSC_c7204(config-router)#^Z P1_LSC_c7204# 

At this point we can begin the PE router side of the configuration. Portable AutoRoute (PAR) reigns in the MGX-8250 switch. PAR is the only control plane that manages the MGX-8250 switch resources. So we will assign the RPM resource partition to PAR and add the VPCs using PAR. This is the reason why we need a VP-Tunnel LC-ATM interface.

As soon as PAR has learned the VPC from the RPMs to the PXM-1 uplink port and MPLS is configured, the MPLS control plane sets up LVCs (even though MPLS will not directly manage switch resources). That's the edge behavior in the architecture.

We will start by adding the 7.2 line and port (so that the PAR controller manages the PAR If), as shown in Example 6-18. The line 7.1 will be used later, in the section "Adding an AutoRoute Control Plane."

Example 6-18. Adding a PAR Interface to a Feeder Shelf
 m8250-7a.1.7.PXM.a > addln -sonet 7.2 m8250-7a.1.7.PXM.a > addport 2 2 100 0 4095 100 m8250-7a.1.7.PXM.a > dspports     Port  Status  Line  PctBw  minVpi  maxVpi  maxRatePct     ------------------------------------------------------        2    ON      2    100       0    4095    100 m8250-7a.1.7.PXM.a > m8250-7a.1.7.PXM.a > dspparifs slot.port   type         status      vpi           vci          txRate     rxRate ---------------------------------------------------------------------------------       7.2   UNI_IF           UP    0 to 4095     0 to 65535     353208     353208      7.33   UNI_IF           UP    0 to  255     0 to 65535     176604     176604      7.34   UNI_IF           UP    0 to  255     0 to 65535     176604     176604      7.35   CLK_IF       FAILED    0 to    0     0 to     0          0          0 m8250-7a.1.7.PXM.a > 

Then we add the slave end of the VPC, as shown in Example 6-19.

Example 6-19. Adding the VPC Slave Endpoint
 m8250-7a.1.7.PXM.a > addcon 2 1 9 0 1 1 2     Connection ID: m8250-7a.0.2.9.0 m8250-7a.1.7.PXM.a > cnfupccbr 2.9.0 4 2867 10000 100 2867 100 m8250-7a.1.7.PXM.a > dspchans Chan Stat Intf locVpi locVci conTyp srvTyp PCR[0+1] Mst rmtVpi rmtVci State ----------------------------------------------------------------------------   18 MOD    2      9       0  VPC   CBR        2867 Slv   N/A     N/A normal m8250-7a.1.7.PXM.a > 

NOTE

In an MGX-8250 feeder shelf, the command dspcons shows node-wide cross-connects that have a master endpoint, whereas the command dspchans shows per-card connection endpoint information for both master and slave endpoints.


The rest of the configuration takes place on the RPM card.

As mentioned, we start with the initial MPLS, CEF, and loopback configuration (see Example 6-20).

Example 6-20. Initial MPLS Configuration
 PE_m8250_RPMB_9#conf t Enter configuration commands, one per line.  End with CNTL/Z. PE_m8250_RPMB_9(config)#ip cef PE_m8250_RPMB_9(config)#interface loopback 0 PE_m8250_RPMB_9(config-if)#ip address 172.27.1.128 255.255.255.255 PE_m8250_RPMB_9(config-if)#exit PE_m8250_RPMB_9(config)#mpls ldp router-id loopback 0 PE_m8250_RPMB_9(config)#mpls label protocol ldp 

We add the PAR resource partition in the RPM to create the VP-Tunnel, as shown in Example 6-21. We assign all resources to PAR because it is the only control plane that directly controls MGX-8250 switch resources (and this is why the MGX-8250 supports only edge MPLS functionality).

Example 6-21. Configuring the RPM PAR Resource Partition
 PE_m8250_RPMB_9(config)#rpmrscprtn par 100 100 0 255 0 3840 4080 

At this point, the RPM switch interface partition is visible to the PAR control plane in the MGX-8250. See Example 6-22.

Example 6-22. Using the Command dspparifs
 m8250-7a.1.7.PXM.a > dspparifs slot.port   type         status      vpi           vci          txRate     rxRate ---------------------------------------------------------------------------------       7.1  FTRK_IF        ADDED    0 to 4095     0 to 65535     353208     353208       7.2   UNI_IF           UP    0 to 4095     0 to 65535     353208     353208      7.33   UNI_IF           UP    0 to  255     0 to 65535     176604     176604      7.34   UNI_IF           UP    0 to  255     0 to 65535     176604     176604      7.35   CLK_IF       FAILED    0 to    0     0 to     0          0          0       9.1   UNI_IF           UP    0 to  255     0 to  3840     353208     353208 m8250-7a.1.7.PXM.a > 

Subsequently, we configure an MPLS subinterface, where we enable MPLS, unnumber the IP address to the loopback, and configure the interface to be a VP-Tunnel with VPI=9 (see Example 6-23).

Example 6-23. LC-ATM VP-Tunnel Configuration
 PE_m8250_RPMB_9(config)#interface switch 1.1 mpls PE_m8250_RPMB_9(config-subif)#mpls ip PE_m8250_RPMB_9(config-subif)#ip unnumbered loopback 0 PE_m8250_RPMB_9(config-subif)#atm pvc 9 9 0 aal5snap PE_m8250_RPMB_9(config-subif)#mpls atm vp-tunnel 9 PE_m8250_RPMB_9(config-subif)#exit 

At this stage, a valid question is, "Why do we need to configure the interface to be a VP-Tunnel in the PE and not in the LSC?"

The answer would be, "Because the LSC runs VSI with the controlled switch." And when we configure a virtual trunk in the BPX switch, the LSC learns through VSI that the interface is VP-Tunnel. In the PE, we don't have MPLS partitions or VSI. Therefore, there's no mechanism for the PE to learn that the interface is a VP-Tunnel.

In essence, a VP-Tunnel interface has two implications:

  • The control-vc will be within the VPI (Tunnel_VPI/32 by default and not in 0/32).

  • Only the VCI space (and not also the VPI space) will be the label space. This implies that the VPIs can be different at both ends.

These ideas are expanded on in the section "A Note on LC-ATM Interfaces."

Finally, as shown in Example 6-24, we add the master end of the PAR VPC and configure the IGP.

Example 6-24. Adding the VPC Master Endpoint
 PE_m8250_RPMB_9(config)#addcon vpc switch 1.1 9 rslot 0 2 9 master local PE_m8250_RPMB_9(config)#router ospf 100 PE_m8250_RPMB_9(config-router)#network 172.27.1.128 0.0.0.0 area 0 

At this point, our P-PE LDP session should be up. We follow the same procedure to bring up the RPM in slot 10 as a second PE, and we also add a VPC and configure another MPLS subinterface as a VP-Tunnel between the two RPMs. The configuration of MPLS subinterface 1.2 connecting the two RPMs is equivalent to the configuration covered already. The only difference resides in the addcon vpc switch command, in which the remote slot is the other RPM's slot number. In the addcon vpc switch configuration, one RPM is set up as master local, and the other RPM is configured as master remote.

This last step is a topology optimization. If that VPC is not there, traffic from one RPM to the other goes through the BPX. It's also a VPC-level redundancy implementation.

LDP Session, Bindings, and LVC show Commands

We can start by checking the MPLS interfaces. See Example 6-25.

Example 6-25. Using the show mpls interfaces Command
 P1_LSC_c7204#show mpls interfaces Interface              IP            Tunnel   Operational XTagATM331             Yes (ldp)     No       Yes         (ATM labels) XTagATM332             Yes (ldp)     No       Yes         (ATM labels) P1_LSC_c7204# PE_m8250_RPMB_9#show mpls interfaces Interface              IP            Tunnel   Operational Switch1.1              Yes (ldp)     No       Yes         (ATM labels) Switch1.2              Yes (ldp)     No       Yes         (ATM labels) PE_m8250_RPMB_9# 

Note that interface Switch 1.1 is connected (via a VPC) to the BPX-8600-based LSR, and interface Switch 1.2 is connected to the RPM-based eLSR in slot 10.

We can verify the LDP discovery and the status of the LDP neighbors as well. See Example 6-26.

Example 6-26. Showing the LDP Neighbor Discovery
 P1_LSC_c7204#show mpls ldp discovery Local LDP Identifier:     172.27.1.1:0 Discovery Sources:     Interfaces:         XTagATM331 (ldp): xmit/recv             LDP Id: 172.27.1.128:1         XTagATM332 (ldp): xmit/recv             LDP Id: 172.27.1.129:1 P1_LSC_c7204# 

The command show mpls ldp discovery should show that the interface is in transmit/receive. It also displays the remote LDP ID. (The local LDP ID displayed is the per-router LDP ID.)

If the state is xmit only, we are transmitting LDP messages but are not receiving any. We should check the status of the control-vc at both ends, as well as the CoS buffers (QBins in BXM and UXM) and the routing configuration. If the status is xmit/recv but the neighbor relationship is not established, there might be a problem with the routing (such as no route to the destination), or CEF is not enabled.

The LDP identifier uniquely identifies the label space in the network. It is 6 bytes long. The format from RFC 3036 is to use the first 4 bytes (32 bits) as the router ID that uniquely identifies the router in the network and the remaining 2 bytes as the label space ID that identifies the label space in that router. This is shown in Figure 6-5.

Figure 6-5. LDP Identifier from RFC 3036 (LDP Specification)


With frame-based MPLS, there is a per-router label space, and the label space ID is 0. For LC-ATM interfaces, because different interfaces can use the same label (VPI/VCI), there is a per-interface label space with a nonzero ID value.

If for any reason an LDP neighbor is not coming up, we need to use the discovery command. The output would be blank in the command in Example 6-27 (neighbor) because there's no LDP neighbor yet.

Example 6-27. Showing the LDP Neighbor Details
 P1_LSC_c7204#show mpls ldp neighbor Peer LDP Ident: 172.27.1.128:1; Local LDP Ident 172.27.1.1:1         TCP connection: 172.27.1.128.11015 - 172.27.1.1.646         State: Oper; Msgs sent/rcvd: 81/81; Downstream on demand         Up time: 01:04:44         LDP discovery sources:           XTagATM331, Src IP addr: 172.27.1.128 Peer LDP Ident: 172.27.1.129:1; Local LDP Ident 172.27.1.1:2         TCP connection: 172.27.1.129.11003 - 172.27.1.1.646         State: Oper; Msgs sent/rcvd: 8/8; Downstream on demand         Up time: 00:02:00         LDP discovery sources:           XTagATM332, Src IP addr: 172.27.1.129 

In an LDP peering relationship, there is an active LDP peer and a passive LDP peer. The active peer has the responsibility of connecting to the passive LDP peer in the LDP well-known port (646). The LSR with the largest LDP ID is the active LDP peer.

This can be seen in the show mpls ldp neighbor command:

 TCP connection: 172.27.1.128.11015 - 172.27.1.1.64646 TCP connection: 172.27.1.129.11003 - 172.27.1.1.64646 

172.27.1.128 is larger than 172.27.1.1. And 172.27.1.129 is also larger than 172.27.1.1.

The UDP port for LDP hello messages (discovery) is 646. The TCP port for establishing LDP session connections is 646. If the label protocol were TDP (instead of standard LDP), the well-known ports would be 711 for UDP and TCP:

 TCP connection: 10.10.10.5.11138 - 10.10.10.3.711 TCP connection: 10.10.10.2.711 - 10.10.10.3.11001 

Going back to our MPLS network running standards-based LDP, we can check the ATM MPLS local, remote, and negotiated capabilities, as shown in Example 6-28.

Example 6-28. Showing the ATM LDP Capabilities
 P1_LSC_c7204#show mpls atm-ldp capability                VPI           VCI           Alloc   Odd/Even VC Merge XTagATM331     Range         Range         Scheme  Scheme   IN   OUT   Negotiated   [9 - 9]       [33 - 65518]  BIDIR            -    -   Local        [9 - 9]       [33 - 65535]  BIDIR   EVEN     NO   NO   Peer         [9 - 9]       [33 - 65518]  UNIDIR  ODD      -    -                VPI           VCI           Alloc   Odd/Even VC Merge XTagATM332     Range         Range         Scheme  Scheme   IN   OUT   Negotiated   [10 - 10]     [33 - 65518]  BIDIR            -    -   Local        [10 - 10]     [33 - 65535]  BIDIR   EVEN     NO   NO   Peer         [10 - 10]     [33 - 65518]  UNIDIR  ODD      -    - P1_LSC_c7204# 

We see with this command the Local, Peer, and Negotiated ranges. One thing to mention is that on a BPX-8650, IGX-8400, or MGX-8850 switches, the Allocation Scheme is always bidirectional (because they don't support unidirectional cross-connects). This means that a VPI/VCI pair can appear in only one binding. It can be unidirectional in an eLSR (such as RPM cards) because it is not cross-connecting but terminating LVCs. The Negotiated Scheme is unidirectional only if both Local and Peer are unidirectional. In a bidirectional Allocation Scheme, either peer is bidirectional. One peer allocates even VCIs, and the other odd VCIs. The peer with the lower TDP ID uses even.

NOTE

The definition of unidirectional and bidirectional, as well as the MPLS capability command output, are consistent with industry-standard ATM usage and nomenclature. Nonetheless, they are exactly the reverse of the IETF LDP specification (RFC 3036) definition.


These capabilities are negotiated as part of the LDP initialization message, in the optional parameters, with the ATM session parameters (type 0x0501 and variable length), according to RFC 3036 (LDP specification).

They include merge capability, VC directionality, and one or more ATM label range components.

The label distribution mechanism used in ATM MPLS is Downstream on Demand. It distributes per-interface label space (label-controlled ATM).

The upstream LSR requests a label for a specific destination from the downstream LSR. Label VCs are built from headend platform to tailend platform.

It is important to note that "on demand" is not traffic-related. "On-demand" means "whenever the LSR learns a destination." It could be called "upstream-controlled" (as opposed to frame-based MPLS, which is downstream-controlled).

Figure 6-6 shows an example of the distribution for the destination D learned by R1.

Figure 6-6. Downstream on Demand Label Allocation


Figure 6-6 shows the headend and tailend platforms, as well as transit platforms. In summary, headend LVCs originate at this router, tailend LVCs terminate at this platform, and transit LVCs pass through this switch.

NOTE

We can use the global configuration command mpls ldp atm control-mode to change between independent (answering requests for label mappings immediately, without waiting for a label mapping from the next hop) and ordered (transmitting a label mapping only for a Forwarding Equivalence Class (FEC) for which it has a label mapping for the FEC next hop) Downstream on Demand LVC setup. Please refer to RFC 3036 for more details.


The bindingsor, more precisely, the LIB (Label Information Base)can be displayed using three commands. First (see Example 6-29) is show mpls ldp bindings.

Example 6-29. Showing the LDP Bindings
 P1_LSC_c7204#show mpls ldp bindings   172.27.1.1/32, rev 2         local binding:  label: imp-null   172.27.1.128/32, rev 8         local binding:  label: 16   172.27.1.129/32, rev 10         local binding:  label: 17 P1_LSC_c7204# 

This command is not useful here because it displays only the generic (not LC-ATM) bindings. We included it to show that for an attached destination, the label advertised for frame-based is implicit-null.

The command that is important for this scenario is show mpls atm-ldp bindings. It displays the ATM label binding database, as shown in Example 6-30.

Example 6-30. Showing the ATM LDP Bindings
 P1_LSC_c7204#show mpls atm-ldp bindings  Destination: 172.27.1.1/32     Tailend Switch XTagATM331 9/34 Active -> Terminating Active, VCD=3     Tailend Switch XTagATM332 10/34 Active -> Terminating Active, VCD=2  Destination: 172.27.1.128/32     Headend Switch XTagATM331 (1 hop) 9/33  Active, VCD=4     Transit XTagATM332 10/36 Active -> XTagATM331 9/35 Active  Destination: 172.27.1.129/32     Headend Switch XTagATM332 (1 hop) 10/35  Active, VCD=3     Transit XTagATM331 9/38 Active -> XTagATM332 10/33 Active P1_LSC_c7204 

The transit bindings are specifically the LSC functionality. In an eLSR, you see headend and tailend LVCs, but not transit. The LSC by default also has eLSR functionality, and that's why you also see headend and tailend bindings. 172.27.1.1/32 is a local destination, for which you see only tailend LVCs. The other two destinations are remote destinations, and that's why you see headend LVCs.

One further command (see Example 6-31) actually combines the output of the previous two: show mpls ip binding. The optional parameter [atm] displays only atm-ldp bindings.

Example 6-31. Using the Command show mpls ip bindings
 P1_LSC_c7204#show mpls ip binding   172.27.1.1/32         in label:     imp-null         in vc label:  9/34      lsr: 172.27.1.128:1    XTagATM331                       Active    egress (vcd 3)         in vc label:  10/34     lsr: 172.27.1.129:1    XTagATM332                       Active    egress (vcd 2)   172.27.1.128/32         in label:     16         out vc label: 9/33      lsr: 172.27.1.128:1    XTagATM331                       Active    ingress 1 hop (vcd 4)         in vc label:  10/36     lsr: 172.27.1.129:1    XTagATM332                       Active    transit         out vc label: 9/35      lsr: 172.27.1.128:1    XTagATM331                       Active    transit   172.27.1.129/32         in label:     17         out vc label: 10/35     lsr: 172.27.1.129:1    XTagATM332                       Active    ingress 1 hop (vcd 3)         in vc label:  9/38      lsr: 172.27.1.128:1    XTagATM331                       Active    transit         out vc label: 10/33     lsr: 172.27.1.129:1    XTagATM332                       Active    transit P1_LSC_c7204 

NOTE

In non-TTL (Time to Live) decrementing media such as ATM, the hop count is calculated using the Hop Count TLV in the LDP label mapping message.


Finally (see Example 6-32), we can display the Label Forwarding Information Base (LFIB) in the eLSRs or the LSC using the command show mpls forwarding-table.

Example 6-32. Showing the Label Forwarding Information Base
 P1_LSC_c7204#show mpls forwarding-table Local  Outgoing    Prefix            Bytes tag  Outgoing   Next Hop tag    tag or VC   or Tunnel Id      switched   interface 16     9/33        172.27.1.128/32    0          XT331      point2point 17     10/35       172.27.1.129/32    0          XT332      point2point P1_LSC_c7204# 

It is important to note that on the LSC, show mpls forwarding-table displays only the outgoing label for headend VCs. If we disable headend VCs or include an access list blocking binding requests to some destinations, the outgoing VC shows "Untagged."

In addition, specific to the LSC, the status of the VSI interfaces and the control interface can be displayed. Refer to Example 6-33.

Example 6-33. Using the Command show controllers vsi
 P1_LSC_c7204# P1_LSC_c7204#show controllers vsi control-interface Interface:            ATM3/0        Connections:          8 P1_LSC_c7204#show controllers vsi status Interface Name                  IF Status   IFC State  Physical Descriptor switch control port                   n/a      ACTIVE  0.3.1.0 XTagATM331                             up      ACTIVE  0.3.3.1 XTagATM332                             up      ACTIVE  0.3.3.2 P1_LSC_c7204# 

We can see that the XTagATM interfaces are up and that there are eight connections in the control interface.

Finally, we display the VCs and cross-connects (X-conns) present in the LSC.

The command show atm vc (see Example 6-34) displays the ATM view of the VCs in the LSC's interface connected to the BPX switch.

Example 6-34. Showing the ATM Virtual Circuits
 P1_LSC_c7204#show atm vc            VCD /                                        Peak  Avg/Min Burst Interface  Name         VPI   VCI  Type   Encaps   SC   Kbps   Kbps   Cells  Sts 3/0        1              0    40  PVC    SNAP     UBR  155000                UP 3/0        2              0    41  PVC    SNAP     UBR  155000                UP 3/0        3              0    42  PVC    SNAP     UBR  155000                UP 3/0        4              0    43  PVC    SNAP     UBR  155000                UP 3/0        5              0    44  PVC    SNAP     UBR  155000                UP 3/0        6              0    45  PVC    SNAP     UBR  155000                UP 3/0        7              0    46  PVC    SNAP     UBR  155000                UP 3/0        8              0    47  PVC    SNAP     UBR  155000                UP 3/0        9              0    48  PVC    SNAP     UBR  155000                UP 3/0        10             0    49  PVC    SNAP     UBR  155000                UP 3/0        11             0    50  PVC    SNAP     UBR  155000                UP 3/0        12             0    51  PVC    SNAP     UBR  155000                UP 3/0        13             0    52  PVC    SNAP     UBR  155000                UP 3/0        14             0    53  PVC    SNAP     UBR  155000                UP 3/0        16             1    33  PVC    XTAGATM  UBR  155000                UP 3/0        17             1    34  TVC    XTAGATM  UBR  155000                UP 3/0        18             1    35  TVC    XTAGATM  UBR  155000                UP 3/0        19             1    36  PVC    XTAGATM  UBR  155000                UP 3/0        20             1    37  TVC    XTAGATM  UBR  155000                UP 3/0        21             1    38  TVC    XTAGATM  UBR  155000                UP P1_LSC_c7204# 

First we see a set of VCs with VPIs 0/40 to 0/53. Those are the VSI master-slave VCs for VSI communication. There's one master-slave VC per VSI slave. They are PVCs using AAL5Snap encapsulations, as detailed in Chapter 2, "SCI: Virtual Switch Interface," in the section "Controller Location Options."

At the end of the list are some VCs with XTagATM encapsulations. This means that these are private VCs, as explained in Chapter 3 in the section "Label Switch Controller." All of these use VPI=1 because that's the first VPI configured in the control interface's resource partition. Two of these are PVCs (1/33 and 1/36), and they are the private leg of the control-vcs (for untagged traffic). The rest are type TVC (and the show command here displays TVCs for both tag virtual circuits [TVCs] and label virtual circuits [LVCs]).

A more general look at this can be seen using the show xtagatm vc command, as shown in Example 6-35. It is more general because it also shows the "Transit" cross-connects not displayed with the previous command. It shows the Controlled Switch view of the LVCs, which is only the cross-connect from one port to another port, as shown in Figure 6-7.

Example 6-35. Showing the XTagATM Virtual Circuits
 P1_LSC_c7204#show xtagatm vc                                      AAL /        Control Interface Interface     VCD   VPI   VCI Type  Encapsulation  VCD   VPI   VCI    Status XTagATM331      2     9    32  PVC  AAL5-SNAP       16     1    33    ACTIVE XTagATM331      3     9    34  TVC  AAL5-MUX        17     1    34    ACTIVE XTagATM331      4     9    33  TVC  AAL5-MUX        18     1    35    ACTIVE XTagATM332      1    10    32  PVC  AAL5-SNAP       19     1    36    ACTIVE XTagATM332      2    10    34  TVC  AAL5-MUX        20     1    37    ACTIVE XTagATM332      3    10    35  TVC  AAL5-MUX        21     1    38    ACTIVE P1_LSC_c7204# 

Figure 6-7. LVCs and Cross-Connects


Here we explicitly see that PVCs 1/33 and 1/36 are the private VCs of the control-vcs 9/32 and 10/32, respectively. We also differentiate between AAL5-SNAP encapsulation for control-vcs and AAL5-MUX encapsulation for LVCs.

A last viewpoint be seen by displaying the XTagATM cross-connects, as shown in Example 6-36.

Example 6-36. Showing the XTagATM Cross-Connects
 P1_LSC_c7204#show xtagatm cross-connect Phys Desc    VPI/VCI    Type   X-Phys Desc  X-VPI/VCI  State 0.3.1.0      1/38       ->     0.3.3.2      10/35      UP 0.3.1.0      1/36       <->    0.3.3.2      10/32      UP 0.3.1.0      1/35       ->     0.3.3.1      9/33       UP 0.3.1.0      1/33       <->    0.3.3.1      9/32       UP 0.3.1.0      1/37       <-     0.3.3.2      10/34      UP 0.3.1.0      1/34       <-     0.3.3.1      9/34       UP 0.3.3.1      9/38       ->     0.3.3.2      10/33      UP    !  Type: -> : 0.3.3.1      9/34       ->     0.3.1.0      1/34       UP    !  Even LVCs in 3.3.1 0.3.3.1      9/35       <-     0.3.3.2      10/36      UP    !   Type <- : 0.3.3.1      9/33       <-     0.3.1.0      1/35       UP    !   Odd LVCs in 3.3.1 0.3.3.1      9/32       <->    0.3.1.0      1/33       UP    ! Control-vc in 3.3.1 0.3.3.2      10/36      ->     0.3.3.1      9/35       UP    !  Type: -> : 0.3.3.2      10/34      ->     0.3.1.0      1/37       UP    !  Even LVCs in 3.3.2 0.3.3.2      10/35      <-     0.3.1.0      1/38       UP    !   Type: <- : 0.3.3.2      10/33      <-     0.3.3.1      9/38       UP    !   Odd LVCs in 3.3.2 0.3.3.2      10/32      <->    0.3.1.0      1/36       UP    ! Control-vc in 3.3.2 P1_LSC_c7204# 

It is important to note that the control-vcs are bidirectional (<->) and the LVCs are unidirectional (-> or <-). There's an LVC to reach a destination. Also, in a bidirectional allocation scheme, we see that for a given LC-ATM interface facing an LSR or eLSR (such as 3.3.1 or 3.3.2), the VCIs of LVCs going in one direction (->) are even, whereas in the other direction (<-), VCIs are odd.




Cisco Multiservice Switching Networks
Cisco Multiservice Switching Networks
ISBN: 1587050684
EAN: 2147483647
Year: 2002
Pages: 149

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net