{"action":"created","issue":{"url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/736","repository_url":"https://api.github.com/repos/SnabbCo/snabbswitch","labels_url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/736/labels{/name}","comments_url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/736/comments","events_url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/736/events","html_url":"https://github.com/SnabbCo/snabbswitch/pull/736","id":130854641,"number":736,"title":"Implement l2fwd-like app","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},"labels":[],"state":"open","locked":false,"assignee":{"login":"eugeneia","id":4933566,"avatar_url":"https://avatars.githubusercontent.com/u/4933566?v=3","gravatar_id":"","url":"https://api.github.com/users/eugeneia","html_url":"https://github.com/eugeneia","followers_url":"https://api.github.com/users/eugeneia/followers","following_url":"https://api.github.com/users/eugeneia/following{/other_user}","gists_url":"https://api.github.com/users/eugeneia/gists{/gist_id}","starred_url":"https://api.github.com/users/eugeneia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eugeneia/subscriptions","organizations_url":"https://api.github.com/users/eugeneia/orgs","repos_url":"https://api.github.com/users/eugeneia/repos","events_url":"https://api.github.com/users/eugeneia/events{/privacy}","received_events_url":"https://api.github.com/users/eugeneia/received_events","type":"User","site_admin":false},"milestone":null,"comments":7,"created_at":"2016-02-02T23:38:26Z","updated_at":"2016-02-29T17:07:59Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/SnabbCo/snabbswitch/pulls/736","html_url":"https://github.com/SnabbCo/snabbswitch/pull/736","diff_url":"https://github.com/SnabbCo/snabbswitch/pull/736.diff","patch_url":"https://github.com/SnabbCo/snabbswitch/pull/736.patch"},"body":"Basic implementation of l2fwd app (like DPDK's). This is how I understand it should work:\r\n\r\nGiven the following conf:\r\n\r\n* 01:00.0 <-> 02:00.0\r\n* 01:00.1 <-> 02:00.1\r\n\r\nA packetblaster sends packets into 01:00.0.\r\nl2fwd forwards packets received on 02:00.0 to 01:00.1.\r\n   - The app reports Gbps of link.\r\nAlternatively, a separate program could measure packets received on 02:00.1.\r\n"},"comment":{"url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/comments/190292708","html_url":"https://github.com/SnabbCo/snabbswitch/pull/736#issuecomment-190292708","issue_url":"https://api.github.com/repos/SnabbCo/snabbswitch/issues/736","id":190292708,"user":{"login":"eugeneia","id":4933566,"avatar_url":"https://avatars.githubusercontent.com/u/4933566?v=3","gravatar_id":"","url":"https://api.github.com/users/eugeneia","html_url":"https://github.com/eugeneia","followers_url":"https://api.github.com/users/eugeneia/followers","following_url":"https://api.github.com/users/eugeneia/following{/other_user}","gists_url":"https://api.github.com/users/eugeneia/gists{/gist_id}","starred_url":"https://api.github.com/users/eugeneia/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/eugeneia/subscriptions","organizations_url":"https://api.github.com/users/eugeneia/orgs","repos_url":"https://api.github.com/users/eugeneia/repos","events_url":"https://api.github.com/users/eugeneia/events{/privacy}","received_events_url":"https://api.github.com/users/eugeneia/received_events","type":"User","site_admin":false},"created_at":"2016-02-29T17:07:59Z","updated_at":"2016-02-29T17:07:59Z","body":"Non-blocking questions:\r\n\r\n1. I think I previously missed the fact that l2fwd operates on two duplex ports. Unless I am missing something l2fwd is still fundamentally incompatible with the  `packetblaster->snabbnfv<->vm(snabb+l2fwd)` scenario since l2fwd needs two duplex ports but the VM only has one (`vhost_user`)? This is not a problem with this PR, just want to clear up my understanding.\r\n2. To be honest I do not think I really understand the motivation behind l2fwd/bounce. I see no other use case for bounce than in conjunction with l2fwd, and to me it seems the scope of l2fwd is very limited: to test/benchmark two duplex ports. Why two? Why not test each NIC individually? Why are bounce and l2fwd separate programs when they only work together (my assumption)?"}}