{"action":"closed","number":381,"pull_request":{"url":"https://api.github.com/repos/Igalia/snabb/pulls/381","id":80271475,"html_url":"https://github.com/Igalia/snabb/pull/381","diff_url":"https://github.com/Igalia/snabb/pull/381.diff","patch_url":"https://github.com/Igalia/snabb/pull/381.patch","issue_url":"https://api.github.com/repos/Igalia/snabb/issues/381","number":381,"state":"closed","locked":false,"title":"Add on-a-stick mode","user":{"login":"dpino","id":11567,"avatar_url":"https://avatars.githubusercontent.com/u/11567?v=3","gravatar_id":"","url":"https://api.github.com/users/dpino","html_url":"https://github.com/dpino","followers_url":"https://api.github.com/users/dpino/followers","following_url":"https://api.github.com/users/dpino/following{/other_user}","gists_url":"https://api.github.com/users/dpino/gists{/gist_id}","starred_url":"https://api.github.com/users/dpino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dpino/subscriptions","organizations_url":"https://api.github.com/users/dpino/orgs","repos_url":"https://api.github.com/users/dpino/repos","events_url":"https://api.github.com/users/dpino/events{/privacy}","received_events_url":"https://api.github.com/users/dpino/received_events","type":"User","site_admin":false},"body":"The on-a-stick mode allows to run the lwAFTR in one single NIC. Incoming traffic is categorized per packet type (v4 or v6) and forwarded to a the corresponding link. The lwAFTR runs normally on each incoming link. Outgoing packets are joined together and redirected to the NIC so they can be transmitted.\r\n\r\nThe monitor program is used to set the IPv4 matching address when a lwAFTR process is running in mirroring mode. Example:\r\n\r\n<pre>\r\n$ sudo ./snabb lwaftr run -v --conf lwaftr.conf --on-a-stick 83:00.0 --mirror tap0\r\n</pre>\r\n\r\n<pre>\r\n$ sudo ./snabb lwaftr monitor 193.5.1.253\r\nMirror address set to '193.5.1.253'\r\n</pre>\r\n\r\nMatching packets will be copied to the tap interface set by the mirroring mode.\r\n\r\nTap0:\r\n\r\n<pre>\r\n$ sudo tcpdump -qns 0 -e -i tap0\r\n02:aa:aa:aa:aa:aa > 02:99:99:99:99:99, IPv4, length 510: 193.5.1.253.59392 > 10.10.10.1.12345: UDP, length 468\r\n02:aa:aa:aa:aa:aa > 02:99:99:99:99:99, IPv4, length 510: 193.5.1.253.60416 > 10.10.10.1.12345: UDP, length 468\r\n02:aa:aa:aa:aa:aa > 02:99:99:99:99:99, IPv4, length 510: 193.5.1.253.61440 > 10.10.10.1.12345: UDP, length 468\r\n02:aa:aa:aa:aa:aa > 02:99:99:99:99:99, IPv4, length 510: 193.5.1.253.62464 > 10.10.10.1.12345: UDP, length 468\r\n</pre>","created_at":"2016-08-05T16:33:46Z","updated_at":"2016-08-05T18:23:58Z","closed_at":"2016-08-05T18:23:58Z","merged_at":null,"merge_commit_sha":"8a857ebebb0f070c1a5156d385ff56d4a9212a83","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/Igalia/snabb/pulls/381/commits","review_comments_url":"https://api.github.com/repos/Igalia/snabb/pulls/381/comments","review_comment_url":"https://api.github.com/repos/Igalia/snabb/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Igalia/snabb/issues/381/comments","statuses_url":"https://api.github.com/repos/Igalia/snabb/statuses/7c1320fd3b0e48daeb7efc629a0ccd693fa01e51","head":{"label":"dpino:on-a-stick-lwaftr","ref":"on-a-stick-lwaftr","sha":"7c1320fd3b0e48daeb7efc629a0ccd693fa01e51","user":{"login":"dpino","id":11567,"avatar_url":"https://avatars.githubusercontent.com/u/11567?v=3","gravatar_id":"","url":"https://api.github.com/users/dpino","html_url":"https://github.com/dpino","followers_url":"https://api.github.com/users/dpino/followers","following_url":"https://api.github.com/users/dpino/following{/other_user}","gists_url":"https://api.github.com/users/dpino/gists{/gist_id}","starred_url":"https://api.github.com/users/dpino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dpino/subscriptions","organizations_url":"https://api.github.com/users/dpino/orgs","repos_url":"https://api.github.com/users/dpino/repos","events_url":"https://api.github.com/users/dpino/events{/privacy}","received_events_url":"https://api.github.com/users/dpino/received_events","type":"User","site_admin":false},"repo":{"id":24632602,"name":"snabb","full_name":"dpino/snabb","owner":{"login":"dpino","id":11567,"avatar_url":"https://avatars.githubusercontent.com/u/11567?v=3","gravatar_id":"","url":"https://api.github.com/users/dpino","html_url":"https://github.com/dpino","followers_url":"https://api.github.com/users/dpino/followers","following_url":"https://api.github.com/users/dpino/following{/other_user}","gists_url":"https://api.github.com/users/dpino/gists{/gist_id}","starred_url":"https://api.github.com/users/dpino/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dpino/subscriptions","organizations_url":"https://api.github.com/users/dpino/orgs","repos_url":"https://api.github.com/users/dpino/repos","events_url":"https://api.github.com/users/dpino/events{/privacy}","received_events_url":"https://api.github.com/users/dpino/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/dpino/snabb","description":"Snabb Switch: Fast open source packet processing","fork":true,"url":"https://api.github.com/repos/dpino/snabb","forks_url":"https://api.github.com/repos/dpino/snabb/forks","keys_url":"https://api.github.com/repos/dpino/snabb/keys{/key_id}","collaborators_url":"https://api.github.com/repos/dpino/snabb/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/dpino/snabb/teams","hooks_url":"https://api.github.com/repos/dpino/snabb/hooks","issue_events_url":"https://api.github.com/repos/dpino/snabb/issues/events{/number}","events_url":"https://api.github.com/repos/dpino/snabb/events","assignees_url":"https://api.github.com/repos/dpino/snabb/assignees{/user}","branches_url":"https://api.github.com/repos/dpino/snabb/branches{/branch}","tags_url":"https://api.github.com/repos/dpino/snabb/tags","blobs_url":"https://api.github.com/repos/dpino/snabb/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/dpino/snabb/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/dpino/snabb/git/refs{/sha}","trees_url":"https://api.github.com/repos/dpino/snabb/git/trees{/sha}","statuses_url":"https://api.github.com/repos/dpino/snabb/statuses/{sha}","languages_url":"https://api.github.com/repos/dpino/snabb/languages","stargazers_url":"https://api.github.com/repos/dpino/snabb/stargazers","contributors_url":"https://api.github.com/repos/dpino/snabb/contributors","subscribers_url":"https://api.github.com/repos/dpino/snabb/subscribers","subscription_url":"https://api.github.com/repos/dpino/snabb/subscription","commits_url":"https://api.github.com/repos/dpino/snabb/commits{/sha}","git_commits_url":"https://api.github.com/repos/dpino/snabb/git/commits{/sha}","comments_url":"https://api.github.com/repos/dpino/snabb/comments{/number}","issue_comment_url":"https://api.github.com/repos/dpino/snabb/issues/comments{/number}","contents_url":"https://api.github.com/repos/dpino/snabb/contents/{+path}","compare_url":"https://api.github.com/repos/dpino/snabb/compare/{base}...{head}","merges_url":"https://api.github.com/repos/dpino/snabb/merges","archive_url":"https://api.github.com/repos/dpino/snabb/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/dpino/snabb/downloads","issues_url":"https://api.github.com/repos/dpino/snabb/issues{/number}","pulls_url":"https://api.github.com/repos/dpino/snabb/pulls{/number}","milestones_url":"https://api.github.com/repos/dpino/snabb/milestones{/number}","notifications_url":"https://api.github.com/repos/dpino/snabb/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/dpino/snabb/labels{/name}","releases_url":"https://api.github.com/repos/dpino/snabb/releases{/id}","deployments_url":"https://api.github.com/repos/dpino/snabb/deployments","created_at":"2014-09-30T09:33:54Z","updated_at":"2016-05-13T13:59:25Z","pushed_at":"2016-08-05T18:16:42Z","git_url":"git://github.com/dpino/snabb.git","ssh_url":"git@github.com:dpino/snabb.git","clone_url":"https://github.com/dpino/snabb.git","svn_url":"https://github.com/dpino/snabb","homepage":"","size":11017,"stargazers_count":1,"watchers_count":1,"language":"Lua","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":1,"default_branch":"master"}},"base":{"label":"Igalia:fix-test-ipv6-packet-not-found-lwaftr","ref":"fix-test-ipv6-packet-not-found-lwaftr","sha":"2de90063b30a9c274f63662eb4d37584c40ad557","user":{"login":"Igalia","id":1576566,"avatar_url":"https://avatars.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://avatars.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":"2016-07-14T04:34:53Z","pushed_at":"2016-08-05T18:16:43Z","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":12159,"stargazers_count":9,"watchers_count":9,"language":"Lua","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3,"mirror_url":null,"open_issues_count":30,"forks":3,"open_issues":30,"watchers":9,"default_branch":"lwaftr"}},"_links":{"self":{"href":"https://api.github.com/repos/Igalia/snabb/pulls/381"},"html":{"href":"https://github.com/Igalia/snabb/pull/381"},"issue":{"href":"https://api.github.com/repos/Igalia/snabb/issues/381"},"comments":{"href":"https://api.github.com/repos/Igalia/snabb/issues/381/comments"},"review_comments":{"href":"https://api.github.com/repos/Igalia/snabb/pulls/381/comments"},"review_comment":{"href":"https://api.github.com/repos/Igalia/snabb/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Igalia/snabb/pulls/381/commits"},"statuses":{"href":"https://api.github.com/repos/Igalia/snabb/statuses/7c1320fd3b0e48daeb7efc629a0ccd693fa01e51"}},"merged":false,"mergeable":false,"mergeable_state":"dirty","merged_by":null,"comments":1,"review_comments":0,"commits":10,"additions":560,"deletions":38,"changed_files":13}}
{"actor":{"display_login":"dpino"}}