Path to this page:
Subject: CVS commit: pkgsrc/net/ns
From: Min Sik Kim
Date: 2004-03-09 00:55:24
Message id: 20040308235524.245002DA1D@cvs.netbsd.org
Log Message:
Update ns to 2.27 and take maintainership.
Changes:
- Changed list-based improvement to allow changing of
channels. Previously only a single (static) list of nodes
maintained. Now list of nodes maintained for each channel. Maybe
extended for mobilenodes with multiple netif (talking to multiple
channels) once the multiple netif support is in place.
- Added validation test-suite for RNG in ns.
- Added modified version of setdest from U. of Michigan. Also added an
argument to setdest API that defines the version of setdest being
used.
- Change the name of dumbPolicy to nullPolicy for consistency with
diffserv documentations (suggested by Alexander Sayenko
<sayenko@cc.jyu.fi>)
- Added list-based improvement to ns-2. Code contributed by Valerie
Naoumuv (naoumov@inf.ethz.ch). The improvement involves maintaining
a doubly-linked list to organise mobilenodes based on their
X-coordinates. When sending a packet only those neighbor nodes are
considered who are within a circle corresponding to the
carrier-sense threshold energy level, below which a node cannot hear
the packet. Improvement on original version where all nodes in
topology is considered. considerable gain in run-time performance-
goes down by about 4 to 20 times, depending on the size of the
topology. The larger the topology and greater the no of nodes,
greater the improvement seen with the list-based implementation. Pl
see relevant papaer "simulation of large adhoc networks", appeared
at MSWiM'03, san diego, USA for details.
- Added script <color-event.pl> that takes event/color pairs and
colors pkts in nam output files in order to highlight nam events.
- Modified ns to build with tcl/tk8.4 and new otcl/tclcl (release
pending).
- Diffusion documentation added to ns-manual.
- Diffusion changes made includes (1)Added tcl example scripts for 2
phase-pull, push, 1 phase-pull and gear (with push and 2pp)
scenarios. For gear and other node-position dependent routing in
diffusion, need to have a callback to update node positions. since
the routing filter (like gear) is init'ed before node positions are
assigned gear doesn't get the correct node positions, hence the
callback is required. callback would also be reqd to support node
movements in diffusion in future. For now start gear filters (in
tcl scripts) after node positions are assigned to nodes. This will
go away once callbacks are implemented. (2)Added fix suggested by
Andreas Koepke <koepke@ee.tu-berlin.de> for overflow problem in
lib/main/tools.cc
- Added worm model to support simulations of Internet worm attacks.
This model supports different abstract levels in simulations. It
simulates a detailed sub-network at packet level, and the rest of
the Internet with an analytical model (SIR). It supports two worm
scanning behaviors: random and local-preferred.
- Added event tracing function for simple-mac and 802.11. It was
contributed by <a \
href="mailto:singal@nunki.usc.edu">Sushmita</a> to
support wireless animations.
- Added directory for nam animations under ns/tcl/edu. Each
subdirecotry contains on animation, including short description,
simulation script, trace file, and nam trace. These animations are
ready to use in classroom. The current three animations are
contributed by Sushmita <singal@nunki.usc.edu> as the outcome of her
directed research project.
- Integrated support for infrastructure mode in 802.11 MAC. The code
was was written by Mike Moreton
- Fixed bug (reported by Fred Stann) in diffusion3 that caused
overflow while reading time ( > 2147 sec).
- New module Delayer for introducing delay variation and channel
allocation delay. This is useful for modeling the effects of
wireless links. Validation tests in "./test-all-links". Code
contributed by Andrei Gurtov.
- Ported SCTP into ns-2. It was actually ported into ns-2.26 by
Armando L. Caro Jr. <acaro@@cis.udel.edu> and his group at PEL, Univ
of delaware. The implementation includes a test-suite-sctp and doc
for sctp (see chapter on SCTP in ns-manual).
- Added APIs for diffusion filters to node-config command. See
tcl/ex/diffusion3 for examples. Also changed UIDs in common pkt
hdr. It now reflects pkt_num_ as in diffusion message hdr.
- Adding ts_resetRTO_ to TCP to control whether or not a
timestamp-enabled sender unbacks a backed-off RTO after making a
valid RTT measurement from an acknowledged, retransmitted packet.
Validation tests are in "./test-all-tcpOptions" in "tcl/test":
"./test-all-tcpOptions timeouts_sack2" (with ts_resetRTO_ true)
"./test-all-tcpOptions timeouts_sack3" (with ts_resetRTO_ false).
The suggestion and initial code for this change are from Andrei
Gurtov. Also adding exitFastRetrans_ to TCP, to fix a problem
with clean exits from Fast Recovery. Set to false for the old buggy
behavior, or set to true for the new good behavior. The default is
true. "./test-all-tcpOptions timeouts_reno_noexitFR" shows the old
behavior, and: "./test-all-tcpOptions timeouts_reno" shows the fixed
new behavior. The problem was that data was sent in response to dup
acks even after Fast Recovery was over. From a bug report by Andrei
Gurtov.
- Improved portability for C++ namespaces
(required for gcc-3.2 where the standard C++ libraries like iostream
are in namespace stl only).
- Added trace support for smac. The "mactype" info stored in
simulator is used to trace data as well as mac pkts (smac or
802.11).
- Ported diffusion3.2.0 into ns. A lot of changes: all applications
re-categorized under gear, ping and rmst. Filters have a separate
dir. gradient now replaced with one-and two-phase-pull-filter under
filter_core.
- Changed the defaults for Agent/TCP/Newreno's newreno_changes1_ and
partial_window_deflation_ to "1", to reflect RFC 2582.
- Adding avoidReordering_ to DelayLink, set to true to avoid
reordering when changing link bandwidth or delay. The code was
contributed by Andrei Gurtov, and the validation test is in
./test-all-links in the directory tcl/test. The default is for
avoidReordering_ to be false, for no change in past behavior.
Files: