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

openstack/03b-IPv6/icmpv6rp: some cleanups #524

Open
wants to merge 4 commits into
base: develop
Choose a base branch
from

Conversation

fjmolinas
Copy link
Contributor

This PR does some changes that isolate RPL concerns and remove some RPL dependencies in other parts of the code base.
If this makes sense I would in a next step abstract RPL so that the MAC layer does not have a hard dependency on it:

  • Use a different parameter than DaoSent to enable sending EB, this could be a IsReachable parameter, or EnableEB rthat would be triggered by a highe layer, in this case RPL.
  • Change checking against icmpv6rpl_getMyDAGrank() to an abstracted rank, I though of maybe keeping this state in idmanager, this rank is not a MAC concept though, so maybe neighbors would be a good place for it as well.
  • Changing the PreferedParent related functions so that they do not depend on RPL, abstracting it in a way that it point to a time source neighbor instead of a "prefered parent" (at least in the MAC layer). How this time source neighbor is abstracted or selected would be handled by the higher layer (RPL) in this case. This time source neighbor could be kept in neighbors.c

@TimothyClaeys @changtengfei I would be very interested in hearing your opinions on this.

For now the specific changes are:

  • includes the icmpv6rpl.h header when those functions are used to make the dependency explicit
  • it moves RPL related functions that where in other files in to icmpv6rpl.c namely debugPrint_mtDagRank and icmpv6rpl_getLinkMetric
  • it replaced the DaoSent variable with IsReachable, I can remove this But my though with this functions was to abstract the
    requirement to send EB from RPL.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant