|
Lab configuration (site generic)
This page describes the (general) steps we went through to set up the Xinu
Lab for network processors.
Step 1 : Obtain one or IXP1200 Bridal Veil boards and Linux PCs to host
the boards and develop on.
Notes:
-
The Bridal Veil boards do not need to be placed in the development
machines. However the (serial) consoles of the boards should be
connected to the development front-ends.
-
Linux 6.2 or greater is recommended.
-
Microsoft could be used for development, but this documentation does
not support that approach.
-
The Linux development machines will be referred to as front-ends
throughout this document.
What to do:
-
Connect the serial console cable of each IXP1200 to one of the front-ends
or alternately to a terminal concentrator.
-
Arrange for these serial consoles to be accessable to students/researchers.
Step 2: Set up the lab for networking experiments.
Notes:
-
This step will largely depend on the networking equipment available.
-
Use standard Cat-5 ethernet cable with RJ-45 jacks.
-
Preferably use 10/100 Ethernet hubs or switches.
What to do :
-
If the Linux front-ends will be used to send traffic to the network
processors consider disabling IP Path MTU discovery. Students will have
a hard time testing projects involving IP fragmentation if the front-ends
always set the Don't Fragment bits on IP packets they fragment.
Command: echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc
Examples:
-
Plug every interface of every IXP1200 into one big switch or hub.
-
If you have a switch that can create VLANs use VLANs to create different
logical ethernet networks for experiments.
-
Wire each interface of every IXP1200 to a different switch or hub.
-
Place extra Ethernet NICs in the front-end machines and wire one or more
of the IXP1200 interfaces to those NICs via cross-over cable.
-
Wire some IXP1200 interfaces to interfaces on other IXP1200s each other
using crossover cable.
-
Make cables, hubs/switches with free ports (not connected to the
Internet) and the IXP1200 interfaces accessable in your lab so that
students/researchers can wire their own topolgies.
-
Consider using ART (Automatically Reconfigurable Testbed) software to
automatically arrange topologies for you on demand.
Step 3: Install a StrongARM cross-compiler on each front-ends.
Notes:
-
Compiler must target ARMv4 in Big Endian mode ELF binaries
What to do:
-
If you received an SDK from Intel, follow their directions to install
the compiler
OR
-
Download GCC and install it
yourself.
Example:
-
rpm -i /dev/cdrom/ixa.armbe-v4b-fcs.i386.rpm
Step 4: Install Wine on your system
Notes:
-
Used to run the Windows-based microcode compilers
What to do:
Step 5: Install the microcode C compiler, microcode assembler and linker
in a Wine-accessable location
What to do:
-
Again, the location of the installation is a site-specific choice
-
The files listed below should be in your BASEC/ixp1200 directory (where
BASEC is the path to the root of the C:\ directory in the Wine
configuration.
-
You must copy all the registry entreis from
SOFTWARE\Intel\Intel IXP1200\UengineC to the Wine system registry.
(system.reg)
-
Add c:\\ixp1200\\bin to the path in your Wine configuration file (config).
-
This process was known to work for Wine build 20020122.
-
Files needed:
-
C:\ixp1200\MicroCode\include
buf.uc
constants.uc
crc.uc
critsect.uc
cycle.uc
dram.uc
endian.uc
ether.uc
field.uc
hdbm.uc
ip.uc
ixplib.uc
mailbox.uc
packetq.uc
pci.uc
port.uc
ports_evalcard1.h
ports_si.h
ports_validcard.h
rec.h
rfifo.uc
scratch.uc
sig.uc
sram.uc
stdfunc.uc
stdmac.uc
tfifo.uc
tx.uc
xbuf.uc
-
C:\ixp1200\MicroCode\include
-
C:\ixp1200\bin
ixa_license.dll
mcpcom.exe
msvcirt.dll
uca.exe
ucc.def
uccl.exe
ucld.exe
uword.def
uword3.def
uword5.def
-
C:\ixp1200\uEngineC\include
errcode.h
ixp.h
memory.h
mutexlv.h
seml.h
stdlib.h
string.h
-
C:\ixp1200\uEngineC\include
Step 6: Install the NCL and IDL compilers and the ACE dynamic libraries
Notes:
-
These come in the SDK installation
What to do
-
- You must get this library from within the full IXA SDK installation
-
- You can find the files in the file ixa.binaries-2.0.D-fcs.i386.rpm
-
- Remember the directory you've installed these two programs in for step 4
in user specific configuration
Example:
rpm2cpio /dev/cdrom/RPMS/ixa.binaries-2.0.D-fcs.i386.rpm |
cpio -i -r "*usr*nclcomp" "*usr*tao_idl" "*usr*libACE.so"
Interactively with cpio :
rename usr/bin/nclcomp -> /p/ixasdk/bin/nclcomp
rename usr/bin/tao_idl -> /p/ixasdk/bin/tao_idl
rename usr/lib/libACE.so -> /p/ixasdk/lib/libACE.so
Step 7: Arrange remote access to the IXP1200 board
Notes:
-
This can be tricky. At Purdue we have a home-grown system.
-
At worst by default you can telnet to 192.168.0.2 (the address of
the Bridal Veil board by default). From there you can ftp files
kfrom the host machine at address 192.168.0.4 and soft-reboot the
board.
What to do:
-
Users must be able to login to the board's StrongARM component running Linux
-
Users must be able to upload programs to the IXP1200 in some manner
-
Users should probably be able to powercycle the boards
-
You probably want to export a directory via NFS to the Bridal Veil board
to make available AT LEAST the bin/arm-be directory IXA SDK.
Example:
-
On the host machine :
-
Export a directory (/home/p/ixasdk/export) to the Bridal Veil board
echo "/home/p/ixasdk/export/ 192.168.0.2(rw,no_root_squash)" \
>> /etc/exports
Modify the tcp wrappers to allow this mounting :
echo "portmap: 192.168.0.2
mountd: 192.168.0.2" >> /etc/hosts.allow
On the bridal veil board :
-
Mount the exported directory
mount 192.168.0.2:/home/p/ixasdk/export /mnt
Step 6: Connect the IXP1200 ethernet interfaces
What to do:
-
Arrange as you wish, but its a good idea to have conventions and a network
map for users.
If you have any questions or concerns about the site, please contact
<bobd@saintjoe.edu>
|