aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/conf-examples/dc-vpns.conf114
-rw-r--r--tools/conf-examples/geant2-renumber.conf86
-rw-r--r--tools/conf-examples/insane-stacking.conf29
-rw-r--r--tools/conf-examples/isp-sec.conf189
-rw-r--r--tools/conf-examples/resilient-square.conf16
-rw-r--r--tools/conf-examples/secure-two-layers.conf25
-rw-r--r--tools/conf-examples/seven.conf34
-rw-r--r--tools/conf-examples/star.conf7
-rw-r--r--tools/conf-examples/triangle.conf9
-rw-r--r--tools/conf-examples/tutorial1.conf4
-rw-r--r--tools/conf-examples/tutorial2.conf6
-rw-r--r--tools/conf-examples/two-layers.conf17
-rwxr-xr-xtools/democonf2rumba.py292
-rw-r--r--tools/scriptgenerator.py14
14 files changed, 7 insertions, 835 deletions
diff --git a/tools/conf-examples/dc-vpns.conf b/tools/conf-examples/dc-vpns.conf
deleted file mode 100644
index 8bfde51..0000000
--- a/tools/conf-examples/dc-vpns.conf
+++ /dev/null
@@ -1,114 +0,0 @@
-eth 110 100Mbps tor1 spine1
-eth 120 100Mbps tor1 spine2
-eth 11 25Mbps s11 tor1
-eth 12 25Mbps s12 tor1
-eth 13 25Mbps s13 tor1
-eth 14 25Mbps s14 tor1
-eth 15 25Mbps s15 tor1
-eth 16 25Mbps s16 tor1
-eth 17 25Mbps s17 tor1
-eth 18 25Mbps s18 tor1
-eth 210 100Mbps tor2 spine1
-eth 220 100Mbps tor2 spine2
-eth 21 25Mbps s21 tor2
-eth 22 25Mbps s22 tor2
-eth 23 25Mbps s23 tor2
-eth 24 25Mbps s24 tor2
-eth 25 25Mbps s25 tor2
-eth 26 25Mbps s26 tor2
-eth 27 25Mbps s27 tor2
-eth 28 25Mbps s28 tor2
-eth 310 100Mbps tor3 spine1
-eth 320 100Mbps tor3 spine2
-eth 31 25Mbps s31 tor3
-eth 32 25Mbps s32 tor3
-eth 33 25Mbps s33 tor3
-eth 34 25Mbps s34 tor3
-eth 35 25Mbps s35 tor3
-eth 36 25Mbps s36 tor3
-eth 37 25Mbps s37 tor3
-eth 38 25Mbps s38 tor3
-eth 410 100Mbps tor4 spine1
-eth 420 100Mbps tor4 spine2
-eth 41 25Mbps s41 tor4
-eth 42 25Mbps s42 tor4
-eth 43 25Mbps s43 tor4
-eth 44 25Mbps s44 tor4
-eth 45 25Mbps s45 tor4
-eth 46 25Mbps s46 tor4
-eth 47 25Mbps s47 tor4
-eth 48 25Mbps s48 tor4
-
-# DIF dcfabric
-dif dcfabric tor1 110 120
-dif dcfabric tor2 210 220
-dif dcfabric tor3 310 320
-dif dcfabric tor4 410 420
-dif dcfabric spine1 110 210 310 410
-dif dcfabric spine2 120 220 320 420
-
-# DIF VPN1
-dif vpn1 s11 11
-dif vpn1 s12 12
-dif vpn1 s13 13
-dif vpn1 s14 14
-dif vpn1 tor1 11 12 13 14 dcfabric
-dif vpn1 s21 21
-dif vpn1 s22 22
-dif vpn1 s23 23
-dif vpn1 s24 24
-dif vpn1 tor2 21 22 23 24 dcfabric
-
-# DIF VPN2
-dif vpn2 s31 31
-dif vpn2 s32 32
-dif vpn2 s33 33
-dif vpn2 s34 34
-dif vpn2 tor3 31 32 33 34 dcfabric
-dif vpn2 s41 41
-dif vpn2 s42 42
-dif vpn2 s43 43
-dif vpn2 s44 44
-dif vpn2 tor4 41 42 43 44 dcfabric
-
-# DIF VPN3
-dif vpn3 s15 15
-dif vpn3 s16 16
-dif vpn3 s17 17
-dif vpn3 s18 18
-dif vpn3 tor1 15 16 17 18 dcfabric
-dif vpn3 s25 25
-dif vpn3 s26 26
-dif vpn3 s27 27
-dif vpn3 s28 28
-dif vpn3 tor2 25 26 27 28 dcfabric
-
-# DIF VPN4
-dif vpn4 s35 35
-dif vpn4 s36 36
-dif vpn4 s37 37
-dif vpn4 s38 38
-dif vpn4 tor3 35 36 37 38 dcfabric
-dif vpn4 s45 45
-dif vpn4 s46 46
-dif vpn4 s47 47
-dif vpn4 s48 48
-dif vpn4 tor4 45 46 47 48 dcfabric
-
-#Policies
-
-#Multipath FABRIC
-#policy dcfabric spine1,spine2 rmt.pff multipath
-#policy dcfabric spine1,spine2 routing link-state routingAlgorithm=ECMPDijkstra
-#policy dcfabric * rmt cas-ps q_max=1000
-#policy dcfabric * efcp.*.dtcp cas-ps
-
-#Application to DIF mappings
-#appmap vpn1 traffic.generator.server 1
-#appmap vpn1 rina.apps.echotime.server 1
-#appmap vpn2 traffic.generator.server 1
-#appmap vpn2 rina.apps.echotime.server 1
-#appmap vpn3 traffic.generator.server 1
-#appmap vpn3 rina.apps.echotime.server 1
-#appmap vpn4 traffic.generator.server 1
-#appmap vpn4 rina.apps.echotime.server 1
diff --git a/tools/conf-examples/geant2-renumber.conf b/tools/conf-examples/geant2-renumber.conf
deleted file mode 100644
index 07c014c..0000000
--- a/tools/conf-examples/geant2-renumber.conf
+++ /dev/null
@@ -1,86 +0,0 @@
-eth 2000 100Mbps lisbon madrid
-eth 2001 100Mbps lisbon london
-eth 2002 100Mbps london dublin
-eth 2003 100Mbps london paris
-eth 2004 100Mbps london brussels
-eth 2005 100Mbps paris madrid
-eth 2006 100Mbps paris luxemburg
-eth 2007 100Mbps paris bern
-eth 2008 100Mbps madrid bern
-eth 2009 100Mbps bern roma
-eth 2010 100Mbps roma madrid
-eth 2011 100Mbps brussels amsterdam
-eth 2012 100Mbps roma valleta
-eth 2013 100Mbps amsterdam valleta
-eth 2014 100Mbps bern berlin
-eth 2015 100Mbps luxemburg berlin
-eth 2016 100Mbps amsterdam berlin
-eth 2017 100Mbps amsterdam copenhagen
-eth 2018 100Mbps berlin copenhagen
-eth 2019 100Mbps copenhagen oslo
-eth 2020 100Mbps oslo stockholm
-eth 2021 100Mbps stockholm copenhagen
-eth 2023 100Mbps copenhagen tallin
-eth 2024 100Mbps tallin riga
-eth 2025 100Mbps riga vilnius
-eth 2026 100Mbps vilnius warsaw
-eth 2027 100Mbps warsaw berlin
-eth 2028 100Mbps warsaw praha
-eth 2029 100Mbps berlin praha
-eth 2030 100Mbps berlin viena
-eth 2031 100Mbps praha viena
-eth 2032 100Mbps viena budapest
-eth 2034 100Mbps viena ljubljana
-eth 2035 100Mbps ljubljana zagreb
-eth 2036 100Mbps zagreb budapest
-eth 2037 100Mbps budapest sofia
-eth 2038 100Mbps viena athens
-eth 2039 100Mbps sofia athens
-eth 2040 100Mbps athens roma
-eth 2041 100Mbps sofia bucharest
-eth 2042 100Mbps bucharest budapest
-eth 2043 100Mbps athens nicosia
-eth 2044 100Mbps roma nicosia
-eth 2045 100Mbps sofia ankara
-eth 2046 100Mbps bucharest ankara
-eth 2047 100Mbps berlin moscow
-eth 2048 100Mbps copenhagen moscow
-eth 2049 100Mbps roma viena
-
-# DIF renumber
-dif renumber lisbon 2000 2001
-dif renumber madrid 2000 2005
-dif renumber london 2001 2002 2003 2004
-dif renumber dublin 2002
-dif renumber paris 2003 2005 2006 2007
-dif renumber brussels 2004 2011
-dif renumber luxemburg 2006 2015
-dif renumber bern 2007 2008 2009 2014
-dif renumber roma 2009 2010 2012 2040 2044 2049
-dif renumber amsterdam 2011 2013 2016 2017
-dif renumber valleta 2012 2013
-dif renumber berlin 2014 2015 2016 2018 2027 2029 2030 2047
-dif renumber copenhagen 2017 2018 2019 2021 2023 2048
-dif renumber oslo 2019 2020
-dif renumber stockholm 2020 2021
-dif renumber tallin 2023 2024
-dif renumber riga 2024 2025
-dif renumber vilnius 2025 2026
-dif renumber warsaw 2026 2027 2028
-dif renumber praha 2028 2029 2031
-dif renumber viena 2030 2031 2032 2034 2038
-dif renumber budapest 2032 2036 2037 2042
-dif renumber athens 2038 2039 2040 2043
-dif renumber ljubljana 2034 2035
-dif renumber zagreb 2035 2036
-dif renumber sofia 2037 2039 2041 2045
-dif renumber bucharest 2041 2042 2046
-dif renumber nicosia 2043 2044
-dif renumber ankara 2045 2046
-dif renumber moscow 2047 2048
-
-#Policies
-
-#address-change
-policy renumber * namespace-manager address-change useNewTimeout=20001 deprecateOldTimeout=80001 changePeriod=120001 addressRange=100
-policy renumber * routing link-state objectMaximumAge=10000 waitUntilReadCDAP=5001 waitUntilError=5001 waitUntilPDUFTComputation=103 waitUntilFSODBPropagation=101 waitUntilAgeIncrement=997 waitUntilDeprecateAddress=20001 routingAlgorithm=Dijkstra
diff --git a/tools/conf-examples/insane-stacking.conf b/tools/conf-examples/insane-stacking.conf
deleted file mode 100644
index 8032fea..0000000
--- a/tools/conf-examples/insane-stacking.conf
+++ /dev/null
@@ -1,29 +0,0 @@
-eth 300 0Mbps a b
-
-# DIF n1 lays over shim DIF 300
-dif n1 a 300
-dif n1 b 300
-
-# n2 lays over n1
-dif n2 a n1
-dif n2 b n1
-
-# n3 lays over n2
-dif n3 a n2
-dif n3 b n2
-
-# n4 lays over n3
-dif n4 a n3
-dif n4 b n3
-
-# n5 lays over n4
-dif n5 a n4
-dif n5 b n4
-
-# n6 lays over n5
-dif n6 a n5
-dif n6 b n5
-
-# n7 lays over n6
-dif n7 a n6
-dif n7 b n6
diff --git a/tools/conf-examples/isp-sec.conf b/tools/conf-examples/isp-sec.conf
deleted file mode 100644
index 33a35a6..0000000
--- a/tools/conf-examples/isp-sec.conf
+++ /dev/null
@@ -1,189 +0,0 @@
-eth 110 0Mbps cpe11 ar1
-eth 120 0Mbps cpe12 ar1
-eth 130 0Mbps cpe13 ar1
-eth 210 0Mbps cpe21 ar2
-eth 220 0Mbps cpe22 ar2
-eth 230 0Mbps cpe23 ar2
-eth 310 0Mbps cpe31 ar3
-eth 320 0Mbps cpe32 ar3
-eth 330 0Mbps cpe33 ar3
-eth 100 0Mbps ar1 manpe1
-eth 200 0Mbps ar2 manpe1
-eth 300 0Mbps ar3 manpe2
-eth 410 0Mbps manpe1 manpe2
-eth 411 0Mbps manpe1 manpe3
-eth 412 0Mbps manpe1 manpe4
-eth 420 0Mbps manpe2 manpe3
-eth 421 0Mbps manpe2 manpe4
-eth 430 0Mbps manpe3 manpe4
-eth 510 0Mbps manpe3 ser1
-eth 520 0Mbps manpe4 ser2
-eth 600 0Mbps ser1 core1
-eth 610 0Mbps ser1 core2
-eth 620 0Mbps ser2 core1
-eth 630 0Mbps ser2 core2
-eth 700 0Mbps core1 core2
-eth 710 0Mbps core1 core3
-eth 720 0Mbps core2 core4
-eth 730 0Mbps core3 core4
-eth 640 0Mbps core3 edge1
-eth 650 0Mbps core4 edge1
-eth 660 0Mbps core3 edge2
-eth 670 0Mbps core4 edge2
-eth 800 0Mbps edge1 isp2
-eth 810 0Mbps edge1 isp3
-eth 820 0Mbps edge2 isp4
-eth 830 0Mbps edge2 isp5
-
-# DIF core
-dif core ser1 600 610
-dif core ser2 620 630
-dif core core1 600 620 700 710
-dif core core2 610 630 700 720
-dif core core3 640 660 710 730
-dif core core4 650 670 720 730
-dif core edge1 640 650
-dif core edge2 660 670
-
-# DIF access
-dif access ar1 100
-dif access ar2 200
-dif access ar3 300
-dif access manpe1 100 200 410 411 412
-dif access manpe2 300 410 420 421
-dif access manpe3 411 420 430 510
-dif access manpe4 412 421 430 520
-dif access ser1 510
-dif access ser2 520
-
-# DIF service
-dif service ar1 access
-dif service ar2 access
-dif service ar3 access
-dif service ser1 access core
-dif service ser2 access core
-dif service edge1 core
-dif service edge2 core
-
-# DIF emall1
-dif emall1 cpe11 110
-dif emall1 cpe12 120
-dif emall1 cpe21 210
-dif emall1 cpe22 220
-dif emall1 cpe31 310
-dif emall1 ar1 110 120 service
-dif emall1 ar2 210 220 service
-dif emall1 ar3 310 service
-dif emall1 edge1 service 800
-dif emall1 edge2 service 820
-dif emall1 isp2 800
-dif emall1 isp4 820
-
-# DIF emall2
-dif emall2 cpe13 130
-dif emall2 cpe23 230
-dif emall2 cpe32 320
-dif emall2 cpe33 330
-dif emall2 ar1 130 service
-dif emall2 ar2 230 service
-dif emall2 ar3 320 330 service
-dif emall2 edge1 service 810
-dif emall2 edge2 service 830
-dif emall2 isp3 810
-dif emall2 isp5 830
-
-#policies
-policy emall1 * security-manager.auth.default PSOC_authentication-ssh2 keyExchangeAlg=EDH keystore=/creds/ssh2 keystorePass=test
-policy emall1 * security-manager.encrypt.default default encryptAlg=AES128 macAlg=SHA256 compressAlg=deflate
-policy emall1 ar1,ar2,ar3,edge1,edge2 security-manager.auth.service PSOC_authentication-none
-policy emall2 * security-manager.auth.default PSOC_authentication-ssh2 keyExchangeAlg=EDH keystore=/creds/ssh2 keystorePass=test
-policy emall2 * security-manager.encrypt.default default encryptAlg=AES128 macAlg=SHA256 compressAlg=deflate
-policy emall2 ar1,ar2,ar3,edge1,edge2 security-manager.auth.service PSOC_authentication-none
-
-#Enrollments
-enroll access ar1 manpe1 100
-enroll access ar2 manpe1 200
-enroll access ar3 manpe2 300
-enroll access ser1 manpe3 510
-enroll access ser2 manpe4 520
-enroll access manpe1 manpe2 410
-enroll access manpe1 manpe3 411
-enroll access manpe1 manpe4 412
-enroll access manpe2 manpe3 420
-enroll access manpe2 manpe4 421
-enroll access manpe3 manpe4 430
-
-enroll core core1 core2 700
-enroll core core1 core3 710
-enroll core core2 core4 720
-enroll core core3 core4 730
-enroll core ser1 core1 600
-enroll core ser1 core2 610
-enroll core ser2 core1 620
-enroll core ser2 core2 630
-enroll core edge1 core3 640
-enroll core edge1 core4 650
-enroll core edge2 core3 660
-enroll core edge2 core4 670
-
-enroll service edge1 edge2 core
-enroll service edge1 ser1 core
-enroll service edge1 ser2 core
-enroll service edge2 ser1 core
-enroll service edge2 ser2 core
-enroll service ser1 ser2 core
-enroll service ar1 ser1 access
-enroll service ar1 ser2 access
-enroll service ar2 ser1 access
-enroll service ar2 ser2 access
-enroll service ar3 ser1 access
-enroll service ar3 ser2 access
-
-enroll emall1 cpe11 ar1 110
-enroll emall1 cpe12 ar1 120
-enroll emall1 cpe21 ar2 210
-enroll emall1 cpe22 ar2 220
-enroll emall1 cpe31 ar3 310
-enroll emall1 ar1 edge1 service
-enroll emall1 ar1 edge2 service
-enroll emall1 ar2 edge1 service
-enroll emall1 ar2 edge2 service
-enroll emall1 ar3 edge1 service
-enroll emall1 ar3 edge2 service
-enroll emall1 edge1 edge2 service
-enroll emall1 isp2 edge1 800
-enroll emall1 isp4 edge2 820
-
-enroll emall2 cpe13 ar1 130
-enroll emall2 cpe23 ar2 230
-enroll emall2 cpe32 ar3 320
-enroll emall2 cpe33 ar3 330
-enroll emall2 ar1 edge1 service
-enroll emall2 ar1 edge2 service
-enroll emall2 ar2 edge1 service
-enroll emall2 ar2 edge2 service
-enroll emall2 ar3 edge1 service
-enroll emall2 ar3 edge2 service
-enroll emall2 edge1 edge2 service
-enroll emall2 isp3 edge1 810
-enroll emall2 isp5 edge2 830
-
-#Overlays
-overlay ar1 overlays/ispsec/ar1
-overlay ar2 overlays/ispsec/ar2
-overlay ar3 overlays/ispsec/ar3
-overlay cpe11 overlays/ispsec/cpe11
-overlay cpe12 overlays/ispsec/cpe12
-overlay cpe13 overlays/ispsec/cpe13
-overlay cpe21 overlays/ispsec/cpe21
-overlay cpe22 overlays/ispsec/cpe22
-overlay cpe23 overlays/ispsec/cpe23
-overlay cpe31 overlays/ispsec/cpe31
-overlay cpe32 overlays/ispsec/cpe32
-overlay cpe33 overlays/ispsec/cpe33
-overlay edge1 overlays/ispsec/edge1
-overlay edge2 overlays/ispsec/edge2
-overlay isp2 overlays/ispsec/isp2
-overlay isp3 overlays/ispsec/isp3
-overlay isp4 overlays/ispsec/isp4
-overlay isp5 overlays/ispsec/isp5
diff --git a/tools/conf-examples/resilient-square.conf b/tools/conf-examples/resilient-square.conf
deleted file mode 100644
index 592b6a5..0000000
--- a/tools/conf-examples/resilient-square.conf
+++ /dev/null
@@ -1,16 +0,0 @@
-# a, b and c and d are connected through p2p shim DIFs, in circle.
-# Between a and c there is an additional diagonal link.
-eth 300 100Mbps a b
-eth 400 100Mbps b c
-eth 500 100Mbps c d
-eth 600 1Mbps d a
-eth 700 100Mbps a c
-
-# DIF n1 spans over the p2p shim DIFs
-dif n1 a 300 600 700
-dif n1 b 300 400
-dif n1 c 400 500 700
-dif n1 d 500 600
-
-# Use LFA policy as PDU Forwarding Function
-policy n1 * rmt.pff lfa
diff --git a/tools/conf-examples/secure-two-layers.conf b/tools/conf-examples/secure-two-layers.conf
deleted file mode 100644
index 54c1da6..0000000
--- a/tools/conf-examples/secure-two-layers.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-eth 300 0Mbps a b
-eth 400 0Mbps b c
-eth 500 0Mbps c d
-
-# DIF n1 spans a,b and c and runs over the shims
-dif n1 a 300
-dif n1 b 300 400
-dif n1 c 400
-
-# DIF n2 spans c and d and runs over the shims
-dif n2 c 500
-dif n2 d 500
-
-# DIF n3 spans over n1 and n2
-dif n3 a n1
-dif n3 c n1 n2
-dif n3 d n2
-
-policy n3 * security-manager.auth.default PSOC_authentication-ssh2 keyExchangeAlg=EDH keystore=/creds keystorePass=test
-policy n3 * security-manager.encrypt.default default encryptAlg=AES128 macAlg=SHA256 compressAlg=deflate
-policy n3 * security-manager.ttl.default default initialValue=50
-policy n3 * security-manager.errorcheck.default CRC32
-policy n3 * security-manager.auth.n1 PSOC_authentication-password password=kf05j.a1234.af0k
-policy n3 * security-manager.ttl.n1 default initialValue=50
-policy n3 * security-manager.errorcheck.n1 CRC32
diff --git a/tools/conf-examples/seven.conf b/tools/conf-examples/seven.conf
deleted file mode 100644
index b25f476..0000000
--- a/tools/conf-examples/seven.conf
+++ /dev/null
@@ -1,34 +0,0 @@
-# This configuration realizes the following seven-nodes topology
-#
-# MA ---- MB ---- MC --- MD --- ME
-# | |
-# MF MG
-#
-
-# 300 is a shim-eth-vlan DIF, with nodes a and b
-eth 300 0Mbps a b
-
-# 400 is a shim-eth-vlan DIF, with nodes b and c
-eth 400 0Mbps b c
-
-# 500 is a shim-eth-vlan DIF, with nodes c and f
-eth 500 0Mbps c f
-
-# 600 is a shim-eth-vlan DIF, with nodes c and d
-eth 600 0Mbps c d
-
-# 700 is a shim-eth-vlan DIF, with nodes d and e
-eth 700 0Mbps d e
-
-# 800 is a shim-eth-vlan DIF, with nodes e and g
-eth 800 0Mbps e g
-
-# DIF n1 spans over the two shim DIFs
-dif n1 a 300
-dif n1 b 300 400
-dif n1 c 400 500 600
-dif n1 d 600 700
-dif n1 e 700 800
-dif n1 f 500
-dif n1 g 800
-
diff --git a/tools/conf-examples/star.conf b/tools/conf-examples/star.conf
deleted file mode 100644
index 8a4f6ab..0000000
--- a/tools/conf-examples/star.conf
+++ /dev/null
@@ -1,7 +0,0 @@
-# a,b and c are in the same L2 domain
-eth 300 0Mbps a b c
-
-# DIF n1 spans over the shim DIF
-dif n1 a 300
-dif n1 b 300
-dif n1 c 300
diff --git a/tools/conf-examples/triangle.conf b/tools/conf-examples/triangle.conf
deleted file mode 100644
index f89811c..0000000
--- a/tools/conf-examples/triangle.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-# a, b and c are connected through p2p shim DIFs
-eth 300 10Mbps a b
-eth 400 20Mbps b c
-eth 500 30Mbps a c
-
-# DIF n1 spans over the p2p shim DIFs
-dif n1 a 300 500
-dif n1 b 300 400
-dif n1 c 400 500
diff --git a/tools/conf-examples/tutorial1.conf b/tools/conf-examples/tutorial1.conf
deleted file mode 100644
index 8023687..0000000
--- a/tools/conf-examples/tutorial1.conf
+++ /dev/null
@@ -1,4 +0,0 @@
-eth 100 0Mbps system1 system2
-
-dif Normal system1 100
-dif Normal system2 100
diff --git a/tools/conf-examples/tutorial2.conf b/tools/conf-examples/tutorial2.conf
deleted file mode 100644
index b43fc17..0000000
--- a/tools/conf-examples/tutorial2.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-eth 100 0Mbps system1 system2
-eth 101 0Mbps system2 system3
-
-dif Normal system1 100
-dif Normal system2 100 101
-dif Normal system3 101
diff --git a/tools/conf-examples/two-layers.conf b/tools/conf-examples/two-layers.conf
deleted file mode 100644
index dc1bab2..0000000
--- a/tools/conf-examples/two-layers.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-eth 300 0Mbps a b
-eth 400 0Mbps b c
-eth 500 0Mbps c d
-
-# DIF n1 spans a,b and c and runs over the shims
-dif n1 a 300
-dif n1 b 300 400
-dif n1 c 400
-
-# DIF n2 spans c and d and runs over the shims
-dif n2 c 500
-dif n2 d 500
-
-# DIF n3 spans over n1 and n2
-dif n3 a n1
-dif n3 c n1 n2
-dif n3 d n2
diff --git a/tools/democonf2rumba.py b/tools/democonf2rumba.py
deleted file mode 100755
index 795cf22..0000000
--- a/tools/democonf2rumba.py
+++ /dev/null
@@ -1,292 +0,0 @@
-#!/usr/bin/env python
-
-import argparse
-import re
-
-import rumba.model as mod
-import rumba.log as log
-
-
-def make_experiment(filename, experiment_class, experiment_kwargs,
- testbed_class, testbed_kwargs, verbosity):
- """
- :type filename str
- :param filename: path to the .conf file
- :param experiment_class: subclass of mod.Experiment
- :param experiment_kwargs: args dict for experiment constructor
- (nodes will be overwritten)
- :param testbed_class: subclass of mod.Testbed
- :param testbed_kwargs: args dict for experiment constructor
- (nodes will be overwritten)
- """
- shims = {}
- nodes = {}
- difs = {}
-
- print('Reading file %s.' % (filename,))
- print('+++++++++++++++++++')
- print()
-
- with open(filename, 'r') as conf:
-
- line_cnt = 0
-
- while 1:
- line = conf.readline()
- if line == '':
- break
- line_cnt += 1
-
- line = line.replace('\n', '').strip()
-
- if line.startswith('#') or line == "":
- continue
-
- m = re.match(r'\s*eth\s+([\w-]+)\s+(\d+)([GMK])bps\s+(\w.*)$', line)
- if m:
- shim = m.group(1)
- speed = int(m.group(2))
- speed_unit = m.group(3).lower()
- vm_list = m.group(4).split()
-
- if shim in shims or shim in difs:
- print('Error: Line %d: shim %s already defined'
- % (line_cnt, shim))
- continue
-
- if speed_unit == 'K':
- speed = speed // 1000
- if speed_unit == 'G':
- speed = speed * 1000
-
- shims[shim] = {'name': shim,
- 'speed': speed,
- 'type': 'eth'}
-
- for vm in vm_list:
- nodes.setdefault(vm, {'name': vm, 'difs': [],
- 'dif_registrations': {},
- 'registrations': {}})
- nodes[vm]['difs'].append(shim)
- continue
-
- m = re.match(r'\s*dif\s+([\w-]+)\s+([\w-]+)\s+(\w.*)$', line)
- if m:
- dif = m.group(1)
- vm = m.group(2)
- dif_list = m.group(3).split()
-
- if dif in shims:
- print('Error: Line %d: dif %s already defined as shim'
- % (line_cnt, dif))
- continue
-
- difs.setdefault(dif, {
- 'name': dif}) # Other dict contents might be policies.
-
- if vm in nodes and dif in nodes[vm]['dif_registrations']:
- print('Error: Line %d: vm %s in dif %s already specified'
- % (line_cnt, vm, dif))
- continue
-
- nodes.setdefault(vm, {'name': vm, 'difs': [],
- 'dif_registrations': {},
- 'registrations': {}})
- nodes[vm]['difs'].append(dif)
- nodes[vm]['dif_registrations'][dif] = dif_list
- # It is not defined yet, per check above.
-
- continue
-
- # No match, spit a warning
- print('Warning: Line %d unrecognized and ignored' % line_cnt)
-
- # File parsed
-
- parsed_difs = {}
-
- for shim_name, shim in shims.items():
- parsed_difs[shim_name] = (mod.ShimEthDIF(
- shim_name,
- link_quality=mod.LinkQuality(rate=shim['speed']))
- )
-
- for dif_name, dif in difs.items():
- parsed_difs[dif_name] = (mod.NormalDIF(dif_name))
-
- parsed_nodes = []
- for node, node_data in nodes.items():
- name = node_data['name']
- difs = [parsed_difs[x] for x in node_data['difs']]
- dif_registrations = {parsed_difs[x]: [parsed_difs[y] for y in l]
- for x, l in node_data['dif_registrations']
- .items()}
- parsed_nodes.append(mod.Node(name, difs, dif_registrations))
-
- log.set_logging_level(verbosity)
- print()
- print('++++++++++++++++++++')
- print('Calling constructor of testbed %s with args %s.'
- % (testbed_class, testbed_kwargs))
- print('++++++++++++++++++++')
- print()
-
- testbed = testbed_class(**testbed_kwargs)
-
- experiment_kwargs['testbed'] = testbed
- experiment_kwargs['nodes'] = parsed_nodes
-
- exp = experiment_class(**experiment_kwargs)
- try:
- exp.swap_in()
- exp.bootstrap_prototype()
- input("Press ENTER to quit")
- finally:
- exp.swap_out()
-
-
-def setup_testbed_common_args(t_p):
-
- t_p.add_argument('-E', '--exp_name', metavar='EXP_NAME', type=str,
- required=True,
- help='Experiment name')
- t_p.add_argument('-U', '--username', metavar='USERNAME', type=str,
- required=True,
- help='Testbed user name')
- t_p.add_argument('-P', '--proj_name', metavar='PROJECT_NAME', type=str,
- help='Project name')
- t_p.add_argument('-W', '--password', metavar='PASSWORD', type=str,
- help='Testbed password')
-
-
-if __name__ == '__main__':
- description = "Demonstrator config file to rumba script converter"
- epilog = "2017 Marco Capitani <m.capitani@nextworks.it>"
-
- parser = argparse.ArgumentParser(description=description,
- epilog=epilog)
-
- parser.add_argument('-P', '--prototype', type=str, required=True,
- choices=['irati', 'ouroboros', 'rlite'],
- help='The kind of prototype plugin to use to run'
- ' the experiment.')
-
- parser.add_argument('-C', '--conf', metavar='CONFIG', type=str,
- required=True,
- help='Path to the config file to parse')
-
- parser.add_argument(
- '--verbosity', metavar='VERBOSITY', type=str,
- default='INFO',
- choices=['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'],
- help='Rumba output verbosity')
-
- subparsers = parser.add_subparsers(dest='testbed')
- emulab_p = subparsers.add_parser('emulab', help='Use emulab testbed')
- jfed_p = subparsers.add_parser('jfed', help='Use jfed testbed')
- qemu_p = subparsers.add_parser('qemu', help='Use qemu testbed')
- fake_p = subparsers.add_parser('fake', help='Use fake testbed')
-
- for t in [emulab_p, jfed_p, qemu_p, fake_p]:
- setup_testbed_common_args(t)
-
- qemu_p.add_argument('-B', '--bzimage-path', metavar='BZIMAGE', type=str,
- required=True,
- help='path to the bzImage file to use')
- qemu_p.add_argument('-I', '--initramfs-path', metavar='INITRAMFS', type=str,
- required=True,
- help='path to the initramfs file to use')
- qemu_p.add_argument('-V', '--use_vhost', action='store_true',
- default=False, help='Use vhost')
- qemu_p.add_argument('-Q', '--qemu_logs_dir', metavar='QEMU_LOGS', type=str,
- default=None, help='path to the folder for qemu logs')
- qemu_p.add_argument('--public-key-path', metavar='PATH', type=str,
- default=None, help='path to the user ssh public key.')
-
- emulab_p.add_argument('-R', '--url', metavar='URL', type=str,
- default="wall2.ilabt.iminds.be",
- help='Url')
- emulab_p.add_argument('-I', '--image', metavar='IMG', type=str,
- default="UBUNTU14-64-STD",
- help='Ubuntu image')
-
- jfed_p.add_argument('-C', '--cert_file', metavar='CERT', type=str,
- required=True,
- help='Certificate file')
- jfed_p.add_argument('-H', '--exp_hours', metavar='HOURS', type=str,
- default="2", help='Experiment hours')
- jfed_p.add_argument('-A', '--authority', metavar='AUTH', type=str,
- default="wall2.ilabt.iminds.be",
- help='Authority')
- jfed_p.add_argument('-I', '--image', metavar='IMAGE', type=str,
- default=None,
- help='Image to be used')
- jfed_p.add_argument('--image-custom', metavar='I_CUSTOM', type=bool,
- default=False,
- help='Is the image a custom one?')
- jfed_p.add_argument('--image-owner', metavar='I_OWNER', type=str,
- default=None,
- help='Creator of the image')
- jfed_p.add_argument('--use-physical-machines', metavar='USE_PM', type=bool,
- default=None,
- help='Try to allocate physical machines if True')
-
- args = parser.parse_args()
-
- if args.testbed == 'emulab':
- import rumba.testbeds.emulab as emulab
- test_class = emulab.Testbed
- testbed_args = {a.dest: getattr(args, a.dest)
- for a in emulab_p._actions
- if a.dest != 'help'
- and getattr(args, a.dest) is not None}
- elif args.testbed == 'jfed':
- import rumba.testbeds.jfed as jfed
- test_class = jfed.Testbed
- testbed_args = {a.dest: getattr(args, a.dest)
- for a in jfed_p._actions
- if a.dest != 'help'
- and getattr(args, a.dest) is not None}
- elif args.testbed == 'qemu':
- import rumba.testbeds.qemu as qemu
- test_class = qemu.Testbed
- testbed_args = {a.dest: getattr(args, a.dest)
- for a in qemu_p._actions
- if a.dest != 'help'
- and getattr(args, a.dest) is not None}
- elif args.testbed == 'local':
- import rumba.testbeds.local as local
- test_class = local.Testbed
- testbed_args = {a.dest: getattr(args, a.dest)
- for a in fake_p._actions
- if a.dest != 'help'
- and getattr(args, a.dest) is not None}
- else:
- if args.testbed is None:
- print('Testbed type must be specified!')
- print(parser.format_help())
- exit(1)
- raise ValueError('Unexpected testbed: %s.' % args.testbed)
-
- if args.prototype == 'irati':
- import rumba.prototypes.irati as irati
- exp_class = irati.Experiment
- elif args.prototype == 'ouroboros':
- import rumba.prototypes.ouroboros as ouroboros
- exp_class = ouroboros.Experiment
- elif args.prototype == 'rlite':
- import rumba.prototypes.rlite as rlite
- exp_class = rlite.Experiment
- else:
- raise ValueError('Unexpected prototype: %s.' % args.testbed)
-
- try:
- make_experiment(args.conf,
- experiment_class=exp_class,
- experiment_kwargs={},
- testbed_class=test_class,
- testbed_kwargs=testbed_args,
- verbosity=args.verbosity)
-
- except KeyboardInterrupt:
- print("Interrupted. Closing down.")
diff --git a/tools/scriptgenerator.py b/tools/scriptgenerator.py
index cc3e1ea..f986185 100644
--- a/tools/scriptgenerator.py
+++ b/tools/scriptgenerator.py
@@ -6,22 +6,22 @@ import rumba.log as log
from rumba.utils import ExperimentManager, PAUSE_SWAPOUT
client1 = Client(
- "rinaperf",
- options="-t perf -s 1000 -c 0",
- c_id='rinaperf_^C' # To differentiate
+ "operf",
+ options="-s 1000 -d 0",
+ c_id='operf_flood' # To differentiate
)
client2 = Client(
- "rinaperf",
- options="-t perf -s 1000 -D <duration>",
+ "operf",
+ options="-s 1000 -d <duration>",
shutdown="",
- c_id='rinaperf_-D' # To differentiate
+ c_id='operf_timed' # To differentiate
)
server = Server(
- "rinaperf",
+ "operf",
options="-l",
arrival_rate=0.5,
mean_duration=5,