Hello,
for my new frame relay switch I was looking for a full mesh configuration. With this I could create different logical connections between the routers using frame relay just by changing the configuration.
My new frame relay switch is a Cisco 2520 router with 4 serial interface called Serial0, Serial1, Serial2 and Serial3. The configuration for 4 interfaces is not so hard, but I wanted to be flexible for the future (maybe only 3 or maybe a new router with up to 8 serial interfaces).
So I created the following perl script to create the configuration for a frame relay switch.
#!/usr/bin/perl -w
# frs_conf.pl
# 20120216 crissa for http://blog.rotten.li
use strict;
# main
{
my $first = 0; # start with interface 0
my $last = 3; # 4 interfaces (0 - 3)
my $interface = "Serial"; # "Serial" or "Serial0/" or ...
# to avoid problems with the dlci for interface 0
$first++;
$last++;
print "!\n";
print "! config created by frs_conf.pl (http://blog.rotten.li)\n";
print "!\n";
print "frame-relay switching\n"; # switch on frame relay
print "!\n";
for (my $i = $first; $i <= $last; $i++) {
printf "interface %s%d\n", $interface, ($i - 1);
printf " description %d0x\n", $i;
print <<END;
bandwidth 64
no ip address
encapsulation frame-relay
no ip route-cache
logging event subif-link-status
logging event dlci-status-change
clock rate 64000
cdp enable
no frame-relay inverse-arp
frame-relay intf-type dce
END
for (my $j = $first; $j <= $last; $j++) {
next if ($i == $j); # no route to ourself
printf " frame-relay route %d0%d interface Serial%d %d0%d\n", \
$i, $j, ($j-1), $j, $i;
}
print "!\n";
}
}
# main
# eof
And here is the output for my Cisco 2520 router.
! ! config created by frs_conf.pl (http://blog.rotten.li) ! frame-relay switching ! interface Serial0 description 10x bandwidth 64 no ip address encapsulation frame-relay no ip route-cache logging event subif-link-status logging event dlci-status-change clock rate 64000 cdp enable no frame-relay inverse-arp frame-relay intf-type dce frame-relay route 102 interface Serial1 201 frame-relay route 103 interface Serial2 301 frame-relay route 104 interface Serial3 401 ! interface Serial1 description 20x bandwidth 64 no ip address encapsulation frame-relay no ip route-cache logging event subif-link-status logging event dlci-status-change clock rate 64000 cdp enable no frame-relay inverse-arp frame-relay intf-type dce frame-relay route 201 interface Serial0 102 frame-relay route 203 interface Serial2 302 frame-relay route 204 interface Serial3 402 ! interface Serial2 description 30x bandwidth 64 no ip address encapsulation frame-relay no ip route-cache logging event subif-link-status logging event dlci-status-change clock rate 64000 cdp enable no frame-relay inverse-arp frame-relay intf-type dce frame-relay route 301 interface Serial0 103 frame-relay route 302 interface Serial1 203 frame-relay route 304 interface Serial3 403 ! interface Serial3 description 40x bandwidth 64 no ip address encapsulation frame-relay no ip route-cache logging event subif-link-status logging event dlci-status-change clock rate 64000 cdp enable no frame-relay inverse-arp frame-relay intf-type dce frame-relay route 401 interface Serial0 104 frame-relay route 402 interface Serial1 204 frame-relay route 403 interface Serial2 304 !
If the first router is connected to port Serial0 and the second router is connected to port 3 of the frame relay switch you have to use "1" for the first and "4" for the second router. So the "frame-relay interface-dlci" value for the first router is 104 and for the second 401. (The "0" is just a separator.)
HTH!
Bye, Tore