ns: TODO list
The person who recommends the todo work does not necessarily do them
by him/herself.
List of topics:
Using hash classifier in hierarchical nodes
introduction,
code cleanup,
interfaces,
queueing,
full-tcp,
validation,
documentation,
research results,
release,
logging,
test suite for error models
-
introduction
Here's the format: a boldface set of keywords about what
part of ns is relevant,
text describing what's going on,
then a signature and date.
([johnh]
Thu Jun 17 18:04:37 PDT 1999)
-
Tcp-int
Need to fix tcp-int. see tcp-int.tcl under tcl/ex. Also need to add a test-suite for same. Currently no testcase which is not good for code that got merged into ns way back in '97.
-
Documentation
Add doc for event-tracing.
Convert README file in PGM into doc for PGM for ns-manual.
([haldar]
Mon Jul 22 11:51:54 PDT 2002
-
wireless code
Cleanup of wireless code; move out from ns-lib into under mobility.
move aodv.tcl from ~ns/aodv to tcl/mobility. cleanup for rtg-module much in the same way it 's been done for wired nodes. remove redundant codes in ns-mobilenode.tcl.
([haldar]
Wed Jun 12 09:08:41 PDT 2002
-
Port mac/null
Look at the mailing list archive for porting information. Basically the code needs to be added to the current ns version and a test script needs to be written for it.
([John Mehringer]
Thu Nov 9 17:27:57 EST 2000)
-
Node Structure:
- New node structure should be documented.
- For this purpose, Node::*[nodetype_] instprocs
should be cleaned up: the base Node should provide a set of
customization interfaces, and each add-on routing module
be an independent object which uses these interfaces to
customize classifier settings inside the node;
Also, numerous Simulator condition checks should be moved to
the initialization process of individual modules instead of
staying in the Simulator;
- We should get rid of all wireless code that is _really_
for backward compatibility only, and move them to a separate
directory instead of polluting tcl/lib and so on.
([haoboy]
Thu Aug 24 14:25:08 PDT 2000)
-
Queueing:
Change the Drop-Tail queue size so that it includes the
packet currently being transmitted, and add a
backward-compatibility mode so that we don't break all of the
validation tests. This will result in Drop-Tail and RED
queues having the same size in packets (now they are off by one
packet).
([floyd]
Tue Jul 4 15:13:34 PDT 2000
-
Test suite for error models: Currently we have 8+ different
error models in ns. They seem to be used frequently but there is no
test suite to guarantee that they function correctly in every release.
What's more, there is little documentation about their expected behavior,
especially for the newer error models, e.g. two state. What we need is
first a test suite for all error models, then a fairly detailed doc on
their expected behavior. This will save users' time and help them
customize
these models for their own purpose.
([haoboy]
Mon Nov 29 16:31:59 PST 1999)
-
Using hash classifier in hierarchical node
The classifier cannot be used because of some strange problem
with the hash table. It seems like there is either a bug
with the Tcl hash function or the way we use it.
([salehi]
Thu Sep 30 15:30:37 PDT 1999)
-
gen-map update
$ns gen-map needs a cleanup + adding lan support.
([yuri]
Thu Sep 9 12:13:41 PDT 1999)
-
This looks like a bug to look into
After I edited mobility/scene/cbr-50-20-4-512 to replace all
$cbr_(xx) set packetSize_ 512
with
$cbr_(xx) set packetSize_ 210
and tried to re-run the test-suite-wireless-gridkeeper/dsdv,
ns got into a dead loop in DSDV_Agent::processUpdate() right
where the XXX-ed comment says it might:
while ((queued_p = rte.q->deque()))
// XXX possible loop here
// while ((queued_p = rte.q->deque()))
// Only retry once to avoid looping
// for (int jj = 0; jj < rte.q->length(); jj++){
// queued_p = rte.q->deque();
recv(queued_p, 0); // give the packets to ourselves to forward
// }
delete rte.q;
rte.q = 0;
table_->AddEntry(rte); // record the now zero'd queue
Yet it works with packetSize_ set to 512.
([yuri]
Thu Aug 5 15:58:36 PDT 1999)
- code cleanup, interfaces
Aligning bound variable names
[ns3?]
Aligning bound variable names in OTcl and C++, where possible
(change the C++ name, not the OTcl name).
([tomh]
Jul 1 19:19:00 PDT 1999)
-
queueing
Adding FRED, from the contributed code web page, into the
main NS distribution.
([floyd]
Thu May 13 14:34:00 PDT 1999)
-
queueuing?
Adding RIO into the main NS distribution. (The original authors
of RIO did many simulations in NS, so I would assume that they
have an implementation somewhere...)
([floyd]
Thu May 13 14:34:00 PDT 1999)
-
one-way-tcp, full-tcp
Implement the "careful" variant of bug-fix as
described in rfc2582.
See ns-users messages subject "Bug in TCPReno ?..."
posted September 1999.
([johnh]
Fri Sep 24 10:00:10 PDT 1999)
-
full-tcp, validation
Validating ECN functionality for full-TCP (and, in the process,
updating full-TCP to make sure that ECN functions the same in full-TCP
as in one-way TCP).
([floyd]
Thu May 13 14:34:00 PDT 1999)
-
full-tcp, validation
Replicating all of the TCP validation tests to make sure that
they work as we would like with full-TCP also. (There are a number
of things that are tested in the one-way validation tests, but that
are not verified in two-way (i.e., full-TCP) validation tests.
([floyd]
Thu May 13 14:34:00 PDT 1999)
-
validation
Adding either short *.txt files, or longer documents, for each
validation test that does not now have one, so that users can
tell reasonably easily what is and is not tested in each validation
test.
([floyd]
Thu May 13 14:34:00 PDT 1999)
-
documentation, validation
Standardize documentation for valdation tests.
([johnh]
Thu Jun 17 18:04:37 PDT 1999)
-
validation
Expanding the validation tests for all of the various scheduling
algorithms.
([floyd]
Thu May 13 14:34:00 PDT 1999)
-
research results, validation
More simulation scripts on-line somewhere. (Has everyone in the
VINT project made all of the simulation scripts for all of the
simulations that they have writted papers about publically available,
so that readers can easily reproduce those simulations themselves?)
([floyd]
Thu May 13 14:34:00 PDT 1999)
-
documentation
Better document trace file format
(both ns output trace)
and the 32-bit integer thing.
(A very FAQ.)
([johnh]
Thu Jun 17 18:04:37 PDT 1999)
-
documentation
Describe the ns programming model (event driven and the IO model).
([johnh]Wed Sep 8 13:38:19 PDT 1999)
-
release, allinone
Allinone should add tcl-debug
and update dmalloc.
([johnh]Thu Nov 9 10:01:41 PST 2000)
-
logging
Trace output is a mess. There are currently two different formats
(wired and wireless), neither of which is easily extnesible.
Switching to something like what nam uses seems like a win.
([johnh]Fri Aug 27 17:24:44 PDT 1999)
-
full-tcp, application APIs
We need to compare the ns full-tcp with the south-bay full-tcp
in terms of corner cases and APIs (i.e., with the cisco http models).
([johnh]Mon Aug 30 15:17:59 PDT 1999)
-
queueing
Make sure that all ns constructs (1-way and full-tcp, queueing protocols)
have both packet and byte-oriented modes and that they are selected consistently.
([johnh]Mon Aug 30 15:20:00 PDT 1999)
-
emulation
merge nse into ns, have emulation controled by a configure option
(--with-emulation or something).
([johnh]Thu Oct 14 10:25:47 PDT 1999)
-
debugging
Insure that gen-map works correctly with lans and wi