topologygenerator 0.0.4 → 0.0.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/createTopology.rb +8 -13
- data/lib/network_entities/physical/host.rb +4 -2
- data/lib/network_entities/topology.rb +1 -1
- data/lib/providers/apis/onos_topology_provider.rb +17 -1
- data/lib/topologygenerator/version.rb +1 -1
- metadata +2 -10
- data/lib/output/FlowDefinitions.cpp +0 -109
- data/lib/output/copy_files.sh +0 -8
- data/lib/output/flows_definition.scilabParams +0 -30
- data/lib/output/hosts_definition.scilabParams +0 -5
- data/lib/output/links_definition.scilabParams +0 -48
- data/lib/output/routers_definition.scilabParams +0 -24
- data/lib/output/ruby_network_topology.rb +0 -76
- data/lib/output/topology.pdm +0 -5321
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a936b345272450192468250405027060f9dbddb1
|
4
|
+
data.tar.gz: 5531d487718b3f0962103889d521c404011b44d6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 48f11b80ed13dc08833b496198fd93e87dabb043504b16fcae681bf162ebf3be4a778064ff6a3ca5182e1295a5a3bad8c49eb637b72fb584dfe80738d6e6d682
|
7
|
+
data.tar.gz: 55009a1ec8b1d90f73ebfab76a75c3b02bfa1432a5c3eb8c7d0ebce50250952f98f030fe2ae635aae0f7556b687f947abf418a9762b06a8bf2b6dd040ced6c94
|
data/README.md
CHANGED
@@ -78,7 +78,7 @@ my_topology_generator = Topologygenerator.new({
|
|
78
78
|
"source" => "ONOS",
|
79
79
|
"directory_concrete_builders" => "builders_examples/ruby_builders",
|
80
80
|
"output_directory" => "output",
|
81
|
-
"uri_resource" => "http://127.0.0.1:8181/onos/v1/
|
81
|
+
"uri_resource" => "http://127.0.0.1:8181/onos/v1/"
|
82
82
|
})
|
83
83
|
my_custom_topology = topology_generator.generate
|
84
84
|
```
|
data/lib/createTopology.rb
CHANGED
@@ -1,26 +1,21 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
3
|
require_relative 'command_line/command_line_arguments.rb'
|
4
|
-
require_relative "
|
4
|
+
require_relative "topologygenerator.rb"
|
5
5
|
require 'colorize'
|
6
6
|
|
7
|
-
begin
|
7
|
+
#begin
|
8
8
|
my_command_line_arguments = CommandLineArguments.new
|
9
9
|
my_command_line_arguments.run
|
10
10
|
|
11
|
-
|
12
|
-
|
13
|
-
raise ArgumentError, "It is mandatory that arguments has a #{argument_name}" unless arguments.key? argument_name
|
14
|
-
end
|
15
|
-
|
16
|
-
topo_gen = topologygenerator.new({
|
17
|
-
"source" => my_command_line_arguments.source
|
11
|
+
topo_gen = Topologygenerator.new({
|
12
|
+
"source" => my_command_line_arguments.source,
|
18
13
|
"directory_concrete_builders" => my_command_line_arguments.directory_concrete_builders,
|
19
14
|
"output_directory" => my_command_line_arguments.output_directory,
|
20
15
|
"uri_resource" => my_command_line_arguments.uri_resource
|
21
16
|
})
|
22
17
|
topo_gen.generate
|
23
|
-
rescue Exception => ex
|
24
|
-
puts "#{ex.class}".red
|
25
|
-
puts "#{ex.message}".blue
|
26
|
-
end
|
18
|
+
#rescue Exception => ex
|
19
|
+
# puts "#{ex.class}".red
|
20
|
+
# puts "#{ex.message}".blue
|
21
|
+
#end
|
@@ -1,9 +1,11 @@
|
|
1
1
|
require_relative '../abstracts/network_element.rb'
|
2
2
|
|
3
3
|
class Host < NetworkElement
|
4
|
-
attr_accessor :gateway_id, :gateway_port, :queue_capacity
|
4
|
+
attr_accessor :gateway_id, :gateway_port, :queue_capacity, :ips, :mac
|
5
5
|
|
6
|
-
def initialize(id, queue_capacity=-1)
|
6
|
+
def initialize(id, ips=["127.0.0.1"], mac="9A:4A:43:D4:36:45", queue_capacity=-1)
|
7
|
+
@ips = ips
|
8
|
+
@mac = mac
|
7
9
|
@queue_capacity = queue_capacity
|
8
10
|
super id
|
9
11
|
end
|
@@ -60,12 +60,28 @@ This is the info that represents a router
|
|
60
60
|
end
|
61
61
|
end
|
62
62
|
|
63
|
+
=begin
|
64
|
+
This is the info that represents a Host
|
65
|
+
|
66
|
+
{
|
67
|
+
"id"=>"9A:4A:43:D4:36:45/None",
|
68
|
+
"mac"=>"9A:4A:43:D4:36:45",
|
69
|
+
"vlan"=>"None",
|
70
|
+
"configured"=>false,
|
71
|
+
"ipAddresses"=>["10.0.0.1"],
|
72
|
+
"location"=>{
|
73
|
+
"elementId"=>"of:0000000000000002",
|
74
|
+
"port"=>"1"
|
75
|
+
}
|
76
|
+
}
|
77
|
+
|
78
|
+
=end
|
63
79
|
def add_hosts
|
64
80
|
hosts_response = get_from_api 'hosts'
|
65
81
|
hosts_info = (JSON.parse hosts_response.body)['hosts']
|
66
82
|
hosts_info.each_with_index do |host_info, index|
|
67
83
|
|
68
|
-
host = @topology.add_host host_info['id']
|
84
|
+
host = @topology.add_host host_info['id'], host_info['ipAddresses'], host_info['mac']
|
69
85
|
|
70
86
|
|
71
87
|
@topology.add_link "Link#{index}host_to_router",
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: topologygenerator
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrés Laurito
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-12-
|
11
|
+
date: 2016-12-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -146,14 +146,6 @@ files:
|
|
146
146
|
- lib/network_topologies_examples/tdaq_network_topology.rb
|
147
147
|
- lib/network_topologies_examples/tdaq_topology_example.rb
|
148
148
|
- lib/network_topologies_examples/tree_topology.rb
|
149
|
-
- lib/output/FlowDefinitions.cpp
|
150
|
-
- lib/output/copy_files.sh
|
151
|
-
- lib/output/flows_definition.scilabParams
|
152
|
-
- lib/output/hosts_definition.scilabParams
|
153
|
-
- lib/output/links_definition.scilabParams
|
154
|
-
- lib/output/routers_definition.scilabParams
|
155
|
-
- lib/output/ruby_network_topology.rb
|
156
|
-
- lib/output/topology.pdm
|
157
149
|
- lib/output_builder.rb
|
158
150
|
- lib/providers/apis/onos_topology_provider.rb
|
159
151
|
- lib/providers/customs/custom_topology_provider.rb
|
@@ -1,109 +0,0 @@
|
|
1
|
-
#include "FlowDefinitions.h"
|
2
|
-
|
3
|
-
std::multimap<std::string, std::shared_ptr<Flow>> FlowDefinitions::Flows;
|
4
|
-
|
5
|
-
void FlowDefinitions::defineFlows(){
|
6
|
-
|
7
|
-
|
8
|
-
///// definition of flow Flow0_1
|
9
|
-
auto flowFlow0_1PeriodDistribution = readDistributionParameter("flowFlow0_1.periodDistribution");
|
10
|
-
auto flowFlow0_1PacketSizeDistribution = readDistributionParameter("flowFlow0_1.packetSizeDistribution");
|
11
|
-
auto flowFlow0_1 = std::make_shared<Flow>("Flow0_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow0_1PeriodDistribution, flowFlow0_1PacketSizeDistribution);
|
12
|
-
// routes for flow Flow0_1
|
13
|
-
auto flowFlow0_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
|
14
|
-
{0, "lar_felix_0.Routing"},
|
15
|
-
{2, "lar_switch_01.Routing"},
|
16
|
-
{0, "lar_swrod_0.Routing"}
|
17
|
-
});
|
18
|
-
auto flowFlow0_1_route1 = std::make_shared<Route>( std::deque<Route::Node>{
|
19
|
-
{1, "lar_felix_0.Routing"},
|
20
|
-
{2, "lar_switch_02.Routing"},
|
21
|
-
{1, "lar_swrod_0.Routing"}
|
22
|
-
});
|
23
|
-
// register flow Flow0_1 with its routes
|
24
|
-
FlowDefinitions::registerFlowSourceNode(flowFlow0_1, "lar_felix_0.GeneratorApplication");
|
25
|
-
FlowDefinitions::registerFlowRoute(flowFlow0_1, flowFlow0_1_route0);
|
26
|
-
FlowDefinitions::registerFlowRoute(flowFlow0_1, flowFlow0_1_route1);
|
27
|
-
|
28
|
-
|
29
|
-
///// definition of flow Flow_Monitoring0_1
|
30
|
-
auto flowFlow_Monitoring0_1PeriodDistribution = readDistributionParameter("flowFlow_Monitoring0_1.periodDistribution");
|
31
|
-
auto flowFlow_Monitoring0_1PacketSizeDistribution = readDistributionParameter("flowFlow_Monitoring0_1.packetSizeDistribution");
|
32
|
-
auto flowFlow_Monitoring0_1 = std::make_shared<Flow>("Flow_Monitoring0_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow_Monitoring0_1PeriodDistribution, flowFlow_Monitoring0_1PacketSizeDistribution);
|
33
|
-
// routes for flow Flow_Monitoring0_1
|
34
|
-
auto flowFlow_Monitoring0_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
|
35
|
-
{0, "lar_felix_0.Routing"},
|
36
|
-
{2, "lar_switch_01.Routing"},
|
37
|
-
{0, "lar_swrod_0.Routing"}
|
38
|
-
});
|
39
|
-
// register flow Flow_Monitoring0_1 with its routes
|
40
|
-
FlowDefinitions::registerFlowSourceNode(flowFlow_Monitoring0_1, "lar_felix_0.GeneratorApplication");
|
41
|
-
FlowDefinitions::registerFlowRoute(flowFlow_Monitoring0_1, flowFlow_Monitoring0_1_route0);
|
42
|
-
|
43
|
-
|
44
|
-
///// definition of flow Flow_Control0_1
|
45
|
-
auto flowFlow_Control0_1PeriodDistribution = readDistributionParameter("flowFlow_Control0_1.periodDistribution");
|
46
|
-
auto flowFlow_Control0_1PacketSizeDistribution = readDistributionParameter("flowFlow_Control0_1.packetSizeDistribution");
|
47
|
-
auto flowFlow_Control0_1 = std::make_shared<Flow>("Flow_Control0_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow_Control0_1PeriodDistribution, flowFlow_Control0_1PacketSizeDistribution);
|
48
|
-
// routes for flow Flow_Control0_1
|
49
|
-
auto flowFlow_Control0_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
|
50
|
-
{1, "lar_felix_0.Routing"},
|
51
|
-
{2, "lar_switch_02.Routing"},
|
52
|
-
{1, "lar_swrod_0.Routing"}
|
53
|
-
});
|
54
|
-
// register flow Flow_Control0_1 with its routes
|
55
|
-
FlowDefinitions::registerFlowSourceNode(flowFlow_Control0_1, "lar_felix_0.GeneratorApplication");
|
56
|
-
FlowDefinitions::registerFlowRoute(flowFlow_Control0_1, flowFlow_Control0_1_route0);
|
57
|
-
|
58
|
-
|
59
|
-
///// definition of flow Flow1_1
|
60
|
-
auto flowFlow1_1PeriodDistribution = readDistributionParameter("flowFlow1_1.periodDistribution");
|
61
|
-
auto flowFlow1_1PacketSizeDistribution = readDistributionParameter("flowFlow1_1.packetSizeDistribution");
|
62
|
-
auto flowFlow1_1 = std::make_shared<Flow>("Flow1_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow1_1PeriodDistribution, flowFlow1_1PacketSizeDistribution);
|
63
|
-
// routes for flow Flow1_1
|
64
|
-
auto flowFlow1_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
|
65
|
-
{0, "lar_felix_1.Routing"},
|
66
|
-
{3, "lar_switch_01.Routing"},
|
67
|
-
{0, "lar_swrod_1.Routing"}
|
68
|
-
});
|
69
|
-
auto flowFlow1_1_route1 = std::make_shared<Route>( std::deque<Route::Node>{
|
70
|
-
{1, "lar_felix_1.Routing"},
|
71
|
-
{3, "lar_switch_02.Routing"},
|
72
|
-
{1, "lar_swrod_1.Routing"}
|
73
|
-
});
|
74
|
-
// register flow Flow1_1 with its routes
|
75
|
-
FlowDefinitions::registerFlowSourceNode(flowFlow1_1, "lar_felix_1.GeneratorApplication");
|
76
|
-
FlowDefinitions::registerFlowRoute(flowFlow1_1, flowFlow1_1_route0);
|
77
|
-
FlowDefinitions::registerFlowRoute(flowFlow1_1, flowFlow1_1_route1);
|
78
|
-
|
79
|
-
|
80
|
-
///// definition of flow Flow_Monitoring1_1
|
81
|
-
auto flowFlow_Monitoring1_1PeriodDistribution = readDistributionParameter("flowFlow_Monitoring1_1.periodDistribution");
|
82
|
-
auto flowFlow_Monitoring1_1PacketSizeDistribution = readDistributionParameter("flowFlow_Monitoring1_1.packetSizeDistribution");
|
83
|
-
auto flowFlow_Monitoring1_1 = std::make_shared<Flow>("Flow_Monitoring1_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow_Monitoring1_1PeriodDistribution, flowFlow_Monitoring1_1PacketSizeDistribution);
|
84
|
-
// routes for flow Flow_Monitoring1_1
|
85
|
-
auto flowFlow_Monitoring1_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
|
86
|
-
{0, "lar_felix_1.Routing"},
|
87
|
-
{3, "lar_switch_01.Routing"},
|
88
|
-
{0, "lar_swrod_1.Routing"}
|
89
|
-
});
|
90
|
-
// register flow Flow_Monitoring1_1 with its routes
|
91
|
-
FlowDefinitions::registerFlowSourceNode(flowFlow_Monitoring1_1, "lar_felix_1.GeneratorApplication");
|
92
|
-
FlowDefinitions::registerFlowRoute(flowFlow_Monitoring1_1, flowFlow_Monitoring1_1_route0);
|
93
|
-
|
94
|
-
|
95
|
-
///// definition of flow Flow_Control1_1
|
96
|
-
auto flowFlow_Control1_1PeriodDistribution = readDistributionParameter("flowFlow_Control1_1.periodDistribution");
|
97
|
-
auto flowFlow_Control1_1PacketSizeDistribution = readDistributionParameter("flowFlow_Control1_1.packetSizeDistribution");
|
98
|
-
auto flowFlow_Control1_1 = std::make_shared<Flow>("Flow_Control1_1", 0 /*startTime*/, 0 /*typeOfService*/, flowFlow_Control1_1PeriodDistribution, flowFlow_Control1_1PacketSizeDistribution);
|
99
|
-
// routes for flow Flow_Control1_1
|
100
|
-
auto flowFlow_Control1_1_route0 = std::make_shared<Route>( std::deque<Route::Node>{
|
101
|
-
{1, "lar_felix_1.Routing"},
|
102
|
-
{3, "lar_switch_02.Routing"},
|
103
|
-
{1, "lar_swrod_1.Routing"}
|
104
|
-
});
|
105
|
-
// register flow Flow_Control1_1 with its routes
|
106
|
-
FlowDefinitions::registerFlowSourceNode(flowFlow_Control1_1, "lar_felix_1.GeneratorApplication");
|
107
|
-
FlowDefinitions::registerFlowRoute(flowFlow_Control1_1, flowFlow_Control1_1_route0);
|
108
|
-
|
109
|
-
}
|
data/lib/output/copy_files.sh
DELETED
@@ -1,8 +0,0 @@
|
|
1
|
-
#!/bin/bash
|
2
|
-
|
3
|
-
cp topology.pdm /home/alaurito/Desktop/repos/powerdevs/examples/Andy
|
4
|
-
cp FlowDefinitions.cpp /home/alaurito/Desktop/repos/powerdevs/atomics/PhaseI
|
5
|
-
cp flows_definition.scilabParams /home/alaurito/Desktop/repos/powerdevs/examples/Matias/PhaseI/Scilab
|
6
|
-
cp links_definition.scilabParams /home/alaurito/Desktop/repos/powerdevs/examples/Matias/PhaseI/Scilab
|
7
|
-
cp routers_definition.scilabParams /home/alaurito/Desktop/repos/powerdevs/examples/Matias/PhaseI/Scilab
|
8
|
-
cp hosts_definition.scilabParams /home/alaurito/Desktop/repos/powerdevs/examples/Matias/PhaseI/Scilab
|
@@ -1,30 +0,0 @@
|
|
1
|
-
|
2
|
-
flowFlow0_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
|
3
|
-
flowFlow0_1.periodDistribution_mu = 0.1; // mean for the exponential distribution.
|
4
|
-
flowFlow0_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
|
5
|
-
flowFlow0_1.packetSizeDistribution_value = 1000.0; // value for the constant distribution
|
6
|
-
|
7
|
-
flowFlow_Monitoring0_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
|
8
|
-
flowFlow_Monitoring0_1.periodDistribution_mu = 0.05; // mean for the exponential distribution.
|
9
|
-
flowFlow_Monitoring0_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
|
10
|
-
flowFlow_Monitoring0_1.packetSizeDistribution_value = 500; // value for the constant distribution
|
11
|
-
|
12
|
-
flowFlow_Control0_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
|
13
|
-
flowFlow_Control0_1.periodDistribution_mu = 0.06666666666666667; // mean for the exponential distribution.
|
14
|
-
flowFlow_Control0_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
|
15
|
-
flowFlow_Control0_1.packetSizeDistribution_value = 100; // value for the constant distribution
|
16
|
-
|
17
|
-
flowFlow1_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
|
18
|
-
flowFlow1_1.periodDistribution_mu = 0.1; // mean for the exponential distribution.
|
19
|
-
flowFlow1_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
|
20
|
-
flowFlow1_1.packetSizeDistribution_value = 1000.0; // value for the constant distribution
|
21
|
-
|
22
|
-
flowFlow_Monitoring1_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
|
23
|
-
flowFlow_Monitoring1_1.periodDistribution_mu = 0.05; // mean for the exponential distribution.
|
24
|
-
flowFlow_Monitoring1_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
|
25
|
-
flowFlow_Monitoring1_1.packetSizeDistribution_value = 500; // value for the constant distribution
|
26
|
-
|
27
|
-
flowFlow_Control1_1.periodDistribution = DISTRIBUTION_EXPONENTIAL;
|
28
|
-
flowFlow_Control1_1.periodDistribution_mu = 0.06666666666666667; // mean for the exponential distribution.
|
29
|
-
flowFlow_Control1_1.packetSizeDistribution = DISTRIBUTION_CONSTANT;
|
30
|
-
flowFlow_Control1_1.packetSizeDistribution_value = 100; // value for the constant distribution
|
@@ -1,48 +0,0 @@
|
|
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;
|
@@ -1,24 +0,0 @@
|
|
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];
|
@@ -1,76 +0,0 @@
|
|
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
|