Candela Technologies provides test equipment to companies around the world to aid in the testing of network equipment and applications. DSLAM, DSL Modem, Cable Router and Cable Modem and various other networking equipment manufacturers and testers are our target market for the LANforge FIRE product line. Our LANforge ICE WAN emulator product is excellent for anyone writing or deploying applications that are designed to work across wide area networks, including VOIP, web applications, online-gaming, and database replication.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Candela Technologies Inc is a small company with low overhead. We have been in business since November of 2000, and have been profitable since 2002. We have an ever growing list of happy customers, and have been able to expand our products and sales steadily.
Should unfortunate circumstances force our closure, the LANforge software suite will be released under the GNU Public License (GPL). This ensures that you will be able to arrange to have any support and/or features added that you require.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
To resolve problems quickly, perform the following procedure for Linux based systems:
cd /home/lanforge ./lfdebug.bash
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Students and certain non-profit organizations may qualify for a free LANforge software license. For students, the LANforge software must be used on personal machines. If LANforge is to be used on a school's machines, or mandated as part of the in-class curriculum, licenses will need to be purchased. Charitable non-profit organizations may also qualify for free licenses.
If you believe you might qualify, and would like free LANforge software licenses, please send email to support@candelatech.com explaining your status and/or organization and describing how you wish to use LANforge.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Our LANforge-GUI, LANforge-ICECap and some other tools are already released as source code under the GPL.
Candela Technologies Inc is willing to license you the source code to the proprietary parts of LANforge under certain circumstances. Contact us if you wish to learn more.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
The nc200* image that is used with the LANforge appliance can also boot from a USB storage device on many machines. Assuming your hardware is supported, this is a good way to try out LANforge without having to install Linux from scratch. Unless your machine has exactly 4 ethernet interfaces, you will must reconfigure LANforge to be aware of your network cards once the system has booted. All changes will be saved through reboots (using the USB disk as storage.)
Please note, if you use the wrong of= argument for dd, you can easily completely corrupt your system, requiring a complete re-install. If you have questions, or are un-sure of something, please contact support@candelatech.com before continuing!
bunzip2 nc200*.img.bz2
dd-removable --list
\\?\Device\Harddisk2\Partition0 link to \\?\Device\Harddisk2\DR12 Removable media other than floppy. Block size = 512 size is 512483328 bytes
In this case the output device (of=) is: \\?\Device\Harddisk2\Partition0
Please note the size (512 MB in this case). If the size does not match your USB disk, you are probably looking at the wrong device! In the example above, \\?\Device\Harddisk2\Partition0 is actually a Compact Flash disk. That is, if you have Compact Flash cards and/or USB disks discovered be careful about which you overwrite. You may have existing partitions on the media, but that does not matter. All data on the USB disk will be destroyed when you run the dd command below.
dd-removable --progress if=nc200.4.4.9.img of=\\?\Device\Harddisk2\Partition0 bs=4k
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Please note, if you use the wrong of= argument for dd, you can easily completely corrupt your system, requiring a complete re-install. If you have questions, or are un-sure of something, please contact support@candelatech.com before continuing!
bunzip2 nc200*.img.bz2
dmesg | tail -40
You are looking for something similar to this:
SCSI device sda: 1000944 512-byte hdwr sectors (512 MB) sda: Write Protect is off sda: Mode Sense: 43 00 00 08 sda: assuming drive cache: write through sda: sda1
Please note the (512 MB). If the size does not match your USB disk, you are probably looking at the wrong device! In the example above, /dev/sda is the USB disk, and /dev/sda1 is the first partition. You may have more or no partitions, but that does not matter. All data on the USB disk will be destroyed when you run the dd command below.
dd if=nc200*.img of=/dev/sda bs=4k
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
must hit a key within 3 seconds to get into the boot-loader, and then hit some other key (not ENTER) within 3 seconds to select the correct boot image. In most cases, this will be the fifth option (Generic P-II, USB Bootable, VGA-Console)
GNU GRUB version 0.97 (638K lower / 505792K upper memory)
+-------------------------------------------------------------------------+
| Candela Technologies Linux 2.6.18.2 (Appliance) |
| Candela Technologies Linux 2.6.18.2 (Appliance, USB Bootable) |
| Candela Technologies Linux 2.6.18.2 (Generic P-II, VGA-Console) |
| Candela Technologies Linux 2.6.18.2 (Generic P-II, Serial-Console) |
| Candela Technologies Linux 2.6.18.2 (Generic P-II, USB Bootable, VGA-> |
| Candela Technologies Linux 2.6.18.2 (Generic P-II, USB Bootable, Seri> |
| |
| |
| |
| |
| |
| |
+-------------------------------------------------------------------------+
Use the ^ and v keys to select which entry is highlighted.
Press enter to boot the selected OS, 'e' to edit the
commands before booting, 'a' to modify the kernel arguments
before booting, or 'c' for a command-line.
cd /home/lanforge
./serverctl.bash stop
./lfconfig --new_layout
> Make appropriate changes, including setting the mgt_dev to a device that
exists on your machine (eth0 is a good option).
> config
./serverctl.bash start
use it to connect to the management ethernet port on the USB-booted LANforge machine.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
These instructions are intended for users who do not have a built-in floppy drive in the machine being used to run the LANforge bootable CD-ROM.
/etc/init.d/bbc_lanforge start
cd /home/lanforge ./serverctl.bash stop
insmod /lib/modules/2.6.18.2/kernel/drivers/usb/host/uhci-hcd.ko
mount /mnt/rw/floppy
cp /mnt/rw/floppy/license.txt /home/lanforge
./serverctl.bash start
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
The complete LANforge database is typically saved in the following directory:
/home/lanforge/DB
Within that directory you will find various saved directories that contain LANforge databases.
You can restore a single database by copying a saved directory to the /home/lanforge/DB directory.
A refresh of the GUI should show the new database on the Status tab under the “Test Configuration Database→List:” drop down menu. Then just choose the Load Behavior for the new database and click “Load”
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Generally, the kernel version should be upgraded match the LANforge software version which is found on the LANforge software downloads page.
/usr/local/bin/kinstall_ct<You current kernel version>.bash
cd /home/lanforge
./serverctl.bash stop * Backup the existing installation using the following commands:
cd /home tar -cvzf lanforge_bkup.tar.gz lanforge
./lfconfig –new_layout
./serverctl.bash start
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Uninstall the old one using add-remove-programs or the uninstall program menu option. To install the new GUI, just run the installer and follow the directions.
your configuration database!
To upgrade the LF0200 or CT920 appliance, you can either upgrade the server and kernel components as described above for Linux, or you can upgrade the entire compact-flash (CF) image. The latter may be easier, and will also include any other upgrades to the basic Operating System configuration and components, but you will lose your LANforge configuration.
As of LANforge Release 4.4.10 the CF image requires a 1GB CF card with a true minimum size of 1039417344 bytes. For example, RiDATA Pro 1GB Model CFR1G-SILV is known to work whereas a SANDisk Ultra II 1.0GB is too small. To be safe, any 2GB CF card should work fine.
As of LANforge Release 5.0.6 the CF image requires a 2GB CF card.
Please note, if you use the wrong of= argument for dd, you can easily completely corrupt your system, requiring a complete re-install. If you have questions, or are un-sure of something, please contact support@candelatech.com before continuing!
dmesg | tail -40
You are looking for something similar to this:
SCSI device sda: 1000944 512-byte hdwr sectors (512 MB) sda: Write Protect is off sda: Mode Sense: 43 00 00 08 sda: assuming drive cache: write through sda: sda1
Please note the (512 MB). If the size does not match your CF disk, you are probably looking at the wrong device! In the example above, /dev/sda is the CF disk, and /dev/sda1 is the first partition. You may have more or no partitions, but that does not matter. All data on the CF disk will be destroyed when you run the dd command below.
dd if=nc200*.img of=/dev/sda bs=4k
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Please note, if you use the wrong of= argument for dd, you can easily completely corrupt your system, requiring a complete re-install. If you have questions, or are un-sure of something, please contact support@candelatech.com before continuing!
As of LANforge Release 5.0.6 the CF image requires a 2GB CF card.
bunzip2 nc200*.img.bz2
\\?\Device\Harddisk2\Partition0 link to \\?\Device\Harddisk2\DR12 Removable media other than floppy. Block size = 512 size is 512483328 bytes
Please note the size is 512 MB. If the size does not match your CF disk, you are probably looking at the wrong device! In the example above, \\?\Device\Harddisk2\Partition0 is the CF disk. You may have partitions, but that does not matter. All data on the CF disk will be destroyed when you run the dd command below.
dd-removable --progress if=nc200.4.4.9.img of=\\?\Device\Harddisk2\Partition0 bs=4k
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
When using the LANforge layer-4 endpoint feature, you can build your URL such that LANforge will attempt to log in to the destination machine as a particular user with a particular password. The syntax is:
ftp://user:password@ftp.my.site:8021/README
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Please note: It is usually a bad idea to force the speed of an interface. If possible, leave in Auto-negotiate mode. Contact support@candelatech.com if you have questions.
LANforge supports setting the ethernet port speeds through the GUI and CLI. The CLI Scripts page offers the lf_verify.pl script that has an example of setting the port speeds through the CLI. Information on how to set it through the GUI can be found in this section of the LANforge GUI Users Guide
To manually change the ethernet port speeds without using LANforge, you can use the ethtool program available on most Linux distributions. 'man ethtool' will give you details on program usage.
If you wish to ensure that the ports are back to their 'default' behaviour, you can follow these steps:
cd /home/lanforge
./serverctl.bash stop * Remove the ports database: rm DB/DFLT/ports.db* * Reboot all Data Generating machines, from the console: reboot * When the machines are back online, the drivers will have default values.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
We suggest installing on Fedora Core 5. Google something like “how to install Fedora Core 5” or “installing Fedora Core 5” and you will find helpful sites such as:
[[http://docs.fedoraproject.org/fedora-install-guide-en/fc5/|http://docs.fedoraproject.org/fedora-install-guide-en/fc5/]] [[http://stanton-finley.net/fedora_core_5_installation_notes.html|http://stanton-finley.net/fedora_core_5_installation_notes.html]] [[http://www.howtoforge.com/perfect_setup_fedora_core_5|http://www.howtoforge.com/perfect_setup_fedora_core_5]]
Other distributions should work fine so long as you install the correct Linux kernel. In order for the feature that allows you to have multiple ports on the same subnet, on the same machine, work, you must have arp_filter support compiled into your Linux kernel (the LANforge install script will warn you if it does not exist). Any kernel of version 2.4.5-pre3 or higher should support arp_filter. For Armageddon, MAC-VLANs, and kernel-ICE to work, you must patch your kernel with the Candela patch(es) found in the LANforgeExtras download or use a pre-compiled LANforge Linux kernel.
You can download the Linux kernel and patches from www.kernel.org See the Linux Kernel-HOWTO for detailed instructions on how to compile and install the Linux kernel.
For more detailed instructions, see the LANforge Server Install Guide
Note that Candela Technologies will take care of all these issues for those who acquire LANforge pre-installed from Candela Technologies or one of our resellers!
LANforge now supports many features on Microsoft Windows 2000 and Windows XP. See the LANforge Server Install Guide for details.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
One possibility is bad hardware, including a bad NIC and/or bad network cable. A link speed mis-match can also cause these and other errors. You can get a link speed mis-match by forcing one NIC to a certain speed and letting the other side auto-negotiate, for example.
Please contact support@candelatech.com if you continue to see Carrier or other ethernet driver errors.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
LANforge-ICE now supports two modes: bridged and routed.
In bridge mode, LANforge-ICE acts as a transparent 'lump' in the ethernet wire. You can think of it as an ethernet hub when setting up your network. It specifically does NOT route packets, but merely transmits all packets coming in on one port to the other port. When using using a WanLink (LANforge-ICE connection) the LANforge system will force the IP addresses on the WanLink ports to be 0.0.0.0. You can still communicate to the device over the management port.
In routed mode, LANforge-ICE still acts like a bridge internally, but through the use of the redirect-device feature in the Candela Linux kernel, the end result is a network emulator that can act like a router. See the routed mode section of the LANforge-ICE Cookbook or the LANforge-GUI User Guide for more details. Routed LANforge-ICE is not currently supported on Microsoft Windows.
LANforge-ICE can work on ethernet or 802.1Q VLAN interfaces, and has the ability to bridge VLANs with different VLAN ids. This VLAN support can be combined with a VLAN-aware ethernet switch to provide 48 or more independent emulated networks with only 3 relatively inexpensive machines.
When connecting a PC to a LANforge-ICE port, you may need to use a cross-over cable, but if you are connecting LANforge-ICE to a switch or hub, a regular cable should be used in most cases.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
NOTE: It is suggested that the user use 'AUTO' for backlog buffer unless they understand and want different settings.
| Connection Type | Backlog Buffer | Speed (bps) | Latency |
|---|---|---|---|
| T1 | 8-64 | 1544000 | 20ms + |
| DSL | 6-64 | 128Kbps - 512Kbps upload 512Kbps to 6Mbps download | 40ms download 60ms upload |
| Satellite | 32-256 | 56Kbps - 1Mbps upload 512Kbps to 20Mbps download (Service varies widely!) | 150ms both directions (at least!) |
| Cable Modem | 8-64 | 128Kbps - 512Kbps upload 512Kbps to 6Mbps download | 40ms download 60ms upload |
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Students use LANforge-FIRE to generate different types of traffic and sniff the network with Wireshark or other network sniffers to determine what type of traffic is being sent where. Possible coverage of the following topics:
Students build on their previous knowledge and experience using LANforge-FIRE to go into more detail and begin using LANforge-ICE. Possible coverage of the following topics:
Students are given a network design problem and asked to simulate it using LANforge-FIRE and LANforge-ICE. Possible coverage of the following topics:
Throughout the course, students can use the LANforge box to study Linux topics such as:
Students developing or deploying network based application use LANforge to test and determine:
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
GPRS/GRPS is a packet data protocol that runs over cell phones, primarily. It is relatively slow, and has lots of latency and jitter. LANforge-ICE can emulate a GRPS network connection, you just need to enter the correct values into your WanLink.
Please see this research paper on TCP and GPRS/GRPS called Practical Experience with TCP over GPRS
There are some other papers available on P. Stuckmann's site. For additional resources from P. Stuckmann search Google for “P Stuckmann GPRS” or “P Stuckmann GRPS”.
Here are the numbers to plug into LANforge to emulate the settings described in the paper above.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
DSL is typically an asymetric offering, with higher download speeds than upload speeds. Typical download speeds are 512kbps - 1.54Mbps and typical upload speeds are 128kbps - 512kbps. Cable modems are also asymetric, with similar upload speeds to that of DSL. The download speeds are often higher, ranging up to 3Mbps in many cases.
It really depends on what the local DSL & Cable providers are selling, however.
A good estimate for latency would be 35ms in both directions for a round-trip-time of 70ms.
Packet loss should be rare providing you are not overloading the network under test (and overloading the network will drop packets independently of the packet-loss settings in LANforge anyway). Packet duplication and reordering should be extremely rare events.
Cable & DSL emulations should have a backlog buffer of 16-32 in most cases. Larger buffers can seriously increase latency and/or make TCP/IP run sub-optimally.
ISPs almost always oversell their bandwidth and assume that not everyone will be using the resources at the same time. This means that there will be times, and perhaps repeating periods of the day, when latencies, bandwidth constriction and packet loss are MUCH higher. For these bad-case scenarios try setting latency to 150ms in both directions, packet-loss of 2%, and bandwidth constriction of 1/5th of normal. You may also want to use the LANforge-ICEcap tool to capture latencies and packet loss on real networks that your typical customers use.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
The CT970-24 and CT970-48 (see: http://www.candelatech.com/lf_systems.php) utilizes an 802.1Q VLAN switch and LANforge's ability to use and manage 802.1Q VLANs to provide large numbers of unique emulations per physical machine. In addition to the LANforge-ICE machine, you will need a Linux system set up to act as a VLAN bridge. Candela sells the complete solution, but if you wish to provide your own bridge system, you can use a script similar to this to create the bridge group:
#!/usr/bin/perl
use strict;
my $i;
my $mx_vlans = 24;
my $start_vid = 101;
my $vlan_dev = "eth3";
my $upstream_dev = "eth2";
print "Creating $mx_vlans on ethernet port $vlan_dev\n";
`ifconfig $vlan_dev up`;
`ifconfig $upstream_dev up`;
for ($i = $start_vid; $i < ($start_vid + $mx_vlans); $i++) {
`vconfig add $vlan_dev $i`;
`ifconfig $vlan_dev.$i 0.0.0.0 netmask 0.0.0.0 up`;
}
print "Adding bridge group.";
`brctl addbr br0`;
`brctl addif br0 $upstream_dev`;
for ($i = $start_vid; $i < ($start_vid + $mx_vlans); $i++) {
`brctl addif br0 $vlan_dev.$i`;
}
`ifconfig br0 up`;
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
echo 1 > /proc/sys/net/ipv4/tcp_tw_recycle
Contact Candela Technologies if you still have performance problems, we may be able to offer advice tailored specifically for you.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Solaris seems to default to very conservative tcp stack configuration with regard to running at decent speeds over a high-latency link. Here is some general information on the theory, and some specific resources for tuning Solaris to run faster over such links.
Here is a good link showing how latency affects bandwidth, and how to tune Solaris to make it run better on high-latency links. http://www-unix.gridforum.org/mail_archive/data-wg/pdf00000.pdf
Here is another page on tuning/diagnosing the Solaris tcp stack. http://www.jimparker.co.uk/technotes/tcp-tuning-solaris.html
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
For moderate needs, a modern multi-core processor, 1GB+ RAM, and Intel pci-e NICs is a good choice.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
To enable the Armageddon accellerated packet generator, MAC-VLAN virtual interfaces, and several other neat features that LANforge can use if present, you must patch the Linux kernel, compile it, and install it. These directions assume you are using RedHat 9 or higher, but most of the steps will be identical on other Linux distributions as well. Please note that the LANforge-ICE kernel module is NOT included in the patch and is proprietary code. You will have to use a pre-built LANforge kernel to use kernel-mode ICE. If you are skilled at these things, you can use our patch and build a kernel that can load the wanlink module found in our pre-compiled kernels.
You can also download pre-compiled LANforge Linux kernels here
tar -xvzf linux-2.6.13.tar.gz
found in the src/ directory on the CDROM, or in the LANforgeExtras downloadable package.
cd linux-2.6.13 patch -p 1 < candela_2.6.13.patch cd ..
First, copy the Candela kernel configuration file into place. This will be the basis of your configuration. Then we will start the Linux configuration tool.
cp kernel26_p4s.cfg linux-2.6.13/.config cd linux-2.6.13 make xconfig
At this point, you will need to at least specify the correct CPU that this kernel will be used with. Armageddon requires a CPU that is Pentium class or better. You can select the CPU by clicking on the “Processor type and features” button in the kernel xconfig GUI.
When done with the configuration, click on the “Save and Exit” button.
First, make the dependencies, and then the kernel and it's modules. Finally, we'll install the modules and the kernel. You may have to edit /etc/lilo.conf or /etc/grub.conf to enable the selection of the new kernel.
make dep make bzImage make modules make modules_install make install
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
First, get the EE ready to work by logging into it's serial console and running the commands:
scan join
Then create some VSTAs on the emulation engine. You will need to use a range of MAC addresses that relate to your particular EE. The EE will print it's MAC when you log into it from it's serial console. The command below creates 64 VSTAs in layer-2 external mode, starting with MAC 00:0b:6b:30:05:01. Layer-3 mode can also work with LANforge, but Layer-2 is easier to configure and works with more protocols in LANforge:
autoconf 64 mac 00:0b:6b:30:05:01 mode external layer 2
Start all of the VSTAs:
run vsta all
Now, create an appropriate number of MAC-VLANs in LANforge. The easiest way is to use the 'Create' button on the Ports tab in the GUI. The starting MAC address range should match the command given to the EE CLI.
Make sure that the wired ethernet interface on the EE plugs into the LANforge port that has the MAC-VLANs configured on it. The peer LANforge endpoints should be on a network or interface connected to the wired side of your Wireless Access Point (AP). The EE and AP will act like a bridge, so the LANforge endpoints should be on the same subnet.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
First, you must patch the 'mount' tool in the util-linux package to be able to bind to a local IP address. If you are using a kernel earlier than 2.6.23, apply the 'mount.patch' found in the LANforge-Extras package on the Downloads page and build as normal. If you are using a 2.6.23 or higher kernel, use the pre-patched nfs-utils-fc8-ct.tar.gz download from the same directory that contained the LANforge release. Save your old mount binaries aside and copy the new one into it's place. If you are using a pre-configured kernel from the Candela downloads page, it will already have the NFS related kernel patches applied. If you want to compile your own kernel, get the candela-2.6.X.X.patch from the LANforge-Extras package and use it to patch your kernel.
NOTE: There are some scripts to automate this. See the end of this section for details. Doing things manually will give you more flexibility, however.
Now, create several virtual interfaces in LANforge, giving them appropriate IP addresses. This can be done on the 'Port-Mgr' tab in the LANforge-GUI.
After the ports have been created, create local mount points in the file system, for instance:
mkdir /mnt/nfs1 mkdir /mnt/nfs2 mkdir /mnt/nfs3 ...
Next, add the mount point to the /etc/fstab file. In the example below, it is assumed that the NFS server's IP address is 172.2.2.2 and that the server is exporting the export/nfs* directories. It is also assumed that you have several virtual interfaces on the 172.2.2.X subnet. For kernel 2.6.20-12 and below (LANforge 5.0.4 and below)
172.2.2.2/export/nfs1 /mnt/nfs1 nfs noauto,local_ip=172.2.2.3 0 0 172.2.2.2/export/nfs1 /mnt/nfs2 nfs noauto,local_ip=172.2.2.4 0 0 172.2.2.2/export/nfs2 /mnt/nfs3 nfs noauto,local_ip=172.2.2.5 0 0 ...
For kernel 2.6.23 and above (LANforge 5.0.5 and above), use this format:
172.2.2.2/export/nfs1 /mnt/nfs1 nfs noauto,clientaddr=172.2.2.3 0 0 172.2.2.2/export/nfs1 /mnt/nfs2 nfs noauto,clientaddr=172.2.2.4 0 0 172.2.2.2/export/nfs2 /mnt/nfs3 nfs noauto,clientaddr=172.2.2.5 0 0 ...
After setting up the /etc/fstab file similar to that above, you mount the NFS server:
mount /mnt/nfs1 mount /mnt/nfs2 mount /mnt/nfs3 ...
Now, you can create File-IO tests in the LANforge GUI and configure the /mnt/nfs* directories to be used for reads and writes. As LANforge (or other tools) read and write files to the mount points, the traffic will go over the virtual interfaces, and the NFS server will believe that multiple individual machines are accessing it.
Automating NFS & CIFS testing with scripts:
lf_macvlan.pl mgr=localhost lf1=1 lf2="" lf1_ports=0 lf2_ports="" cx_types=fileIONFS \ num_mvl=10 min_rate=1000000 max_rate=1000000 one_per_port=0 fsrw=write ip_base=172.100 \ ip_c=1 ip_lsb=2 ip_msk=255.255.0.0 create_only=1
./create-mounts.sh NFS eth6 0 9 172.100.1.1 /mnt/d2 /mnt/fio_base
After the tests are created and the mount points created and mounted, you can go to the LANforge-GUI and start selected tests.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
First, you must patch the 'samba' application, which acts as the SMB client and/or server to be able to bind to a local IP address. Apply the 'samba_local_bind.patch' found in the http://www.candelatech.com/oss/ directory and build and install as normal. There are no kernel-specific changes needed, so any kernel that works with LANforge will be ok.
NOTE: This can be automated with scripts. See the bottom of this entry for more details.
Now, create several virtual interfaces in LANforge, giving them appropriate IP addresses. This can be done on the 'Port-Mgr' tab in the LANforge-GUI.
After the ports have been created, create local mount points in the file system, for instance:
mkdir /mnt/smb1 mkdir /mnt/smb2 mkdir /mnt/smb3 ...
Next, add the mount point to the /etc/fstab file. In the example below, it is assumed that the SMB server's IP address is 172.2.2.2 and that the server is sharing the smb* directories. It is also assumed that you have several virtual interfaces on the 172.2.2.X subnet. The key is the local_ip and the local_dev settings. The IP should be the IP on the local device (interface).
//172.2.2.2/smb1 /mnt/smb1 cifs noauto,local_ip=172.2.2.3,local_dev=eth2#0,username=lanforge,password=lanforge 0 0 //172.2.2.2/smb1 /mnt/smb2 cifs noauto,local_ip=172.2.2.4,local_dev=eth2#1,username=lanforge,password=lanforge 0 0 //172.2.2.2/smb2 /mnt/smb3 cifs noauto,local_ip=172.2.2.5,local_dev=eth2#2,username=lanforge,password=lanforge 0 0 ...
After setting up the /etc/fstab file similar to that above, you mount the SMB server shares:
mount /mnt/smb1 mount /mnt/smb2 mount /mnt/smb3 ...
You can also pass the local_ip and local_dev arguments directly to the smbmount tool if you do not wish to use the fstab.
Now, you can create File-IO tests in the LANforge GUI and configure the /mnt/smb* directories to be used for reads and writes. As LANforge (or other tools) read and write files to the mount points, the traffic will go over the virtual interfaces, and the SMB server will believe that multiple individual machines are accessing it.
Automating CIFS testing with scripts:
lf_macvlan.pl mgr=localhost lf1=1 lf2="" lf1_ports=0 lf2_ports="" cx_types=fileIOCIFS \ num_mvl=10 min_rate=1000000 max_rate=1000000 one_per_port=0 fsrw=write ip_base=172.100 \ ip_c=1 ip_lsb=2 ip_msk=255.255.0.0 create_only=1
./create-mounts.sh CIFS eth6 0 9 172.100.1.1 /mnt/d2 /mnt/fio_base
After the tests are created and the mount points created and mounted, you can go to the LANforge-GUI and start selected tests.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
On Linux and Solaris, just use the Port-Mgr tab (modify port) in the LANforge GUI.
For windows: See this link for detailed information: http://www.microsoft.com/technet/network/ipv6/ipv6faq.mspx The rest of the windows commands expect to be run from a Command window.
ipv6 install
ipv6 -p adu {3AD34912-1F82-422C-8609-47C3EAC4ADC0}/2000::10
If your windows PC has both IPv4 and IPv6 addresses, you may need to follow the instructions at this link to properly set the prefix policy: http://oldwiki.openwrt.org/IPv6_howto.html#head-e3a3af5ba5b2a7f8f19e50a41276f883d9374bc4
For current LANforge releases, you can just use the GUI to set the preferred fixed address (or DHCP) from the Port-Mgr tab just as you would configure any other interface. For older releases, or if you prefer to do it manually, see below.
Please Note: You shoud NOT change the management interface's IP address while LANforge is running. You should first stop LANforge, then change the IP, then start LANforge again. Or, you can just reboot the machine and the new settings will take affect automatically.
To stop LANforge issue the command:
/home/lanforge/serverctl.bash stop
For Redhat, Fedora, and similar systems, you will edit the /etc/sysconfig/network-scripts/ifcfg-device-name file. These examples assume the management interface is called 'eth3'. Your system may be using a different management interface! A DHCP configuration file looks similar to:
DEVICE=eth3 ONBOOT=yes BOOTPROTO=dhcp
To change to a fixed address, use settings similar to:
DEVICE="eth3" ONBOOT="yes" BOOTPROTO="static" NM_CONTROLLED="no" IPADDR="192.168.1.101" NETMASK="255.255.255.0"
You may also want to configure the default Gateway/Router for the system by editing the /etc/sysconfig/network adding a line similar to:
GATEWAY="192.168.1.1"
To have the new settings take affect, you can bring the interface down and back up again with the commands (as user root):
ifdown eth3 ifup eth3
OR if connected via IP:
(ifdown eth3; ifup eth3)
OR as root issue:
# service network restart
To start LANforge issue:
/home/lanforge/serverctl start
Alternatively, reboot the system and LANforge will start automatically:
# reboot
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
If you order a complete hardware solution from Candela, everything will already be installed and configured for you. You may still want to look at the Digium PPP instructions at the bottom since it explains how to configure particular T1s and channels to run PPP.
will need to download the main kernel source from www.kernel.org and then patch with the appropriate candela patch (found in the LANforgeExtras package.)
2.6 distributions, such as Fedora Core 2, fix the 'build' and 'source' links in /lib/modules/`uname -r`/ to link to the source.
cd /usr/src
export CVSROOT=:pserver:anoncvs@cvs.digium.com:/usr/cvsroot cvs login - the password is **anoncvs** cvs -z3 co zaptel libpri asterisk #Uncomment the following line in zconfig.h of the Zaptel package: cd zaptel vim zconfig.h #define CONFIG_ZAPATA_PPP make clean; make install # In the zaptel directory.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
LANforge's PPPoE support has been tested with the Roaring Penguin PPPoE server. Here is a short guide to configuring it. Please see your PPPoE server's documentation for more detailed configuration information.
HOW TO SET UP PPPOE-SERVER FOR USE WITH LANFORGE
The following configuration works:
1. On the LANforge (PPPoE client) side:
Create a PPP-Link. Use the default configation, except: - Unit-Number = 0 (or a higher number if you are using 0). - Select correct Shelf and Card for the client machine. - (Local-IP and Remote-IP should remain 0.0.0.0 because these are assigned by the server) - Debug = ON (not necessary to make it work) - (Auth should remain OFF). - Persist = OFF (setting it to ON means LANforge won't log unexpected losses of pppd connection, though this is fine as long as this is what you want) - Transport Type = PPPoE - PPPoE-Port = the chosen ethernet interface. Note that the (MGT) interface works fine. 2. On the server side: - Create /etc/ppp/pppoe-server-options containing these lines: ------------- SNIP debug noauth ------------- SNIP noauth makes it so the client does not need to authenticate itself. Alternatively you can use chap authentication via the /etc/ppp/chap-secrets file on both client/server sides, and 'name <user>' on the client side. - Use this script to run it: pppoe-server -I eth0 -L 192.168.140.1 -R 192.168.140.2 -F The IP addresses should be in a /24 subnet you are not already using. The client will be handed IP addresses starting from 192.168.140.2. A successful debug output on the client side (in /home/lanforge/pppLogs/ppp0-eth<whatever>.log) looks like this: using channel 50 Using interface ppp0 Connect: ppp0 <--> /dev/pts/2 sent [[LCP|ConfReq id=0x1 <asyncmap 0x0> <magic 0x48c0c8c1> <pcomp> <accomp>]] rcvd [[LCP|ConfReq id=0x1 <magic 0x90d3ec0d>]] sent [[LCP|ConfAck id=0x1 <magic 0x90d3ec0d>]] rcvd [[LCP|ConfRej id=0x1 <asyncmap 0x0> <pcomp> <accomp>]] sent [[LCP|ConfReq id=0x2 <magic 0x48c0c8c1>]] rcvd [[LCP|ConfAck id=0x2 <magic 0x48c0c8c1>]] sent [[LCP|EchoReq id=0x0 magic=0x48c0c8c1]] sent [[CCP|ConfReq id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]] sent [[IPCP|ConfReq id=0x1 <compress VJ 0f 01> <addr 192.168.137.6>]] rcvd [[LCP|EchoReq id=0x0 magic=0x90d3ec0d]] sent [[LCP|EchoRep id=0x0 magic=0x48c0c8c1]] rcvd [[LCP|EchoRep id=0x0 magic=0x90d3ec0d]] rcvd [[IPCP|ConfReq id=0x1 <addr 192.168.140.1>]] sent [[IPCP|ConfAck id=0x1 <addr 192.168.140.1>]] rcvd [[CCP|ConfReq id=0x1]] sent [[CCP|ConfAck id=0x1]] rcvd [[CCP|ConfRej id=0x1 <deflate 15> <deflate(old#) 15> <bsd v1 15>]] sent [[CCP|ConfReq id=0x2]] rcvd [[IPCP|ConfRej id=0x1 <compress VJ 0f 01>]] sent [[IPCP|ConfReq id=0x2 <addr 192.168.137.6>]] rcvd [[CCP|ConfAck id=0x2]] rcvd [[IPCP|ConfNak id=0x2 <addr 192.168.140.2>]] sent [[IPCP|ConfReq id=0x3 <addr 192.168.140.2>]] rcvd [[IPCP|ConfAck id=0x3 <addr 192.168.140.2>]] Cannot determine ethernet address for proxy ARP local IP address 192.168.140.2 remote IP address 192.168.140.1 Script /etc/ppp/ip-up started (pid 4188) Script /etc/ppp/ip-up finished (pid 4188), status = 0x0
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
First, download and install Asterisk from www.asterisk.org. To build/install, I used these commands (see their README):
make make install make samples
Then added these lines to /etc/asterisk/sip.conf:
; Grandstream [1001] type=friend host=dynamic ; cisco phone [1002] type=friend host=dynamic
Then add these lines to /etc/asterisk/extensions.conf:
exten => 1001,1,Dial(SIP/1001,200,tr) exten => 1002,1,Dial(SIP/1002,200,tr)
My phones register as phone numbers 1001 and 1002. There may be a better way to do it, but with this config I was able to make calls…
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
All that is required is to add the .csv file extension to the spreadsheet file you wish to import into OOCalc. Excel automatically recognizes the default .txt extension and imports correctly.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Insert a column after the Unix timestamp and enter the following formula into the first blank cell of the new column:
((A2/1000)+(-8*3600)+((365*70+19)*86400))/86400
Copy this formula down the entire column ensuring that the A2 element of the formula increases down the column.
Format the new column so that the cells are in Date format:
MM/DD/YYYY HH:MM:SS.000
which will show the date and time with milliseconds.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
By default, Windows does not support QoS. To enable it, please see this page: http://support.microsoft.com/default.aspx?scid=kb;EN-US;q248611
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Sometimes, the animated graphs shown after clicking the Display button will be blurry or rendered incorrectly. This might be due a combination of interactions between Windows, Direct3D, Java and graphics card driver. Workarounds for the problem are documented under SUN Java bug 6213204. The workarounds involve changing the way the graphics driver performs 3D aliasing and/or invoking Java without Direct3D using one or more of the following the command line flags:
-Dsun.java2d.d3d=false -Dsun.java2d.ddoffscreen=false -Dsun.java2d.noddraw=true
Example:
jre\bin\java.exe -cp lfclient.jar;./ -Dsun.java2d.d3d=false candela.lanforge.lfclient
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
On Windows XP, perform the following for every “LAN Area Connection” that will be used by LANforge ICE:
Click Start then click Network Connections to open the "Network Connections" window.
OR Click Start, Control Panel, Network and Internet Connections, and finally click Network
Connections.
Right click "LAN Area Connection N", where N is the number of the LAN connection you want to use with LANforge ICE. For the first LAN Area Connection of your system N will be blank.
Click on Properties to bring up the "Local Area Connection N Properies" window.
Under "The connection uses the following items:", scroll down to "Internet Protocol (TCP/IP)" and uncheck the box.
Click "OK" and the LAN Area Connection is ready to use with LANforge ICE.
For other Windows versions the procedure is similar, the key is to disable “Internet Protocol (TCP/IP)” on the LAN Area Connetion. Other services such as “QoS Packet Scheduler” should probably be disable although we have not noticed any impact to LANforge performance.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
LANforge ICE injects serialization delay for packets which might be the reason why the measured latency is higher than the configured latency.
Serialization Delay (ms) = Size of Packet (bits) / Transmission Rate (kbps)
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Please use PuTTY, which can be downloaded here: putty.exe
For PuTTY, you need the following Telnet settings under Terminal: disable “Auto wrap mode initially on” and enable “Implicit CR in every LF”, all other Telnet settings are default PuTTY.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
LANforge Data Generator REG_SZ C:\Program Files\LANforge-Server\lfserver.bat
LANforge Manager REG_SZ C:\Program Files\LANforge-Server\lfserverm.bat
My Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
NOTE: Low powered machines and low-memory machines may see a significant performance drop if VNC is running.
yum install vnc-server
vi /etc/sysconfig/vncservers
VNCSERVERS="1:lanforge"
VNCSERVERARGS[[1]]="-geometry 1280x1024"
su - lanforge
vncpasswd
ntsysv
/etc/init.d/vncserver start
vi /home/lanforge/.vnc/xstartup
#!/bin/sh
vncconfig -nowin &
# Uncomment the following two lines for normal desktop:
unset SESSION_MANAGER
exec /etc/X11/xinit/xinitrc
[|-x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[|-r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
#vncconfig -iconic &
xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
twm &
/etc/init.d/vncserver restart
vncviewer [ip of lanforge machine]:1
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
No. LANforge should work with any NIC that the host OS supports. However, we suggest Intel PCI-e NICs for good stability and performance.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
is installed on Linux, then the Armageddon feature will run with real-time scheduling, possibly giving you better performance. It can also lock up the system if you use this on a very fast network, very slow CPU, and very fast traffic rate configured into the Armageddon endpoint on all Armageddon threads.
installed, the process will sleep for 10 seconds before it starts doing anything. If you are fast, you can attach with a debugger during this time, for instance.
installed, kernel mode WanLink processes will never use relative timestamps, even if the cpufreq does not appear to be active. This is needed on at least some Intel Atom processor systems where the CPU and/or BIOS appears to run CPU-freq scaling without any help or hindrance from the OS.
Candela Technologies, Suite A, 2026 Main Street, Ferndale, WA 98248, USA | www.candelatech.com | sales@candelatech.com | +1 360 380 1618 (PST, GMT -8)
Munin is a client/server tool that allows you to monitor many different types of data on your systems. Several plugins are available at the Munin Exchange. The one discussed here is: if-v2 for wireless statistics. These instructions are for a Fedora OS installation.