Wido den Hollander created CLOUDSTACK-9359:
----------------------------------------------

             Summary: Return ip6address in Basic Networking
                 Key: CLOUDSTACK-9359
                 URL: https://issues.apache.org/jira/browse/CLOUDSTACK-9359
             Project: CloudStack
          Issue Type: Sub-task
      Security Level: Public (Anyone can view this level - this is the default.)
          Components: API, Management Server
         Environment: CloudStack Basic Networking
            Reporter: Wido den Hollander
            Assignee: Wido den Hollander


In Basic Networking Instances will obtain their IPv6 address using SLAAC 
(Stateless Autoconfiguration) as described in the Wiki: 
https://cwiki.apache.org/confluence/display/CLOUDSTACK/IPv6+in+Basic+Networking

When a ip6cidr is configured and is a /64 we can calculate the IPv6 address an 
Instance will obtain.

There is no need to store a IPv6 address in the database with the /64 subnet 
(ip6cidr) and the MAC address we can calculate the address using EUI-64:


"A 64-bit interface identifier is most commonly derived from its 48-bit MAC 
address. A MAC address 00:0C:29:0C:47:D5 is turned into a 64-bit EUI-64 by 
inserting FF:FE in the middle: 00:0C:29:FF:FE:0C:47:D5. When this EUI-64 is 
used to form an IPv6 address it is modified:[1] the meaning of the 
Universal/Local bit (the 7th most significant bit of the EUI-64, starting from 
1) is inverted, so that a 1 now means Universal. To create an IPv6 address with 
the network prefix 2001:db8:1:2::/64 it yields the address 
2001:db8:1:2:020c:29ff:fe0c:47d5 (with the underlined U/L (=Universal/Local) 
bit inverted to a 1, because the MAC address is universally unique)."

The API should return this address in the ip6address field for a NIC in Basic 
Networking.

End-Users can use this, but it can also be used internally by Security Grouping 
to program rules.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to