{"action":"created","issue":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/3737","labels_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/3737/labels{/name}","comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/3737/comments","events_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/3737/events","html_url":"https://github.com/RIOT-OS/RIOT/pull/3737","id":103684689,"number":3737,"title":"rpl: refactoring of instances and dodags","user":{"login":"cgundogan","id":739129,"avatar_url":"https://avatars.githubusercontent.com/u/739129?v=3","gravatar_id":"","url":"https://api.github.com/users/cgundogan","html_url":"https://github.com/cgundogan","followers_url":"https://api.github.com/users/cgundogan/followers","following_url":"https://api.github.com/users/cgundogan/following{/other_user}","gists_url":"https://api.github.com/users/cgundogan/gists{/gist_id}","starred_url":"https://api.github.com/users/cgundogan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cgundogan/subscriptions","organizations_url":"https://api.github.com/users/cgundogan/orgs","repos_url":"https://api.github.com/users/cgundogan/repos","events_url":"https://api.github.com/users/cgundogan/events{/privacy}","received_events_url":"https://api.github.com/users/cgundogan/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/API%20CHANGE","name":"API CHANGE","color":"e11d21"},{"url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/enhancement","name":"enhancement","color":"f17070"},{"url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/network","name":"network","color":"bfdadc"},{"url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/Ready%20for%20CI%20build","name":"Ready for CI build","color":"bfdadc"}],"state":"open","locked":false,"assignee":{"login":"gebart","id":317506,"avatar_url":"https://avatars.githubusercontent.com/u/317506?v=3","gravatar_id":"","url":"https://api.github.com/users/gebart","html_url":"https://github.com/gebart","followers_url":"https://api.github.com/users/gebart/followers","following_url":"https://api.github.com/users/gebart/following{/other_user}","gists_url":"https://api.github.com/users/gebart/gists{/gist_id}","starred_url":"https://api.github.com/users/gebart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gebart/subscriptions","organizations_url":"https://api.github.com/users/gebart/orgs","repos_url":"https://api.github.com/users/gebart/repos","events_url":"https://api.github.com/users/gebart/events{/privacy}","received_events_url":"https://api.github.com/users/gebart/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/milestones/10","html_url":"https://github.com/RIOT-OS/RIOT/milestones/Release%20NEXT%20MAJOR","labels_url":"https://api.github.com/repos/RIOT-OS/RIOT/milestones/10/labels","id":871004,"number":10,"title":"Release NEXT MAJOR","description":"This is the next major milestone. It gets a valid name if we know the next date to release on.","creator":{"login":"OlegHahm","id":1590423,"avatar_url":"https://avatars.githubusercontent.com/u/1590423?v=3","gravatar_id":"","url":"https://api.github.com/users/OlegHahm","html_url":"https://github.com/OlegHahm","followers_url":"https://api.github.com/users/OlegHahm/followers","following_url":"https://api.github.com/users/OlegHahm/following{/other_user}","gists_url":"https://api.github.com/users/OlegHahm/gists{/gist_id}","starred_url":"https://api.github.com/users/OlegHahm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OlegHahm/subscriptions","organizations_url":"https://api.github.com/users/OlegHahm/orgs","repos_url":"https://api.github.com/users/OlegHahm/repos","events_url":"https://api.github.com/users/OlegHahm/events{/privacy}","received_events_url":"https://api.github.com/users/OlegHahm/received_events","type":"User","site_admin":false},"open_issues":142,"closed_issues":80,"state":"open","created_at":"2014-11-18T10:51:58Z","updated_at":"2015-10-15T15:23:34Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2015-08-28T09:33:28Z","updated_at":"2015-10-15T18:51:07Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/3737","html_url":"https://github.com/RIOT-OS/RIOT/pull/3737","diff_url":"https://github.com/RIOT-OS/RIOT/pull/3737.diff","patch_url":"https://github.com/RIOT-OS/RIOT/pull/3737.patch"},"body":"The current implementation had unnecessary logic to deal with dodags within the same instance. This is however wrong, because a node can only be part of 1 dodag within the same instance.\r\n\r\nI basically changed the `gnrc_rpl_instance_t` struct to include _one_ `gnrc_rpl_dodag_t` struct, instead of a list of dodags and changed the API to expect the instance as input parameter instead of a dodag. Furthermore, I moved the list of parents from `gnrc_rpl_dodag_t`  to `gnrc_rpl_instance_t`.\r\n\r\nThe diff seems quite much, but this is mostly due to the change in member accessing. I also included some minor logical improvements that resulted from the (instance) 1:n (dodag) => (instance) 1:1 (dodag) relation change.\r\n\r\nThis refactoring cuts ~1K ROM and ~500bytes from the bss section of the `gnrc_networking` example."},"comment":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/comments/148486690","html_url":"https://github.com/RIOT-OS/RIOT/pull/3737#issuecomment-148486690","issue_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/3737","id":148486690,"user":{"login":"cgundogan","id":739129,"avatar_url":"https://avatars.githubusercontent.com/u/739129?v=3","gravatar_id":"","url":"https://api.github.com/users/cgundogan","html_url":"https://github.com/cgundogan","followers_url":"https://api.github.com/users/cgundogan/followers","following_url":"https://api.github.com/users/cgundogan/following{/other_user}","gists_url":"https://api.github.com/users/cgundogan/gists{/gist_id}","starred_url":"https://api.github.com/users/cgundogan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cgundogan/subscriptions","organizations_url":"https://api.github.com/users/cgundogan/orgs","repos_url":"https://api.github.com/users/cgundogan/repos","events_url":"https://api.github.com/users/cgundogan/events{/privacy}","received_events_url":"https://api.github.com/users/cgundogan/received_events","type":"User","site_admin":false},"created_at":"2015-10-15T18:51:07Z","updated_at":"2015-10-15T18:51:07Z","body":"@gebart did you had a chance to look at it? @BytesGalore could you also have a look at this one? "}}