- 05 Nov, 2003 2 commits
-
-
Shashi Guruprasad authored
-
Shashi Guruprasad authored
but since it is not integrated in the backend and we are giving the source to others, I'm backing out to 1.10
-
- 16 Oct, 2003 1 commit
-
-
Shashi Guruprasad authored
1) IP address based routes can now be added - The IP address is set on a link object - An "$ns rlink" is used to instantiate links that get cut and cross physical partitions - Traffic agents that are across physical partitions (i.e. different instances of nse) are connected by a new "$ns ip-connect" mechanism - A new Node instproc "add-route-to-ip" adds IP address based routes. - Changed ns multicast addressing to use 3 bits instead of the default 1 - Currently, the classifier does a lookup on a complete 32 bit IP and if a target to route to is not found, uses a 24 bit IP mask. It does not try to match IP prefixes of all lengths. I'll add that later if necessary 2) NS packets that cross partitions are encapsulated in IPPROTO_ENCAP IP packets. 3) RAW IP sockets used to inject packets into the network now use a rtabid paramater so that packets can be routed according to different routing tables Tested with 2 test cases, one with UDP/CBR traffic and another with default NS TCP/FTP traffic. Setup was done manually. As I do testbed integration, there may be more changes. Here's the test setup: 2.2 2.3 1.2 1.3 3.2 3.3 n0 --------- n1 ----------- n2 ------------ n3 n0,n1 are on one physical node and n2,n3 are on another. The n1-n2 link is cut. A TCP example: ---------------------physnode0--------------------- set ns [new Simulator] $ns use-scheduler RealTime set n0 [$ns node] set n1 [$ns node] $ns duplex-link $n0 $n1 10Mb 5ms DropTail [$ns link $n0 $n1] set-ip 10.1.2.2 [$ns link $n1 $n0] set-ip 10.1.2.3 set rl0 [$ns rlink $n1 10.1.1.3 2Mb 40ms DropTail] $rl0 set-ip 10.1.1.2 set tcp0 [new Agent/TCP] # The last parameter specifies the port $ns attach-agent $n0 $tcp0 20 $ns ip-connect $tcp0 10.1.3.3 20 set ftp0 [new Application/FTP] $ftp0 attach-agent $tcp0 $n0 add-route-to-ip 10.1.3.3 10.1.2.3 $n1 add-route-to-ip 10.1.3.3 10.1.1.3 $ns at 1.0 "$ftp0 start" $ns at 10.0 "$ftp0 stop" -----------------end physnode0--------------------- ---------------------physnode1--------------------- set ns [new Simulator] $ns use-scheduler RealTime set n2 [$ns node] set n3 [$ns node] $ns duplex-link $n2 $n3 10Mb 5ms DropTail [$ns link $n2 $n3] set-ip 10.1.3.2 [$ns link $n3 $n2] set-ip 10.1.3.3 set rl1 [$ns rlink $n2 10.1.1.2 2Mb 40ms DropTail] $rl1 set-ip 10.1.1.3 set tcpsink0 [new Agent/TCPSink] $ns attach-agent $n3 $tcpsink0 20 $ns ip-connect $tcpsink0 10.1.2.2 20 $n3 add-route-to-ip 10.1.2.2 10.1.3.2 $n2 add-route-to-ip 10.1.2.2 10.1.1.2 -----------------end physnode1---------------------
-
- 06 Jun, 2003 1 commit
-
-
Shashi Guruprasad authored
-
- 30 Jan, 2003 1 commit
-
-
Shashi Guruprasad authored
that although appeared to be right was actually causing errors to be accumalated. This fixes the high error rates in the bandwidth and loss rate numbers reported in OSDI. There are also code optimizations after profiling it that reduces the RTSched overhead. Another source of error was send/consume/request/reply which used to be given a very rough estimate of the CPU speed (600 instead of 601.37 Mhz for example). The latter comes from the boot up calibration in FreeBSD which is supposed to be accurate up to 10 microsecs on a 486. Using 600 instead of 601.37 causes an error of 0.22 % in the measurement. That is about 1.3 ms for an RTT of 600 ms. This error is worse when send/consume are used to calculate throughputs. The longer the period of measurement, the worse it becomes. I have committed changes in them as well. Defining the macro CPU_SPEED_IN_KHZ will get you kernels that take CPU_SPEED parameters in Khz instead of Mhz. So, you can specify 851940 instead of 850 for a pc850. boss:/tftpboot/x86/{send,consume,request,reply}.cpuinkhz lets you specify CPU_SPEED in Khz
-
- 15 Nov, 2002 1 commit
-
-
Shashi Guruprasad authored
-
- 09 Nov, 2002 1 commit
-
-
Shashi Guruprasad authored
tbnexthop.{cc,h} now contains setsockopts to install "ipfw fwd" rules. <netinet/ip_fw.h> has changed from FBSD 4.3 to 4.5 . Because boss has 4.3, compiling ipfw code on boss and running it on an experimental node doesn't work. Therefore, I now have a cvs checked in local copy of the 4.5 version of the file. nseinput.tcl now finds the CPU cycle speed from /var/run/dmesg.boot and passes the info to nse's RT scheduler which keeps track of real time using the TSC. The same info can be obtained by PERFMON ioctls but the kernel boot time measurement of the cpu cycle speed is more accurate than what perfmon can report
-
- 07 Oct, 2002 1 commit
-
-
Shashi Guruprasad authored
-
- 06 Oct, 2002 1 commit
-
-
Shashi Guruprasad authored
to NS's main repository as well. This fix ensured that nse gets all packets rather some being dropped in the kernel or left over in pcap's buffer.
-
- 19 Jun, 2002 1 commit
-
-
Shashi Guruprasad authored
performance analysis or validation done yet.
-
- 13 Jun, 2002 1 commit
-
-
Shashi Guruprasad authored
the flux repository to have ns-2. The install file just downloads the ns2.1b9 distribution, patches it and installs it.
-
- 12 Jun, 2002 1 commit
-
-
Shashi Guruprasad authored
-
- 20 Mar, 2002 1 commit
-
-
Shashi Guruprasad authored
automatic NS-2 checkout, compilation and linking which takes about 20 mins.
-