-
Notifications
You must be signed in to change notification settings - Fork 2k
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
Add the AODVv2 Routing Protocol #1767
Conversation
I just noticed that Travis throws some style errors-- I remember |
@LudwigOrtmann Also, PR #1766 has been merged already. ;) |
@Lotterleben Travis is unhappy because of the license headers of the following files:
|
#ifndef AODVV2_H_ | ||
#define AODVV2_H_ | ||
|
||
void aodv_init(void); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This header would be happy about gettting documented. ;-)
@Lotterleben Feel free to remove the obsolete tag yourself next time ;) |
if (ndp_nc_entry != NULL) | ||
{ | ||
|
||
// Case 2: Broken Link (detected by lower layer) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
C style comments please.
@LudwigOrtmann Will do, wasn't sure if I was allowed to do that ;) |
The cppcheck errors of the form |
{ | ||
AODV_DEBUG("%s()\n", __func__); | ||
rfc5444_writer_cleanup(&writer); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I dislike the prefix writer_. It's bound to clash with user code.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I used it for consistency with the oonf_api and Ben's OLSR code. I can rename it to aodv_packet_writer, but only after we've decided which is worse ugly newlines or long lines.
In general I would like you to address the non-newline-realated comments that @Kijewski made. For the newlines, it's up to you if you want to obey strictly the 80-chars limit. |
@OlegHahm @Kijewski most of the unnecessary line breaks were made for consistency reasons. It seems weird to me to cram one ||-divided expression on one line and then split up the next one over two lines, and so on. If it's okay, I'd rather keep it this way (also because I have another deadline approaching and it's 23° C outside here ;) ) for now and if it ends up annoying somebody terribly, I'll fix it in another PR. |
Fair enough. Enjoy Honolulu and the cookies. ;) |
ae33b42
to
3f27d26
Compare
Just let me know (write here, use jabber, scream, wave your hands, ask @LudwigOrtmann to beat me...) when this is ready for the next review. |
@OlegHahm ACK, I'll notify you as soon as I'm done here... I hope I'll figure out why travis can't compile my stuff until then. :D |
566b9e1
to
cb9724c
Compare
|
Oh, where did you get that from? |
Ran the Travis script manually locally. :-/ I think the |
I actually got rid of the |
It's not related to this PR, but have you tried this? { foobar || exit } &
wait Edit: added crucial |
Opened #2089 |
Thank you! :) |
#2101 is merged, I guess you need to rebase on this. |
b8a30fc
to
0ca7d23
Compare
This PR depends on RIOT-OS#1766. It contains a minimal implementation of the AODVv2 routing protocol. *Not* implemented are: - AckReqs - alternate metrics - multiple interfaces - clients and Client Networks - buffering - all addresses, TLVs, and features that are marked as optional An example application can be found at https://github.com/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo. The implementation relies heavily on a functioning Neighbor Discovery Protocol. It might be necessary to fill the neighbor cache manually with the current state of RIOTs NDP implementation. The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to future improvement. Please note that based on my experience, with the default transceiver buffer size (3) of the native port, about 2/3 of the route discoveries will fail. This has been addressed in issue RIOT-OS#1747. It is advised to increase the transceiver buffer size when using AODVv2 as a routing protocol.
0ca7d23
to
0c67c02
Compare
Add the AODVv2 Routing Protocol
Congrats! |
Congrats indeed ;) |
This PR depends on #1766.
It contains a minimal implementation of the AODVv2 routing protocol.
Not implemented are:
An example application can be found at https://github.com/Lotterleben/RIOT-AODVv2/tree/master/aodvv2_demo.
The implementation relies heavily on a functioning Neighbor Discovery Protocol.
It might be necessary to fill the neighbor cache manually with the current state
of RIOTs NDP implementation.
The value of AODVV2_MAX_UNREACHABLE_NODES has been chosen arbitrarily and will be subject to
future improvement.
Please note that based on my experience, with the default transceiver
buffer size (3) of the native port, about 2/3 of the route discoveries
will fail. This has been addressed in issue #1747. It is advised to increase
the transceiver buffer size when using AODVv2 as a routing protocol.