- 12 May, 2003 1 commit
-
-
Leigh B. Stoller authored
-
- 08 Apr, 2003 1 commit
-
-
Leigh B. Stoller authored
in email. proc tb-use-endnodeshaping {onoff} {} proc tb-force-endnodeshaping {onoff} {} proc tb-set-multiplexed {link onoff} {} proc tb-set-endnodeshaping {link onoff} {} proc tb-set-noshaping {link onoff} {}
-
- 22 Mar, 2003 1 commit
-
-
Leigh B. Stoller authored
of emulated and linkdelays on a per-link/lan basis (although you cannot make a lan emulated at this time). tb-set-link-uselinkdelay $link0 1 tb-set-lan-uselinkdelay $lan0 1 tb-set-link-emulated $link0 1 Added slots to the virt_lans table, used in assign_wrapper to control these features on a per link/lan basis. Note, the global options are still available to prefer/force linkdelays for an entire experiment. When setting uselinkdelays on a per link/basis, if the link would not otherwise be shaped, you are requesting that a linkdelay be inserted anyway (in otherwords, its the equiv of tb-set-forcelinkdelays on an individual basis).
-
- 28 Feb, 2003 1 commit
-
-
Leigh B. Stoller authored
that allows the user to get a handle on that queue object so it can be changed. Add a routine (lanlink) to the sim class that operates much like link command (gets the hack class, which in turn is used to get the queue object). Note, there needs to be some work done in the event parser in sim.tcl to deal with lan queues (assumed to be link queues). I'll take care of that later.
-
- 14 Nov, 2002 2 commits
-
-
Shashi Guruprasad authored
simulated nodes.
-
Mac Newbold authored
the somewhat hacky fail-if-they-want-over-100mbps method, but could in the future draw the info from the database or something if it ends up being necessary. Setup Failure(255): Output as follows: *** /usr/testbed/devel/newbold/lib/ns2ir/parse.tcl: Bandwidth requested (150000) exceeds maximum of 100000 kbps! *** /usr/testbed/devel/newbold/lib/ns2ir/parse.tcl: [run] link0 has only a single node. LANs must have at least 2 nodes in them. *** /usr/testbed/devel/newbold/bin/batchexp: NS Parse failed!
-
- 28 Oct, 2002 1 commit
-
-
Mac Newbold authored
-
- 07 Jul, 2002 1 commit
-
-
Leigh B. Stoller authored
-
- 28 May, 2002 1 commit
-
-
Leigh B. Stoller authored
not allowed).
-
- 24 May, 2002 1 commit
-
-
Leigh B. Stoller authored
detects that at least one of the nodes in the lan includes a remote node. Of course, on links can include remote nodes, but thats okay.
-
- 16 May, 2002 1 commit
-
-
Leigh B. Stoller authored
have a remote node as a member. Since we share remotes nodes and set up tunnels, we cannot let two experiments have the same subnet numbers. I use 10.0.0 nets and a DB table to allocate them with a autoincrement field.
-
- 12 May, 2002 1 commit
-
-
Leigh B. Stoller authored
were introduced.
-
- 08 May, 2002 1 commit
-
-
Robert Ricci authored
in the NS file in one of two ways: $ns cost $nodeA $nodeB 2 or $link0 cost 3 (The latter form can also be used for LANs) This information is stored in the database in the cost column of the virt_lans table. It's important to note that cost data is _not_ divided between the two sides of the link, as things like delay and rdelay are. Since there are no physical devices (ie. delay nodes) node that this configuration needs to be split up between, doing so would just be unnecessary work.
-
- 15 Apr, 2002 1 commit
-
-
Leigh B. Stoller authored
# Turn on manual routing. $ns rtproto Manual # Set manual routes $nodeA add-route $nodeC $nodeB $nodeC add-route $nodeA $nodeB results in this information being returned from the tmcd routing command: ROUTERTYPE=manual ROUTE DEST=192.168.2.3 DESTTYPE=host DESTMASK=255.255.255.0 \ NEXTHOP=192.168.3.2 COST=0 The reason for DESTTYPE and DESTMASK is so that we can also support routing to links and lans, since doing it on a per host basis if not only hugely tedious, but plain impossible if the destination node has multiple links; the add-route syntax takes a node, but we need the IP of the relevant link in order to run the route add commands on the nodes. So, I've "extended" the syntax of add-route so that you can give it a Link or a Lan as the dest: $nodeA add-route $link0 $nodeB $nodeA add-route [$ns link $nodeB $nodeC] $nodeB In this case, the DESTTYPE=net, and the netmask is no longer ignored; it is used in the route add command. Currently, the mask is hardwired in the DB to 255.255.255.0, but by providing it in the tmcd command, we change it later if needed. I did not implement add-route-to-adj-node since that is not really useful in our context, and we definitely do not want the user to change the default routes on his nodes. But, its easy to add if we need to. The client side stuff is not done yet.
-
- 27 Mar, 2002 1 commit
-
-
Leigh B. Stoller authored
Queue events have a new parameter in the arg list for link events: ARGS="PIPE=pipe0 THRESH=8" This is kinda hacky right now; I do not have time to get all the stuff just right. The convention is that pipe0 is the first pipe in the list (left to right) and pipe1 is the other. We can worry about cleanup later.
-
- 26 Mar, 2002 1 commit
-
-
Christopher Alfeld authored
queue in each direction is in.
-
- 16 Mar, 2002 1 commit
-
-
Leigh B. Stoller authored
and make that message much more prominent. I think though that these warnings need to be treated specially so that user sees them.
-
- 13 Mar, 2002 1 commit
-
-
Leigh B. Stoller authored
time, support multiple statements in a single at statement (a personal miracle of TCL programming!). So, you can do this: $ns at 40 "$queue0 set thresh_ 5 ; $queue0 set linterm_ 9" $ns at 40 "$queue0 set maxthresh_ 10 ; $queue0 set q_weight_ 0.5" $ns at 40 "$queue0 set queue-in-bytes_ 0" $ns at 40 "$queue0 set limit_ 50" These are turned into LINK MODIFY events as such: QUEUE-IN-BYTES= LIMIT= MAXTHRESH= THRESH= LINTERM= Q_WEIGHT= At present, they are turned into independent events; my TCL ability falls way short of figuring that out! Easy as a perl script though!
-
- 11 Mar, 2002 1 commit
-
-
Leigh B. Stoller authored
this off, but here is what I did. Parser: Allow for the following syntax set link0 [$ns duplex-link $nodeA $nodeB 100Mb 0ms RED] set queue0 [[$ns link $nodeA $nodeB] queue] $queue0 set gentle_ 1 $queue0 set queue-in-bytes_ 0 $queue0 set limit_ 50 $queue0 set maxthresh_ 20 $queue0 set thresh_ 7 $queue0 set linterm_ 11 $queue0 set q_weight_ 0.004 NB: This differs from the NS syntax (and is the part that Chris needs to fix) in that there is just a single queue object per duplex link, thus the parameters cannot be set asymmetrically. Note, the delay node *does* use a RED/GRED queue in each direction, but its params are the same. These TCL hacks took a long time for me to get right! Also note that I have no idea how this stuff relates to LANS! I do not allow LANS to be created with RED queues (another item for Chris to work on perhaps?). assign_wrapper: A horrible hack to pass the new fields added to virt_lans onto the delays table setup. Also another minor hack ensure that a delay node is added when a RED queue is used (for the case when no other traffic shaping is done). At the moment, the virt_lans table has a single set of fields, while the delays table has the double set; one for each direction of the pipe. Here is a listing. alter table delays add q0_limit int default 0 after lossrate0; alter table delays add q0_maxthresh int default 0 after q0_limit; alter table delays add q0_minthresh int default 0 after q0_maxthresh; alter table delays add q0_weight float default 0.0 after q0_minthresh; alter table delays add q0_linterm int default 0 after q0_weight; alter table delays add q0_qinbytes tinyint default 0 after q0_linterm; alter table delays add q0_bytes tinyint default 0 after q0_qinbytes; alter table delays add q0_meanpsize int default 0 after q0_bytes; alter table delays add q0_wait int default 0 after q0_meanpsize; alter table delays add q0_setbit int default 0 after q0_wait; alter table delays add q0_droptail int default 0 after q0_setbit; alter table delays add q0_red tinyint default 0 after q0_droptail; alter table delays add q0_gentle tinyint default 0 after q0_red; tmcd/tmcd.c: Change dodelays to pass back all of these fields (for both pipes; there are equiv q1 fields in the delays table). Yikes! Its done in a backwards compatable manner though, so existing delay nodes will continue to work just fine. tmcd/freebsd/liblocsetup.pm: Change the delays configuration script to get all these fields and do something useful with. Of course, our delay nodes cannot use a lot of these fields, but the information is sent through for the eventuality that we have more sophisticated delays nodes. Test Suite: Add red test dir that has the above syntax as its test.
-
- 11 Jan, 2002 1 commit
-
-
Christopher Alfeld authored
-
- 05 Dec, 2001 1 commit
-
-
Leigh B. Stoller authored
did the lanlink change. assign_wrapper does not really need any changes at all, but I dropped a comment in. The only real change is needed in the client side to convert a floating point from tmcd, into an int to give to ipfw. Rather cheesy too, given that Perl does not have a real conversion function (int() truncates).
-
- 13 Jul, 2001 1 commit
-
-
Christopher Alfeld authored
-
- 20 Jun, 2001 1 commit
-
-
Leigh B. Stoller authored
-