| 9 | We start by creating an experiment with the layout shown here: |
| 10 | |
| 11 | [[Image(federation1.png)]] |
| 12 | |
| 13 | Each square is a computer and each line a link. The layout is a simple dumbbell with nodes a and c as the ends of the inner "bar" and b, d, e, and f as the leaves. Nodes a, b, and d are in one testbed and c, e, f and f in another. |
| 14 | |
| 15 | The following ns2 file is a description for such a topology: |
| 16 | |
| 17 | {{{ |
| 18 | # Simple federated topology, all on DETER |
| 19 | # |
| 20 | # SERVICE: project_export:deter/exp1::project=TIED |
| 21 | # SERVICE: project_export:deter/exp2::project=TIED |
| 22 | # |
| 23 | |
| 24 | set ns [new Simulator] |
| 25 | source tb_compat.tcl |
| 26 | |
| 27 | set a [$ns node] |
| 28 | set b [$ns node] |
| 29 | set c [$ns node] |
| 30 | set d [$ns node] |
| 31 | set e [$ns node] |
| 32 | set f [$ns node] |
| 33 | tb-set-node-testbed $a "deter/exp1" |
| 34 | tb-set-node-testbed $b "deter/exp1" |
| 35 | tb-set-node-testbed $c "deter/exp2" |
| 36 | tb-set-node-testbed $d "deter/exp1" |
| 37 | tb-set-node-testbed $e "deter/exp2" |
| 38 | tb-set-node-testbed $f "deter/exp2" |
| 39 | |
| 40 | |
| 41 | set link0 [ $ns duplex-link $a $b 1Gb 0ms DropTail] |
| 42 | set link1 [ $ns duplex-link $a $c 1Gb 0ms DropTail] |
| 43 | set link2 [ $ns duplex-link $a $d 1Gb 0ms DropTail] |
| 44 | set link3 [ $ns duplex-link $e $c 1Gb 0ms DropTail] |
| 45 | set link4 [ $ns duplex-link $f $c 1Gb 0ms DropTail] |
| 46 | |
| 47 | $ns rtproto Static |
| 48 | $ns run |
| 49 | }}} |
| 50 | |
| 51 | A [attachment:federation1.tcl copy of that file] is attached to this page. |
| 52 | |
| 53 | Most of that file looks like any other simple DETERLab experiment layout, and one can swap it in on DETERLab directly and get a single experiment. The differences are |
| 54 | |
| 55 | * The assignments of nodes to testbeds using {{{tb-set-node-testbed}}} |
| 56 | * The assignments of projects within a testbed by the {{{SERVICE}}} directives in the comments |
| 57 | |