How to install the
emulation package, version 2.0.12
Note: These install instructions are for version 2.0.12. If
you choose instead an older version, follow the instructions included
with it.
- Prerequisites: NIST Net version 2.0.12 should run on most versions of
Linux available today. It has been tested on 2.0.xx (2.0.27 - 2.0.39),
2.2.xx (2.2.5 - 2.2.18) and 2.4.xx (2.4.0 - 2.4.18) level kernels. Some
tweaking may be required for 2.1 or 2.3 kernels. It should
compile with either "linux" libc headers or "glibc" libc headers, with the
proviso that of course kernel files can't be compiled with glibc headers.
- Click here to get the NIST Net source
package, version 2.0.12.
The source comes in a gzipped tar file, nistnet.2.0.12.tar.gz.
- tar -xvzf nistnet.2.0.12.tar.gz - produces a directory nistnet
and a bunch of files in it. That is the directory referred to as
nistnet below.
- This version does not require any kernel patching! If you have
installed previous versions of NIST Net, and want to remove the old
patches, you can either install a fresh kernel source tree, or run
the ./Unpatch.Kernel script provided with the distribution.
- Optional: There are patches for Alpha and Sparc processors
which can be installed with the Arch.Kernel script. If you have one
of these and want to experiment with them, be my guest. Note, however,
that these patches are totally untested! Also, they haven't been
updated for the last few releases and are probably a bit out of
sync.
Sigh. Even
though you don't have to patch or compile a kernel, you still need
the configuration set up. So if you haven't done something like
this before, do the following:
- cd /usr/src/linux
- make menuconfig
- - exit and save
- make dep
For Red Hat users, there are some special instructions that come
with the package. See README.RedHat for more information.
- Check the NIST Net configuration and create the appropriate Makefile:
- cd nistnet
- ./configure
- - Decide whether or not you want
support for explicit congestion notification processing.
Also, decide whether you want COS (class of service)
selection support.
- may want to use an alternative to the
- Tested with Athena Xaw, Xaw3d, and neXtaw
- Build and install the nistnet module, API library, and user interface
- make
- make install
- Try things out:
- Load.Nistnet
- - loads "nistnet" emulator module into kernel
- xnistnet
- - runs (X-based) user interface
- cnistnet -h
- - usage info for command-line interface
- insmod mungemod
- - loads "mungebox," a sample emulator add-on
- mungebox -u -a src dest -S
- - view traffic between src and dest
- insmod nistspy
- - loads "nistspy" sample add-on (note: only
one add-on can be installed at a time)
- nistspy -u -a src port dest port
newdest newport
- - duplicate traffic to newdest/port
- To turn off:
- cnistnet -d or "off" button in xnistnet
- - turns off emulator
- nistspy -d
- - turn off duplicator
(mungebox shuts itself off automatically)
- rmmod mungemod (or nistspy)
- - removes add-on module
(must be done before removing nistnet)
- rmmod nistnet
- - removes module from kernel
- If you want to try congestion notification, ping.tar has source for
a modified version of ping which allows setting and checking the ECN bits.
To build it, you need a copy of netkit-base-0.10, available from
SunSite (www.sunsite.unc.edu)
Walnut Creek (www.cdrom.com)
and many other fine sites. Get it
and configure it, then overlay the ping code in it with the source here.
This level of testing just shows the bits being set, of course. Things
are more interesting if you have an implementation of TCP with ECN to
test with. (This is available in the latest versions of Linux, for
example.)
- For more usage information, check the README.WhatsNew file found
in the top-level nistnet directory.
Comments? Questions? Let us know at
nistnet-dev@antd.nist.gov.
[
Home Page]
[Installing NIST Net]
[Using NIST Net]
[NIST Net FAQ]