Skip to content

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

Open
fjmolinas wants to merge 4 commits into
openwsn-berkeley:developfrom
fjmolinas:pr_rpl_cleanups
Open

openstack/03b-IPv6/icmpv6rp: some cleanups#524
fjmolinas wants to merge 4 commits into
openwsn-berkeley:developfrom
fjmolinas:pr_rpl_cleanups

Conversation

@fjmolinas

Copy link
Copy Markdown
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