aboutsummaryrefslogtreecommitdiff
path: root/examples/europe-vpns-small.py
blob: 062015ff96df2c8358bd5f7a7ba1bcefe9e8056d (plain)
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()