{"action":"closed","number":806,"pull_request":{"url":"https://api.github.com/repos/Igalia/snabb/pulls/806","id":119599898,"html_url":"https://github.com/Igalia/snabb/pull/806","diff_url":"https://github.com/Igalia/snabb/pull/806.diff","patch_url":"https://github.com/Igalia/snabb/pull/806.patch","issue_url":"https://api.github.com/repos/Igalia/snabb/issues/806","number":806,"state":"closed","locked":false,"title":"[WIP] Add VMDq support to intel_mp driver","user":{"login":"takikawa","id":64192,"avatar_url":"https://avatars1.githubusercontent.com/u/64192?v=3","gravatar_id":"","url":"https://api.github.com/users/takikawa","html_url":"https://github.com/takikawa","followers_url":"https://api.github.com/users/takikawa/followers","following_url":"https://api.github.com/users/takikawa/following{/other_user}","gists_url":"https://api.github.com/users/takikawa/gists{/gist_id}","starred_url":"https://api.github.com/users/takikawa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/takikawa/subscriptions","organizations_url":"https://api.github.com/users/takikawa/orgs","repos_url":"https://api.github.com/users/takikawa/repos","events_url":"https://api.github.com/users/takikawa/events{/privacy}","received_events_url":"https://api.github.com/users/takikawa/received_events","type":"User","site_admin":false},"body":"This is a WIP pull request, so it's not intended to be merged in its current form. It's a first step in adding VMDq support to the `intel_mp` driver so that it can do VLAN and MAC address filtering.\r\n\r\nCurrently, this code tries to support VMDq with 32 pools with 4 RSS queues each (should it be configurable to 64 x 2?). A pool is selected with a `poolnum` argument (and the `poolnum` and `rxq` must match up according to how the 82599 assigns them).\r\n\r\nSome of the code is taken from the current `intel` driver, especially for setting the MAC address. The code follows the initialization steps in 4.6.11.3.3 and 4.6.10.1.4 of the datasheet fairly closely in structure, but there are some missing things (like Tx configuration is not quite right probably).\r\n\r\nHere are some TODO items and open questions that need to be resolved:\r\n\r\n- [x] Support on i350 with no RSS (i210 not supported for VMDq)\r\n  * decided to just error when VMDq is enabled on any card that isn't an 82599\r\n- [ ] VLAN filtering and mirror settings implementation\r\n- [ ] Testing everything much more\r\n- [ ] Documentation update\r\n- [ ] How should MTQC (multiple transmit queues) be configured in vmdq mode?\r\n- [ ] 82599 supports only one redirection table (RETA register) for all VM pools. Should it configure RSS to always redirect to the min (or max?) of the Rx queues enabled per pool? Or always to 4?\r\n- [ ] Only allow VMDq in follower instances when the main instance was run with VMDq on. (and vice versa, require VMDq if main instance used it)","created_at":"2017-05-09T07:35:48Z","updated_at":"2017-06-13T21:06:10Z","closed_at":"2017-06-13T21:06:10Z","merged_at":null,"merge_commit_sha":"cee1e06b06a080dc5ef57cb7f0b762f27fea6aa0","assignee":null,"assignees":[],"requested_reviewers":[],"milestone":null,"commits_url":"https://api.github.com/repos/Igalia/snabb/pulls/806/commits","review_comments_url":"https://api.github.com/repos/Igalia/snabb/pulls/806/comments","review_comment_url":"https://api.github.com/repos/Igalia/snabb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Igalia/snabb/issues/806/comments","statuses_url":"https://api.github.com/repos/Igalia/snabb/statuses/d9f871859ec10e927e13e648a873bfcc2155d4c1","head":{"label":"takikawa:vmdq","ref":"vmdq","sha":"d9f871859ec10e927e13e648a873bfcc2155d4c1","user":{"login":"takikawa","id":64192,"avatar_url":"https://avatars1.githubusercontent.com/u/64192?v=3","gravatar_id":"","url":"https://api.github.com/users/takikawa","html_url":"https://github.com/takikawa","followers_url":"https://api.github.com/users/takikawa/followers","following_url":"https://api.github.com/users/takikawa/following{/other_user}","gists_url":"https://api.github.com/users/takikawa/gists{/gist_id}","starred_url":"https://api.github.com/users/takikawa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/takikawa/subscriptions","organizations_url":"https://api.github.com/users/takikawa/orgs","repos_url":"https://api.github.com/users/takikawa/repos","events_url":"https://api.github.com/users/takikawa/events{/privacy}","received_events_url":"https://api.github.com/users/takikawa/received_events","type":"User","site_admin":false},"repo":{"id":67234856,"name":"snabb","full_name":"takikawa/snabb","owner":{"login":"takikawa","id":64192,"avatar_url":"https://avatars1.githubusercontent.com/u/64192?v=3","gravatar_id":"","url":"https://api.github.com/users/takikawa","html_url":"https://github.com/takikawa","followers_url":"https://api.github.com/users/takikawa/followers","following_url":"https://api.github.com/users/takikawa/following{/other_user}","gists_url":"https://api.github.com/users/takikawa/gists{/gist_id}","starred_url":"https://api.github.com/users/takikawa/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/takikawa/subscriptions","organizations_url":"https://api.github.com/users/takikawa/orgs","repos_url":"https://api.github.com/users/takikawa/repos","events_url":"https://api.github.com/users/takikawa/events{/privacy}","received_events_url":"https://api.github.com/users/takikawa/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/takikawa/snabb","description":"Snabb: Simple and fast packet networking","fork":true,"url":"https://api.github.com/repos/takikawa/snabb","forks_url":"https://api.github.com/repos/takikawa/snabb/forks","keys_url":"https://api.github.com/repos/takikawa/snabb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/takikawa/snabb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/takikawa/snabb/teams","hooks_url":"https://api.github.com/repos/takikawa/snabb/hooks","issue_events_url":"https://api.github.com/repos/takikawa/snabb/issues/events{/number}","events_url":"https://api.github.com/repos/takikawa/snabb/events","assignees_url":"https://api.github.com/repos/takikawa/snabb/assignees{/user}","branches_url":"https://api.github.com/repos/takikawa/snabb/branches{/branch}","tags_url":"https://api.github.com/repos/takikawa/snabb/tags","blobs_url":"https://api.github.com/repos/takikawa/snabb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/takikawa/snabb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/takikawa/snabb/git/refs{/sha}","trees_url":"https://api.github.com/repos/takikawa/snabb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/takikawa/snabb/statuses/{sha}","languages_url":"https://api.github.com/repos/takikawa/snabb/languages","stargazers_url":"https://api.github.com/repos/takikawa/snabb/stargazers","contributors_url":"https://api.github.com/repos/takikawa/snabb/contributors","subscribers_url":"https://api.github.com/repos/takikawa/snabb/subscribers","subscription_url":"https://api.github.com/repos/takikawa/snabb/subscription","commits_url":"https://api.github.com/repos/takikawa/snabb/commits{/sha}","git_commits_url":"https://api.github.com/repos/takikawa/snabb/git/commits{/sha}","comments_url":"https://api.github.com/repos/takikawa/snabb/comments{/number}","issue_comment_url":"https://api.github.com/repos/takikawa/snabb/issues/comments{/number}","contents_url":"https://api.github.com/repos/takikawa/snabb/contents/{+path}","compare_url":"https://api.github.com/repos/takikawa/snabb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/takikawa/snabb/merges","archive_url":"https://api.github.com/repos/takikawa/snabb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/takikawa/snabb/downloads","issues_url":"https://api.github.com/repos/takikawa/snabb/issues{/number}","pulls_url":"https://api.github.com/repos/takikawa/snabb/pulls{/number}","milestones_url":"https://api.github.com/repos/takikawa/snabb/milestones{/number}","notifications_url":"https://api.github.com/repos/takikawa/snabb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/takikawa/snabb/labels{/name}","releases_url":"https://api.github.com/repos/takikawa/snabb/releases{/id}","deployments_url":"https://api.github.com/repos/takikawa/snabb/deployments","created_at":"2016-09-02T15:39:36Z","updated_at":"2016-09-02T15:39:40Z","pushed_at":"2017-06-13T20:58:22Z","git_url":"git://github.com/takikawa/snabb.git","ssh_url":"git@github.com:takikawa/snabb.git","clone_url":"https://github.com/takikawa/snabb.git","svn_url":"https://github.com/takikawa/snabb","homepage":"","size":17491,"stargazers_count":0,"watchers_count":0,"language":"Lua","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"Igalia:lwaftr","ref":"lwaftr","sha":"064cb403c1378125cc401f62d3ab5f0695e82ea2","user":{"login":"Igalia","id":1576566,"avatar_url":"https://avatars0.githubusercontent.com/u/1576566?v=3","gravatar_id":"","url":"https://api.github.com/users/Igalia","html_url":"https://github.com/Igalia","followers_url":"https://api.github.com/users/Igalia/followers","following_url":"https://api.github.com/users/Igalia/following{/other_user}","gists_url":"https://api.github.com/users/Igalia/gists{/gist_id}","starred_url":"https://api.github.com/users/Igalia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Igalia/subscriptions","organizations_url":"https://api.github.com/users/Igalia/orgs","repos_url":"https://api.github.com/users/Igalia/repos","events_url":"https://api.github.com/users/Igalia/events{/privacy}","received_events_url":"https://api.github.com/users/Igalia/received_events","type":"Organization","site_admin":false},"repo":{"id":34452469,"name":"snabb","full_name":"Igalia/snabb","owner":{"login":"Igalia","id":1576566,"avatar_url":"https://avatars0.githubusercontent.com/u/1576566?v=3","gravatar_id":"","url":"https://api.github.com/users/Igalia","html_url":"https://github.com/Igalia","followers_url":"https://api.github.com/users/Igalia/followers","following_url":"https://api.github.com/users/Igalia/following{/other_user}","gists_url":"https://api.github.com/users/Igalia/gists{/gist_id}","starred_url":"https://api.github.com/users/Igalia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Igalia/subscriptions","organizations_url":"https://api.github.com/users/Igalia/orgs","repos_url":"https://api.github.com/users/Igalia/repos","events_url":"https://api.github.com/users/Igalia/events{/privacy}","received_events_url":"https://api.github.com/users/Igalia/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/Igalia/snabb","description":"Snabb Switch: Fast open source packet processing","fork":true,"url":"https://api.github.com/repos/Igalia/snabb","forks_url":"https://api.github.com/repos/Igalia/snabb/forks","keys_url":"https://api.github.com/repos/Igalia/snabb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Igalia/snabb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Igalia/snabb/teams","hooks_url":"https://api.github.com/repos/Igalia/snabb/hooks","issue_events_url":"https://api.github.com/repos/Igalia/snabb/issues/events{/number}","events_url":"https://api.github.com/repos/Igalia/snabb/events","assignees_url":"https://api.github.com/repos/Igalia/snabb/assignees{/user}","branches_url":"https://api.github.com/repos/Igalia/snabb/branches{/branch}","tags_url":"https://api.github.com/repos/Igalia/snabb/tags","blobs_url":"https://api.github.com/repos/Igalia/snabb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Igalia/snabb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Igalia/snabb/git/refs{/sha}","trees_url":"https://api.github.com/repos/Igalia/snabb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Igalia/snabb/statuses/{sha}","languages_url":"https://api.github.com/repos/Igalia/snabb/languages","stargazers_url":"https://api.github.com/repos/Igalia/snabb/stargazers","contributors_url":"https://api.github.com/repos/Igalia/snabb/contributors","subscribers_url":"https://api.github.com/repos/Igalia/snabb/subscribers","subscription_url":"https://api.github.com/repos/Igalia/snabb/subscription","commits_url":"https://api.github.com/repos/Igalia/snabb/commits{/sha}","git_commits_url":"https://api.github.com/repos/Igalia/snabb/git/commits{/sha}","comments_url":"https://api.github.com/repos/Igalia/snabb/comments{/number}","issue_comment_url":"https://api.github.com/repos/Igalia/snabb/issues/comments{/number}","contents_url":"https://api.github.com/repos/Igalia/snabb/contents/{+path}","compare_url":"https://api.github.com/repos/Igalia/snabb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Igalia/snabb/merges","archive_url":"https://api.github.com/repos/Igalia/snabb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Igalia/snabb/downloads","issues_url":"https://api.github.com/repos/Igalia/snabb/issues{/number}","pulls_url":"https://api.github.com/repos/Igalia/snabb/pulls{/number}","milestones_url":"https://api.github.com/repos/Igalia/snabb/milestones{/number}","notifications_url":"https://api.github.com/repos/Igalia/snabb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Igalia/snabb/labels{/name}","releases_url":"https://api.github.com/repos/Igalia/snabb/releases{/id}","deployments_url":"https://api.github.com/repos/Igalia/snabb/deployments","created_at":"2015-04-23T11:35:43Z","updated_at":"2017-04-25T14:56:59Z","pushed_at":"2017-06-13T13:46:26Z","git_url":"git://github.com/Igalia/snabb.git","ssh_url":"git@github.com:Igalia/snabb.git","clone_url":"https://github.com/Igalia/snabb.git","svn_url":"https://github.com/Igalia/snabb","homepage":"","size":18208,"stargazers_count":12,"watchers_count":12,"language":"Lua","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":45,"forks":3,"open_issues":45,"watchers":12,"default_branch":"lwaftr"}},"_links":{"self":{"href":"https://api.github.com/repos/Igalia/snabb/pulls/806"},"html":{"href":"https://github.com/Igalia/snabb/pull/806"},"issue":{"href":"https://api.github.com/repos/Igalia/snabb/issues/806"},"comments":{"href":"https://api.github.com/repos/Igalia/snabb/issues/806/comments"},"review_comments":{"href":"https://api.github.com/repos/Igalia/snabb/pulls/806/comments"},"review_comment":{"href":"https://api.github.com/repos/Igalia/snabb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Igalia/snabb/pulls/806/commits"},"statuses":{"href":"https://api.github.com/repos/Igalia/snabb/statuses/d9f871859ec10e927e13e648a873bfcc2155d4c1"}},"merged":false,"mergeable":true,"rebaseable":true,"mergeable_state":"clean","merged_by":null,"comments":4,"review_comments":10,"maintainer_can_modify":false,"commits":36,"additions":625,"deletions":80,"changed_files":15}}
{"actor":{"display_login":"takikawa"}}