HiddenNode.ned 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. //
  2. // Copyright (C) 2005 Andras Varga
  3. //
  4. // This program is free software; you can redistribute it and/or
  5. // modify it under the terms of the GNU 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 General Public License for more details.
  13. //
  14. // You should have received a copy of the GNU General Public License
  15. // along with this program; if not, write to the Free Software
  16. // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
  17. //
  18. package inet.examples.wireless.hiddennode;
  19. import inet.applications.ethernet.EtherAppCli;
  20. import inet.common.queue.Sink;
  21. import inet.linklayer.ieee80211.Ieee80211Nic;
  22. import inet.mobility.static.StationaryMobility;
  23. import inet.physicallayer.ieee80211.packetlevel.Ieee80211ScalarRadioMedium;
  24. module Node
  25. {
  26. parameters:
  27. @display("i=device/wifilaptop");
  28. @networkNode();
  29. *.interfaceTableModule = "";
  30. gates:
  31. input radioIn @directIn;
  32. submodules:
  33. cli: EtherAppCli {
  34. parameters:
  35. registerSAP = false;
  36. @display("b=40,24;p=180,60,col");
  37. }
  38. wlan: Ieee80211Nic {
  39. parameters:
  40. @display("p=112,134;q=queue");
  41. mgmtType = "Ieee80211MgmtAdhoc";
  42. macType = "Ieee80211CompatibleMac";
  43. }
  44. mobility: StationaryMobility {
  45. parameters:
  46. @display("p=50,141");
  47. }
  48. connections allowunconnected:
  49. wlan.radioIn <-- radioIn;
  50. cli.out --> wlan.upperLayerIn;
  51. }
  52. module SinkNode
  53. {
  54. parameters:
  55. @display("i=device/wifilaptop");
  56. @networkNode();
  57. *.interfaceTableModule = "";
  58. gates:
  59. input radioIn @directIn;
  60. submodules:
  61. sink: Sink {
  62. parameters:
  63. @display("p=210,68,col");
  64. }
  65. wlan: Ieee80211Nic {
  66. parameters:
  67. @display("p=120,158;q=queue");
  68. mgmtType = "Ieee80211MgmtAdhoc";
  69. macType = "Ieee80211CompatibleMac";
  70. }
  71. mobility: StationaryMobility {
  72. parameters:
  73. @display("p=50,141");
  74. }
  75. connections allowunconnected:
  76. wlan.radioIn <-- radioIn;
  77. sink.in++ <-- wlan.upperLayerOut;
  78. }
  79. network HiddenNode
  80. {
  81. parameters:
  82. @display("b=297,203;bgb=628,257");
  83. submodules:
  84. A: Node {
  85. parameters:
  86. @display("r=,,#707070;p=159,143");
  87. }
  88. C: Node {
  89. parameters:
  90. @display("r=,,#707070;p=473,143");
  91. }
  92. B: SinkNode {
  93. parameters:
  94. @display("p=316,143;r=,,#707070");
  95. }
  96. radioMedium: Ieee80211ScalarRadioMedium {
  97. parameters:
  98. @display("p=61,46");
  99. }
  100. }