{"action":"created","issue":{"url":"https://api.github.com/repos/mirage/mirage-tcpip/issues/138","labels_url":"https://api.github.com/repos/mirage/mirage-tcpip/issues/138/labels{/name}","comments_url":"https://api.github.com/repos/mirage/mirage-tcpip/issues/138/comments","events_url":"https://api.github.com/repos/mirage/mirage-tcpip/issues/138/events","html_url":"https://github.com/mirage/mirage-tcpip/pull/138","id":78056447,"number":138,"title":"Add IP allocation as a boot option","user":{"login":"koleini","id":7603254,"avatar_url":"https://avatars.githubusercontent.com/u/7603254?v=3","gravatar_id":"","url":"https://api.github.com/users/koleini","html_url":"https://github.com/koleini","followers_url":"https://api.github.com/users/koleini/followers","following_url":"https://api.github.com/users/koleini/following{/other_user}","gists_url":"https://api.github.com/users/koleini/gists{/gist_id}","starred_url":"https://api.github.com/users/koleini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/koleini/subscriptions","organizations_url":"https://api.github.com/users/koleini/orgs","repos_url":"https://api.github.com/users/koleini/repos","events_url":"https://api.github.com/users/koleini/events{/privacy}","received_events_url":"https://api.github.com/users/koleini/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":9,"created_at":"2015-05-19T11:50:43Z","updated_at":"2015-07-29T10:33:28Z","closed_at":"2015-07-29T08:29:13Z","pull_request":{"url":"https://api.github.com/repos/mirage/mirage-tcpip/pulls/138","html_url":"https://github.com/mirage/mirage-tcpip/pull/138","diff_url":"https://github.com/mirage/mirage-tcpip/pull/138.diff","patch_url":"https://github.com/mirage/mirage-tcpip/pull/138.patch"},"body":"A modification of ```tcpip``` so IP parameters can be passed via boot parameters:\r\n\r\n```xl create network.xl 'extra=\"ip=192.168.1.100 gw=192.168.1.1 netmask=255.255.255.0\"'```\r\n\r\nSo far, it works for unikernels with a single interface. To make it work for vms with multiple network devices, we have to access interface ids (or their string representations) and use command-line keys similar to ```tap0_ip```, etc. Accessing interface ids is not possible in ```netif``` (function ```id``` exists in ```netif.ml``` but not exposed in ```.mli```), and such function is also required for some other Mirage applications--for instance an OpenFlow switch needs to send interface ids to the controller."},"comment":{"url":"https://api.github.com/repos/mirage/mirage-tcpip/issues/comments/125915047","html_url":"https://github.com/mirage/mirage-tcpip/pull/138#issuecomment-125915047","issue_url":"https://api.github.com/repos/mirage/mirage-tcpip/issues/138","id":125915047,"user":{"login":"MagnusS","id":1076486,"avatar_url":"https://avatars.githubusercontent.com/u/1076486?v=3","gravatar_id":"","url":"https://api.github.com/users/MagnusS","html_url":"https://github.com/MagnusS","followers_url":"https://api.github.com/users/MagnusS/followers","following_url":"https://api.github.com/users/MagnusS/following{/other_user}","gists_url":"https://api.github.com/users/MagnusS/gists{/gist_id}","starred_url":"https://api.github.com/users/MagnusS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MagnusS/subscriptions","organizations_url":"https://api.github.com/users/MagnusS/orgs","repos_url":"https://api.github.com/users/MagnusS/repos","events_url":"https://api.github.com/users/MagnusS/events{/privacy}","received_events_url":"https://api.github.com/users/MagnusS/received_events","type":"User","site_admin":false},"created_at":"2015-07-29T10:33:28Z","updated_at":"2015-07-29T10:33:28Z","body":"Could you use the mac address to identify them?"}}