This is one task that we may find in our CCIE exam. Usually, we dont have to configure anything on the Frame-Relay cloud during the lab, that’s something that most of the times comes already done. But, we could be asked to configure a router to act as Frame-Relay switch, switching DLCIs from one interface to another.
Let’s start with the following lab:
There are 3 types of interfaces in Frame-Relay:
- DTE interface: Default interface type for a Router, used to connect to the Switch
- DCE interface: Interface type configured in the Switch side in order to connect to the Router
- NNI interface: Interface type configured in the Switch side in order to connect to another Frame-Relay Switch
If we are asked to configure a router as a Frame-Relay switch, first we must identify what purpose each interface is for. If the interface is for connecting to another Frame-Relay switch (a real switch or a router acting as a switch), we have to configure the interface as an NNI interface. However, if the interface is for connecting to a normal router, the interface must be configured as an DCE interface.
In this post we are going to work with the “frame-relay route” command, in a later post we’ll present a setup with the “connect” feature.
Once we have identified this point, the rest of the configuration is very easy, as follows:
SW1# SW1# configure terminal SW1(config)# frame-relay switching SW1(config)# interface serial0/0 SW1(config-if)# description == To R1 == SW1(config-if)# encapsulation frame-relay SW1(config-if)# frame-relay intf-type dce SW1(config-if)# frame-relay route 102 interface Serial0/2 201 SW1(config-if)# frame-relay route 103 interface Serial0/1 301 SW1(config-if)# no shut SW1(config-if)# exit SW1(config)# interface serial0/1 SW1(config-if)# description == To R3 == SW1(config-if)# encapsulation frame-relay SW1(config-if)# frame-relay intf-type dce SW1(config-if)# frame-relay route 301 interface Serial0/0 103 SW1(config-if)# no shut SW1(config-if)# exit SW1(config)# interface serial0/2 SW1(config-if)# description == To R2 == SW1(config-if)# encapsulation frame-relay SW1(config-if)# frame-relay intf-type dce SW1(config-if)# frame-relay route 201 interface Serial0/0 102 SW1(config-if)# no shut SW1(config-if)# end SW1#
With this configuration, every packet entering the switch through the interface Serial0/0 with DLCI 102 will be switched to interfaceSerial0/2 with DLCI 201, and vice versa. Every packet entering the switch through the interface Serial0/0 with DLCI 103 will be switched to interface Serial0/1 with DLCI 301, and vice versa.
Take note that the frame-relay route command must be configured in pairs on both the incoming interface and outgoing interface for the Frame Relay route to become active. Otherwise, it won’t work.
Let’s do some checks on R1:
R1#show ip interface brief Interface IP-Address OK? Method Status Protocol Serial0/0 10.10.10.1 YES manual up up Serial0/1 unassigned YES unset administratively down down R1# R1#show frame-relay map Serial0/0 (up): ip 10.10.10.2 dlci 102(0x66,0x1860), dynamic, broadcast,, status defined, active Serial0/0 (up): ip 10.10.10.3 dlci 103(0x67,0x1870), dynamic, broadcast,, status defined, active R1# R1#show frame-relay pvc PVC Statistics for interface Serial0/0 (Frame Relay DTE) Active Inactive Deleted Static Local 2 0 0 0 Switched 0 0 0 0 Unused 0 0 0 0 DLCI = 102, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0 input pkts 132 output pkts 131 in bytes 9782 out bytes 9714 dropped pkts 0 in pkts dropped 0 <...> DLCI = 103, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0 input pkts 6 output pkts 10 in bytes 554 out bytes 842 dropped pkts 0 in pkts dropped 0 <...> R1# R1#show frame-relay lmi LMI Statistics for interface Serial0/0 (Frame Relay DTE) LMI TYPE = CISCO Invalid Unnumbered info 0 Invalid Prot Disc 0 Invalid dummy Call Ref 0 Invalid Msg Type 0 Invalid Status Message 0 Invalid Lock Shift 0 Invalid Information ID 0 Invalid Report IE Len 0 Invalid Report Request 0 Invalid Keep IE Len 0 Num Status Enq. Sent 135 Num Status msgs Rcvd 128 Num Update Status Rcvd 0 Num Status Timeouts 8 R1# R1#ping 10.10.10.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 32/52/92 ms R1# R1#ping 10.10.10.3 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.3, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 32/67/120 ms R1#
We can also verify the configuration with show commands on the SW1:
SW1#show frame-relay route Input Intf Input Dlci Output Intf Output Dlci Status Serial0/0 102 Serial0/2 201 active Serial0/0 103 Serial0/1 301 activeSerial0/1 301 Serial0/0 103 active Serial0/2 201 Serial0/0 102 active
From this command we can see if the frame-relay route command has been configured in pairs on both the incoming interface and outgoing interface.
Now let’s try to configure the interface between SW1 and SW2. Apart from configuring the link between both as NNI, we need to disable the keepalives:
SW1#
SW1# configure terminal
SW1(config)# frame-relay switching
SW1(config)# interface serial0/0
SW1(config-if)# description == To R1 ==
SW1(config-if)# encapsulation frame-relay
SW1(config-if)# frame-relay intf-type dce
SW1(config-if)# frame-relay route 102 interface Serial0/3 502
SW1(config-if)# no shut
SW1(config-if)# exit
SW1(config)# interface serial0/3
SW1(config-if)# description == To SW2 ==
SW1(config-if)# encapsulation frame-relay
SW1(config-if)# frame-relay intf-type nni
SW1(config-if)# no keepalive
SW1(config-if)# frame-relay route 502 interface Serial0/0 102
SW1(config-if)# no shut
SW1(config-if)# end
SW2#
SW2# configure terminal
SW2(config)# frame-relay switching
SW2(config)# interface serial0/0
SW2(config-if)# description == To SW1 ==
SW2(config-if)# encapsulation frame-relay
SW2(config-if)# frame-relay intf-type nni
SW2(config-if)# no keepalive
SW2(config-if)# frame-relay route 502 interface Serial0/2 201
SW2(config-if)# no shut
SW2(config-if)# exit
SW2(config)# interface serial0/2
SW2(config-if)# description == To R2 ==
SW2(config-if)# encapsulation frame-relay
SW2(config-if)# frame-relay intf-type dce
SW2(config-if)# frame-relay route 201 interface Serial0/0 502
SW2(config-if)# no shut
SW2(config-if)# end
Let’s do some checks on R1, SW1 and SW2:
R1#shw frame-relay map Serial0/0 (up): ip 10.10.10.2 dlci 102(0x66,0x1860), dynamic, broadcast,, status defined, active R1# R1#sh frame-relay pvc PVC Statistics for interface Serial0/0 (Frame Relay DTE) Active Inactive Deleted Static Local 1 0 0 0 Switched 0 0 0 0 Unused 0 0 0 0 DLCI = 102, DLCI USAGE = LOCAL, PVC STATUS = ACTIVE, INTERFACE = Serial0/0 input pkts 232 output pkts 286 in bytes 17150 out bytes 21338 dropped pkts 0 in pkts dropped 0 <...> R1# R1#ping 10.10.10.2 Type escape sequence to abort. Sending 5, 100-byte ICMP Echos to 10.10.10.2, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 44/91/172 ms R1#
SW1#sh frame-relay route Input Intf Input Dlci Output Intf Output Dlci Status Serial0/0 102 Serial0/3 502 active Serial0/3 502 Serial0/0 102 static
SW2#sh frame-relay route Input Intf Input Dlci Output Intf Output Dlci Status Serial0/0 502 Serial0/2 201 static Serial0/2 201 Serial0/0 502 active
Stay tuned folks!!