You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 13 Next »

NDT is installed on nettest5 at SLAC. This node is subject to change due to security policies etc.

Files

The installation files are in

/afs/slac.stanford.edu/u/sf/ytl/Work/TCP/Web100/slac-ndt-server/2006-08

Linux kernel linux-2.6.17.10 was downloaded and installed with this config file: nettest5.config.

The machine booted fine after the necessary modifications to grub.

AFS

However, as this is a Taylored machine, AFS needs to be installed.

Downloading the openafs-kernel-1.4.1 and configure'ing and compiling resulted in:

  CC [M]  /usr/src/kernels/openafs-kernel-1.4.1/src/src/libafs/MODLOAD-2.6.17.10-web100-MP/rx_kmutex.o
/usr/src/kernels/openafs-kernel-1.4.1/src/src/libafs/MODLOAD-2.6.17.10-web100-MP/rx_kmutex.c: In function `afs_cv_wait':
/usr/src/kernels/openafs-kernel-1.4.1/src/src/libafs/MODLOAD-2.6.17.10-web100-MP/rx_kmutex.c:126: error: too many arguments to function `refrigerator'
make[3]: *** [/usr/src/kernels/openafs-kernel-1.4.1/src/src/libafs/MODLOAD-2.6.17.10-web100-MP/rx_kmutex.o] Error 1
make[2]: *** [_module_/usr/src/kernels/openafs-kernel-1.4.1/src/src/libafs/MODLOAD-2.6.17.10-web100-MP] Error 2
make[2]: Leaving directory `/usr/src/kernels/linux-2.6.17.10'
make[1]: *** [openafs.ko] Error 2
make[1]: Leaving directory `/usr/src/kernels/openafs-kernel-1.4.1/src/src/libafs/MODLOAD-2.6.17.10-web100-MP'
make: *** [linux_compdirs] Error 2

So downloaded full source of openafs openafs-1.4.1; and compiled. Seems okay.

However, AFS init.d scripts aren't there! Poked around and found /usr/vice/etc/modload which contains loads of .ko afs modules. copied over the compiled kernel module and rebooted;

sudo cp /usr/src/kernels/openafs-1.4.1/src/libafs/MODLOAD-2.6.17.10-web100-MP/libafs-2.6.17.10-web100.mp.ko /usr/vice/etc/modload/

and it worked! yippee!

NDT Install

Downloaded ndt-3.3.12 configured, and wham!

gcc  -pedantic -Wall -O2 -DNDEBUG -L/usr/local/lib -Wl,-rpath,/usr/local/lib  -o analyze  analyze-analyze.o analyze-usage.o analyze-logging.o -lweb100 -lpcap -lm ../I2util/I2util/libI2util.a 
/usr/bin/ld: cannot find -lweb100
collect2: ld returned 1 exit status
make[2]: *** [analyze] Error 1
make[2]: Leaving directory `/afs/slac.stanford.edu/g/scs/net/netmon/TCP/Web100/slac-ndt-server/2006-08/ndt-3.3.12/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/afs/slac.stanford.edu/g/scs/net/netmon/TCP/Web100/slac-ndt-server/2006-08/ndt-3.3.12'
make: *** [all] Error 2

I haven't installed teh web100 libraries.

Downloaded web100_userland-1.6, configure'd, and make'd. however, the default installation path is /usr/local - which of course is a read-only AFS mount.

therefore, ran with ./configure --prefix=/opt/web100/current/ (symlinked to /opt/web100/web100_userland-1.6, and installed there.

Added /opt/web100/current/lib/ to /etc/ld.so.conf and ran ldconfig to add to standard library path.

Ran ./configure --prefix=/opt/ndt/current/ on NDT;

make[2]: Entering directory `/afs/slac.stanford.edu/g/scs/net/netmon/TCP/Web100/slac-ndt-server/2006-08/ndt-3.3.12/src'
gcc  -pedantic -Wall -O2 -DNDEBUG -L/usr/local/lib -Wl,-rpath,/usr/local/lib  -o analyze  analyze-analyze.o analyze-usage.o analyze-logging.o -lweb100 -lpcap -lm ../I2util/I2util/libI2util.a 
/usr/bin/ld: cannot find -lweb100
collect2: ld returned 1 exit status
make[2]: *** [analyze] Error 1
make[2]: Leaving directory `/afs/slac.stanford.edu/g/scs/net/netmon/TCP/Web100/slac-ndt-server/2006-08/ndt-3.3.12/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/afs/slac.stanford.edu/g/scs/net/netmon/TCP/Web100/slac-ndt-server/2006-08/ndt-3.3.12'
make: *** [all] Error 2

It's not picking up the libs and includes.

Spent a bit of time editing the wrong makefile, finally changed the flags in ndt-3.3.12/src/Makefile to:

CFLAGS = -pedantic -Wall -O2 -DNDEBUG -I/opt/web100/current/include/web100 -L/opt/web100/current/lib

make install seems to work fine. tree structure is:

[ytl@nettest5:/opt/ndt/current]$ tree
.
|-- bin
|   |-- aespasswd
|   |-- analyze
|   |-- tr-mkmap
|   |-- viewtrace
|   `-- web100clt
|-- lib
|   `-- libI2util.a
|-- man
|   |-- man1
|   |   |-- aespasswd.1
|   |   |-- analyze.1
|   |   |-- tr-mkmap.1
|   |   |-- viewtrace.1
|   |   `-- web100clt.1
|   |-- man5
|   |   `-- ndt.conf.5
|   `-- man8
|       |-- fakewww.8
|       `-- web100srv.8
|-- ndt
|   |-- Admin.class
|   |-- Tcpbw100$1.class
|   |-- Tcpbw100$2.class
|   |-- Tcpbw100$3.class
|   |-- Tcpbw100$4.class
|   |-- Tcpbw100$5.class
|   |-- Tcpbw100$6.class
|   |-- Tcpbw100$Message.class
|   |-- Tcpbw100$MyTextPane.class
|   |-- Tcpbw100$OsfwWorker.class
|   |-- Tcpbw100$Protocol.class
|   |-- Tcpbw100$TestWorker.class
|   |-- Tcpbw100$clsFrame.class
|   |-- Tcpbw100.class
|   |-- Tcpbw100.jar
|   |-- admin.html
|   |-- admin_description.html
|   |-- copyright.html
|   |-- web100_variables
|   `-- web100variables.html
`-- sbin
    |-- fakewww
    `-- web100srv

