123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- //
- // This program is free software: you can redistribute it and/or modify
- // it under the terms of the GNU Lesser General Public License as published by
- // the Free Software Foundation, either version 3 of the License, or
- // (at your option) any later version.
- //
- // This program is distributed in the hope that it will be useful,
- // but WITHOUT ANY WARRANTY; without even the implied warranty of
- // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- // GNU Lesser General Public License for more details.
- //
- // You should have received a copy of the GNU Lesser General Public License
- // along with this program. If not, see http://www.gnu.org/licenses/.
- //
- package inet.examples.ieee8021d;
- import inet.common.lifecycle.LifecycleController;
- import inet.common.scenario.ScenarioManager;
- import inet.linklayer.configurator.L2NetworkConfigurator;
- import inet.linklayer.ieee8021d.tester.STPTester;
- import inet.node.ethernet.Eth1G;
- import inet.node.ethernet.EtherHost;
- import inet.node.ethernet.EtherSwitch;
- network SwitchNetwork
- {
- @display("bgb=689,368");
- submodules:
- stpTester: STPTester {
- @display("p=75,277");
- }
- scenarioManager: ScenarioManager {
- @display("p=75,101");
- }
- l2NetworkConfigurator: L2NetworkConfigurator {
- @display("p=75,217");
- }
- lifecycleController: LifecycleController {
- @display("p=75,155");
- }
- switch1: EtherSwitch {
- parameters:
- @display("p=333,78");
- gates:
- ethg[];
- }
- switch2: EtherSwitch {
- parameters:
- @display("p=301,217");
- gates:
- ethg[];
- }
- switch3: EtherSwitch {
- parameters:
- @display("p=443,78");
- gates:
- ethg[];
- }
- switch4: EtherSwitch {
- parameters:
- @display("p=322,153");
- gates:
- ethg[];
- }
- switch5: EtherSwitch {
- parameters:
- @display("p=529,217");
- gates:
- ethg[];
- }
- switch6: EtherSwitch {
- parameters:
- @display("p=200,154");
- gates:
- ethg[];
- }
- switch7: EtherSwitch {
- parameters:
- @display("p=443,153");
- gates:
- ethg[];
- }
- connections:
- switch1.ethg++ <--> Eth1G <--> switch4.ethg++;
- switch1.ethg++ <--> Eth1G <--> switch3.ethg++;
- switch2.ethg++ <--> Eth1G <--> switch4.ethg++;
- switch2.ethg++ <--> Eth1G <--> switch6.ethg++;
- switch2.ethg++ <--> Eth1G <--> switch7.ethg++;
- switch3.ethg++ <--> Eth1G <--> switch7.ethg++;
- switch4.ethg++ <--> Eth1G <--> switch6.ethg++;
- switch4.ethg++ <--> Eth1G <--> switch7.ethg++;
- switch5.ethg++ <--> Eth1G <--> switch7.ethg++;
- }
- network LargeNet extends SwitchNetwork
- {
- @display("bgb=952,472");
- submodules:
- host1: EtherHost {
- @display("p=200,79");
- }
- host2: EtherHost {
- @display("p=609,217");
- }
- host3: EtherHost {
- @display("p=529,78");
- }
- host4: EtherHost {
- @display("p=679,422");
- }
- host5: EtherHost {
- @display("p=479,422");
- }
- host6: EtherHost {
- @display("p=322,321");
- }
- switch8: EtherSwitch {
- @display("p=443,282");
- }
- switch9: EtherSwitch {
- @display("p=518,352");
- }
- switch10: EtherSwitch {
- @display("p=648,352");
- }
- switch11: EtherSwitch {
- @display("p=579,288");
- }
- connections:
- switch11.ethg++ <--> Eth1G <--> switch9.ethg++;
- switch11.ethg++ <--> Eth1G <--> switch10.ethg++;
- switch11.ethg++ <--> Eth1G <--> switch5.ethg++;
- switch9.ethg++ <--> Eth1G <--> switch10.ethg++;
- switch8.ethg++ <--> Eth1G <--> switch9.ethg++;
- switch8.ethg++ <--> Eth1G <--> switch11.ethg++;
- switch8.ethg++ <--> Eth1G <--> switch5.ethg++;
- switch8.ethg++ <--> Eth1G <--> switch2.ethg++;
- switch3.ethg++ <--> Eth1G <--> host3.ethg;
- switch5.ethg++ <--> Eth1G <--> host2.ethg;
- switch6.ethg++ <--> Eth1G <--> host1.ethg;
- host5.ethg <--> Eth1G <--> switch9.ethg++;
- host4.ethg <--> Eth1G <--> switch10.ethg++;
- host6.ethg <--> Eth1G <--> switch8.ethg++;
- }
|