{"action":"created","comment":{"url":"https://api.github.com/repos/cilium/cilium/pulls/comments/118415018","pull_request_review_id":40204010,"id":118415018,"diff_hunk":"@@ -0,0 +1,167 @@\n+// Copyright 2016-2017 Authors of Cilium\n+//\n+// Licensed under the Apache License, Version 2.0 (the \"License\");\n+// you may not use this file except in compliance with the License.\n+// You may obtain a copy of the License at\n+//\n+//     http://www.apache.org/licenses/LICENSE-2.0\n+//\n+// Unless required by applicable law or agreed to in writing, software\n+// distributed under the License is distributed on an \"AS IS\" BASIS,\n+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n+// See the License for the specific language governing permissions and\n+// limitations under the License.\n+\n+package proxy\n+\n+import (\n+\t\"bytes\"\n+\t\"encoding/binary\"\n+\t\"fmt\"\n+\t\"net\"\n+\t\"strconv\"\n+\t\"unsafe\"\n+\n+\t\"github.com/cilium/cilium/common\"\n+\t\"github.com/cilium/cilium/common/types\"\n+\t\"github.com/cilium/cilium/pkg/bpf\"\n+)\n+\n+type Proxy6Key struct {\n+\tSAddr   types.IPv6\n+\tDPort   uint16\n+\tSPort   uint16\n+\tNexthdr uint8\n+}\n+\n+func (k *Proxy6Key) HostPort() string {\n+\tportStr := strconv.FormatUint(uint64(k.SPort), 10)\n+\treturn net.JoinHostPort(k.SAddr.IP().String(), portStr)\n+}\n+\n+type Proxy6Value struct {\n+\tOrigDAddr types.IPv6\n+\tOrigDPort uint16\n+\tLifetime  uint16\n+}\n+\n+func (p *Proxy6Value) HostPort() string {\n+\tportStr := strconv.FormatUint(uint64(p.OrigDPort), 10)\n+\treturn net.JoinHostPort(p.OrigDAddr.IP().String(), portStr)\n+}\n+\n+var (\n+\tproxy6Map = bpf.NewMap(\"cilium_proxy6\",\n+\t\tbpf.MapTypeHash,\n+\t\tint(unsafe.Sizeof(Proxy6Key{})),\n+\t\tint(unsafe.Sizeof(Proxy6Value{})),\n+\t\t8192)\n+)\n+\n+func (k Proxy6Key) NewValue() bpf.MapValue {\n+\treturn &Proxy6Value{}\n+}\n+\n+func (k *Proxy6Key) GetKeyPtr() unsafe.Pointer {\n+\treturn unsafe.Pointer(k)\n+}\n+\n+func (k *Proxy6Key) String() string {\n+\treturn fmt.Sprintf(\"%s (%d) => %d\", k.HostPort(), k.Nexthdr, k.DPort)\n+}\n+\n+func (k *Proxy6Key) Convert() *Proxy6Key {\n+\tn := *k\n+\tn.SPort = common.Swab16(n.SPort)\n+\tn.DPort = common.Swab16(n.DPort)\n+\treturn &n\n+}\n+\n+func (v *Proxy6Value) GetValuePtr() unsafe.Pointer {","path":"pkg/proxy/proxy6map.go","position":80,"original_position":80,"commit_id":"26548b946e6e005c1712a1aa0fb1e4f9a8c563be","original_commit_id":"26548b946e6e005c1712a1aa0fb1e4f9a8c563be","user":{"login":"houndci-bot","id":6697940,"avatar_url":"https://avatars3.githubusercontent.com/u/6697940?v=3","gravatar_id":"","url":"https://api.github.com/users/houndci-bot","html_url":"https://github.com/houndci-bot","followers_url":"https://api.github.com/users/houndci-bot/followers","following_url":"https://api.github.com/users/houndci-bot/following{/other_user}","gists_url":"https://api.github.com/users/houndci-bot/gists{/gist_id}","starred_url":"https://api.github.com/users/houndci-bot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/houndci-bot/subscriptions","organizations_url":"https://api.github.com/users/houndci-bot/orgs","repos_url":"https://api.github.com/users/houndci-bot/repos","events_url":"https://api.github.com/users/houndci-bot/events{/privacy}","received_events_url":"https://api.github.com/users/houndci-bot/received_events","type":"User","site_admin":false},"body":"exported method Proxy6Value.GetValuePtr should have comment or be unexported<br>receiver name v should be consistent with previous receiver name p for Proxy6Value","created_at":"2017-05-25T04:07:51Z","updated_at":"2017-05-25T04:07:52Z","html_url":"https://github.com/cilium/cilium/pull/818#discussion_r118415018","pull_request_url":"https://api.github.com/repos/cilium/cilium/pulls/818","_links":{"self":{"href":"https://api.github.com/repos/cilium/cilium/pulls/comments/118415018"},"html":{"href":"https://github.com/cilium/cilium/pull/818#discussion_r118415018"},"pull_request":{"href":"https://api.github.com/repos/cilium/cilium/pulls/818"}}},"pull_request":{"url":"https://api.github.com/repos/cilium/cilium/pulls/818","id":122368430,"html_url":"https://github.com/cilium/cilium/pull/818","diff_url":"https://github.com/cilium/cilium/pull/818.diff","patch_url":"https://github.com/cilium/cilium/pull/818.patch","issue_url":"https://api.github.com/repos/cilium/cilium/issues/818","number":818,"state":"open","locked":false,"title":"IPv6 proxy support","user":{"login":"jrfastab","id":1247472,"avatar_url":"https://avatars3.githubusercontent.com/u/1247472?v=3","gravatar_id":"","url":"https://api.github.com/users/jrfastab","html_url":"https://github.com/jrfastab","followers_url":"https://api.github.com/users/jrfastab/followers","following_url":"https://api.github.com/users/jrfastab/following{/other_user}","gists_url":"https://api.github.com/users/jrfastab/gists{/gist_id}","starred_url":"https://api.github.com/users/jrfastab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrfastab/subscriptions","organizations_url":"https://api.github.com/users/jrfastab/orgs","repos_url":"https://api.github.com/users/jrfastab/repos","events_url":"https://api.github.com/users/jrfastab/events{/privacy}","received_events_url":"https://api.github.com/users/jrfastab/received_events","type":"User","site_admin":false},"body":"Initial implementation of IPv6 proxy support. Not the most optimized optimization possible but functional and passing ingress proxy and proxy tests. Follow up work should optimize and remove some duplicate code if wanted, although my 'go' skills will need to improve to sort out how to unify proxy6 and proxy4 map types (generics in go?).\r\n\r\nComments/feedback welcome. Thanks.","created_at":"2017-05-25T04:07:40Z","updated_at":"2017-05-25T04:07:52Z","closed_at":null,"merged_at":null,"merge_commit_sha":"149e9ec4c69cc07596be1bbf2eaf708a8697c27d","assignee":null,"assignees":[],"requested_reviewers":[{"login":"tgraf","id":1417913,"avatar_url":"https://avatars2.githubusercontent.com/u/1417913?v=3","gravatar_id":"","url":"https://api.github.com/users/tgraf","html_url":"https://github.com/tgraf","followers_url":"https://api.github.com/users/tgraf/followers","following_url":"https://api.github.com/users/tgraf/following{/other_user}","gists_url":"https://api.github.com/users/tgraf/gists{/gist_id}","starred_url":"https://api.github.com/users/tgraf/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tgraf/subscriptions","organizations_url":"https://api.github.com/users/tgraf/orgs","repos_url":"https://api.github.com/users/tgraf/repos","events_url":"https://api.github.com/users/tgraf/events{/privacy}","received_events_url":"https://api.github.com/users/tgraf/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/cilium/cilium/pulls/818/commits","review_comments_url":"https://api.github.com/repos/cilium/cilium/pulls/818/comments","review_comment_url":"https://api.github.com/repos/cilium/cilium/pulls/comments{/number}","comments_url":"https://api.github.com/repos/cilium/cilium/issues/818/comments","statuses_url":"https://api.github.com/repos/cilium/cilium/statuses/26548b946e6e005c1712a1aa0fb1e4f9a8c563be","head":{"label":"jrfastab:proxy_ip6","ref":"proxy_ip6","sha":"26548b946e6e005c1712a1aa0fb1e4f9a8c563be","user":{"login":"jrfastab","id":1247472,"avatar_url":"https://avatars3.githubusercontent.com/u/1247472?v=3","gravatar_id":"","url":"https://api.github.com/users/jrfastab","html_url":"https://github.com/jrfastab","followers_url":"https://api.github.com/users/jrfastab/followers","following_url":"https://api.github.com/users/jrfastab/following{/other_user}","gists_url":"https://api.github.com/users/jrfastab/gists{/gist_id}","starred_url":"https://api.github.com/users/jrfastab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrfastab/subscriptions","organizations_url":"https://api.github.com/users/jrfastab/orgs","repos_url":"https://api.github.com/users/jrfastab/repos","events_url":"https://api.github.com/users/jrfastab/events{/privacy}","received_events_url":"https://api.github.com/users/jrfastab/received_events","type":"User","site_admin":false},"repo":{"id":91741594,"name":"cilium","full_name":"jrfastab/cilium","owner":{"login":"jrfastab","id":1247472,"avatar_url":"https://avatars3.githubusercontent.com/u/1247472?v=3","gravatar_id":"","url":"https://api.github.com/users/jrfastab","html_url":"https://github.com/jrfastab","followers_url":"https://api.github.com/users/jrfastab/followers","following_url":"https://api.github.com/users/jrfastab/following{/other_user}","gists_url":"https://api.github.com/users/jrfastab/gists{/gist_id}","starred_url":"https://api.github.com/users/jrfastab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jrfastab/subscriptions","organizations_url":"https://api.github.com/users/jrfastab/orgs","repos_url":"https://api.github.com/users/jrfastab/repos","events_url":"https://api.github.com/users/jrfastab/events{/privacy}","received_events_url":"https://api.github.com/users/jrfastab/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/jrfastab/cilium","description":"Linux Native, HTTP Aware Networking and Security for Containers","fork":true,"url":"https://api.github.com/repos/jrfastab/cilium","forks_url":"https://api.github.com/repos/jrfastab/cilium/forks","keys_url":"https://api.github.com/repos/jrfastab/cilium/keys{/key_id}","collaborators_url":"https://api.github.com/repos/jrfastab/cilium/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/jrfastab/cilium/teams","hooks_url":"https://api.github.com/repos/jrfastab/cilium/hooks","issue_events_url":"https://api.github.com/repos/jrfastab/cilium/issues/events{/number}","events_url":"https://api.github.com/repos/jrfastab/cilium/events","assignees_url":"https://api.github.com/repos/jrfastab/cilium/assignees{/user}","branches_url":"https://api.github.com/repos/jrfastab/cilium/branches{/branch}","tags_url":"https://api.github.com/repos/jrfastab/cilium/tags","blobs_url":"https://api.github.com/repos/jrfastab/cilium/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/jrfastab/cilium/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/jrfastab/cilium/git/refs{/sha}","trees_url":"https://api.github.com/repos/jrfastab/cilium/git/trees{/sha}","statuses_url":"https://api.github.com/repos/jrfastab/cilium/statuses/{sha}","languages_url":"https://api.github.com/repos/jrfastab/cilium/languages","stargazers_url":"https://api.github.com/repos/jrfastab/cilium/stargazers","contributors_url":"https://api.github.com/repos/jrfastab/cilium/contributors","subscribers_url":"https://api.github.com/repos/jrfastab/cilium/subscribers","subscription_url":"https://api.github.com/repos/jrfastab/cilium/subscription","commits_url":"https://api.github.com/repos/jrfastab/cilium/commits{/sha}","git_commits_url":"https://api.github.com/repos/jrfastab/cilium/git/commits{/sha}","comments_url":"https://api.github.com/repos/jrfastab/cilium/comments{/number}","issue_comment_url":"https://api.github.com/repos/jrfastab/cilium/issues/comments{/number}","contents_url":"https://api.github.com/repos/jrfastab/cilium/contents/{+path}","compare_url":"https://api.github.com/repos/jrfastab/cilium/compare/{base}...{head}","merges_url":"https://api.github.com/repos/jrfastab/cilium/merges","archive_url":"https://api.github.com/repos/jrfastab/cilium/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/jrfastab/cilium/downloads","issues_url":"https://api.github.com/repos/jrfastab/cilium/issues{/number}","pulls_url":"https://api.github.com/repos/jrfastab/cilium/pulls{/number}","milestones_url":"https://api.github.com/repos/jrfastab/cilium/milestones{/number}","notifications_url":"https://api.github.com/repos/jrfastab/cilium/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/jrfastab/cilium/labels{/name}","releases_url":"https://api.github.com/repos/jrfastab/cilium/releases{/id}","deployments_url":"https://api.github.com/repos/jrfastab/cilium/deployments","created_at":"2017-05-18T22:06:23Z","updated_at":"2017-05-18T22:06:25Z","pushed_at":"2017-05-25T04:04:38Z","git_url":"git://github.com/jrfastab/cilium.git","ssh_url":"git@github.com:jrfastab/cilium.git","clone_url":"https://github.com/jrfastab/cilium.git","svn_url":"https://github.com/jrfastab/cilium","homepage":"","size":27856,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"cilium:master","ref":"master","sha":"85f1db755845e8aa959d6ac742f107cd1a3fa977","user":{"login":"cilium","id":21054566,"avatar_url":"https://avatars3.githubusercontent.com/u/21054566?v=3","gravatar_id":"","url":"https://api.github.com/users/cilium","html_url":"https://github.com/cilium","followers_url":"https://api.github.com/users/cilium/followers","following_url":"https://api.github.com/users/cilium/following{/other_user}","gists_url":"https://api.github.com/users/cilium/gists{/gist_id}","starred_url":"https://api.github.com/users/cilium/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cilium/subscriptions","organizations_url":"https://api.github.com/users/cilium/orgs","repos_url":"https://api.github.com/users/cilium/repos","events_url":"https://api.github.com/users/cilium/events{/privacy}","received_events_url":"https://api.github.com/users/cilium/received_events","type":"Organization","site_admin":false},"repo":{"id":48109239,"name":"cilium","full_name":"cilium/cilium","owner":{"login":"cilium","id":21054566,"avatar_url":"https://avatars3.githubusercontent.com/u/21054566?v=3","gravatar_id":"","url":"https://api.github.com/users/cilium","html_url":"https://github.com/cilium","followers_url":"https://api.github.com/users/cilium/followers","following_url":"https://api.github.com/users/cilium/following{/other_user}","gists_url":"https://api.github.com/users/cilium/gists{/gist_id}","starred_url":"https://api.github.com/users/cilium/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cilium/subscriptions","organizations_url":"https://api.github.com/users/cilium/orgs","repos_url":"https://api.github.com/users/cilium/repos","events_url":"https://api.github.com/users/cilium/events{/privacy}","received_events_url":"https://api.github.com/users/cilium/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/cilium/cilium","description":"Linux Native, HTTP Aware Networking and Security for Containers","fork":false,"url":"https://api.github.com/repos/cilium/cilium","forks_url":"https://api.github.com/repos/cilium/cilium/forks","keys_url":"https://api.github.com/repos/cilium/cilium/keys{/key_id}","collaborators_url":"https://api.github.com/repos/cilium/cilium/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/cilium/cilium/teams","hooks_url":"https://api.github.com/repos/cilium/cilium/hooks","issue_events_url":"https://api.github.com/repos/cilium/cilium/issues/events{/number}","events_url":"https://api.github.com/repos/cilium/cilium/events","assignees_url":"https://api.github.com/repos/cilium/cilium/assignees{/user}","branches_url":"https://api.github.com/repos/cilium/cilium/branches{/branch}","tags_url":"https://api.github.com/repos/cilium/cilium/tags","blobs_url":"https://api.github.com/repos/cilium/cilium/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/cilium/cilium/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/cilium/cilium/git/refs{/sha}","trees_url":"https://api.github.com/repos/cilium/cilium/git/trees{/sha}","statuses_url":"https://api.github.com/repos/cilium/cilium/statuses/{sha}","languages_url":"https://api.github.com/repos/cilium/cilium/languages","stargazers_url":"https://api.github.com/repos/cilium/cilium/stargazers","contributors_url":"https://api.github.com/repos/cilium/cilium/contributors","subscribers_url":"https://api.github.com/repos/cilium/cilium/subscribers","subscription_url":"https://api.github.com/repos/cilium/cilium/subscription","commits_url":"https://api.github.com/repos/cilium/cilium/commits{/sha}","git_commits_url":"https://api.github.com/repos/cilium/cilium/git/commits{/sha}","comments_url":"https://api.github.com/repos/cilium/cilium/comments{/number}","issue_comment_url":"https://api.github.com/repos/cilium/cilium/issues/comments{/number}","contents_url":"https://api.github.com/repos/cilium/cilium/contents/{+path}","compare_url":"https://api.github.com/repos/cilium/cilium/compare/{base}...{head}","merges_url":"https://api.github.com/repos/cilium/cilium/merges","archive_url":"https://api.github.com/repos/cilium/cilium/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/cilium/cilium/downloads","issues_url":"https://api.github.com/repos/cilium/cilium/issues{/number}","pulls_url":"https://api.github.com/repos/cilium/cilium/pulls{/number}","milestones_url":"https://api.github.com/repos/cilium/cilium/milestones{/number}","notifications_url":"https://api.github.com/repos/cilium/cilium/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/cilium/cilium/labels{/name}","releases_url":"https://api.github.com/repos/cilium/cilium/releases{/id}","deployments_url":"https://api.github.com/repos/cilium/cilium/deployments","created_at":"2015-12-16T12:33:31Z","updated_at":"2017-05-24T21:39:41Z","pushed_at":"2017-05-25T04:07:40Z","git_url":"git://github.com/cilium/cilium.git","ssh_url":"git@github.com:cilium/cilium.git","clone_url":"https://github.com/cilium/cilium.git","svn_url":"https://github.com/cilium/cilium","homepage":"","size":28137,"stargazers_count":584,"watchers_count":584,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":68,"mirror_url":null,"open_issues_count":94,"forks":68,"open_issues":94,"watchers":584,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/cilium/cilium/pulls/818"},"html":{"href":"https://github.com/cilium/cilium/pull/818"},"issue":{"href":"https://api.github.com/repos/cilium/cilium/issues/818"},"comments":{"href":"https://api.github.com/repos/cilium/cilium/issues/818/comments"},"review_comments":{"href":"https://api.github.com/repos/cilium/cilium/pulls/818/comments"},"review_comment":{"href":"https://api.github.com/repos/cilium/cilium/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/cilium/cilium/pulls/818/commits"},"statuses":{"href":"https://api.github.com/repos/cilium/cilium/statuses/26548b946e6e005c1712a1aa0fb1e4f9a8c563be"}}}}
{"actor":{"display_login":"houndci-bot"}}