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

routing: add OLSRv2 #2294

Closed
wants to merge 51 commits into from
Closed

routing: add OLSRv2 #2294

wants to merge 51 commits into from

Conversation

OlegHahm
Copy link
Member

In consultation with @benpicco I take over PR #765. Original description:

This adds an implementation of the OLSRv2 routing protocol (without metrics), based on oonf_api.
The interface offered to applications currently consists of only a olsr_init function which will set up and start a sender and receiver thread for RFC5444 based (UDP on port 269) HELLO and Topology Control messages.
That means that every HELLO_REFRESH_INTERVAL (2s + random jitter) a non-forwarded HELLO message is send for neighborhood discovery. Every TC_REFRESH_INTERVAL (5s + random jitter) a topology control message is broadcast (only by selected flooding MPRs) through the network.

This happens transparent to the application, IP packets are now routed to known hosts within the MANET once a path has been established.

print_topology_set will output the forwarding table with all known mesh nodes.

Does work well on native with #680, but still crashes on the testbed after some time.
Each known MANET router requires 72 byte of memory + 12 bytes for each alternative route to the node.

Depends on #630

@OlegHahm OlegHahm added Area: network Area: Networking Type: new feature The issue requests / The PR implemements a new feature for RIOT labels Jan 13, 2015
@OlegHahm OlegHahm added this to the Release NEXT MAJOR milestone Jan 13, 2015
@cgundogan
Copy link
Member

are there plans to remove the RFC5444 code from this PR and use the NHDP implementation from @fnack instead?

@OlegHahm
Copy link
Member Author

Might make sense indeed. Will try to check with @fnack.

This adds a simple single linked list which allocates and deallocates memory for it's elements on it's own.
It also provides functions to search for and iterate over elements.
@OlegHahm OlegHahm modified the milestones: FIX ME FIRST, Release NEXT MAJOR Jan 13, 2015
@@ -16,6 +16,9 @@
* @author René Kijewski
*/

#ifndef KERNEL_MACROS_
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

the diff of this file could be completely moved to its own PR. seems unrelated to OLSR to me.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@OlegHahm OlegHahm force-pushed the master branch 3 times, most recently from 9f184dd to 45554bf Compare March 31, 2015 13:01
@OlegHahm OlegHahm modified the milestones: Release NEXT MAJOR, FIX ME FIRST Jul 3, 2015
@OlegHahm OlegHahm modified the milestone: Release 2015.12 Nov 28, 2015
@OlegHahm OlegHahm modified the milestone: Release 2015.12 Dec 8, 2015
@emmanuelsearch
Copy link
Member

Is this still planned for 2015.12 ?

@OlegHahm OlegHahm modified the milestones: Release 2015.12, Release 2016.03 Dec 11, 2015
@OlegHahm
Copy link
Member Author

Definitely not - most likely a mishap while retagging some PRs and issues.

@OlegHahm OlegHahm removed this from the Release 2016.04 milestone Mar 8, 2016
@OlegHahm OlegHahm added the State: archived State: The PR has been archived for possible future re-adaptation label Mar 8, 2016
@OlegHahm
Copy link
Member Author

OlegHahm commented Mar 8, 2016

I have to admit: I was not very successful adopting this PR...

@OlegHahm OlegHahm closed this Mar 8, 2016
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area: network Area: Networking State: archived State: The PR has been archived for possible future re-adaptation Type: new feature The issue requests / The PR implemements a new feature for RIOT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants