Giter VIP home page Giter VIP logo

inetmanet-3.x's Introduction

CI Status master integration
Build and fingerprint tests Travis CI Travis CI
Feature enablement tests CircleCI CircleCI

INET Framework for OMNEST/OMNeT++

The INET framework 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.

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.

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 the INET wireless tutorial (tutorials/wireless). 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, please install libpcap-dev (on linux) or winpcap (on windows from www.winpcap.org) and enable the "Emulation" feature either in the IDE or using the inet_featuretool then regenerate the INET makefile using 'make makefiles'.

inetmanet-3.x's People

Contributors

aarizaq avatar kmoza avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

inetmanet-3.x's Issues

The manetrouting/manetMultiRadio example crashes after ~1600 events when run with 4_nodes.ini, config Multiradio

(this was tested in INET 2.2)
Problem is in OLSR_ETX_state ctor:

OLSR_ETX_state::OLSR_ETX_state()
{
parameter = &(dynamic_cast<OLSR_ETX*>(getOwner())->parameter_);
}

Here, getOwner() returns NULL, so the 'parameter' member will be invalid, and the simulation will crash when it first tries to use it.

getOwner() comes from cObject (base class of OLSR_ETX_state) which defines it as "return NULL". An owner pointer is only present it cOwnedObject, but even with that class the owner pointer is likely not yet set when the ctor is run.

I suggest adding an explicit "owner" parameter to the ctor.

Multi radio example

Hi everyone,
I'm new in inet et inetmant. I tried to use the manetmultiradio example, I notices that when it comes to use the mgmt.numchannels parameter it says that it does not match any parameters, if someone knows with witch parameter it was changed. or how can I run an example with multi radio and multi channel communication .
thank you.

inetmanet 3 build error on omnet++ 5.0

Hi Aarizaq.
I followed those steps to intall inetmanet on omnet++ 5.0 :

  1. Extract the zip file to my workspace(samples);
  2. Import the inetmanet folder as "Existing projects into workspace";
  3. Build the project.
    I had an error in "INETDefs.h" file (/inetmanet-3.x-inetmanet-3.0/src/inet/common/INETDefs.h), precisely in the #include "inet/opp_defines.h" line : "inet/opp_defines.h not found"
    inetdefs
    The file "opp_defines.h" does not exist in both inetmanet and inet tree.
    Please help me to resolve this issue (i need to work with last inetmanet version).
    Best regards.
    Hajji

running the RSTP examples (redundant, triangle....)

Hi, i'm new with omnet and inetmanet.
I'm using omnet++ 4.2.2 on windows7 and also try ubuntu 12.04.

If i try the Spanning-Tree examples "out-of-the-box" i get errors like that directly after starting the simulation:
http://d.pr/i/F9B3

So i try to change the lines from something like "A.eth++ <---> B.eth++" to "A.eth++ <--> Eth100M <--> B.eth++" (i have no idea if that makes sense) but yes it helps a bit. The error now is da differnt one and comes a few steps later
http://d.pr/i/xi1Q

Any ideas what i can do or how i get a working "STP-Switch" in omnet 4.2.2?

Can't compile underTest/_4gsim

I download inetmanet-2.0 from the master branch (these error also reproduced in the integration branch).

After trying to compile it by "$ make makefiles && make", I get errors that files under underTest/_4gsim has no enums NF_SUB_NEEDS_AUTH and etc.

I have been try investigate these errors and found that the configured Makefile not correctly define how to compile _4gsim.
It should have -DWITH_4GSIM definition or do not compile the _4gsim folder.

Please, fix it! :)

Problem with 48/64-Bit MAC address and the 80215 code adapt commit

I've run into problems with my 6lowpan model while merging with your newest INETMANET-2.2 branch.

In commit f2b0b3a in file src/wpan/linklayer/ieee802154/mac/Ieee802154Mac.cc:
You moved lines 97 - 99 to 168-170.
These lines convert the current MAC address to a 64-Bit value, set the iface to null and set the aExtendedMacAddress.

Before, those settings where done while createInterfaceEntry().

The problem is the following: if you are using a csma802154 MAC, then a MAC address is autogenerated in an old way (that is to say a 48-Bit MAC address is created) and the interface is registered / created.

Since you have moved the three aforementioned lines, the 48-Bit MAC address is not converted to 64-Bit anymore and the iface and aExtendedMacAddress values are neither set.

