topologygenerator 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +9 -0
- data/.rspec +2 -0
- data/.travis.yml +4 -0
- data/CODE_OF_CONDUCT.md +49 -0
- data/Gemfile +10 -0
- data/LICENSE.txt +21 -0
- data/README.md +35 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/setup +8 -0
- data/lib/behaviors/serialize_behavior.rb +14 -0
- data/lib/builders_examples/pdm_builders/PhaseI/Flow_concrete_builder.rb +82 -0
- data/lib/builders_examples/pdm_builders/PhaseI/Host_concrete_builder.rb +24 -0
- data/lib/builders_examples/pdm_builders/PhaseI/Link_concrete_builder.rb +150 -0
- data/lib/builders_examples/pdm_builders/PhaseI/Router_concrete_builder.rb +24 -0
- data/lib/builders_examples/pdm_builders/PhaseI/output_concrete_builder.rb +86 -0
- data/lib/builders_examples/pdm_builders/PhaseI/pdm_constants.rb +111 -0
- data/lib/builders_examples/pdm_builders/PhaseIWithPriorityQueues/Flow_concrete_builder.rb +82 -0
- data/lib/builders_examples/pdm_builders/PhaseIWithPriorityQueues/Host_concrete_builder.rb +335 -0
- data/lib/builders_examples/pdm_builders/PhaseIWithPriorityQueues/Link_concrete_builder.rb +25 -0
- data/lib/builders_examples/pdm_builders/PhaseIWithPriorityQueues/Router_concrete_builder.rb +449 -0
- data/lib/builders_examples/pdm_builders/PhaseIWithPriorityQueues/output_concrete_builder.rb +229 -0
- data/lib/builders_examples/ruby_builders/Flow_concrete_builder.rb +5 -0
- data/lib/builders_examples/ruby_builders/Host_concrete_builder.rb +5 -0
- data/lib/builders_examples/ruby_builders/Link_concrete_builder.rb +5 -0
- data/lib/builders_examples/ruby_builders/Router_concrete_builder.rb +5 -0
- data/lib/builders_examples/ruby_builders/output_concrete_builder.rb +78 -0
- data/lib/command_line/command_line_arguments.rb +59 -0
- data/lib/createTopology.rb +10 -0
- data/lib/flows_distributions/constant_distribution.rb +7 -0
- data/lib/flows_distributions/exponential_distribution.rb +7 -0
- data/lib/flows_distributions/normal_distribution.rb +8 -0
- data/lib/flows_distributions/pareto_distribution.rb +9 -0
- data/lib/flows_distributions/split_distribution.rb +8 -0
- data/lib/network_entities/abstracts/flow.rb +27 -0
- data/lib/network_entities/abstracts/network_element.rb +19 -0
- data/lib/network_entities/abstracts/path.rb +16 -0
- data/lib/network_entities/physical/host.rb +10 -0
- data/lib/network_entities/physical/link.rb +36 -0
- data/lib/network_entities/physical/router.rb +12 -0
- data/lib/network_entities/topology.rb +69 -0
- data/lib/network_topologies_examples/PhaseI_onlyLAr_1FelixTo1SWROD.rb +93 -0
- data/lib/network_topologies_examples/octopus_topology.rb +66 -0
- data/lib/network_topologies_examples/phase1_topology_mininet/tdaq +4 -0
- data/lib/network_topologies_examples/phase1_topology_mininet/tdaq.py +99 -0
- data/lib/network_topologies_examples/sofisticated_octopus_topology.rb +121 -0
- data/lib/network_topologies_examples/tdaq_network_topology.rb +76 -0
- data/lib/network_topologies_examples/tdaq_topology_example.rb +119 -0
- data/lib/network_topologies_examples/tree_topology.rb +102 -0
- data/lib/output/FlowDefinitions.cpp +109 -0
- data/lib/output/copy_files.sh +8 -0
- data/lib/output/flows_definition.scilabParams +30 -0
- data/lib/output/hosts_definition.scilabParams +5 -0
- data/lib/output/links_definition.scilabParams +48 -0
- data/lib/output/routers_definition.scilabParams +24 -0
- data/lib/output/ruby_network_topology.rb +76 -0
- data/lib/output/topology.pdm +5321 -0
- data/lib/output_builder.rb +39 -0
- data/lib/providers/apis/onos_topology_provider.rb +146 -0
- data/lib/providers/customs/custom_topology_provider.rb +14 -0
- data/lib/providers/interface_topology_provider.rb +11 -0
- data/lib/topologygenerator/version.rb +3 -0
- data/lib/topologygenerator.rb +34 -0
- data/lib/utils/custom_files_utils.rb +16 -0
- data/topologygenerator.gemspec +45 -0
- metadata +188 -0
@@ -0,0 +1,48 @@
|
|
1
|
+
|
2
|
+
lar_felix_0.egressPort0.link.capacity = 40000000000 ;
|
3
|
+
lar_felix_0.egressPort0.link.delay = 0;
|
4
|
+
|
5
|
+
lar_felix_0.egressPort1.link.capacity = 40000000000 ;
|
6
|
+
lar_felix_0.egressPort1.link.delay = 0;
|
7
|
+
|
8
|
+
lar_felix_1.egressPort0.link.capacity = 40000000000 ;
|
9
|
+
lar_felix_1.egressPort0.link.delay = 0;
|
10
|
+
|
11
|
+
lar_felix_1.egressPort1.link.capacity = 40000000000 ;
|
12
|
+
lar_felix_1.egressPort1.link.delay = 0;
|
13
|
+
|
14
|
+
lar_switch_01.egressPort2.link.capacity = 40000000000 ;
|
15
|
+
lar_switch_01.egressPort2.link.delay = 0;
|
16
|
+
|
17
|
+
lar_switch_02.egressPort2.link.capacity = 40000000000 ;
|
18
|
+
lar_switch_02.egressPort2.link.delay = 0;
|
19
|
+
|
20
|
+
lar_switch_01.egressPort3.link.capacity = 40000000000 ;
|
21
|
+
lar_switch_01.egressPort3.link.delay = 0;
|
22
|
+
|
23
|
+
lar_switch_02.egressPort3.link.capacity = 40000000000 ;
|
24
|
+
lar_switch_02.egressPort3.link.delay = 0;
|
25
|
+
|
26
|
+
lar_switch_01.egressPort0.link.capacity = 40000000000 ;
|
27
|
+
lar_switch_01.egressPort0.link.delay = 0;
|
28
|
+
|
29
|
+
felix_core_01.egressPort0.link.capacity = 40000000000 ;
|
30
|
+
felix_core_01.egressPort0.link.delay = 0;
|
31
|
+
|
32
|
+
lar_switch_01.egressPort1.link.capacity = 40000000000 ;
|
33
|
+
lar_switch_01.egressPort1.link.delay = 0;
|
34
|
+
|
35
|
+
felix_core_02.egressPort0.link.capacity = 40000000000 ;
|
36
|
+
felix_core_02.egressPort0.link.delay = 0;
|
37
|
+
|
38
|
+
lar_switch_02.egressPort0.link.capacity = 40000000000 ;
|
39
|
+
lar_switch_02.egressPort0.link.delay = 0;
|
40
|
+
|
41
|
+
felix_core_01.egressPort1.link.capacity = 40000000000 ;
|
42
|
+
felix_core_01.egressPort1.link.delay = 0;
|
43
|
+
|
44
|
+
lar_switch_02.egressPort1.link.capacity = 40000000000 ;
|
45
|
+
lar_switch_02.egressPort1.link.delay = 0;
|
46
|
+
|
47
|
+
felix_core_02.egressPort1.link.capacity = 40000000000 ;
|
48
|
+
felix_core_02.egressPort1.link.delay = 0;
|
@@ -0,0 +1,24 @@
|
|
1
|
+
|
2
|
+
lar_switch_01.numberOfQueues = 1 ;
|
3
|
+
lar_switch_01.queueCapacity = -1;
|
4
|
+
lar_switch_01.egressPort0.PriorityQueue.WRRScheduler.weights = [1];
|
5
|
+
lar_switch_01.egressPort1.PriorityQueue.WRRScheduler.weights = [1];
|
6
|
+
lar_switch_01.egressPort2.PriorityQueue.WRRScheduler.weights = [1];
|
7
|
+
lar_switch_01.egressPort3.PriorityQueue.WRRScheduler.weights = [1];
|
8
|
+
|
9
|
+
lar_switch_02.numberOfQueues = 1 ;
|
10
|
+
lar_switch_02.queueCapacity = -1;
|
11
|
+
lar_switch_02.egressPort0.PriorityQueue.WRRScheduler.weights = [1];
|
12
|
+
lar_switch_02.egressPort1.PriorityQueue.WRRScheduler.weights = [1];
|
13
|
+
lar_switch_02.egressPort2.PriorityQueue.WRRScheduler.weights = [1];
|
14
|
+
lar_switch_02.egressPort3.PriorityQueue.WRRScheduler.weights = [1];
|
15
|
+
|
16
|
+
felix_core_01.numberOfQueues = 1 ;
|
17
|
+
felix_core_01.queueCapacity = -1;
|
18
|
+
felix_core_01.egressPort0.PriorityQueue.WRRScheduler.weights = [1];
|
19
|
+
felix_core_01.egressPort1.PriorityQueue.WRRScheduler.weights = [1];
|
20
|
+
|
21
|
+
felix_core_02.numberOfQueues = 1 ;
|
22
|
+
felix_core_02.queueCapacity = -1;
|
23
|
+
felix_core_02.egressPort0.PriorityQueue.WRRScheduler.weights = [1];
|
24
|
+
felix_core_02.egressPort1.PriorityQueue.WRRScheduler.weights = [1];
|
@@ -0,0 +1,76 @@
|
|
1
|
+
module NetworkTopology
|
2
|
+
def get_topology
|
3
|
+
return @topology.topology_elements if @topology.topology_elements.size != 0
|
4
|
+
hosts = []
|
5
|
+
routers = []
|
6
|
+
links = []
|
7
|
+
|
8
|
+
|
9
|
+
routers.push @topology.add_router "of:2000000000010101", [1]
|
10
|
+
routers.push @topology.add_router "of:2000000000010201", [1]
|
11
|
+
routers.push @topology.add_router "of:2000000000010102", [1]
|
12
|
+
routers.push @topology.add_router "of:2000000000010202", [1]
|
13
|
+
routers.push @topology.add_router "of:1000000000020001", [1]
|
14
|
+
routers.push @topology.add_router "of:2000000000030001", [1]
|
15
|
+
routers.push @topology.add_router "of:2000000000030002", [1]
|
16
|
+
routers.push @topology.add_router "of:1000000000020002", [1]
|
17
|
+
routers.push @topology.add_router "of:1000000000030002", [1]
|
18
|
+
routers.push @topology.add_router "of:1000000000030001", [1]
|
19
|
+
routers.push @topology.add_router "of:1000000000010201", [1]
|
20
|
+
routers.push @topology.add_router "of:1000000000010102", [1]
|
21
|
+
routers.push @topology.add_router "of:1000000000010202", [1]
|
22
|
+
routers.push @topology.add_router "of:1000000000010101", [1]
|
23
|
+
|
24
|
+
@topology.add_link "Link1", routers[7], 4, routers[12], 2, 500000000
|
25
|
+
@topology.add_link "Link2", routers[12], 2, routers[7], 4, 500000000
|
26
|
+
@topology.add_link "Link3", routers[3], 3, routers[12], 4, 500000000
|
27
|
+
@topology.add_link "Link4", routers[1], 2, routers[10], 3, 500000000
|
28
|
+
@topology.add_link "Link5", routers[11], 1, routers[13], 1, 500000000
|
29
|
+
@topology.add_link "Link6", routers[3], 2, routers[10], 4, 500000000
|
30
|
+
@topology.add_link "Link7", routers[9], 4, routers[6], 2, 500000000
|
31
|
+
@topology.add_link "Link8", routers[10], 1, routers[12], 1, 500000000
|
32
|
+
@topology.add_link "Link9", routers[13], 4, routers[2], 2, 500000000
|
33
|
+
@topology.add_link "Link10", routers[0], 2, routers[13], 3, 500000000
|
34
|
+
@topology.add_link "Link11", routers[2], 3, routers[11], 4, 500000000
|
35
|
+
@topology.add_link "Link12", routers[2], 2, routers[13], 4, 500000000
|
36
|
+
@topology.add_link "Link13", routers[13], 2, routers[4], 3, 500000000
|
37
|
+
@topology.add_link "Link14", routers[4], 2, routers[8], 1, 500000000
|
38
|
+
@topology.add_link "Link15", routers[4], 3, routers[13], 2, 500000000
|
39
|
+
@topology.add_link "Link16", routers[5], 2, routers[9], 3, 500000000
|
40
|
+
@topology.add_link "Link17", routers[6], 3, routers[8], 4, 500000000
|
41
|
+
@topology.add_link "Link18", routers[10], 3, routers[1], 2, 500000000
|
42
|
+
@topology.add_link "Link19", routers[12], 4, routers[3], 3, 500000000
|
43
|
+
@topology.add_link "Link20", routers[6], 2, routers[9], 4, 500000000
|
44
|
+
@topology.add_link "Link21", routers[12], 3, routers[1], 3, 500000000
|
45
|
+
@topology.add_link "Link22", routers[4], 4, routers[10], 2, 500000000
|
46
|
+
@topology.add_link "Link23", routers[10], 2, routers[4], 4, 500000000
|
47
|
+
@topology.add_link "Link24", routers[5], 3, routers[8], 3, 500000000
|
48
|
+
@topology.add_link "Link25", routers[10], 4, routers[3], 2, 500000000
|
49
|
+
@topology.add_link "Link26", routers[13], 1, routers[11], 1, 500000000
|
50
|
+
@topology.add_link "Link27", routers[4], 1, routers[9], 1, 500000000
|
51
|
+
@topology.add_link "Link28", routers[7], 2, routers[8], 2, 500000000
|
52
|
+
@topology.add_link "Link29", routers[7], 1, routers[9], 2, 500000000
|
53
|
+
@topology.add_link "Link30", routers[0], 3, routers[11], 3, 500000000
|
54
|
+
@topology.add_link "Link31", routers[11], 4, routers[2], 3, 500000000
|
55
|
+
@topology.add_link "Link32", routers[13], 3, routers[0], 2, 500000000
|
56
|
+
@topology.add_link "Link33", routers[11], 3, routers[0], 3, 500000000
|
57
|
+
@topology.add_link "Link34", routers[12], 1, routers[10], 1, 500000000
|
58
|
+
@topology.add_link "Link35", routers[8], 1, routers[4], 2, 500000000
|
59
|
+
@topology.add_link "Link36", routers[8], 2, routers[7], 2, 500000000
|
60
|
+
@topology.add_link "Link37", routers[8], 4, routers[6], 3, 500000000
|
61
|
+
@topology.add_link "Link38", routers[9], 1, routers[4], 1, 500000000
|
62
|
+
@topology.add_link "Link39", routers[9], 3, routers[5], 2, 500000000
|
63
|
+
@topology.add_link "Link40", routers[8], 3, routers[5], 3, 500000000
|
64
|
+
@topology.add_link "Link41", routers[9], 2, routers[7], 1, 500000000
|
65
|
+
@topology.add_link "Link42", routers[11], 2, routers[7], 3, 500000000
|
66
|
+
@topology.add_link "Link43", routers[1], 3, routers[12], 3, 500000000
|
67
|
+
@topology.add_link "Link44", routers[7], 3, routers[11], 2, 500000000
|
68
|
+
|
69
|
+
@topology.topology_elements
|
70
|
+
end
|
71
|
+
|
72
|
+
def get_path_between(source, destination)
|
73
|
+
#Think how to implement it!
|
74
|
+
Path.new(source,destination)
|
75
|
+
end
|
76
|
+
end
|