1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
#!/usr/bin/env/python
from rumba.model import *
# import testbed plugins
import rumba.testbeds.emulab as emulab
import rumba.testbeds.jfed as jfed
import rumba.testbeds.faketestbed as fake
import rumba.testbeds.qemu as qemu
# import prototype plugins
import rumba.prototypes.ouroboros as our
import rumba.prototypes.rlite as rl
import rumba.prototypes.irati as irati
shimmilan-nice = ShimEthDIF("shimmilan-nice", link_speed=0))
shimmilan-zurich = ShimEthDIF("shimmilan-zurich", link_speed=0))
shimbarcelona-lyon = ShimEthDIF("shimbarcelona-lyon", link_speed=0))
shimflorence-rome = ShimEthDIF("shimflorence-rome", link_speed=0))
shimbarcelona-valencia = ShimEthDIF("shimbarcelona-valencia", link_speed=0))
shimlyon-nice = ShimEthDIF("shimlyon-nice", link_speed=0))
shimmilan-venice = ShimEthDIF("shimmilan-venice", link_speed=0))
shimpisa-rome = ShimEthDIF("shimpisa-rome", link_speed=0))
shimmadrid-valencia = ShimEthDIF("shimmadrid-valencia", link_speed=0))
shimlyon-paris = ShimEthDIF("shimlyon-paris", link_speed=0))
shimnaples-rome = ShimEthDIF("shimnaples-rome", link_speed=0))
shimflorence-pisa = ShimEthDIF("shimflorence-pisa", link_speed=0))
shimbarcelona-madrid = ShimEthDIF("shimbarcelona-madrid", link_speed=0))
shimmunich-vienna = ShimEthDIF("shimmunich-vienna", link_speed=0))
shimflorence-milan = ShimEthDIF("shimflorence-milan", link_speed=0))
shimlisbon-madrid = ShimEthDIF("shimlisbon-madrid", link_speed=0))
shimvenice-vienna = ShimEthDIF("shimvenice-vienna", link_speed=0))
shimmunich-zurich = ShimEthDIF("shimmunich-zurich", link_speed=0))
shimflorence-venice = ShimEthDIF("shimflorence-venice", link_speed=0))
fravpn = NormalDIF("fravpn")
ibervpn = NormalDIF("ibervpn")
eu = NormalDIF("eu")
itavpn = NormalDIF("itavpn")
vienna = Node("vienna",
difs=[venice-vienna, munich-vienna],
dif_registrations={})
milan = Node("milan",
difs=[florence-milan, milan-venice, milan-zurich, milan-nice, eu, itavpn],
dif_registrations={eu: [milan-venice, florence-milan, milan-zurich, milan-nice], itavpn: [eu]})
zurich = Node("zurich",
difs=[milan-zurich, munich-zurich],
dif_registrations={})
paris = Node("paris",
difs=[lyon-paris, eu, fravpn],
dif_registrations={fravpn: [eu], eu: [lyon-paris]})
venice = Node("venice",
difs=[florence-venice, milan-venice, venice-vienna, eu, itavpn],
dif_registrations={eu: [milan-venice, florence-venice, venice-vienna], itavpn: [eu]})
pisa = Node("pisa",
difs=[pisa-rome, florence-pisa, eu, itavpn],
dif_registrations={eu: [pisa-rome, florence-pisa], itavpn: [eu]})
valencia = Node("valencia",
difs=[barcelona-valencia, madrid-valencia, eu, ibervpn],
dif_registrations={ibervpn: [eu], eu: [barcelona-valencia, madrid-valencia]})
lisbon = Node("lisbon",
difs=[lisbon-madrid, eu, ibervpn],
dif_registrations={ibervpn: [eu], eu: [lisbon-madrid]})
barcelona = Node("barcelona",
difs=[barcelona-lyon, barcelona-madrid, barcelona-valencia, eu, ibervpn],
dif_registrations={ibervpn: [eu], eu: [barcelona-lyon, barcelona-madrid, barcelona-valencia]})
nice = Node("nice",
difs=[milan-nice, lyon-nice, eu, fravpn],
dif_registrations={fravpn: [eu], eu: [milan-nice, lyon-nice]})
lyon = Node("lyon",
difs=[lyon-nice, lyon-paris, barcelona-lyon, eu, fravpn],
dif_registrations={fravpn: [eu], eu: [lyon-paris, lyon-nice, barcelona-lyon]})
madrid = Node("madrid",
difs=[barcelona-madrid, madrid-valencia, lisbon-madrid, eu, ibervpn],
dif_registrations={ibervpn: [eu], eu: [barcelona-madrid, madrid-valencia, lisbon-madrid]})
munich = Node("munich",
difs=[munich-zurich, munich-vienna],
dif_registrations={})
florence = Node("florence",
difs=[florence-rome, florence-pisa, florence-milan, florence-venice, eu, itavpn],
dif_registrations={eu: [florence-pisa, florence-rome, florence-milan, florence-venice], itavpn: [eu]})
naples = Node("naples",
difs=[naples-rome, eu, itavpn],
dif_registrations={eu: [naples-rome], itavpn: [eu]})
rome = Node("rome",
difs=[naples-rome, pisa-rome, florence-rome, eu, itavpn],
dif_registrations={eu: [naples-rome, pisa-rome, florence-rome], itavpn: [eu]})
tb = qemu.Testbed(exp_name = "europe-vpns-small",
bzimage = "/home/mcapitani/RINA/checkouts/rlite/demo/buildroot/bzImage",
initramfs = "/home/mcapitani/RINA/checkouts/rlite/demo/buildroot/rootfs.cpio")
exp = rl.Experiment(tb, nodes = [a, b, c, d])
print(exp)
exp.run()
|