Difference between revisions of "Obsolete:BexarIpv6supportReadme"
m (Fifieldt moved page BexarIpv6supportReadme to Obsolete:BexarIpv6supportReadme: Bexar is no longer supported) |
|||
(8 intermediate revisions by 4 users not shown) | |||
Line 1: | Line 1: | ||
− | + | <pre><nowiki>#!wiki caution | |
+ | '''This page is outdated''' | ||
+ | |||
+ | 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. | ||
+ | </nowiki></pre> | ||
+ | |||
= [[OpenStack]] Compute (Nova) IPv4/IPv6 dual stack support = | = [[OpenStack]] Compute (Nova) IPv4/IPv6 dual stack support = | ||
Line 10: | Line 15: | ||
can acquire their IPv6 global unicast address by stateless address | can acquire their IPv6 global unicast address by stateless address | ||
autoconfiguration mechanism [RFC 4862/2462]. IPv4/IPv6 dual stack mode | autoconfiguration mechanism [RFC 4862/2462]. IPv4/IPv6 dual stack mode | ||
− | works with | + | works with VlanManager, and FlatDHCPManager. In |
− | + | VlanManager, different 64bit global routing prefix is used for each | |
− | project. In | + | project. In FlatDHCPManager, one 64bit global routing |
prefix is used for all instances. | prefix is used for all instances. | ||
Line 57: | Line 62: | ||
adopt IPv6 feature. | adopt IPv6 feature. | ||
− | * | + | * DescribeInstancesV6 |
− | Almost same API as original | + | 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. | We add dnsNameV6 element for result xml. | ||
− | * | + | * AuthorizeSecurityGroupIngress |
You can specify both IPv4 and IPv6 value for cidrIp input parameter. | You can specify both IPv4 and IPv6 value for cidrIp input parameter. | ||
− | * | + | * RevokeSecurityGroupIngress |
You can specify both IPv4 and IPv6 value for cidrIp input parameter. | You can specify both IPv4 and IPv6 value for cidrIp input parameter. | ||
− | * | + | * DescribeSecurityGroups |
− | You can see both IPv4 and IPv6 value in | + | You can see both IPv4 and IPv6 value in cidrIp element. |
== 4. Support library == | == 4. Support library == | ||
We extend boto library to [[OpenStack]] ipv6 support. | We extend boto library to [[OpenStack]] ipv6 support. | ||
− | You can use | + | You can use DescribeInstancesV6 and dnsNameV6 by using boto_v6 library in contrib directory. |
== 5. nova-manage command specification == | == 5. nova-manage command specification == | ||
Line 86: | Line 91: | ||
You can set ipv6 global routing prefix by fixed_range_v6 (default: fd00::/48). When you | You can set ipv6 global routing prefix by fixed_range_v6 (default: fd00::/48). When you | ||
− | use | + | 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 | by incrementing subnet id. Guest VMs uses this prefix for generating | ||
his ipv6 global unicast address. | his ipv6 global unicast address. | ||
− | usage example: | + | usage example for VlanManager: |
<pre><nowiki> | <pre><nowiki> | ||
Line 97: | Line 102: | ||
− | == | + | usage example for FlatDHCPManager: |
+ | |||
+ | <pre><nowiki> | ||
+ | nova/bin/nova-manage network create 10.0.2.0/24 3 32 0 0 fd00:1::/48 | ||
+ | </nowiki></pre> | ||
+ | |||
+ | Note that [vlan_start] [vpn_start] is not used by FlatDHCPManager | ||
+ | |||
+ | == 6. Supported NWManager == | ||
* FlatDHCPManager | * FlatDHCPManager | ||
− | * | + | * VlanManager |
− | == | + | == 7. Current limitations == |
* Floating IP feature using IPv6 address is not supported. | * Floating IP feature using IPv6 address is not supported. | ||
* Not tested with [[OpenStack]] API. | * Not tested with [[OpenStack]] API. | ||
− | * | + | * FlatManager is currently not supported. |
* VM images which does not use EUI-64 address for stateless address | * VM images which does not use EUI-64 address for stateless address | ||
autoconfiguration will not work correctly in current IPv6 | autoconfiguration will not work correctly in current IPv6 | ||
Line 111: | Line 124: | ||
specification (namely, their MAC address). | specification (namely, their MAC address). | ||
− | == | + | == 8. Architecture summary of IPv6 support implementation == |
* In current IPv6 support implementation, IPv6 address assignment is | * In current IPv6 support implementation, IPv6 address assignment is | ||
done by stateless address autoconfiguration [RFC 4862/2462]. For this | done by stateless address autoconfiguration [RFC 4862/2462]. For this | ||
purpose, nova-network configures radvd for each VLAN. | purpose, nova-network configures radvd for each VLAN. | ||
− | == | + | == 9. Contributors == |
* Nachi Ueno | * Nachi Ueno | ||
* Hisaharu Ishii | * Hisaharu Ishii |
Latest revision as of 18:37, 25 July 2013
#!wiki caution '''This page is outdated''' 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.
- DescribeInstancesV6
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.
- AuthorizeSecurityGroupIngress
You can specify both IPv4 and IPv6 value for cidrIp input parameter.
- RevokeSecurityGroupIngress
You can specify both IPv4 and IPv6 value for cidrIp input parameter.
- DescribeSecurityGroups
You can see both IPv4 and IPv6 value in cidrIp element.
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
- 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
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).
8. 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.
9. Contributors
- Nachi Ueno
- Hisaharu Ishii
- Koji Iida
- Daigoro Yokozeki
- Hiroshi Sakai