{"action":"created","comment":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/170334967","pull_request_review_id":99013981,"id":170334967,"diff_hunk":"@@ -433,31 +433,34 @@ type iptablesJumpChain struct {\n \tchain       utiliptables.Chain\n \tsourceChain utiliptables.Chain\n \tcomment     string\n+\textraArgs   []string\n }\n \n var iptablesJumpChains = []iptablesJumpChain{\n-\t{utiliptables.TableFilter, kubeExternalServicesChain, utiliptables.ChainInput, \"kubernetes externally-visible service portals\"},\n-\t{utiliptables.TableFilter, kubeServicesChain, utiliptables.ChainOutput, \"kubernetes service portals\"},\n-\t{utiliptables.TableNAT, kubeServicesChain, utiliptables.ChainOutput, \"kubernetes service portals\"},\n-\t{utiliptables.TableNAT, kubeServicesChain, utiliptables.ChainPrerouting, \"kubernetes service portals\"},\n-\t{utiliptables.TableNAT, kubePostroutingChain, utiliptables.ChainPostrouting, \"kubernetes postrouting rules\"},\n-\t{utiliptables.TableFilter, kubeForwardChain, utiliptables.ChainForward, \"kubernetes forwarding rules\"},\n+\t{utiliptables.TableFilter, kubeExternalServicesChain, utiliptables.ChainInput, \"kubernetes externally-visible service portals\", []string{\"-m\", \"conntrack\", \"--ctstate\", \"NEW\"}},","path":"pkg/proxy/iptables/proxier.go","position":14,"original_position":14,"commit_id":"225941679e348a0d94f0f275600ba5498da0f6c9","original_commit_id":"225941679e348a0d94f0f275600ba5498da0f6c9","user":{"login":"thockin","id":5595220,"avatar_url":"https://avatars0.githubusercontent.com/u/5595220?v=4","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},"body":"worth making a var for this slice?","created_at":"2018-02-23T18:52:51Z","updated_at":"2018-02-23T18:53:33Z","html_url":"https://github.com/kubernetes/kubernetes/pull/60306#discussion_r170334967","pull_request_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/60306","author_association":"OWNER","_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments/170334967"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/60306#discussion_r170334967"},"pull_request":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/60306"}}},"pull_request":{"url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/60306","id":171019246,"html_url":"https://github.com/kubernetes/kubernetes/pull/60306","diff_url":"https://github.com/kubernetes/kubernetes/pull/60306.diff","patch_url":"https://github.com/kubernetes/kubernetes/pull/60306.patch","issue_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/60306","number":60306,"state":"open","locked":false,"title":"Only run connection-rejecting rules on new connections","user":{"login":"danwinship","id":96040,"avatar_url":"https://avatars0.githubusercontent.com/u/96040?v=4","gravatar_id":"","url":"https://api.github.com/users/danwinship","html_url":"https://github.com/danwinship","followers_url":"https://api.github.com/users/danwinship/followers","following_url":"https://api.github.com/users/danwinship/following{/other_user}","gists_url":"https://api.github.com/users/danwinship/gists{/gist_id}","starred_url":"https://api.github.com/users/danwinship/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danwinship/subscriptions","organizations_url":"https://api.github.com/users/danwinship/orgs","repos_url":"https://api.github.com/users/danwinship/repos","events_url":"https://api.github.com/users/danwinship/events{/privacy}","received_events_url":"https://api.github.com/users/danwinship/received_events","type":"User","site_admin":false},"body":"Kube-proxy has two iptables chains full of rules to reject incoming connections to services that don't have any endpoints. Currently these rules get tested against all incoming packets, but that's unnecessary; if a connection to a given service has already been established, then we can't have been rejecting connections to that service. By only checking the first packet in each new connection, we can get rid of a lot of unnecessary checks on incoming traffic.\r\n\r\nFixes #56842\r\n\r\n**Release note**:\r\n```release-note\r\nAdditional changes to iptables kube-proxy backend to improve performance on clusters with very large numbers of services.\r\n```\r\n","created_at":"2018-02-23T13:50:43Z","updated_at":"2018-02-23T18:53:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":"5e44500944676e4b7affc108e447e42c989f007d","assignee":{"login":"thockin","id":5595220,"avatar_url":"https://avatars0.githubusercontent.com/u/5595220?v=4","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},"assignees":[{"login":"thockin","id":5595220,"avatar_url":"https://avatars0.githubusercontent.com/u/5595220?v=4","gravatar_id":"","url":"https://api.github.com/users/thockin","html_url":"https://github.com/thockin","followers_url":"https://api.github.com/users/thockin/followers","following_url":"https://api.github.com/users/thockin/following{/other_user}","gists_url":"https://api.github.com/users/thockin/gists{/gist_id}","starred_url":"https://api.github.com/users/thockin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thockin/subscriptions","organizations_url":"https://api.github.com/users/thockin/orgs","repos_url":"https://api.github.com/users/thockin/repos","events_url":"https://api.github.com/users/thockin/events{/privacy}","received_events_url":"https://api.github.com/users/thockin/received_events","type":"User","site_admin":false},{"login":"dcbw","id":10926354,"avatar_url":"https://avatars2.githubusercontent.com/u/10926354?v=4","gravatar_id":"","url":"https://api.github.com/users/dcbw","html_url":"https://github.com/dcbw","followers_url":"https://api.github.com/users/dcbw/followers","following_url":"https://api.github.com/users/dcbw/following{/other_user}","gists_url":"https://api.github.com/users/dcbw/gists{/gist_id}","starred_url":"https://api.github.com/users/dcbw/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dcbw/subscriptions","organizations_url":"https://api.github.com/users/dcbw/orgs","repos_url":"https://api.github.com/users/dcbw/repos","events_url":"https://api.github.com/users/dcbw/events{/privacy}","received_events_url":"https://api.github.com/users/dcbw/received_events","type":"User","site_admin":false}],"requested_reviewers":[{"login":"justinsb","id":100893,"avatar_url":"https://avatars2.githubusercontent.com/u/100893?v=4","gravatar_id":"","url":"https://api.github.com/users/justinsb","html_url":"https://github.com/justinsb","followers_url":"https://api.github.com/users/justinsb/followers","following_url":"https://api.github.com/users/justinsb/following{/other_user}","gists_url":"https://api.github.com/users/justinsb/gists{/gist_id}","starred_url":"https://api.github.com/users/justinsb/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/justinsb/subscriptions","organizations_url":"https://api.github.com/users/justinsb/orgs","repos_url":"https://api.github.com/users/justinsb/repos","events_url":"https://api.github.com/users/justinsb/events{/privacy}","received_events_url":"https://api.github.com/users/justinsb/received_events","type":"User","site_admin":false},{"login":"freehan","id":1332699,"avatar_url":"https://avatars3.githubusercontent.com/u/1332699?v=4","gravatar_id":"","url":"https://api.github.com/users/freehan","html_url":"https://github.com/freehan","followers_url":"https://api.github.com/users/freehan/followers","following_url":"https://api.github.com/users/freehan/following{/other_user}","gists_url":"https://api.github.com/users/freehan/gists{/gist_id}","starred_url":"https://api.github.com/users/freehan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/freehan/subscriptions","organizations_url":"https://api.github.com/users/freehan/orgs","repos_url":"https://api.github.com/users/freehan/repos","events_url":"https://api.github.com/users/freehan/events{/privacy}","received_events_url":"https://api.github.com/users/freehan/received_events","type":"User","site_admin":false}],"requested_teams":[],"labels":[{"id":477397086,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/cncf-cla:%20yes","name":"cncf-cla: yes","color":"bfe5bf","default":false},{"id":200149833,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/release-note","name":"release-note","color":"c2e0c6","default":false},{"id":253450895,"url":"https://api.github.com/repos/kubernetes/kubernetes/labels/size/S","name":"size/S","color":"77bb00","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/60306/commits","review_comments_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/60306/comments","review_comment_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/60306/comments","statuses_url":"https://api.github.com/repos/kubernetes/kubernetes/statuses/225941679e348a0d94f0f275600ba5498da0f6c9","head":{"label":"danwinship:proxier-connstate-new","ref":"proxier-connstate-new","sha":"225941679e348a0d94f0f275600ba5498da0f6c9","user":{"login":"danwinship","id":96040,"avatar_url":"https://avatars0.githubusercontent.com/u/96040?v=4","gravatar_id":"","url":"https://api.github.com/users/danwinship","html_url":"https://github.com/danwinship","followers_url":"https://api.github.com/users/danwinship/followers","following_url":"https://api.github.com/users/danwinship/following{/other_user}","gists_url":"https://api.github.com/users/danwinship/gists{/gist_id}","starred_url":"https://api.github.com/users/danwinship/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danwinship/subscriptions","organizations_url":"https://api.github.com/users/danwinship/orgs","repos_url":"https://api.github.com/users/danwinship/repos","events_url":"https://api.github.com/users/danwinship/events{/privacy}","received_events_url":"https://api.github.com/users/danwinship/received_events","type":"User","site_admin":false},"repo":{"id":40127975,"name":"kubernetes","full_name":"danwinship/kubernetes","owner":{"login":"danwinship","id":96040,"avatar_url":"https://avatars0.githubusercontent.com/u/96040?v=4","gravatar_id":"","url":"https://api.github.com/users/danwinship","html_url":"https://github.com/danwinship","followers_url":"https://api.github.com/users/danwinship/followers","following_url":"https://api.github.com/users/danwinship/following{/other_user}","gists_url":"https://api.github.com/users/danwinship/gists{/gist_id}","starred_url":"https://api.github.com/users/danwinship/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/danwinship/subscriptions","organizations_url":"https://api.github.com/users/danwinship/orgs","repos_url":"https://api.github.com/users/danwinship/repos","events_url":"https://api.github.com/users/danwinship/events{/privacy}","received_events_url":"https://api.github.com/users/danwinship/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/danwinship/kubernetes","description":"Container Cluster Manager from Google","fork":true,"url":"https://api.github.com/repos/danwinship/kubernetes","forks_url":"https://api.github.com/repos/danwinship/kubernetes/forks","keys_url":"https://api.github.com/repos/danwinship/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/danwinship/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/danwinship/kubernetes/teams","hooks_url":"https://api.github.com/repos/danwinship/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/danwinship/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/danwinship/kubernetes/events","assignees_url":"https://api.github.com/repos/danwinship/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/danwinship/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/danwinship/kubernetes/tags","blobs_url":"https://api.github.com/repos/danwinship/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/danwinship/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/danwinship/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/danwinship/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/danwinship/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/danwinship/kubernetes/languages","stargazers_url":"https://api.github.com/repos/danwinship/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/danwinship/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/danwinship/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/danwinship/kubernetes/subscription","commits_url":"https://api.github.com/repos/danwinship/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/danwinship/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/danwinship/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/danwinship/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/danwinship/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/danwinship/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/danwinship/kubernetes/merges","archive_url":"https://api.github.com/repos/danwinship/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/danwinship/kubernetes/downloads","issues_url":"https://api.github.com/repos/danwinship/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/danwinship/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/danwinship/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/danwinship/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/danwinship/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/danwinship/kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/danwinship/kubernetes/deployments","created_at":"2015-08-03T14:04:18Z","updated_at":"2016-01-25T14:02:40Z","pushed_at":"2018-02-23T13:51:03Z","git_url":"git://github.com/danwinship/kubernetes.git","ssh_url":"git@github.com:danwinship/kubernetes.git","clone_url":"https://github.com/danwinship/kubernetes.git","svn_url":"https://github.com/danwinship/kubernetes","homepage":"http://kubernetes.io","size":520400,"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,"archived":false,"open_issues_count":0,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"kubernetes:master","ref":"master","sha":"82eeda0885851eb7f56fd30422d4b0b0afe9a270","user":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars2.githubusercontent.com/u/13629408?v=4","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"repo":{"id":20580498,"name":"kubernetes","full_name":"kubernetes/kubernetes","owner":{"login":"kubernetes","id":13629408,"avatar_url":"https://avatars2.githubusercontent.com/u/13629408?v=4","gravatar_id":"","url":"https://api.github.com/users/kubernetes","html_url":"https://github.com/kubernetes","followers_url":"https://api.github.com/users/kubernetes/followers","following_url":"https://api.github.com/users/kubernetes/following{/other_user}","gists_url":"https://api.github.com/users/kubernetes/gists{/gist_id}","starred_url":"https://api.github.com/users/kubernetes/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kubernetes/subscriptions","organizations_url":"https://api.github.com/users/kubernetes/orgs","repos_url":"https://api.github.com/users/kubernetes/repos","events_url":"https://api.github.com/users/kubernetes/events{/privacy}","received_events_url":"https://api.github.com/users/kubernetes/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/kubernetes/kubernetes","description":"Production-Grade Container Scheduling and Management","fork":false,"url":"https://api.github.com/repos/kubernetes/kubernetes","forks_url":"https://api.github.com/repos/kubernetes/kubernetes/forks","keys_url":"https://api.github.com/repos/kubernetes/kubernetes/keys{/key_id}","collaborators_url":"https://api.github.com/repos/kubernetes/kubernetes/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/kubernetes/kubernetes/teams","hooks_url":"https://api.github.com/repos/kubernetes/kubernetes/hooks","issue_events_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/events{/number}","events_url":"https://api.github.com/repos/kubernetes/kubernetes/events","assignees_url":"https://api.github.com/repos/kubernetes/kubernetes/assignees{/user}","branches_url":"https://api.github.com/repos/kubernetes/kubernetes/branches{/branch}","tags_url":"https://api.github.com/repos/kubernetes/kubernetes/tags","blobs_url":"https://api.github.com/repos/kubernetes/kubernetes/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/kubernetes/kubernetes/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/kubernetes/kubernetes/git/refs{/sha}","trees_url":"https://api.github.com/repos/kubernetes/kubernetes/git/trees{/sha}","statuses_url":"https://api.github.com/repos/kubernetes/kubernetes/statuses/{sha}","languages_url":"https://api.github.com/repos/kubernetes/kubernetes/languages","stargazers_url":"https://api.github.com/repos/kubernetes/kubernetes/stargazers","contributors_url":"https://api.github.com/repos/kubernetes/kubernetes/contributors","subscribers_url":"https://api.github.com/repos/kubernetes/kubernetes/subscribers","subscription_url":"https://api.github.com/repos/kubernetes/kubernetes/subscription","commits_url":"https://api.github.com/repos/kubernetes/kubernetes/commits{/sha}","git_commits_url":"https://api.github.com/repos/kubernetes/kubernetes/git/commits{/sha}","comments_url":"https://api.github.com/repos/kubernetes/kubernetes/comments{/number}","issue_comment_url":"https://api.github.com/repos/kubernetes/kubernetes/issues/comments{/number}","contents_url":"https://api.github.com/repos/kubernetes/kubernetes/contents/{+path}","compare_url":"https://api.github.com/repos/kubernetes/kubernetes/compare/{base}...{head}","merges_url":"https://api.github.com/repos/kubernetes/kubernetes/merges","archive_url":"https://api.github.com/repos/kubernetes/kubernetes/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/kubernetes/kubernetes/downloads","issues_url":"https://api.github.com/repos/kubernetes/kubernetes/issues{/number}","pulls_url":"https://api.github.com/repos/kubernetes/kubernetes/pulls{/number}","milestones_url":"https://api.github.com/repos/kubernetes/kubernetes/milestones{/number}","notifications_url":"https://api.github.com/repos/kubernetes/kubernetes/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/kubernetes/kubernetes/labels{/name}","releases_url":"https://api.github.com/repos/kubernetes/kubernetes/releases{/id}","deployments_url":"https://api.github.com/repos/kubernetes/kubernetes/deployments","created_at":"2014-06-06T22:56:04Z","updated_at":"2018-02-23T18:18:34Z","pushed_at":"2018-02-23T18:47:14Z","git_url":"git://github.com/kubernetes/kubernetes.git","ssh_url":"git@github.com:kubernetes/kubernetes.git","clone_url":"https://github.com/kubernetes/kubernetes.git","svn_url":"https://github.com/kubernetes/kubernetes","homepage":"http://kubernetes.io","size":757391,"stargazers_count":32830,"watchers_count":32830,"language":"Go","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":11572,"mirror_url":null,"archived":false,"open_issues_count":4532,"license":{"key":"apache-2.0","name":"Apache License 2.0","spdx_id":"Apache-2.0","url":"https://api.github.com/licenses/apache-2.0"},"forks":11572,"open_issues":4532,"watchers":32830,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/60306"},"html":{"href":"https://github.com/kubernetes/kubernetes/pull/60306"},"issue":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/60306"},"comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/issues/60306/comments"},"review_comments":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/60306/comments"},"review_comment":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/kubernetes/kubernetes/pulls/60306/commits"},"statuses":{"href":"https://api.github.com/repos/kubernetes/kubernetes/statuses/225941679e348a0d94f0f275600ba5498da0f6c9"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"thockin"}}