To solve this, I would suggest:

  • adapt the address generation in initialize() of csma80154.cc according to Ieee802154Mac.cc
  • insert the three lines in the csma802154.cc too (or move them to createInterfaceEntry() again.

I'll try to make a patch or a pull request if you'd like!

Best regards,
Michael

Using and distributing other linkcache metrics?

I'm using a metric other than hop count, each node calculate its own, but could not pass the cost to other nodes using linkcache. i tried piggybacking in the costvector of the sending rreq packet, but cause more trouble in other parts of code.
Any place on the code where i can put the cost to distribute to other nodes?
hope you could help. thanks.

Wrong setting of COLLISION or BITERROR in linklayer/radio/Radio.cc

Hi all,
I am concerned about how packets are marked as collision or error in Radio.cc.

In Radio.cc l. 687, if radioModel->isReceivedCorrectly(airframe, list) is false and
the SNRList has size > 1, the packet it is marked as COLLISION:
airframe->getEncapsulatedPacket()->setKind(list.size()>1 ? COLLISION : BITERROR);

However, that is not always true. I have checked that sometimes I get bit errors, but they are marked as collisions.
Is there any particular reason for this implementation or should it be corrected?

Since snirMin is just computed a few lines earlier, it can be used to mark packets as collisions.

Thanks a lot

Best regards

inetmanet-2.0 compilation error on OMNET++ 4.5

Dear aarizaq,

When I try to build internet-2.0 on OMNET++ 4.5, I get the following error:
"variable length array of non-POD element type 'MACAddress'" in file hwmp.cc at line 1670

Is the issue with the version?

Thanks,

Severe problems in building inetmanet 2.0

Hi...
I have been trying to build manet 2.0 but no success so far...
I used lot of hit and trial method like changing project preferences, deleting error reporting examples .. but still no success...
I m using Omnet++, i cloned the inetmanet and imported it into omnetpp and then tried build all... it z giving me errors like these...

‘frequency’ was not declared in this scope ModulationType.h /inetmanet-2.0/src/linklayer/radio line 158 C/C++ Problem

‘uint32_t’ does not name a type ModulationType.h /inetmanet-2.0/src/linklayer/radio line 90 C/C++ Problem

‘uint32_t’ does not name a type ModulationType.h /inetmanet-2.0/src/linklayer/radio line 87 C/C++ Problem

‘bandwidth’ was not declared in this scope ModulationType.h /inetmanet-2.0/src/linklayer/radio line 88 C/C++ Problem

‘frequency’ was not declared in this scope ModulationType.h /inetmanet-2.0/src/linklayer/radio line 91 C/C++ Problem

‘class ModulationType’ has no member named ‘getDataRate’ WifiMode.cc /inetmanet-2.0/src/linklayer/ieee80211/mac line 1207 C/C++ Problem

‘dataRate’ was not declared in this scope ModulationType.h /inetmanet-2.0/src/linklayer/radio line 154 C/C++ Problem

‘constellationSize’ was not declared in this scope ModulationType.h /inetmanet-2.0/src/linklayer/radio line 156 C/C++ Problem
‘class ModulationType’ has no member named ‘getFrequency’ WifiMode.cc /inetmanet-2.0/src/linklayer/ieee80211/mac line 1348 C/C++ Problem

‘dataRate’ was not declared in this scope ModulationType.h /inetmanet-2.0/src/linklayer/radio line 106 C/C++ Problem

‘class ModulationType’ has no member named ‘getFrequency’ WifiMode.cc /inetmanet-2.0/src/linklayer/ieee80211/mac line 1394 C/C++ Problem

‘dataRate’ was not declared in this scope ModulationType.h /inetmanet-2.0/src/linklayer/radio line 128 C/C++ Problem

‘constellationSize’ was not declared in this scope ModulationType.h /inetmanet-2.0/src/linklayer/radio line 138 C/C++ Problem

PLEASE HELP ME OUT...
THANKS

Ieee80211Descriptor::data[] is not correctly ordered

Hi,
when I try to set up a Ieee80211Nic with opMode="p" and bitrate=6Mbps, it says "mode not valid" in a pop-up in Tk.
I have checked this mode exists in the array Ieee80211Descriptor::data[] , but when calling Ieee80211Descriptor::findIdx( ) it does not find it with the std::lower_bound search.

The problem is that, for lower_bound to work properly, Ieee80211Descriptor::data[] must be ordered previously. However, the 'p' values appear before the 'n' values.
When I change the order it works.
Am I rigth or is there a reason why 'p' values should appear before?

Thanks a lot,

inetmanet 3.5 build errors on omnetpp 5.1

Dear Aarizaq.
I want to work with the last inetmanet 3.5, based on inet 3.5, compatible with the last omnetpp 5.1.
When i build the inetmanet project, i get a lot of errors "C/C++ Problem" messages:
inetmanet build errors
The problem was noted when omnetpp try to creat the shared library "libINET.dll"
How to solve this issue?

problem install inetmanet-2.0

hi aarizaq,

i have problem install the inemanet. the problem was

Simulation terminated with exit code: 1
Working directory: C:/omnetpp-4.2.2/aarizaq-inetmanet-2.0-f58a819/examples/wireless/throughput
Command line: c:/omnetpp-4.2.2/bin/opp_run.exe -r 0 -n ../..;../../../src -l ../../../src/inet omnetpp.ini

Environment variables:
OMNETPP_ROOT=c:/omnetpp-4.2.2
PATH=;C:/omnetpp-4.2.2/aarizaq-inetmanet-2.0-f58a819/src;c:\omnetpp-4.2.2\bin;c:\omnetpp-4.2.2\msys\bin;c:\omnetpp-4.2.2\mingw\bin;c:/omnetpp-4.2.2/ide/jre/bin/client;c:/omnetpp-4.2.2/ide/jre/bin;c:/omnetpp-4.2.2/ide/jre/lib/i386;.;C:\omnetpp-4.2.2\msys\local\bin;c:\omnetpp-4.2.2\mingw\bin;C:\omnetpp-4.2.2\msys\bin;c:\omnetpp-4.2.2\bin;c:\Program Files\Common Files\Microsoft Shared\Windows Live;c:\Windows\system32;c:\Windows;c:\Windows\System32\Wbem;c:\Windows\System32\WindowsPowerShell\v1.0;c:\Program Files (x86)\EgisTec\MyWinLocker 3\x86;c:\Program Files (x86)\EgisTec\MyWinLocker 3\x64;c:\Program Files\WIDCOMM\Bluetooth Software;c:\Program Files\WIDCOMM\Bluetooth Software\syswow64;c:\Program Files (x86)\Common Files\Softimage;c:\Program Files\Common Files\Softimage;c:\Program Files (x86)\QuickTime\QTSystem;c:\omnetpp-4.2.2\ide;
OMNETPP_IMAGE_PATH=c:\omnetpp-4.2.2\images

can you please help me

StandardHost.ned issue with thruputmeter

The code for connecting the thruputmeter to the UdpApps and the TcpApps doesn't work for more than one application.
For example, for i=1 this code tries to connect the truUdpApp[1], but with i=0 check the last 2 rows, this is already connected and the simulation throws an error (gate already connected).

for i=0..numUdpApps-1, if hasThrugmeter {
udpApp[i].udpOut --> truUdpApp[i].in;
truUdpApp[i].out --> udp.appIn++;
udpApp[i].udpIn <-- truUdpApp[i+1].out;
truUdpApp[i+1].in <-- udp.appOut++;
}

correct code should be this (similar for the tcpApps), which works

for i=0..numUdpApps-1, if hasThrugmeter {
udpApp[i].udpOut --> truUdpApp[2i].in;
truUdpApp[2
i].out --> udp.appIn++;
udpApp[i].udpIn <-- truUdpApp[2i+1].out;
truUdpApp[2
i+1].in <-- udp.appOut++;
}

dear aarizaq

I am using your code for the udp Video Broadcasting (LTE video Broadcasting)but i couldn't find the following header files:VideoPacket_m.h ,UDPVideoData_m.h ,VideoPacket_m.h .when the code run I receive errors.could you mind helping me with that.
the files i am working on are UDPVideoStreamSvr2.cc and UDPVideoStreamCli2.cc
I am using inet-2.3.0 version .

best regards

InterfaceEntry will not compile if WITH_IPv6 is not defined

Integrantion branch: src/networklayer/common/InterfaceEntry.cc will not compile if not WITH_IPv6 is defined, and a fix in the destructor is needed, by adding an #ifdef:

InterfaceEntry::~InterfaceEntry()
{
if (ipv4data && ipv4data->ownerp == this)
delete ipv4data;
#ifdef WITH_IPv6
if (ipv6data && ipv6data->ownerp == this)
delete ipv6data;
#endif
if (protocol3data && protocol3data->ownerp == this)
delete protocol3data;
if (protocol4data && protocol4data->ownerp == this)
delete protocol4data;
}

NF_LINK_BREAK in mesh example

The "Hwmp gateway" example yields an error in the upperMac module:

Unsupported signal data type cObject * for signal NF_LINK_BREAK

Is that a configuration problem or a bug?

call to constructor of 'omnetpp::cPacketQueue' is ambiguous

I have downloaded inemanet3.5 on omnet 5.5.1

I got one error after the first make:

inet/common/queue/PacketQueue.cc:23:5: error: call to constructor of 'omnetpp::cPacketQueue' is ambiguous
cPacketQueue(name, nullptr)
^

Any idea how to fix that ? thanks

Build Error on Ubuntu 16.04

Fist of all i have to say thank you that you maintain the inetmanet package which enables me to research with MANET structures.
I receive the following error message when i try to build the project:

Makefile:1570: recipe for target '../out/gcc-debug/src/inet/common/geometry/common/CoordinateSystem.o' failed
make[1]: *** [../out/gcc-debug/src/inet/common/geometry/common/CoordinateSystem.o] Error 1

Some dependencies cannot be resolved correct?

Thanks in advance

Regards

Klement

inetmanet does not compile (error in voipstream application)

Hi,

I'm trying to compile INETMANET 2.0 from the command line. I'm getting the following error:

applications/voipstream/AudioOutFile.cc: In member function ‘void AudioOutFile::addAudioStream(AVCodecID, int, short int)’:
applications/voipstream/AudioOutFile.cc:46:21: error: ‘SAMPLE_FMT_S16’ was not declared in this scope
applications/voipstream/AudioOutFile.cc: In member function ‘void AudioOutFile::open(const char*, int, short int)’:
applications/voipstream/AudioOutFile.cc:83:35: error: ‘av_set_parameters’ was not declared in this scope
applications/voipstream/AudioOutFile.cc:118:44: error: ‘URL_WRONLY’ was not declared in this scope
applications/voipstream/AudioOutFile.cc: In member function ‘void AudioOutFile::write(void*, int)’:
applications/voipstream/AudioOutFile.cc:141:76: error: ‘av_get_bits_per_sample_format’ was not declared in this scope
applications/voipstream/AudioOutFile.cc:148:16: warning: ‘int avcodec_encode_audio(AVCodecContext*, uint8_t*, int, const short int*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4209) [-Wdeprecated-declarations]
applications/voipstream/AudioOutFile.cc:148:76: warning: ‘int avcodec_encode_audio(AVCodecContext*, uint8_t*, int, const short int*)’ is deprecated (declared at /usr/include/libavcodec/avcodec.h:4209) [-Wdeprecated-declarations]
make[1]: *** [../out/gcc-debug//src/applications/voipstream/AudioOutFile.o] Error 1

From the search results I've got regarding the SAMPLE_FMT_S16 constant, it looks like that my version of ffmpeg might be too "new"?

Thanks in advance!

Best regards,
Michael

Results?

Dear Sir,

So i am new to this omnetpp but i have found this version of Inet is best.

I didn't have any problems installing the framework but when i run the example of csma 802.15.4 i am still suffering to know how to get the results? or the graphs? hep please?

Thank you

Using DijkstraKshortest?

Hi, can you give me a hint or an example, how the class DijkstraKshortest works?
I mean, how I get the cTopology to your Dijkstra functions?

Thanks
qupfer

Update git submodules - missing cb77a9e819c8187359c281b121a14f56f94eb66b

Hej if I want clone repo I got error:

$ git clone --recursive https://github.com/aarizaq/inetmanet-3.x.git inetman
Cloning into 'inetman'...
remote: Counting objects: 50967, done.
remote: Compressing objects: 100% (468/468), done.
remote: Total 50967 (delta 226), reused 249 (delta 113), pack-reused 50384
Receiving objects: 100% (50967/50967), 49.75 MiB | 3.90 MiB/s, done.
Resolving deltas: 100% (38225/38225), done.
Checking out files: 100% (5392/5392), done.
Submodule 'showcases' (https://github.com/inet-framework/inet-showcases.git) registered for path 'showcases'
Submodule 'tutorials' (https://github.com/inet-framework/inet-tutorials.git) registered for path 'tutorials'
Cloning into '../inetman/showcases'...
remote: Counting objects: 2482, done.
remote: Compressing objects: 100% (123/123), done.
remote: Total 2482 (delta 116), reused 118 (delta 62), pack-reused 2296
Receiving objects: 100% (2482/2482), 108.92 MiB | 6.01 MiB/s, done.
Resolving deltas: 100% (1408/1408), done.
Cloning into '../inetman/tutorials'...
remote: Counting objects: 1116, done.
remote: Total 1116 (delta 0), reused 0 (delta 0), pack-reused 1116
Receiving objects: 100% (1116/1116), 49.10 MiB | 5.39 MiB/s, done.
Resolving deltas: 100% (663/663), done.
error: Server does not allow request for unadvertised object cb77a9e819c8187359c281b121a14f56f94eb66b
Fetched in submodule path 'showcases', but it did not contain cb77a9e819c8187359c281b121a14f56f94eb66b. Direct fetching of that commit failed.

I fixed it:

$ cd inetman/showcases/
$ git reset --hard
$ cd ../tutorials/
$ git reset --hard

Compile error in Mac os x omnet++ 4.3

Hi,
While compiling inetmanet in Omnet++ 4.3 (and 4.2.2), in Mac OS X 10.8, there is the following compile error-
In file included from generic/RPSSocket.cc:1:
generic/RPSSocket.h:10:21: error: winsock.h: No such file or directory
generic/RPSSocket.h:12:21: error: WinInet.h: No such file or directory
generic/RPSSocket.h:13:21: error: windows.h: No such file or directory

How to solve this issue? Thanks for this cool framework. :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.