{"action":"created","issue":{"url":"https://api.github.com/repos/systemd/systemd/issues/9228","repository_url":"https://api.github.com/repos/systemd/systemd","labels_url":"https://api.github.com/repos/systemd/systemd/issues/9228/labels{/name}","comments_url":"https://api.github.com/repos/systemd/systemd/issues/9228/comments","events_url":"https://api.github.com/repos/systemd/systemd/issues/9228/events","html_url":"https://github.com/systemd/systemd/issues/9228","id":330371852,"node_id":"MDU6SXNzdWUzMzAzNzE4NTI=","number":9228,"title":"[networkd] Implement RFC 6355","user":{"login":"olifre","id":166759,"node_id":"MDQ6VXNlcjE2Njc1OQ==","avatar_url":"https://avatars0.githubusercontent.com/u/166759?v=4","gravatar_id":"","url":"https://api.github.com/users/olifre","html_url":"https://github.com/olifre","followers_url":"https://api.github.com/users/olifre/followers","following_url":"https://api.github.com/users/olifre/following{/other_user}","gists_url":"https://api.github.com/users/olifre/gists{/gist_id}","starred_url":"https://api.github.com/users/olifre/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/olifre/subscriptions","organizations_url":"https://api.github.com/users/olifre/orgs","repos_url":"https://api.github.com/users/olifre/repos","events_url":"https://api.github.com/users/olifre/events{/privacy}","received_events_url":"https://api.github.com/users/olifre/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2018-06-07T17:44:56Z","updated_at":"2018-06-08T04:47:30Z","closed_at":null,"author_association":"NONE","body":"**Is your feature request related to a problem? Please describe.**\r\nCurrent issue: In automated deployments, machines usually undergo at least two, often three, of the following stages:\r\n1. Bare-metal discovery boot. \r\n2. Boot into a net-installer environment. \r\n3. Boot into final OS. \r\nUsually, there's also (0), i.e. the machine's OS before reinstallation. \r\n\r\nAll these stages have different DUIDs. It's impossible to assign an IPv6 address with DHCPv6 which will be valid throughout all those stages. When assigning based on MAC address, the issue worsens since a valid lease issued for one of the stages prevents generation of leases in the next stages. \r\n\r\n**Describe the solution you'd like**\r\nImplementing RFC 6355 and ideally even defaulting to that. \r\nRFC 6355 defines a universially unique ID / GUID, which should be the same for all DHCP clients on a given host. \r\nNo matter whether a DHCP server then assigns by UUID-DUID or MAC address, it will \"just work\". \r\nThat's already implemented in other DHCP clients, e.g. dhcpcd, and considered for ISC dhcp (dhclient), but seems to be still missing from systemd-networkd. \r\n\r\n**Describe alternatives you've considered**\r\nAll alternatives involve either:\r\n- Writing hackish hooks running 'somewhere' to explicitly destroy leases between the stages on the DHCP server (not possible in all environments, violates lease time guarantees). \r\n- Hacking a DHCP server to violate other RFCs and assign an address to multiple different DUIDs. \r\nThese alternatives are not really an option. "},"comment":{"url":"https://api.github.com/repos/systemd/systemd/issues/comments/395645781","html_url":"https://github.com/systemd/systemd/issues/9228#issuecomment-395645781","issue_url":"https://api.github.com/repos/systemd/systemd/issues/9228","id":395645781,"node_id":"MDEyOklzc3VlQ29tbWVudDM5NTY0NTc4MQ==","user":{"login":"yuwata","id":14157143,"node_id":"MDQ6VXNlcjE0MTU3MTQz","avatar_url":"https://avatars3.githubusercontent.com/u/14157143?v=4","gravatar_id":"","url":"https://api.github.com/users/yuwata","html_url":"https://github.com/yuwata","followers_url":"https://api.github.com/users/yuwata/followers","following_url":"https://api.github.com/users/yuwata/following{/other_user}","gists_url":"https://api.github.com/users/yuwata/gists{/gist_id}","starred_url":"https://api.github.com/users/yuwata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yuwata/subscriptions","organizations_url":"https://api.github.com/users/yuwata/orgs","repos_url":"https://api.github.com/users/yuwata/repos","events_url":"https://api.github.com/users/yuwata/events{/privacy}","received_events_url":"https://api.github.com/users/yuwata/received_events","type":"User","site_admin":false},"created_at":"2018-06-08T04:47:30Z","updated_at":"2018-06-08T04:47:30Z","author_association":"MEMBER","body":"So, you mean here is, when `ClientIdentifier=duid` and `DUIDType=uuid` are set, then the default value of `DUIDRawData=` should be set by /sys/class/dmi/id/product_uuid ?"}}
{"actor":{"display_login":"yuwata"}}