Network.ned 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. //
  2. // Copyright (C) 2013 Andras Varga
  3. //
  4. // This program is free software; you can redistribute it and/or
  5. // modify it under the terms of the GNU Lesser General Public License
  6. // as published by the Free Software Foundation; either version 2
  7. // of the License, or (at your option) any later version.
  8. //
  9. // This program is distributed in the hope that it will be useful,
  10. // but WITHOUT ANY WARRANTY; without even the implied warranty of
  11. // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  12. // GNU Lesser General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU Lesser General Public License
  15. // along with this program; if not, see <http://www.gnu.org/licenses/>.
  16. //
  17. package inet.examples.pim.iptv;
  18. import inet.networklayer.configurator.ipv4.IPv4NetworkConfigurator;
  19. import inet.node.ethernet.Eth100M;
  20. import inet.node.inet.MulticastRouter;
  21. import inet.node.inet.StandardHost;
  22. //
  23. // A generated network with grid topology.
  24. //
  25. network Network
  26. {
  27. submodules:
  28. R00: MulticastRouter {
  29. @display("p=150,50");
  30. gates:
  31. ethg[4];
  32. }
  33. R01: MulticastRouter {
  34. @display("p=150,125");
  35. gates:
  36. ethg[4];
  37. }
  38. R02: MulticastRouter {
  39. @display("p=150,200");
  40. gates:
  41. ethg[4];
  42. }
  43. R03: MulticastRouter {
  44. @display("p=150,275");
  45. gates:
  46. ethg[4];
  47. }
  48. R10: MulticastRouter {
  49. @display("p=225,50");
  50. gates:
  51. ethg[4];
  52. }
  53. R11: MulticastRouter {
  54. @display("p=225,125");
  55. gates:
  56. ethg[4];
  57. }
  58. R12: MulticastRouter {
  59. @display("p=225,200");
  60. gates:
  61. ethg[4];
  62. }
  63. R13: MulticastRouter {
  64. @display("p=225,275");
  65. gates:
  66. ethg[4];
  67. }
  68. R20: MulticastRouter {
  69. @display("p=300,50");
  70. gates:
  71. ethg[4];
  72. }
  73. R21: MulticastRouter {
  74. @display("p=300,125");
  75. gates:
  76. ethg[4];
  77. }
  78. R22: MulticastRouter {
  79. @display("p=300,200");
  80. gates:
  81. ethg[4];
  82. }
  83. R23: MulticastRouter {
  84. @display("p=300,275");
  85. gates:
  86. ethg[4];
  87. }
  88. R30: MulticastRouter {
  89. @display("p=375,50");
  90. gates:
  91. ethg[4];
  92. }
  93. R31: MulticastRouter {
  94. @display("p=375,125");
  95. gates:
  96. ethg[4];
  97. }
  98. R32: MulticastRouter {
  99. @display("p=375,200");
  100. gates:
  101. ethg[4];
  102. }
  103. R33: MulticastRouter {
  104. @display("p=375,275");
  105. gates:
  106. ethg[4];
  107. }
  108. configurator: IPv4NetworkConfigurator {
  109. @display("p=513,50");
  110. }
  111. client: StandardHost {
  112. @display("p=493,275");
  113. }
  114. server: StandardHost {
  115. @display("p=48,50");
  116. }
  117. connections allowunconnected:
  118. R00.ethg[1] <--> Eth100M <--> R10.ethg[0];
  119. R00.ethg[3] <--> Eth100M <--> R01.ethg[2];
  120. R01.ethg[1] <--> Eth100M <--> R11.ethg[0];
  121. R01.ethg[3] <--> Eth100M <--> R02.ethg[2];
  122. R02.ethg[1] <--> Eth100M <--> R12.ethg[0];
  123. R02.ethg[3] <--> Eth100M <--> R03.ethg[2];
  124. R03.ethg[1] <--> Eth100M <--> R13.ethg[0];
  125. R10.ethg[1] <--> Eth100M <--> R20.ethg[0];
  126. R10.ethg[3] <--> Eth100M <--> R11.ethg[2];
  127. R11.ethg[1] <--> Eth100M <--> R21.ethg[0];
  128. R11.ethg[3] <--> Eth100M <--> R12.ethg[2];
  129. R12.ethg[1] <--> Eth100M <--> R22.ethg[0];
  130. R12.ethg[3] <--> Eth100M <--> R13.ethg[2];
  131. R13.ethg[1] <--> Eth100M <--> R23.ethg[0];
  132. R20.ethg[1] <--> Eth100M <--> R30.ethg[0];
  133. R20.ethg[3] <--> Eth100M <--> R21.ethg[2];
  134. R21.ethg[1] <--> Eth100M <--> R31.ethg[0];
  135. R21.ethg[3] <--> Eth100M <--> R22.ethg[2];
  136. R22.ethg[1] <--> Eth100M <--> R32.ethg[0];
  137. R22.ethg[3] <--> Eth100M <--> R23.ethg[2];
  138. R23.ethg[1] <--> Eth100M <--> R33.ethg[0];
  139. R30.ethg[3] <--> Eth100M <--> R31.ethg[2];
  140. R31.ethg[3] <--> Eth100M <--> R32.ethg[2];
  141. R32.ethg[3] <--> Eth100M <--> R33.ethg[2];
  142. server.ethg++ <--> Eth100M <--> R00.ethg[0];
  143. R33.ethg[1] <--> Eth100M <--> client.ethg++;
  144. }