{"action":"created","issue":{"url":"https://api.github.com/repos/contiki-os/contiki/issues/1403","labels_url":"https://api.github.com/repos/contiki-os/contiki/issues/1403/labels{/name}","comments_url":"https://api.github.com/repos/contiki-os/contiki/issues/1403/comments","events_url":"https://api.github.com/repos/contiki-os/contiki/issues/1403/events","html_url":"https://github.com/contiki-os/contiki/pull/1403","id":119391002,"number":1403,"title":"Compliance fixes with RFC 6550, 6551, 6552, 6719","user":{"login":"simonduq","id":1425999,"avatar_url":"https://avatars.githubusercontent.com/u/1425999?v=3","gravatar_id":"","url":"https://api.github.com/users/simonduq","html_url":"https://github.com/simonduq","followers_url":"https://api.github.com/users/simonduq/followers","following_url":"https://api.github.com/users/simonduq/following{/other_user}","gists_url":"https://api.github.com/users/simonduq/gists{/gist_id}","starred_url":"https://api.github.com/users/simonduq/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/simonduq/subscriptions","organizations_url":"https://api.github.com/users/simonduq/orgs","repos_url":"https://api.github.com/users/simonduq/repos","events_url":"https://api.github.com/users/simonduq/events{/privacy}","received_events_url":"https://api.github.com/users/simonduq/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2015-11-29T21:58:29Z","updated_at":"2016-02-02T08:21:20Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/contiki-os/contiki/pulls/1403","html_url":"https://github.com/contiki-os/contiki/pull/1403","diff_url":"https://github.com/contiki-os/contiki/pull/1403.diff","patch_url":"https://github.com/contiki-os/contiki/pull/1403.patch"},"body":"This PR fixes a number of discrepancies between the RoLL RFCs and our Contiki implementation, with a focus is on the OFs and metrics. This also moves link statistics from the MRHOF OF to an more general module, `link-stats`, which can work with any RPL OF or other protocols than RPL.\r\n\r\nOverview of fixes and features:\r\n* **MRHOF:** fixed terminology, implemented MAX_LINK_METRIC and MAX_PATH_COST as per RFC6719. Implement MinHopRankInc and fix ETX divisor to 128 as per RFC6551, while keeping a configurable MinHopRankInc (as discussed in section 6.1 of RFC6719).\r\n* **OF0:** complete rewrite to match RFC6552, now with rank stretch, rank factor, step of rank. OF0 can work with different link metrics, and it is now possible to configure which metric to use. One of the configuration options is ETX-based, and matches the work going on in the 6TiSCH WG. The other implementation has a constant step of rank and results in hop count.\r\n* **Metric Containers:** now the MC is not configured at compile time, but a run-time when joining. There is a compile-time config flag to disable MC altogether to save memory.\r\n* **OFs:** now all (two) OFs are embedded in the code, and selected on a per-instance basis when joining.\r\n* **Link statistics:** new `link-stats` module keeping track of ETX, link freshness and RSSI, independently from RPL. Improved ETX maintenance with (1) two-speed EWMA for fast bootstraping and (2) optional RSSI-based ETX initialization.\r\n* **RPL:** various more minor fixes on RPL to match RFC6550. Now checking IPv6 reachability of candidate preferred parents and children. Added a check, whenever a new preferred parent is found, that we have up-to-date link estimates to that node. If node, schedule urgent probing and switch only once the statistics are refreshed, if the node is still appealing. As for children un-reachable children, their routing entry is now automatically removed and a no-path DAO sent upwards.\r\n* **RPL probing:** now based on link statistics freshness, now supporting \"urgent probing\".\r\n"},"comment":{"url":"https://api.github.com/repos/contiki-os/contiki/issues/comments/178439911","html_url":"https://github.com/contiki-os/contiki/pull/1403#issuecomment-178439911","issue_url":"https://api.github.com/repos/contiki-os/contiki/issues/1403","id":178439911,"user":{"login":"joakimeriksson","id":599447,"avatar_url":"https://avatars.githubusercontent.com/u/599447?v=3","gravatar_id":"","url":"https://api.github.com/users/joakimeriksson","html_url":"https://github.com/joakimeriksson","followers_url":"https://api.github.com/users/joakimeriksson/followers","following_url":"https://api.github.com/users/joakimeriksson/following{/other_user}","gists_url":"https://api.github.com/users/joakimeriksson/gists{/gist_id}","starred_url":"https://api.github.com/users/joakimeriksson/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joakimeriksson/subscriptions","organizations_url":"https://api.github.com/users/joakimeriksson/orgs","repos_url":"https://api.github.com/users/joakimeriksson/repos","events_url":"https://api.github.com/users/joakimeriksson/events{/privacy}","received_events_url":"https://api.github.com/users/joakimeriksson/received_events","type":"User","site_admin":false},"created_at":"2016-02-02T08:21:20Z","updated_at":"2016-02-02T08:21:20Z","body":"I think this looks very good - but I have not tested it yet. But many of the fixes and improvements are very very good to get into the Contiki RPL implementation!"}}