8 directories, 36 files

NDT Testing

You can run a server with:

[ytl@nettest5:/opt/ndt/current/sbin]$ sudo ./web100srv -a

You can run a client with

[ytl@nettest5:/opt/ndt/current/bin]$ ./web100clt -n localhost
Testing network path for configuration and performance problems  --  Using IPv4 address
Checking for Middleboxes . . . . . . . . . . . . . . . . . .  Protocol error!

on the server, we get

!!!!!!!!!!! web100_middlebox() failed to get web100 connection data, rc=4

something's gone wrong! dunno what.

what happened to the web server for ndt?? It can be run with

sudo /opt/ndt/sbin/fakewww -l /opt/ndt/current/log/fakewww.log

which opens a web browser on port 7123

however, opening a broswer results in a page which says:

"The requested file could not be found"

the log says:

[ytl@nettest5:/opt/ndt/current/log]$ cat fakewww.log 
Aug 25 17:08:38 server started, listening on port 7123
Aug 25 17:08:41 [134.79.25.58] requested file '/' - sent to client
 not found
Aug 25 17:08:42 [134.79.25.58] requested file '/favicon.ico' - access denied

There is a ndt init.d startup script in the package distro (not installed path) under the conf directory. Edited to suit installation:

path=/opt/ndt/current/sbin
FAKEWWW_OPTIONS="-l /opt/ndt/current/log/fakewww.log"

However the same error for the web page came up.

Also tried adding:

base=/opt/ndt/current/
path=$base/sbin

web100=/opt/web100/current/

export PATH=$PATH:$base/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$base/lib:$web100/lib

but same thing; it cannot find the webpage.

also noticed that there is a library in the ndt lib directory; so added to /etc/ld.so.conf:

/opt/web100/current/lib/
/opt/ndt/current/lib/

and ran /sbin/ldconfig - same; still nothing (sad)

Rich Carlson suggested to run the create-html.sh script - initially it complained that it could not find the tcpbw100.template file. it can be found in the package distro - so copied it to /opt/ndt/current/conf and ran the create-html.sh file again. It creates the file: /opt/ndt/current/conf/tcpbw100.html:

[ytl@nettest5:/opt/ndt/current/conf]$ ./create-html.sh 
Welcome to the NDT server configuration program.  This
program will create a custom tcpbw100.html file for your site.

Enter your site name [Internet2]  : SLAC
Enter your site's location [Ann Arbor - MI]  : Menlo Park - CA
Server connection info, enter 1 for 100 Mbps, 2 for 1 Gbps [2]  : 2

Information for email trouble reporting
Enter email userid [rcarlson]  : ytl
Enter email domain name [internet2.edu]  : slac.stanford.edu
Enter default subject line [Trouble report from nettest5]  : [NDT] Trouble Report
The base web page 'tcpbw100.html' has now been created.  You
must move this file into the ndt_DATA directory [/usr/local/ndt]
created during the 'make' process.
Do you want to install this file now? [yes]  :  
Enter location [/usr/local/ndt]  : /opt/ndt/current/

The init.d services can be installed with the conf/autostart.sh script:

[ytl@nettest5:/opt/ndt/current/conf]$ sudo ./autostart.sh 
This script will configure your system to automatically
start the NDT processes at boot time.

ndt             0:off   1:off   2:on    3:on    4:on    5:on    6:off

i've tried putting the html file in /opt/ndt/current/, /opt/ndt/current/sbin, /opt/ndt/current/conf but no luck. the web page still cames up with 'The requested file not found'.

Created a profile.d file to export the NDT variables etc.

/etc/profile.d/ndt.sh
# NDT stuff - Yee 28th Aug 2006
export NDT_BASE=/opt/ndt/current
export PATH=$PATH:$NDT_BASE/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$NDT_BASE/lib
  • No labels