-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Split RPL into core and mode related functions. #1167
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
Conversation
I guess this PR will have to wait until the BBQ? (no prob, just asking) |
Yes, you're right. |
@@ -0,0 +1,863 @@ | |||
/** | |||
* RPL dodag implementation |
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.
RPL Storing mode impl?
Fixed. |
@FabianBrandt please rebase and squash together |
Remind myself - never rebase on friday 13. Took some time - seems to be done. |
Well, never rebase at 1 o'clock in the morning … ;) |
@FabianBrandt needs rebase again... |
Successfully rebased and updated refs/heads/rpl_base_split. |
Well, hm, seems to have been a very short-term success... |
@FabianBrandt, you forgot to push the rebased branch, didn't you? :) |
Nope, pushed it ;) Maybe its about me and git. I will have a look. Edit: found an error... |
After your comment
there is no new commit. |
There it is. Don´t really know what went wrong exactly. However I had to resolve a conflict, which is still stated in the commit but is not present anymore. From what I understand from git, this means, that there was a merge, which involved more than automatic resolving - which is not true actually. |
Maybe rename |
@@ -31,155 +31,35 @@ | |||
#include "sixlowpan.h" | |||
#include "net_help.h" | |||
|
|||
/* You can only run Storing Mode by now. Other unsupported modes lead to default (Storing Mode) */ | |||
#if RPL_DEFAULT_MOP == STORING_MODE_NO_MC |
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.
STORING_MODE_NO_MC
is not defined, right?
I would propose to call it something like RPL_MOP_2
or RPL_STORING_MODE_NO_MC
.
It's partly overlapping with #891, right? Could you review (and ack this) first? |
@@ -10,12 +10,17 @@ | |||
* @defgroup net_rpl RPL | |||
* @ingroup net | |||
* @brief Routing Protocol for Low power and Lossy Networks | |||
* | |||
* Header which includes all core RPL-functions. This should not be modified if new modes or | |||
* objective functions are implemented. |
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.
Maybe rephrase so something saying that it shouldn't be necessary to modify something in this file. Now, it sounds like: "Don't touch this file!".
/** | ||
* @defgroup net_rpl RPL | ||
* @ingroup net | ||
* @brief Routing Protocol for Low power and Lossy Networks |
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.
Copy and paste from rpl.h
?
As far as I can see all function declarations in |
That are really some comments ... I try to look into all of it until tomorrow. |
@OlegHahm Depends - P2P should have other + there maybe some alterations in future. I would agree, that a certain amount of functions are common for storing/non-storing. Maybe thats a idea to split them into another file and future additions can than lead to a special |
Based on the comments I´ve done the following:
What is not done: Functions from |
|
||
mutex_lock(&rpl_send_mutex); | ||
send_DIO_mode(destination); | ||
mutex_unlock(&rpl_send_mutex); |
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.
Could elaborate/document why these mutexes are necessary?
@FabianBrandt PR needs rebase |
Fixed - suggestions inserted. |
@OlegHahm can you elaborate , I think @FabianBrandt next steps are based on this PR... |
Elaborate on what? I would say ACK. |
Don´t ACK. I just recognized a problem with the buffers. I´m making a new commit this weekend. |
Buffer issue fixed. If ACK, I will rebase/squash. |
Can you rebase first? |
Sure. Sorry wrong button -.- |
#include "sixlowpan.h" | ||
#include "net_help.h" | ||
|
||
#define ENABLE_DEBUG (1) |
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.
Debug should be disabled by default.
Apart from the |
Of course this should be zero. Also |
Then let's go! |
Split RPL into core and mode related functions.
With this PR rpl.c only contains the core RPL-functions, which include basic initialization, mutex-management, basic receiving of RPL-messages and calling mode specific functions. Each mode is now moved to its own .c/.h pair. In addition rpl.h finally got documentation.
Note: This PR does not include the by now not acknowledged PRs #1080 and #930. Therefore some code is marked as obsolete and will be altered on merge/rebase of the other PRs.