1#!/usr/bin/python
2# fairness.py
3# A complex test for butterly-like topology,
4# using 3 TCP connections and 3 ping flows.
5#
6# s1---.                 .---r1
7# s2----\               /
8# s3-----\__.R1---R2.__/__.--r2
9# s4-----/             \
10# s5----/               \_.--r3
11# s6---^
12#
13
14from  topology import *
15
16T = Topology()
17net1 = Network(T)
18net2 = Network(T)
19net3 = Network(T)
20
21#router1 = Host(T, net1, net2, "natbox:172.16.2.1:")
22#router2 = Host(T, net2, net3, "natbox:172.16.3.1:")
23router1 = Host(T, net1, net2)
24router2 = Host(T, net2, net3)
25
26send1 = Host(T, net1, args="tcpbench:t:172.16.3.2:")
27send2 = Host(T, net1, args="tcpbench:t:172.16.3.3:")
28send3 = Host(T, net1, args="tcpbench:t:172.16.3.4:")
29
30send4 = Host(T, net1, args="ping:172.16.3.2:")
31send5 = Host(T, net1, args="ping:172.16.3.3:")
32send6 = Host(T, net1, args="ping:172.16.3.4:")
33
34
35recv1 = Host(T, net3, args="tcpbench:r:")
36recv2 = Host(T, net3, args="tcpbench:r:")
37recv3 = Host(T, net3, args="tcpbench:r:")
38recv4 = Host(T, net3, args="tcpbench:r:")
39
40
41sleep(1)
42start(T)
43
44wait(send1)
45wait(send2)
46wait(send3)
47
48cleanup()
49