- 23 Oct, 2003 15 commits
-
-
Kirk Webb authored
Well, here it is: The checkin implementing robust recovery/retry and asynchronous safe termination in plab allocation/deallocation/setup. Here are some of the more prominent changes/additions: * Bounded plab agent communication Scripts should never hang waiting for plab xmlrpc commands to complete; they have their own internal timeouts. Node.create() in libplab is an exception, but is always run under a timeout constraint in vnode_setup and can be changed easily if the need arises. * Wrote functions in libplab to do the retry/recovery/timeout of remote command exection. * Wrapped critical sections with a signal watcher. * Added code to handle various error conditions properly * Added a libtestbed function, TBForkCmd, which runs a given program in a child process, and can optionally catch incoming SIGTERMs and terminate the child (then exit itself). * Fixed up vnode_setup to batch the 'plabnode free' operation along with a few other cleanups. This should alleviate Jay's concern about how long it used to take to teardown a plab expt. * Whacked plabmonitord into better shape; fixed a couple bugs, taught it how to daemonize, and implemented a priority list for testing broken plab nodes. This list causes new (as yet unseen) nodes to be tried first over ones that have been tested already.
-
Robert Ricci authored
a full-out explanation of the new way we add nodes to the testbed, the new (well, not that new anymore) newnode MFS, web page, etc.
-
Robert Ricci authored
into a new file.
-
Robert Ricci authored
-
Robert Ricci authored
Remove reference to cvsup, since we're moving away from it. Remove reference to dhcpd, since a better explanation is now in setup-nodes.txt . Fix up text about named.
-
Mac Newbold authored
-
Mac Newbold authored
-
Mike Hibler authored
change awkward "uncompress" to "decompress"
-
Leigh Stoller authored
-
Leigh Stoller authored
-
Leigh Stoller authored
-
Leigh Stoller authored
This will happen for plab nodes because of the way that we can get the data. Not ideal, but not sure what to do about it.
-
Leigh Stoller authored
-
Leigh Stoller authored
what window is what.
-
Leigh Stoller authored
-
- 22 Oct, 2003 7 commits
-
-
Robert Ricci authored
pop up a save dialog box, no matter what the user's settings for the mime type are.
-
Robert Ricci authored
-
Robert Ricci authored
-
Robert Ricci authored
-
Robert Ricci authored
information. Rather than pass it all in, which was getting very cumbersome, and inconsistent between Cisco and Intel switches, the modules query the database themselves (via a new function in snmpit_lib.pm). Also in this commit are two new options for switch stacks - the ability to specify minimum and maximum VLAN number to use.
-
Robert Ricci authored
-
Robert Ricci authored
Fix a bug with limited trivial link bandwidth. It used to be the case that we penalized solutions that over-used the trivial bandwidth based on the number of links that were over it. Turns out this was a problem, if you had links of differing bandwidths, and were near the limit. Certain orderings were possible where you would remove two trivial links in a different order than you added them, which might result in more (or fewer) violations being scored then when you did them originally. The fix for this is to penalize these based on bandwidth, which is what assign now does. Added a '-g' flag, which does greedy link selection - assign normally does random link selection until the very end, when it does one pass with greedy selection. This flag makes it do this all the time. This is useful for debugging, because it cuts out a call to random(). Turns out, it doesn't seem to make assign much slower. I might consider making it the default. Better output when the selftest (-T) fails.
-
- 21 Oct, 2003 4 commits
-
-
Mike Hibler authored
-
Mike Hibler authored
-
Kirk Webb authored
uid. A better way to deal with this would probably be a general check for the existence of an account prior to creation. If its there, then delete it first.
-
Leigh Stoller authored
specific notes. Also convert examples to use physical nodes in tb-fix-node, and fix the types using in tb-set-hardware statements.
-
- 20 Oct, 2003 4 commits
-
-
Robert Ricci authored
-
Leigh Stoller authored
-
Leigh Stoller authored
* Remove all of the code that dealt with allocating unconnected nodes. It used to be assign_wrapper passed all widearea node allocation decisions to wanassign, those in links and those that were unconnected. assign_wrapper now handles all unconnected nodes since assign is much better with features/desires and node type stuff. * Do not modify any database state in wanassign; It used to do the actual nalloc calls, but now it just returns the mapping to assign_wrapper so that we can more easily track "recoverability" and because there is existing code in assign_wrapper to allocate vnodes on the selected pnodes. No point in duplication. * Switch from mapping to vnodes, to mapping to pnodes. We made this change for other virtual nodes; instead of "fixing" to a vnode on a pnode, fix to the pnode. The resulting mappings are also given as pnodes, and assign_wrapper does the allocation on those selected nodes. Now all we need is uptodate widearea data!
-
Leigh Stoller authored
-
- 19 Oct, 2003 1 commit
-
-
Leigh Stoller authored
previous revision. Bump maxrun for plab experiments from 1 to 2 (special case predated my changes).
-
- 18 Oct, 2003 1 commit
-
-
Leigh Stoller authored
-
- 17 Oct, 2003 5 commits
-
-
Mike Hibler authored
data block" field was non-zero. This happened with the Intel-provided Dell boxen and their initial Linux disk. 2. Added some more sanity checks in the Linux code. 3. Fixed a bug I just introduced where slice mode would fail on a disk with an extended partition.
-
Leigh Stoller authored
Blew it up with the current set of 145 remote nodes. I increased the limits and added checks so that it does not return bogus output. Needs a pass to turn them into dynamically sized arrays, at some point.
-
Leigh Stoller authored
-
Leigh Stoller authored
other than the first object name.
-
Leigh Stoller authored
-
- 16 Oct, 2003 3 commits
-
-
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---------------------
-
Leigh Stoller authored
Add install target to stick into the sbin directory.
-
Robert Ricci authored
-