{"action":"opened","number":10562,"pull_request":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/10562","id":236550588,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM2NTUwNTg4","html_url":"https://github.com/RIOT-OS/RIOT/pull/10562","diff_url":"https://github.com/RIOT-OS/RIOT/pull/10562.diff","patch_url":"https://github.com/RIOT-OS/RIOT/pull/10562.patch","issue_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/10562","number":10562,"state":"open","locked":false,"title":"gnrc_ipv6: fix hop-limit == 0 case","user":{"login":"miri64","id":675644,"node_id":"MDQ6VXNlcjY3NTY0NA==","avatar_url":"https://avatars1.githubusercontent.com/u/675644?v=4","gravatar_id":"","url":"https://api.github.com/users/miri64","html_url":"https://github.com/miri64","followers_url":"https://api.github.com/users/miri64/followers","following_url":"https://api.github.com/users/miri64/following{/other_user}","gists_url":"https://api.github.com/users/miri64/gists{/gist_id}","starred_url":"https://api.github.com/users/miri64/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miri64/subscriptions","organizations_url":"https://api.github.com/users/miri64/orgs","repos_url":"https://api.github.com/users/miri64/repos","events_url":"https://api.github.com/users/miri64/events{/privacy}","received_events_url":"https://api.github.com/users/miri64/received_events","type":"User","site_admin":false},"body":"### Contribution description\r\nWhile testing some IPv6 functionality I noticed, that hop-limit 0 is just accepted, worse even, it is forwarded, since the router just checks `(--hl > 0)` and thus overflows. This fixes that case.\r\n\r\n\r\n### Testing procedure\r\n0. (create two TAP interfaces connected via a TAP bridge `tapbr0`):\r\n   ```\r\n   dist/tools/tapsetup/tapsetup\r\n   ```\r\n1. Start two native instances of `gnrc_networking` (`native0` and `native1`).\r\n2. On `native0` add a global address:\r\n    ```\r\n    ifconfig 6 add 2001:db8::1\r\n    ```\r\n3. On `native1` add a route to `native0`:\r\n   ```\r\n   nib route add 6 2001:db8::/64 <link-local address of native0>\r\n   ```\r\n4. On Linux host add a route to `native1` via bridge:\r\n   ```sh\r\n   sudo ip route add 2001:db8::/64 via \"<link-local address of native1>\" dev tapbr0\r\n   ```\r\n5. Ping `2001:db8::1` from Linux with hop-limit 0:\r\n   ```sh\r\n   ping6 -t 0 2001:db8::1 # ping -6 -t 0 ... on Arch\r\n   ```\r\n\r\n- Expected result: ping reports `Time exceeded: Hop limit`\r\n- Result in current master: ping succeeds.\r\n\r\n### Issues/PRs references\r\nNone\r\n<!--\r\nExamples: Fixes #1234. See also #5678. Depends on PR #9876.\r\n\r\nPlease use keywords (e.g., fixes, resolve) with the links to the issues you\r\nresolved, this way they will be automatically closed when your pull request\r\nis merged. See https://help.github.com/articles/closing-issues-using-keywords/.\r\n-->\r\n","created_at":"2018-12-06T14:34:14Z","updated_at":"2018-12-06T14:34:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":86443543,"node_id":"MDU6TGFiZWw4NjQ0MzU0Mw==","url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/Area:%20network","name":"Area: network","color":"6600ff","default":false},{"id":23399098,"node_id":"MDU6TGFiZWwyMzM5OTA5OA==","url":"https://api.github.com/repos/RIOT-OS/RIOT/labels/Type:%20bug","name":"Type: bug","color":"ffff66","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/10562/commits","review_comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/10562/comments","review_comment_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments{/number}","comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/10562/comments","statuses_url":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/7374d3e560c28b8ca859b9833ddd70ab86c4b795","head":{"label":"miri64:gnrc_ipv6/fix/hl0","ref":"gnrc_ipv6/fix/hl0","sha":"7374d3e560c28b8ca859b9833ddd70ab86c4b795","user":{"login":"miri64","id":675644,"node_id":"MDQ6VXNlcjY3NTY0NA==","avatar_url":"https://avatars1.githubusercontent.com/u/675644?v=4","gravatar_id":"","url":"https://api.github.com/users/miri64","html_url":"https://github.com/miri64","followers_url":"https://api.github.com/users/miri64/followers","following_url":"https://api.github.com/users/miri64/following{/other_user}","gists_url":"https://api.github.com/users/miri64/gists{/gist_id}","starred_url":"https://api.github.com/users/miri64/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miri64/subscriptions","organizations_url":"https://api.github.com/users/miri64/orgs","repos_url":"https://api.github.com/users/miri64/repos","events_url":"https://api.github.com/users/miri64/events{/privacy}","received_events_url":"https://api.github.com/users/miri64/received_events","type":"User","site_admin":false},"repo":{"id":7667624,"node_id":"MDEwOlJlcG9zaXRvcnk3NjY3NjI0","name":"RIOT","full_name":"miri64/RIOT","private":false,"owner":{"login":"miri64","id":675644,"node_id":"MDQ6VXNlcjY3NTY0NA==","avatar_url":"https://avatars1.githubusercontent.com/u/675644?v=4","gravatar_id":"","url":"https://api.github.com/users/miri64","html_url":"https://github.com/miri64","followers_url":"https://api.github.com/users/miri64/followers","following_url":"https://api.github.com/users/miri64/following{/other_user}","gists_url":"https://api.github.com/users/miri64/gists{/gist_id}","starred_url":"https://api.github.com/users/miri64/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/miri64/subscriptions","organizations_url":"https://api.github.com/users/miri64/orgs","repos_url":"https://api.github.com/users/miri64/repos","events_url":"https://api.github.com/users/miri64/events{/privacy}","received_events_url":"https://api.github.com/users/miri64/received_events","type":"User","site_admin":false},"html_url":"https://github.com/miri64/RIOT","description":"RIOT OS -  The revolutionary IoT OS","fork":true,"url":"https://api.github.com/repos/miri64/RIOT","forks_url":"https://api.github.com/repos/miri64/RIOT/forks","keys_url":"https://api.github.com/repos/miri64/RIOT/keys{/key_id}","collaborators_url":"https://api.github.com/repos/miri64/RIOT/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/miri64/RIOT/teams","hooks_url":"https://api.github.com/repos/miri64/RIOT/hooks","issue_events_url":"https://api.github.com/repos/miri64/RIOT/issues/events{/number}","events_url":"https://api.github.com/repos/miri64/RIOT/events","assignees_url":"https://api.github.com/repos/miri64/RIOT/assignees{/user}","branches_url":"https://api.github.com/repos/miri64/RIOT/branches{/branch}","tags_url":"https://api.github.com/repos/miri64/RIOT/tags","blobs_url":"https://api.github.com/repos/miri64/RIOT/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/miri64/RIOT/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/miri64/RIOT/git/refs{/sha}","trees_url":"https://api.github.com/repos/miri64/RIOT/git/trees{/sha}","statuses_url":"https://api.github.com/repos/miri64/RIOT/statuses/{sha}","languages_url":"https://api.github.com/repos/miri64/RIOT/languages","stargazers_url":"https://api.github.com/repos/miri64/RIOT/stargazers","contributors_url":"https://api.github.com/repos/miri64/RIOT/contributors","subscribers_url":"https://api.github.com/repos/miri64/RIOT/subscribers","subscription_url":"https://api.github.com/repos/miri64/RIOT/subscription","commits_url":"https://api.github.com/repos/miri64/RIOT/commits{/sha}","git_commits_url":"https://api.github.com/repos/miri64/RIOT/git/commits{/sha}","comments_url":"https://api.github.com/repos/miri64/RIOT/comments{/number}","issue_comment_url":"https://api.github.com/repos/miri64/RIOT/issues/comments{/number}","contents_url":"https://api.github.com/repos/miri64/RIOT/contents/{+path}","compare_url":"https://api.github.com/repos/miri64/RIOT/compare/{base}...{head}","merges_url":"https://api.github.com/repos/miri64/RIOT/merges","archive_url":"https://api.github.com/repos/miri64/RIOT/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/miri64/RIOT/downloads","issues_url":"https://api.github.com/repos/miri64/RIOT/issues{/number}","pulls_url":"https://api.github.com/repos/miri64/RIOT/pulls{/number}","milestones_url":"https://api.github.com/repos/miri64/RIOT/milestones{/number}","notifications_url":"https://api.github.com/repos/miri64/RIOT/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/miri64/RIOT/labels{/name}","releases_url":"https://api.github.com/repos/miri64/RIOT/releases{/id}","deployments_url":"https://api.github.com/repos/miri64/RIOT/deployments","created_at":"2013-01-17T14:31:57Z","updated_at":"2018-12-04T14:50:53Z","pushed_at":"2018-12-06T14:20:35Z","git_url":"git://github.com/miri64/RIOT.git","ssh_url":"git@github.com:miri64/RIOT.git","clone_url":"https://github.com/miri64/RIOT.git","svn_url":"https://github.com/miri64/RIOT","homepage":"","size":60066,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"lgpl-2.1","name":"GNU Lesser General Public License v2.1","spdx_id":"LGPL-2.1","url":"https://api.github.com/licenses/lgpl-2.1","node_id":"MDc6TGljZW5zZTEx"},"forks":1,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"RIOT-OS:master","ref":"master","sha":"b6abbad6fbece3004e65deb092263bafefc2108d","user":{"login":"RIOT-OS","id":3079480,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNzk0ODA=","avatar_url":"https://avatars2.githubusercontent.com/u/3079480?v=4","gravatar_id":"","url":"https://api.github.com/users/RIOT-OS","html_url":"https://github.com/RIOT-OS","followers_url":"https://api.github.com/users/RIOT-OS/followers","following_url":"https://api.github.com/users/RIOT-OS/following{/other_user}","gists_url":"https://api.github.com/users/RIOT-OS/gists{/gist_id}","starred_url":"https://api.github.com/users/RIOT-OS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RIOT-OS/subscriptions","organizations_url":"https://api.github.com/users/RIOT-OS/orgs","repos_url":"https://api.github.com/users/RIOT-OS/repos","events_url":"https://api.github.com/users/RIOT-OS/events{/privacy}","received_events_url":"https://api.github.com/users/RIOT-OS/received_events","type":"Organization","site_admin":false},"repo":{"id":7370241,"node_id":"MDEwOlJlcG9zaXRvcnk3MzcwMjQx","name":"RIOT","full_name":"RIOT-OS/RIOT","private":false,"owner":{"login":"RIOT-OS","id":3079480,"node_id":"MDEyOk9yZ2FuaXphdGlvbjMwNzk0ODA=","avatar_url":"https://avatars2.githubusercontent.com/u/3079480?v=4","gravatar_id":"","url":"https://api.github.com/users/RIOT-OS","html_url":"https://github.com/RIOT-OS","followers_url":"https://api.github.com/users/RIOT-OS/followers","following_url":"https://api.github.com/users/RIOT-OS/following{/other_user}","gists_url":"https://api.github.com/users/RIOT-OS/gists{/gist_id}","starred_url":"https://api.github.com/users/RIOT-OS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RIOT-OS/subscriptions","organizations_url":"https://api.github.com/users/RIOT-OS/orgs","repos_url":"https://api.github.com/users/RIOT-OS/repos","events_url":"https://api.github.com/users/RIOT-OS/events{/privacy}","received_events_url":"https://api.github.com/users/RIOT-OS/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/RIOT-OS/RIOT","description":"RIOT -  The friendly OS for IoT","fork":false,"url":"https://api.github.com/repos/RIOT-OS/RIOT","forks_url":"https://api.github.com/repos/RIOT-OS/RIOT/forks","keys_url":"https://api.github.com/repos/RIOT-OS/RIOT/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RIOT-OS/RIOT/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RIOT-OS/RIOT/teams","hooks_url":"https://api.github.com/repos/RIOT-OS/RIOT/hooks","issue_events_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/events{/number}","events_url":"https://api.github.com/repos/RIOT-OS/RIOT/events","assignees_url":"https://api.github.com/repos/RIOT-OS/RIOT/assignees{/user}","branches_url":"https://api.github.com/repos/RIOT-OS/RIOT/branches{/branch}","tags_url":"https://api.github.com/repos/RIOT-OS/RIOT/tags","blobs_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/refs{/sha}","trees_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/{sha}","languages_url":"https://api.github.com/repos/RIOT-OS/RIOT/languages","stargazers_url":"https://api.github.com/repos/RIOT-OS/RIOT/stargazers","contributors_url":"https://api.github.com/repos/RIOT-OS/RIOT/contributors","subscribers_url":"https://api.github.com/repos/RIOT-OS/RIOT/subscribers","subscription_url":"https://api.github.com/repos/RIOT-OS/RIOT/subscription","commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/commits{/sha}","git_commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/commits{/sha}","comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/comments{/number}","issue_comment_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/comments{/number}","contents_url":"https://api.github.com/repos/RIOT-OS/RIOT/contents/{+path}","compare_url":"https://api.github.com/repos/RIOT-OS/RIOT/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RIOT-OS/RIOT/merges","archive_url":"https://api.github.com/repos/RIOT-OS/RIOT/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RIOT-OS/RIOT/downloads","issues_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues{/number}","pulls_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls{/number}","milestones_url":"https://api.github.com/repos/RIOT-OS/RIOT/milestones{/number}","notifications_url":"https://api.github.com/repos/RIOT-OS/RIOT/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RIOT-OS/RIOT/labels{/name}","releases_url":"https://api.github.com/repos/RIOT-OS/RIOT/releases{/id}","deployments_url":"https://api.github.com/repos/RIOT-OS/RIOT/deployments","created_at":"2012-12-29T20:38:40Z","updated_at":"2018-12-06T12:12:45Z","pushed_at":"2018-12-06T14:20:38Z","git_url":"git://github.com/RIOT-OS/RIOT.git","ssh_url":"git@github.com:RIOT-OS/RIOT.git","clone_url":"https://github.com/RIOT-OS/RIOT.git","svn_url":"https://github.com/RIOT-OS/RIOT","homepage":"https://github.com/RIOT-OS/RIOT/wiki","size":59909,"stargazers_count":2150,"watchers_count":2150,"language":"C","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":1187,"mirror_url":null,"archived":false,"open_issues_count":922,"license":{"key":"lgpl-2.1","name":"GNU Lesser General Public License v2.1","spdx_id":"LGPL-2.1","url":"https://api.github.com/licenses/lgpl-2.1","node_id":"MDc6TGljZW5zZTEx"},"forks":1187,"open_issues":922,"watchers":2150,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/10562"},"html":{"href":"https://github.com/RIOT-OS/RIOT/pull/10562"},"issue":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/issues/10562"},"comments":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/issues/10562/comments"},"review_comments":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/10562/comments"},"review_comment":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/10562/commits"},"statuses":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/7374d3e560c28b8ca859b9833ddd70ab86c4b795"}},"author_association":"MEMBER","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":true,"commits":1,"additions":7,"deletions":0,"changed_files":1}}
{"actor":{"display_login":"miri64"}}