Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Share protocols developed by 3rd parties #8

Open
boulis opened this issue Apr 1, 2017 · 0 comments
Open

Share protocols developed by 3rd parties #8

boulis opened this issue Apr 1, 2017 · 0 comments

Comments

@boulis
Copy link
Owner

boulis commented Apr 1, 2017

There are several routing protocols developed by 3rd parties that would be great to integrate them in the main Castalia distribution in Github either as branches, or even in the master branch.

CTP developed by Ugo Colesanti & Silvia Santini
https://code.google.com/archive/p/ctp-castalia/

AODV, LEACH, REL, LABILE developed at gercom found here:
http://www.gercom.ufpa.br/index.php?option=com_osdownloads&view=downloads&Itemid=346

The newest CTP distribution (released 2012) works with Castalia 3.2. In case I encounter some problems here's what I commented in the forum:
Here's what you need to do to get the released CTP code to work with 3.2 (or the upcoming 3.3)

in CtpTestingApplication.cc and CtpTestingApplication.h

  • replace ApplicationGenericDataPacket with ApplicationPacket
    in CtpTestingApplication.cc
  • comment out the whole update_packets_received() method
  • delete declareOutput("My Stats", SN) ; from the update_ddr_perSN() mehtod
    and put declareOutput("My Stats") ; at the startup() method

in mac/cc2420Mac/CC2420Mac.cc

  • replace instances of getRoutingInteractionControl() with getNetMacInfoExchange()
  • replace getMacInteractionControl() with getMacRadioInfoExchange()
  • swap RSSI with LQI in the right hand side of the assignments (little bug in the original code)

Optional, depends on platform (I had to do it for my Mac OSX)
in mac/cc2420Mac/TosEnvironment.h AND in routing/ctpNoe/components/TosEnvironment.h:79

  • line 79 replace 0x100000000 with 0xffffffff

in routing/ctpNoe/components/CtpForwardingEngine.cc

  • replace line 1080 netPkt->getRoutingInteractionControl().source = selfAddress.c_str() ; // ok
    with netPkt->setSource(selfAddress.c_str()) ; // ok
  • replace instances of getRoutingInteractionControl() with getNetMacInfoExchange() (lines 213, 1053, 1081)

in routing/ctpNoe/components/CtpRoutingEngine.cc AND routing/ctpNoe/components/DualBuffer.cc AND routing/ctpNoe/components/LinkEstimator.cc

  • replace instances of getRoutingInteractionControl() with getNetMacInfoExchange()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant