Skip to content

Commit

Permalink
all relevant changes compared to inet 4.4.1
Browse files Browse the repository at this point in the history
  • Loading branch information
adamgeorge309 committed Oct 11, 2024
1 parent 302861f commit 2f5644c
Show file tree
Hide file tree
Showing 30 changed files with 14,196 additions and 72 deletions.
61 changes: 6 additions & 55 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,59 +1,10 @@
[![badge 1][badge-1]][1] [![badge 2][badge-2]][2]
In this file, we will explain how to obtain the same results that were used in the Bachelor's thesis because, due to the size of the fileS, containing the raw data from the simulations being too big (around 50 GB), they were deleted.

INET Framework for OMNEST/OMNeT++
=================================
The first step is to install OMNeT++ 6.0.1. To do this, we can follow the official installation guide that can be found here: https://doc.omnetpp.org/omnetpp/InstallGuide.pdf

The [INET framework](https://inet.omnetpp.org) is an open-source communication networks
simulation package, written for the OMNEST/OMNeT++ simulation system. The INET
framework contains models for numerous wired and wireless protocols, a detailed
physical layer model, application models and more. See the CREDITS file for the
names of people who have contributed to the INET Framework.
Next step is to import the inet4.4 project to OMNeT.

IMPORTANT: The INET Framework is continuously being improved: new parts
are added, bugs are corrected, and so on. We cannot assert that any protocol
implemented here will work fully according to the specifications. YOU ARE
RESPONSIBLE YOURSELF FOR MAKING SURE THAT THE MODELS YOU USE IN YOUR SIMULATIONS
WORK CORRECTLY, AND YOU'RE GETTING VALID RESULTS.
Once this is done, the last thing is to compile INET and run the simulations that can be found in the folder inet4.4/examples/ecmp. The Clos network is inside the ClosExample folder, the Fat-Tree is inside the FatTreExample folder, and the Dragonfly is inside the MegaFlyExmaple folder.
*It is recommended to run the simulations using Cmdenv and multiple threads if possible.*

Contributions are highly welcome. You can make a difference!

See the WHATSNEW file for recent changes.


GETTING STARTED
---------------
You may start by downloading and installing the INET framework. Read the INSTALL
file for further information.

Then you can gather initial experience by starting some examples or following a
tutorial or showcase (see the /examples, /showcases or /tutorials folder).
After that, you can learn the NED language from the OMNeT++ manual & sample
simulations.

After that, you may write your own topologies using the NED language. You may
assign some of the submodule parameters in NED files. You may leave some of
them unassigned.

Then, you may assign unassigned module parameters in omnetpp.ini of your
simulation. (You can refer to sample simulations & manual for the content of
omnetpp.ini)

Finally, you will be ready to run your simulation. As you see, you may use
the INET framework without writing any C++ code, as long as you use the
available modules.

To implement new protocols or modify existing ones, you'll need to add your
code somewhere under the src directory. If you add new files under the 'src'
directory you will need to regenerate the makefiles (using the 'make makefiles'
command).

If you want to use external interfaces in INET, enable the "Emulation" feature
either in the IDE or using the inet_featuretool then regenerate the INET makefile
using 'make makefiles'.


[badge-1]: https://github.com/inet-framework/inet/workflows/Build%20and%20tests/badge.svg?branch=master
[badge-2]: https://github.com/inet-framework/inet/workflows/Feature%20tests/badge.svg?branch=master

[1]: https://github.com/inet-framework/inet/actions?query=workflow%3A%22Build+and+tests%22
[2]: https://github.com/inet-framework/inet/actions?query=workflow%3A%22Feature+tests%22
Inside these folders, the anf files are configured to automatically import the results of the simulations and to generate all the graphics that have been used in the thesis document.
3,897 changes: 3,897 additions & 0 deletions examples/ecmp/ClosExample/clos128.anf

Large diffs are not rendered by default.

294 changes: 294 additions & 0 deletions examples/ecmp/ClosExample/clos128.ned
Original file line number Diff line number Diff line change
@@ -0,0 +1,294 @@
package inet.examples.ecmp.ClosExample;
import inet.node.ethernet.EthernetSwitch;
import inet.node.ethernet.Eth1G;
import inet.node.inet.StandardHost;
import inet.networks.base.WiredNetworkBase;
import inet.networklayer.configurator.ipv4.Ipv4NetworkConfigurator;

network clos128 extends WiredNetworkBase{

parameters:
@statistic[flowDelaySignal](title="flow delay"; source=flowDelaySignal; unit=s; record=histogram,vector,mean; interpolationmode=none);
@statistic[throughputSignal](title="data throughput"; source=throughputSignal; unit=bps; record=histogram,vector,mean; interpolationmode=none);
@statistic[packetDelaySignal](title="packet delay"; source=packetDelaySignal; unit=s; record=histogram,vector,mean; interpolationmode=none);
@statistic[destinationSignal](title="packets destinations"; source=destinationSignal; record=histogram; interpolation=none);
@statistic[wrongFragmentPkSignal](title="packet fragments received out of order"; source=wrongFragmentPkSignal; record=count,"sum(packetBytes)","vector(packetBytes)"; interpolationmode=none);
types:
channel Eth1G extends ned.DatarateChannel
{
//delay = parent.channelDistance/200000 km * 1s; //5ns/m config
//datarate = parent.channelDatarate;
}
submodules:

//configurator: Ipv4NetworkConfigurator {
// parameters:
// @display("p=100,100;is=s");
//}
H[128]: StandardHost {
gates:
ethg[1];
}
SW[24]: EthernetSwitch {
parameters:
gates:
ethg[16];
}
connections allowunconnected:
SW[0].ethg[8] <--> Eth1G <--> SW[16].ethg[0];
SW[0].ethg[9] <--> Eth1G <--> SW[17].ethg[0];
SW[0].ethg[10] <--> Eth1G <--> SW[18].ethg[0];
SW[0].ethg[11] <--> Eth1G <--> SW[19].ethg[0];
SW[0].ethg[12] <--> Eth1G <--> SW[20].ethg[0];
SW[0].ethg[13] <--> Eth1G <--> SW[21].ethg[0];
SW[0].ethg[14] <--> Eth1G <--> SW[22].ethg[0];
SW[0].ethg[15] <--> Eth1G <--> SW[23].ethg[0];
SW[1].ethg[8] <--> Eth1G <--> SW[16].ethg[1];
SW[1].ethg[9] <--> Eth1G <--> SW[17].ethg[1];
SW[1].ethg[10] <--> Eth1G <--> SW[18].ethg[1];
SW[1].ethg[11] <--> Eth1G <--> SW[19].ethg[1];
SW[1].ethg[12] <--> Eth1G <--> SW[20].ethg[1];
SW[1].ethg[13] <--> Eth1G <--> SW[21].ethg[1];
SW[1].ethg[14] <--> Eth1G <--> SW[22].ethg[1];
SW[1].ethg[15] <--> Eth1G <--> SW[23].ethg[1];
SW[2].ethg[8] <--> Eth1G <--> SW[16].ethg[2];
SW[2].ethg[9] <--> Eth1G <--> SW[17].ethg[2];
SW[2].ethg[10] <--> Eth1G <--> SW[18].ethg[2];
SW[2].ethg[11] <--> Eth1G <--> SW[19].ethg[2];
SW[2].ethg[12] <--> Eth1G <--> SW[20].ethg[2];
SW[2].ethg[13] <--> Eth1G <--> SW[21].ethg[2];
SW[2].ethg[14] <--> Eth1G <--> SW[22].ethg[2];
SW[2].ethg[15] <--> Eth1G <--> SW[23].ethg[2];
SW[3].ethg[8] <--> Eth1G <--> SW[16].ethg[3];
SW[3].ethg[9] <--> Eth1G <--> SW[17].ethg[3];
SW[3].ethg[10] <--> Eth1G <--> SW[18].ethg[3];
SW[3].ethg[11] <--> Eth1G <--> SW[19].ethg[3];
SW[3].ethg[12] <--> Eth1G <--> SW[20].ethg[3];
SW[3].ethg[13] <--> Eth1G <--> SW[21].ethg[3];
SW[3].ethg[14] <--> Eth1G <--> SW[22].ethg[3];
SW[3].ethg[15] <--> Eth1G <--> SW[23].ethg[3];
SW[4].ethg[8] <--> Eth1G <--> SW[16].ethg[4];
SW[4].ethg[9] <--> Eth1G <--> SW[17].ethg[4];
SW[4].ethg[10] <--> Eth1G <--> SW[18].ethg[4];
SW[4].ethg[11] <--> Eth1G <--> SW[19].ethg[4];
SW[4].ethg[12] <--> Eth1G <--> SW[20].ethg[4];
SW[4].ethg[13] <--> Eth1G <--> SW[21].ethg[4];
SW[4].ethg[14] <--> Eth1G <--> SW[22].ethg[4];
SW[4].ethg[15] <--> Eth1G <--> SW[23].ethg[4];
SW[5].ethg[8] <--> Eth1G <--> SW[16].ethg[5];
SW[5].ethg[9] <--> Eth1G <--> SW[17].ethg[5];
SW[5].ethg[10] <--> Eth1G <--> SW[18].ethg[5];
SW[5].ethg[11] <--> Eth1G <--> SW[19].ethg[5];
SW[5].ethg[12] <--> Eth1G <--> SW[20].ethg[5];
SW[5].ethg[13] <--> Eth1G <--> SW[21].ethg[5];
SW[5].ethg[14] <--> Eth1G <--> SW[22].ethg[5];
SW[5].ethg[15] <--> Eth1G <--> SW[23].ethg[5];
SW[6].ethg[8] <--> Eth1G <--> SW[16].ethg[6];
SW[6].ethg[9] <--> Eth1G <--> SW[17].ethg[6];
SW[6].ethg[10] <--> Eth1G <--> SW[18].ethg[6];
SW[6].ethg[11] <--> Eth1G <--> SW[19].ethg[6];
SW[6].ethg[12] <--> Eth1G <--> SW[20].ethg[6];
SW[6].ethg[13] <--> Eth1G <--> SW[21].ethg[6];
SW[6].ethg[14] <--> Eth1G <--> SW[22].ethg[6];
SW[6].ethg[15] <--> Eth1G <--> SW[23].ethg[6];
SW[7].ethg[8] <--> Eth1G <--> SW[16].ethg[7];
SW[7].ethg[9] <--> Eth1G <--> SW[17].ethg[7];
SW[7].ethg[10] <--> Eth1G <--> SW[18].ethg[7];
SW[7].ethg[11] <--> Eth1G <--> SW[19].ethg[7];
SW[7].ethg[12] <--> Eth1G <--> SW[20].ethg[7];
SW[7].ethg[13] <--> Eth1G <--> SW[21].ethg[7];
SW[7].ethg[14] <--> Eth1G <--> SW[22].ethg[7];
SW[7].ethg[15] <--> Eth1G <--> SW[23].ethg[7];
SW[8].ethg[8] <--> Eth1G <--> SW[16].ethg[8];
SW[8].ethg[9] <--> Eth1G <--> SW[17].ethg[8];
SW[8].ethg[10] <--> Eth1G <--> SW[18].ethg[8];
SW[8].ethg[11] <--> Eth1G <--> SW[19].ethg[8];
SW[8].ethg[12] <--> Eth1G <--> SW[20].ethg[8];
SW[8].ethg[13] <--> Eth1G <--> SW[21].ethg[8];
SW[8].ethg[14] <--> Eth1G <--> SW[22].ethg[8];
SW[8].ethg[15] <--> Eth1G <--> SW[23].ethg[8];
SW[9].ethg[8] <--> Eth1G <--> SW[16].ethg[9];
SW[9].ethg[9] <--> Eth1G <--> SW[17].ethg[9];
SW[9].ethg[10] <--> Eth1G <--> SW[18].ethg[9];
SW[9].ethg[11] <--> Eth1G <--> SW[19].ethg[9];
SW[9].ethg[12] <--> Eth1G <--> SW[20].ethg[9];
SW[9].ethg[13] <--> Eth1G <--> SW[21].ethg[9];
SW[9].ethg[14] <--> Eth1G <--> SW[22].ethg[9];
SW[9].ethg[15] <--> Eth1G <--> SW[23].ethg[9];
SW[10].ethg[8] <--> Eth1G <--> SW[16].ethg[10];
SW[10].ethg[9] <--> Eth1G <--> SW[17].ethg[10];
SW[10].ethg[10] <--> Eth1G <--> SW[18].ethg[10];
SW[10].ethg[11] <--> Eth1G <--> SW[19].ethg[10];
SW[10].ethg[12] <--> Eth1G <--> SW[20].ethg[10];
SW[10].ethg[13] <--> Eth1G <--> SW[21].ethg[10];
SW[10].ethg[14] <--> Eth1G <--> SW[22].ethg[10];
SW[10].ethg[15] <--> Eth1G <--> SW[23].ethg[10];
SW[11].ethg[8] <--> Eth1G <--> SW[16].ethg[11];
SW[11].ethg[9] <--> Eth1G <--> SW[17].ethg[11];
SW[11].ethg[10] <--> Eth1G <--> SW[18].ethg[11];
SW[11].ethg[11] <--> Eth1G <--> SW[19].ethg[11];
SW[11].ethg[12] <--> Eth1G <--> SW[20].ethg[11];
SW[11].ethg[13] <--> Eth1G <--> SW[21].ethg[11];
SW[11].ethg[14] <--> Eth1G <--> SW[22].ethg[11];
SW[11].ethg[15] <--> Eth1G <--> SW[23].ethg[11];
SW[12].ethg[8] <--> Eth1G <--> SW[16].ethg[12];
SW[12].ethg[9] <--> Eth1G <--> SW[17].ethg[12];
SW[12].ethg[10] <--> Eth1G <--> SW[18].ethg[12];
SW[12].ethg[11] <--> Eth1G <--> SW[19].ethg[12];
SW[12].ethg[12] <--> Eth1G <--> SW[20].ethg[12];
SW[12].ethg[13] <--> Eth1G <--> SW[21].ethg[12];
SW[12].ethg[14] <--> Eth1G <--> SW[22].ethg[12];
SW[12].ethg[15] <--> Eth1G <--> SW[23].ethg[12];
SW[13].ethg[8] <--> Eth1G <--> SW[16].ethg[13];
SW[13].ethg[9] <--> Eth1G <--> SW[17].ethg[13];
SW[13].ethg[10] <--> Eth1G <--> SW[18].ethg[13];
SW[13].ethg[11] <--> Eth1G <--> SW[19].ethg[13];
SW[13].ethg[12] <--> Eth1G <--> SW[20].ethg[13];
SW[13].ethg[13] <--> Eth1G <--> SW[21].ethg[13];
SW[13].ethg[14] <--> Eth1G <--> SW[22].ethg[13];
SW[13].ethg[15] <--> Eth1G <--> SW[23].ethg[13];
SW[14].ethg[8] <--> Eth1G <--> SW[16].ethg[14];
SW[14].ethg[9] <--> Eth1G <--> SW[17].ethg[14];
SW[14].ethg[10] <--> Eth1G <--> SW[18].ethg[14];
SW[14].ethg[11] <--> Eth1G <--> SW[19].ethg[14];
SW[14].ethg[12] <--> Eth1G <--> SW[20].ethg[14];
SW[14].ethg[13] <--> Eth1G <--> SW[21].ethg[14];
SW[14].ethg[14] <--> Eth1G <--> SW[22].ethg[14];
SW[14].ethg[15] <--> Eth1G <--> SW[23].ethg[14];
SW[15].ethg[8] <--> Eth1G <--> SW[16].ethg[15];
SW[15].ethg[9] <--> Eth1G <--> SW[17].ethg[15];
SW[15].ethg[10] <--> Eth1G <--> SW[18].ethg[15];
SW[15].ethg[11] <--> Eth1G <--> SW[19].ethg[15];
SW[15].ethg[12] <--> Eth1G <--> SW[20].ethg[15];
SW[15].ethg[13] <--> Eth1G <--> SW[21].ethg[15];
SW[15].ethg[14] <--> Eth1G <--> SW[22].ethg[15];
SW[15].ethg[15] <--> Eth1G <--> SW[23].ethg[15];
H[0].ethg[0] <--> Eth1G <--> SW[0].ethg[0];
H[1].ethg[0] <--> Eth1G <--> SW[0].ethg[1];
H[2].ethg[0] <--> Eth1G <--> SW[0].ethg[2];
H[3].ethg[0] <--> Eth1G <--> SW[0].ethg[3];
H[4].ethg[0] <--> Eth1G <--> SW[0].ethg[4];
H[5].ethg[0] <--> Eth1G <--> SW[0].ethg[5];
H[6].ethg[0] <--> Eth1G <--> SW[0].ethg[6];
H[7].ethg[0] <--> Eth1G <--> SW[0].ethg[7];
H[8].ethg[0] <--> Eth1G <--> SW[1].ethg[0];
H[9].ethg[0] <--> Eth1G <--> SW[1].ethg[1];
H[10].ethg[0] <--> Eth1G <--> SW[1].ethg[2];
H[11].ethg[0] <--> Eth1G <--> SW[1].ethg[3];
H[12].ethg[0] <--> Eth1G <--> SW[1].ethg[4];
H[13].ethg[0] <--> Eth1G <--> SW[1].ethg[5];
H[14].ethg[0] <--> Eth1G <--> SW[1].ethg[6];
H[15].ethg[0] <--> Eth1G <--> SW[1].ethg[7];
H[16].ethg[0] <--> Eth1G <--> SW[2].ethg[0];
H[17].ethg[0] <--> Eth1G <--> SW[2].ethg[1];
H[18].ethg[0] <--> Eth1G <--> SW[2].ethg[2];
H[19].ethg[0] <--> Eth1G <--> SW[2].ethg[3];
H[20].ethg[0] <--> Eth1G <--> SW[2].ethg[4];
H[21].ethg[0] <--> Eth1G <--> SW[2].ethg[5];
H[22].ethg[0] <--> Eth1G <--> SW[2].ethg[6];
H[23].ethg[0] <--> Eth1G <--> SW[2].ethg[7];
H[24].ethg[0] <--> Eth1G <--> SW[3].ethg[0];
H[25].ethg[0] <--> Eth1G <--> SW[3].ethg[1];
H[26].ethg[0] <--> Eth1G <--> SW[3].ethg[2];
H[27].ethg[0] <--> Eth1G <--> SW[3].ethg[3];
H[28].ethg[0] <--> Eth1G <--> SW[3].ethg[4];
H[29].ethg[0] <--> Eth1G <--> SW[3].ethg[5];
H[30].ethg[0] <--> Eth1G <--> SW[3].ethg[6];
H[31].ethg[0] <--> Eth1G <--> SW[3].ethg[7];
H[32].ethg[0] <--> Eth1G <--> SW[4].ethg[0];
H[33].ethg[0] <--> Eth1G <--> SW[4].ethg[1];
H[34].ethg[0] <--> Eth1G <--> SW[4].ethg[2];
H[35].ethg[0] <--> Eth1G <--> SW[4].ethg[3];
H[36].ethg[0] <--> Eth1G <--> SW[4].ethg[4];
H[37].ethg[0] <--> Eth1G <--> SW[4].ethg[5];
H[38].ethg[0] <--> Eth1G <--> SW[4].ethg[6];
H[39].ethg[0] <--> Eth1G <--> SW[4].ethg[7];
H[40].ethg[0] <--> Eth1G <--> SW[5].ethg[0];
H[41].ethg[0] <--> Eth1G <--> SW[5].ethg[1];
H[42].ethg[0] <--> Eth1G <--> SW[5].ethg[2];
H[43].ethg[0] <--> Eth1G <--> SW[5].ethg[3];
H[44].ethg[0] <--> Eth1G <--> SW[5].ethg[4];
H[45].ethg[0] <--> Eth1G <--> SW[5].ethg[5];
H[46].ethg[0] <--> Eth1G <--> SW[5].ethg[6];
H[47].ethg[0] <--> Eth1G <--> SW[5].ethg[7];
H[48].ethg[0] <--> Eth1G <--> SW[6].ethg[0];
H[49].ethg[0] <--> Eth1G <--> SW[6].ethg[1];
H[50].ethg[0] <--> Eth1G <--> SW[6].ethg[2];
H[51].ethg[0] <--> Eth1G <--> SW[6].ethg[3];
H[52].ethg[0] <--> Eth1G <--> SW[6].ethg[4];
H[53].ethg[0] <--> Eth1G <--> SW[6].ethg[5];
H[54].ethg[0] <--> Eth1G <--> SW[6].ethg[6];
H[55].ethg[0] <--> Eth1G <--> SW[6].ethg[7];
H[56].ethg[0] <--> Eth1G <--> SW[7].ethg[0];
H[57].ethg[0] <--> Eth1G <--> SW[7].ethg[1];
H[58].ethg[0] <--> Eth1G <--> SW[7].ethg[2];
H[59].ethg[0] <--> Eth1G <--> SW[7].ethg[3];
H[60].ethg[0] <--> Eth1G <--> SW[7].ethg[4];
H[61].ethg[0] <--> Eth1G <--> SW[7].ethg[5];
H[62].ethg[0] <--> Eth1G <--> SW[7].ethg[6];
H[63].ethg[0] <--> Eth1G <--> SW[7].ethg[7];
H[64].ethg[0] <--> Eth1G <--> SW[8].ethg[0];
H[65].ethg[0] <--> Eth1G <--> SW[8].ethg[1];
H[66].ethg[0] <--> Eth1G <--> SW[8].ethg[2];
H[67].ethg[0] <--> Eth1G <--> SW[8].ethg[3];
H[68].ethg[0] <--> Eth1G <--> SW[8].ethg[4];
H[69].ethg[0] <--> Eth1G <--> SW[8].ethg[5];
H[70].ethg[0] <--> Eth1G <--> SW[8].ethg[6];
H[71].ethg[0] <--> Eth1G <--> SW[8].ethg[7];
H[72].ethg[0] <--> Eth1G <--> SW[9].ethg[0];
H[73].ethg[0] <--> Eth1G <--> SW[9].ethg[1];
H[74].ethg[0] <--> Eth1G <--> SW[9].ethg[2];
H[75].ethg[0] <--> Eth1G <--> SW[9].ethg[3];
H[76].ethg[0] <--> Eth1G <--> SW[9].ethg[4];
H[77].ethg[0] <--> Eth1G <--> SW[9].ethg[5];
H[78].ethg[0] <--> Eth1G <--> SW[9].ethg[6];
H[79].ethg[0] <--> Eth1G <--> SW[9].ethg[7];
H[80].ethg[0] <--> Eth1G <--> SW[10].ethg[0];
H[81].ethg[0] <--> Eth1G <--> SW[10].ethg[1];
H[82].ethg[0] <--> Eth1G <--> SW[10].ethg[2];
H[83].ethg[0] <--> Eth1G <--> SW[10].ethg[3];
H[84].ethg[0] <--> Eth1G <--> SW[10].ethg[4];
H[85].ethg[0] <--> Eth1G <--> SW[10].ethg[5];
H[86].ethg[0] <--> Eth1G <--> SW[10].ethg[6];
H[87].ethg[0] <--> Eth1G <--> SW[10].ethg[7];
H[88].ethg[0] <--> Eth1G <--> SW[11].ethg[0];
H[89].ethg[0] <--> Eth1G <--> SW[11].ethg[1];
H[90].ethg[0] <--> Eth1G <--> SW[11].ethg[2];
H[91].ethg[0] <--> Eth1G <--> SW[11].ethg[3];
H[92].ethg[0] <--> Eth1G <--> SW[11].ethg[4];
H[93].ethg[0] <--> Eth1G <--> SW[11].ethg[5];
H[94].ethg[0] <--> Eth1G <--> SW[11].ethg[6];
H[95].ethg[0] <--> Eth1G <--> SW[11].ethg[7];
H[96].ethg[0] <--> Eth1G <--> SW[12].ethg[0];
H[97].ethg[0] <--> Eth1G <--> SW[12].ethg[1];
H[98].ethg[0] <--> Eth1G <--> SW[12].ethg[2];
H[99].ethg[0] <--> Eth1G <--> SW[12].ethg[3];
H[100].ethg[0] <--> Eth1G <--> SW[12].ethg[4];
H[101].ethg[0] <--> Eth1G <--> SW[12].ethg[5];
H[102].ethg[0] <--> Eth1G <--> SW[12].ethg[6];
H[103].ethg[0] <--> Eth1G <--> SW[12].ethg[7];
H[104].ethg[0] <--> Eth1G <--> SW[13].ethg[0];
H[105].ethg[0] <--> Eth1G <--> SW[13].ethg[1];
H[106].ethg[0] <--> Eth1G <--> SW[13].ethg[2];
H[107].ethg[0] <--> Eth1G <--> SW[13].ethg[3];
H[108].ethg[0] <--> Eth1G <--> SW[13].ethg[4];
H[109].ethg[0] <--> Eth1G <--> SW[13].ethg[5];
H[110].ethg[0] <--> Eth1G <--> SW[13].ethg[6];
H[111].ethg[0] <--> Eth1G <--> SW[13].ethg[7];
H[112].ethg[0] <--> Eth1G <--> SW[14].ethg[0];
H[113].ethg[0] <--> Eth1G <--> SW[14].ethg[1];
H[114].ethg[0] <--> Eth1G <--> SW[14].ethg[2];
H[115].ethg[0] <--> Eth1G <--> SW[14].ethg[3];
H[116].ethg[0] <--> Eth1G <--> SW[14].ethg[4];
H[117].ethg[0] <--> Eth1G <--> SW[14].ethg[5];
H[118].ethg[0] <--> Eth1G <--> SW[14].ethg[6];
H[119].ethg[0] <--> Eth1G <--> SW[14].ethg[7];
H[120].ethg[0] <--> Eth1G <--> SW[15].ethg[0];
H[121].ethg[0] <--> Eth1G <--> SW[15].ethg[1];
H[122].ethg[0] <--> Eth1G <--> SW[15].ethg[2];
H[123].ethg[0] <--> Eth1G <--> SW[15].ethg[3];
H[124].ethg[0] <--> Eth1G <--> SW[15].ethg[4];
H[125].ethg[0] <--> Eth1G <--> SW[15].ethg[5];
H[126].ethg[0] <--> Eth1G <--> SW[15].ethg[6];
H[127].ethg[0] <--> Eth1G <--> SW[15].ethg[7];
}
Loading

0 comments on commit 2f5644c

Please sign in to comment.