#!/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 shimoslo-stockholm = ShimEthDIF("shimoslo-stockholm", link_speed=0)) shimbarcelona-lyon = ShimEthDIF("shimbarcelona-lyon", link_speed=0)) shimberlin-munich = ShimEthDIF("shimberlin-munich", link_speed=0)) shimmunich-zurich = ShimEthDIF("shimmunich-zurich", link_speed=0)) shimedimburgh-london = ShimEthDIF("shimedimburgh-london", link_speed=0)) shimmunich-prague = ShimEthDIF("shimmunich-prague", link_speed=0)) shimmilan-zurich = ShimEthDIF("shimmilan-zurich", link_speed=0)) shimbucarest-sofia = ShimEthDIF("shimbucarest-sofia", link_speed=0)) shimalgiers-naples = ShimEthDIF("shimalgiers-naples", link_speed=0)) shimbudapest-varsaw = ShimEthDIF("shimbudapest-varsaw", link_speed=0)) shimmunich-vienna = ShimEthDIF("shimmunich-vienna", link_speed=0)) shimamsterdam-oslo = ShimEthDIF("shimamsterdam-oslo", link_speed=0)) shimbelgrad-zagreb = ShimEthDIF("shimbelgrad-zagreb", link_speed=0)) shimbudapest-prague = ShimEthDIF("shimbudapest-prague", link_speed=0)) shimnaples-tunis = ShimEthDIF("shimnaples-tunis", link_speed=0)) shimhelsinki-stockholm = ShimEthDIF("shimhelsinki-stockholm", link_speed=0)) shimflorence-rome = ShimEthDIF("shimflorence-rome", link_speed=0)) shimmadrid-valencia = ShimEthDIF("shimmadrid-valencia", link_speed=0)) shimalgiers-tunis = ShimEthDIF("shimalgiers-tunis", link_speed=0)) shimlyon-paris = ShimEthDIF("shimlyon-paris", link_speed=0)) shimprague-vienna = ShimEthDIF("shimprague-vienna", link_speed=0)) shimhelsinki-varsaw = ShimEthDIF("shimhelsinki-varsaw", link_speed=0)) shimnaples-rome = ShimEthDIF("shimnaples-rome", link_speed=0)) shimberlin-varsaw = ShimEthDIF("shimberlin-varsaw", link_speed=0)) shimflorence-pisa = ShimEthDIF("shimflorence-pisa", link_speed=0)) shimpisa-rome = ShimEthDIF("shimpisa-rome", link_speed=0)) shimbelgrad-bucarest = ShimEthDIF("shimbelgrad-bucarest", link_speed=0)) shimamsterdam-brussels = ShimEthDIF("shimamsterdam-brussels", link_speed=0)) shimmilan-venice = ShimEthDIF("shimmilan-venice", link_speed=0)) shimathens-naples = ShimEthDIF("shimathens-naples", link_speed=0)) shimflorence-venice = ShimEthDIF("shimflorence-venice", link_speed=0)) shimbelgrad-sofia = ShimEthDIF("shimbelgrad-sofia", link_speed=0)) shimbarcelona-madrid = ShimEthDIF("shimbarcelona-madrid", link_speed=0)) shimmilan-nice = ShimEthDIF("shimmilan-nice", link_speed=0)) shimvenice-vienna = ShimEthDIF("shimvenice-vienna", link_speed=0)) shimalgiers-valencia = ShimEthDIF("shimalgiers-valencia", link_speed=0)) shimlyon-nice = ShimEthDIF("shimlyon-nice", link_speed=0)) shimlisbon-madrid = ShimEthDIF("shimlisbon-madrid", link_speed=0)) shimbarcelona-valencia = ShimEthDIF("shimbarcelona-valencia", link_speed=0)) shimflorence-milan = ShimEthDIF("shimflorence-milan", link_speed=0)) shimamsterdam-berlin = ShimEthDIF("shimamsterdam-berlin", link_speed=0)) shimamsterdam-stockholm = ShimEthDIF("shimamsterdam-stockholm", link_speed=0)) shimberlin-prague = ShimEthDIF("shimberlin-prague", link_speed=0)) shimbudapest-zagreb = ShimEthDIF("shimbudapest-zagreb", link_speed=0)) shimbrussels-london = ShimEthDIF("shimbrussels-london", link_speed=0)) shimathens-sofia = ShimEthDIF("shimathens-sofia", link_speed=0)) shimbrussels-paris = ShimEthDIF("shimbrussels-paris", link_speed=0)) shimberlin-brussels = ShimEthDIF("shimberlin-brussels", link_speed=0)) shimlondon-paris = ShimEthDIF("shimlondon-paris", link_speed=0)) itavpn = NormalDIF("itavpn") cenvpn = NormalDIF("cenvpn") ibervpn = NormalDIF("ibervpn") nortvpn = NormalDIF("nortvpn") eu = NormalDIF("eu") eastvpn = NormalDIF("eastvpn") sofia = Node("sofia", difs=[athens-sofia, bucarest-sofia, belgrad-sofia, eu], dif_registrations={eu: [athens-sofia, belgrad-sofia, bucarest-sofia]}) bucarest = Node("bucarest", difs=[bucarest-sofia, belgrad-bucarest, eu, eastvpn], dif_registrations={eu: [bucarest-sofia, belgrad-bucarest], eastvpn: [eu]}) zagreb = Node("zagreb", difs=[belgrad-zagreb, budapest-zagreb, eu, eastvpn], dif_registrations={eu: [belgrad-zagreb, budapest-zagreb], eastvpn: [eu]}) lisbon = Node("lisbon", difs=[lisbon-madrid, eu, ibervpn], dif_registrations={ibervpn: [eu], eu: [lisbon-madrid]}) pisa = Node("pisa", difs=[pisa-rome, florence-pisa, eu, itavpn], dif_registrations={itavpn: [eu], eu: [pisa-rome, florence-pisa]}) tunis = Node("tunis", difs=[algiers-tunis, naples-tunis, eu], dif_registrations={eu: [algiers-tunis, naples-tunis]}) berlin = Node("berlin", difs=[berlin-prague, berlin-munich, berlin-varsaw, amsterdam-berlin, berlin-brussels, eu, cenvpn], dif_registrations={cenvpn: [eu], eu: [berlin-munich, berlin-prague, berlin-varsaw, amsterdam-berlin, berlin-brussels]}) barcelona = Node("barcelona", difs=[barcelona-lyon, barcelona-madrid, barcelona-valencia, eu, ibervpn], dif_registrations={ibervpn: [eu], eu: [barcelona-lyon, barcelona-madrid, barcelona-valencia]}) venice = Node("venice", difs=[florence-venice, milan-venice, venice-vienna, eu, itavpn], dif_registrations={itavpn: [eu], eu: [milan-venice, florence-venice, venice-vienna]}) helsinki = Node("helsinki", difs=[helsinki-stockholm, helsinki-varsaw, eu, nortvpn], dif_registrations={nortvpn: [eu], eu: [helsinki-stockholm, helsinki-varsaw]}) lyon = Node("lyon", difs=[lyon-nice, lyon-paris, barcelona-lyon, eu], dif_registrations={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]}) prague = Node("prague", difs=[budapest-prague, prague-vienna, munich-prague, berlin-prague, eu, cenvpn], dif_registrations={cenvpn: [eu], eu: [budapest-prague, prague-vienna, munich-prague, berlin-prague]}) vienna = Node("vienna", difs=[venice-vienna, munich-vienna, prague-vienna, eu, cenvpn], dif_registrations={cenvpn: [eu], eu: [venice-vienna, prague-vienna, munich-vienna]}) amsterdam = Node("amsterdam", difs=[amsterdam-berlin, amsterdam-brussels, amsterdam-oslo, amsterdam-stockholm, eu, cenvpn], dif_registrations={cenvpn: [eu], eu: [amsterdam-berlin, amsterdam-oslo, amsterdam-brussels, amsterdam-stockholm]}) athens = Node("athens", difs=[athens-naples, athens-sofia, eu], dif_registrations={eu: [athens-naples, athens-sofia]}) florence = Node("florence", difs=[florence-rome, florence-pisa, florence-milan, florence-venice, eu, itavpn], dif_registrations={itavpn: [eu], eu: [florence-pisa, florence-rome, florence-milan, florence-venice]}) brussels = Node("brussels", difs=[berlin-brussels, amsterdam-brussels, brussels-paris, brussels-london, eu], dif_registrations={eu: [berlin-brussels, amsterdam-brussels, brussels-london, brussels-paris]}) naples = Node("naples", difs=[naples-rome, algiers-naples, naples-tunis, athens-naples, eu, itavpn], dif_registrations={itavpn: [eu], eu: [naples-rome, athens-naples, algiers-naples, naples-tunis]}) zurich = Node("zurich", difs=[milan-zurich, munich-zurich, eu], dif_registrations={eu: [munich-zurich, milan-zurich]}) edimburgh = Node("edimburgh", difs=[edimburgh-london, eu], dif_registrations={eu: [edimburgh-london]}) milan = Node("milan", difs=[florence-milan, milan-venice, milan-zurich, milan-nice, eu, itavpn], dif_registrations={itavpn: [eu], eu: [milan-venice, florence-milan, milan-zurich, milan-nice]}) rome = Node("rome", difs=[naples-rome, pisa-rome, florence-rome, eu, itavpn], dif_registrations={itavpn: [eu], eu: [naples-rome, pisa-rome, florence-rome]}) nice = Node("nice", difs=[milan-nice, lyon-nice, eu], dif_registrations={eu: [milan-nice, lyon-nice]}) stockholm = Node("stockholm", difs=[oslo-stockholm, amsterdam-stockholm, helsinki-stockholm, eu, nortvpn], dif_registrations={nortvpn: [eu], eu: [helsinki-stockholm, oslo-stockholm, amsterdam-stockholm]}) varsaw = Node("varsaw", difs=[budapest-varsaw, berlin-varsaw, helsinki-varsaw, eu, eastvpn], dif_registrations={eu: [budapest-varsaw, berlin-varsaw, helsinki-varsaw], eastvpn: [eu]}) budapest = Node("budapest", difs=[budapest-zagreb, budapest-prague, budapest-varsaw, eu, eastvpn], dif_registrations={eu: [budapest-varsaw, budapest-zagreb, budapest-prague], eastvpn: [eu]}) belgrad = Node("belgrad", difs=[belgrad-sofia, belgrad-bucarest, belgrad-zagreb, eu, eastvpn], dif_registrations={eu: [belgrad-sofia, belgrad-bucarest, belgrad-zagreb], eastvpn: [eu]}) london = Node("london", difs=[london-paris, brussels-london, edimburgh-london, eu], dif_registrations={eu: [brussels-london, edimburgh-london, london-paris]}) paris = Node("paris", difs=[lyon-paris, brussels-paris, london-paris, eu], dif_registrations={eu: [lyon-paris, london-paris, brussels-paris]}) munich = Node("munich", difs=[munich-zurich, munich-vienna, munich-prague, berlin-munich, eu, cenvpn], dif_registrations={cenvpn: [eu], eu: [munich-vienna, munich-zurich, munich-prague, berlin-munich]}) valencia = Node("valencia", difs=[barcelona-valencia, madrid-valencia, algiers-valencia, eu, ibervpn], dif_registrations={ibervpn: [eu], eu: [barcelona-valencia, madrid-valencia, algiers-valencia]}) algiers = Node("algiers", difs=[algiers-valencia, algiers-tunis, algiers-naples, eu], dif_registrations={eu: [algiers-valencia, algiers-tunis, algiers-naples]}) oslo = Node("oslo", difs=[amsterdam-oslo, oslo-stockholm, eu, nortvpn], dif_registrations={nortvpn: [eu], eu: [amsterdam-oslo, oslo-stockholm]}) tb = qemu.Testbed(exp_name = "europe-vpns", 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()