Obsolete:BexarIpv6supportReadme

This page is outdated
 * 1) !wiki caution

The content of this page has not been updated for a very long time. Sections of this page are incorrect when referring to the current release.

= OpenStack Compute (Nova) IPv4/IPv6 dual stack support =


 * Date: Dec. 24, 2010 (Updated: Jan. 14, 2010)
 * Author: NTT Information Sharing Platform Laboratories

Release Note
In IPv4/IPv6 dual stack mode, instances can use both IPv4 and IPv6 addresses for communication. In IPv4/IPv6 dual stack mode, instances can acquire their IPv6 global unicast address by stateless address autoconfiguration mechanism [RFC 4862/2462]. IPv4/IPv6 dual stack mode works with VlanManager, and FlatDHCPManager. In VlanManager, different 64bit global routing prefix is used for each project. In FlatDHCPManager, one 64bit global routing prefix is used for all instances.

1. Pre-requirement

 * We tested following configuration only.
 * Host OS: Ubuntu 10.04
 * VM Image requirement:
 * IPv6 stateless address autoconfiguration capability is required for each VM.
 * Additional python module requirement:
 * python-netaddr is required for all nodes which executes nova services.

$ sudo apt-get install -y python-netaddr


 * Additional software requirement:
 * radvd is required on network node

$ sudo apt-get install -y radvd


 * On network node, you have to type following commands

$ sudo bash -c "echo 1 > /proc/sys/net/ipv6/conf/all/forwarding" $ sudo bash -c "echo 0 > /proc/sys/net/ipv6/conf/all/accept_ra"

2. Setting up of nova services
If you want to use IPv6 function, please set use_ipv6 flag to True. If not, set this flag to false. (Please see NovaAdminManual to know how to configure your services.)

--use_ipv6 Enable IPv6 dual stack support. Default: False

3. API changes
In this release, some API parameters and responses are modified to adopt IPv6 feature.

Almost same API as original descibeInstances. You can see IPv6 address of an instance by using this API. We add dnsNameV6 element for result xml.
 * DescribeInstancesV6

You can specify both IPv4 and IPv6 value for cidrIp input parameter.
 * AuthorizeSecurityGroupIngress

You can specify both IPv4 and IPv6 value for cidrIp input parameter.
 * RevokeSecurityGroupIngress

You can see both IPv4 and IPv6 value in cidrIp element.
 * DescribeSecurityGroups

4. Support library
We extend boto library to OpenStack ipv6 support. You can use DescribeInstancesV6 and dnsNameV6 by using boto_v6 library in contrib directory.

5. nova-manage command specification
New parameter fixed_range_v6 is added to command 'nova-manage network create'.

nova-manage network create fixed_range num_networks network_size [vlan_start] [vpn_start] [fixed_range_v6]

You can set ipv6 global routing prefix by fixed_range_v6 (default: fd00::/48). When you use FlatDHCPManager, the command uses the original value of fixed_range_v6. When you use VlanManager, the command creates prefixes of subnet by incrementing subnet id. Guest VMs uses this prefix for generating his ipv6 global unicast address.

usage example for VlanManager:

nova-manage network create 10.0.1.0/24 3 32 100 1000 fd00:1::/48

usage example for FlatDHCPManager:

nova/bin/nova-manage network create 10.0.2.0/24 3 32 0 0 fd00:1::/48

Note that [vlan_start] [vpn_start] is not used by FlatDHCPManager

6. Supported NWManager

 * FlatDHCPManager
 * VlanManager

7. Current limitations
autoconfiguration will not work correctly in current IPv6 support. Because current IPv6 support supposes that VM instances generate and configure their IPv6 address based on EUI-64 specification (namely, their MAC address).
 * Floating IP feature using IPv6 address is not supported.
 * Not tested with OpenStack API.
 * FlatManager is currently not supported.
 * VM images which does not use EUI-64 address for stateless address

8. Architecture summary of IPv6 support implementation
done by stateless address autoconfiguration [RFC 4862/2462]. For this purpose, nova-network configures radvd for each VLAN.
 * In current IPv6 support implementation, IPv6 address assignment is

9. Contributors

 * Nachi Ueno
 * Hisaharu Ishii
 * Koji Iida
 * Daigoro Yokozeki
 * Hiroshi Sakai