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
-
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)
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)
-
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
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)
-
documentation
Make sure that nN&er;D includes all of
the reference info in the man page.
For exmaple, from Ravindra Jejurikar <jezz@ics.uci.edu>:
e.g once I know how to create a new node, the man page has given
all the functions associated with a node, viz $node id, $node neighbors,
$node attach, $node reset, $node shape, $node color etc.
Some node functions are given is nsDoc.ps also ( page 36, 37)
but it has just 3 contol functions specified and some port management
functions. I was looking where I could get most of the functions ( the
interface) and the ns.1 explanation seemed faster.
([johnh]Thu Aug 19 17:56:33 PDT 1999)
-
release
The next release of ns-allinone should move to tcl-8.2.
([johnh]Thu Aug 19 20:47:00 PDT 1999)
-
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 wireless.
([johnh]
Fri Sep 3 21:26:38 PDT 1999)
-
test suites, error models
Create tests suites for the error models.
([johnh]
Wed Nov 24 13:20:55 PST 1999)
- debugging Add a "debug" flag.
From email with "Subject: a though to help
with debugging ns" on the ns-users mailing list.
([floyd]
Fri Feb 25 09:06:59 PST 2000)
- TCP Check the TCP reset function.
From email with "Subject: Re: TCP reset bug" and
"Subject: question about TCPAgent reset()" on the
ns-users mailing list.
([floyd]
Fri Feb 25 09:06:59 PST 2000)
- one-way TCP Deal with the issue of segment size vs.
header size. From email on the ns-users mailing list.
([floyd]
Fri Feb 25 09:06:59 PST 2000)
- documentation Make sure that documentation includes
all variables in ns-default.tcl.
([floyd]
Fri Feb 25 09:06:59 PST 2000)
- validation Suppress "using backward
compatibility mode" message during *-v1.tcl validation tests?
Correct procedures for V1 validation tests that are not run:
e.g., test cbqForOld in "./test-all-cbq-v1".
From email on "Subject: Re: a validation question" on the ns-users
mailing list.
([floyd]
Fri Feb 25 09:06:59 PST 2000)
- probability distributions Add validation tests.
([floyd]
Fri Feb 25 09:06:59 PST 2000)