Jump to: navigation, search

Difference between revisions of "Obsolete:BexarIpv6supportReadme"

 
Line 2: Line 2:
 
= [[OpenStack]] Compute (Nova) IPv4/IPv6 dual stack support  =
 
= [[OpenStack]] Compute (Nova) IPv4/IPv6 dual stack support  =
  
* Date: Dec. 24, 2010
+
* Date: Dec. 24, 2010 (Updated: Jan. 5, 2010)
 
* Author: NTT Information Sharing Platform Laboratories
 
* Author: NTT Information Sharing Platform Laboratories
  
Line 21: Line 21:
 
** IPv6 stateless address autoconfiguration capability is required for each VM.
 
** IPv6 stateless address autoconfiguration capability is required for each VM.
 
* Additional python module requirement:
 
* Additional python module requirement:
** python-netaddr
+
** python-netaddr is required for all hosts which executes nova services.
  
 
<pre><nowiki>
 
<pre><nowiki>
Line 36: Line 36:
  
 
== 2. Setting up of nova services ==
 
== 2. Setting up of nova services ==
If you want to use IPv6 function, please set use_ipv6 flag to True.
+
If you want to use IPv6 function, please set use_ipv6 flag to True. If not, set this flag to false.
  
 
<pre><nowiki>
 
<pre><nowiki>
Line 77: Line 77:
  
  
You can set ipv6 global routing prefix by fixed_range_v6.  When you
+
You can set ipv6 global routing prefix by fixed_range_v6 (default: fd00::/48).  When you
use [[FlatManager]], we use the original value of fixed_range_v6
+
use [[FlatManager]], the command uses the original value of fixed_range_v6.  When you use [[VlanManager]], the command creates prefixes of subnet
(fd00::/48).  When you use [[VlanManager]], we create prefixes of subnet
 
 
by incrementing subnet id.  Guest VMs uses this prefix for generating
 
by incrementing subnet id.  Guest VMs uses this prefix for generating
 
his ipv6 global unicast address.
 
his ipv6 global unicast address.

Revision as of 05:20, 5 January 2011

OpenStack Compute (Nova) IPv4/IPv6 dual stack support

  • Date: Dec. 24, 2010 (Updated: Jan. 5, 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, FlatManager, and FlatVlanManager. In VlanManager, different 64bit global routing prefix is used for each project. In FlatManager and FlatVlanManager, 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 hosts 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


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.

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


3. API changes

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

You can see IPv6 address of an instance by DescribeInstance API.
We add DnsNameV6 element for result xml.
You can specify both IPv4 and IPv6 value for cidrIp input parameter.
You can specify both IPv4 and IPv6 value for cidrIp input parameter.
You can see both IPv4 and IPv6 value in cidiIp element.

4. Support library

We extend boto library to OpenStack ipv6 support. You can use 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 FlatManager, 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:

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


5. Current limitations

  • Floating IP feature using IPv6 address is not supported.
  • Not tested with OpenStack API.
  • VM images which does not use EUI-64 address for stateless address
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).

6. Architecture summary of IPv6 support implementation

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

7. Contributors

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