Hi,

One of the things I'm really missing in CloudStack currently is IPv6 support in 
Basic Networking. Why? Our cloud at PCextreme runs on CloudStack with Basic 
Networking and we currently do have IPv6 support, but without the knowledge of 
CloudStack.

My goals are currently simple:
- The API should return the IPv6 address of the Instance
- Security Grouping should prevent IPv6 address spoofing

This is all on the Wiki: 
https://cwiki.apache.org/confluence/display/CLOUDSTACK/IPv6+in+Basic+Networking

I didn't get to it due to a lack of time, but I gave it a try again this 
weekend and today. With result!: 
https://github.com/wido/cloudstack/commits/ipv6-basic-networking

The 'nics' table already has the ip6_address column and the API will return 
this value when it is set. So what I did is modify the 
DirectPodBasedNetworkGuru that it calculates the EUI-64 IPv6 address a Instance 
will obtain using SLAAC.

In the network you have to make sure the routers (not the VR, physical ones!) 
are sending our Router Advertisements with the same subnet as you configured in 
CloudStack.

The code is actually very simple and it 'works': 
https://widodh.o.auroraobjects.eu/cloudstack/ipv6-basic-networking-instance.png

The CloudStack code is very, very IPv4 orientated and has many flaws. It passes 
IP-Addresses as Strings and such while native types like InetAddress might be 
better, but that would be a major refactor which will consume a lot of time. 
And honestly, I don't have the time.

As stated above our goals are currently simple. The API should return a IPv6 
Address so that after deployment anything consuming the API can instantly 
connect to the Instance over IPv6.

Wido

Reply via email to