Updated Branches: refs/heads/master db2a14a53 -> 95e01991e
write a plugin guide for vxlan Signed-off-by: ynojima <[email protected]> Signed-off-by: Prasanna Santhanam <[email protected]> Project: http://git-wip-us.apache.org/repos/asf/cloudstack-docs/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack-docs/commit/95e01991 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack-docs/tree/95e01991 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack-docs/diff/95e01991 Branch: refs/heads/master Commit: 95e01991e9adc763fd6ddac828b15fa9a5525b7f Parents: db2a14a Author: ynojima <[email protected]> Authored: Thu Oct 17 20:08:07 2013 -0600 Committer: Prasanna Santhanam <[email protected]> Committed: Wed Oct 23 11:05:04 2013 +0530 ---------------------------------------------------------------------- vxlan/en-US/images/vxlan-trafficlabel.png | Bin 0 -> 72542 bytes vxlan/en-US/plugin-vxlan-about.xml | 27 +++ vxlan/en-US/plugin-vxlan-config-hypervisor.xml | 186 ++++++++++++++++++++ vxlan/en-US/plugin-vxlan-config-management.xml | 57 ++++++ vxlan/en-US/plugin-vxlan-configuration.xml | 27 +++ vxlan/en-US/plugin-vxlan-features.xml | 42 +++++ vxlan/en-US/plugin-vxlan-introduction.xml | 26 +++ vxlan/en-US/plugin-vxlan-requirements.xml | 184 +++++++++++++++++++ vxlan/en-US/plugin-vxlan-revision-history.xml | 59 +++++++ 9 files changed, 608 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack-docs/blob/95e01991/vxlan/en-US/images/vxlan-trafficlabel.png ---------------------------------------------------------------------- diff --git a/vxlan/en-US/images/vxlan-trafficlabel.png b/vxlan/en-US/images/vxlan-trafficlabel.png new file mode 100644 index 0000000..956d5f4 Binary files /dev/null and b/vxlan/en-US/images/vxlan-trafficlabel.png differ http://git-wip-us.apache.org/repos/asf/cloudstack-docs/blob/95e01991/vxlan/en-US/plugin-vxlan-about.xml ---------------------------------------------------------------------- diff --git a/vxlan/en-US/plugin-vxlan-about.xml b/vxlan/en-US/plugin-vxlan-about.xml new file mode 100644 index 0000000..5cf0c34 --- /dev/null +++ b/vxlan/en-US/plugin-vxlan-about.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ +<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> +%BOOK_ENTITIES; +<!ENTITY % xinclude SYSTEM "http://www.docbook.org/xml/4.4/xinclude.mod"> +%xinclude; +]> +<!-- Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0. + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<chapter id="About-the-VXLAN-Plugin" > + <title>The VXLAN Plugin</title> + <xi:include href="plugin-vxlan-introduction.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include> + <xi:include href="plugin-vxlan-features.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include> +</chapter> http://git-wip-us.apache.org/repos/asf/cloudstack-docs/blob/95e01991/vxlan/en-US/plugin-vxlan-config-hypervisor.xml ---------------------------------------------------------------------- diff --git a/vxlan/en-US/plugin-vxlan-config-hypervisor.xml b/vxlan/en-US/plugin-vxlan-config-hypervisor.xml new file mode 100644 index 0000000..2c5e138 --- /dev/null +++ b/vxlan/en-US/plugin-vxlan-config-hypervisor.xml @@ -0,0 +1,186 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ +<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> +%BOOK_ENTITIES; +<!ENTITY % xinclude SYSTEM "http://www.docbook.org/xml/4.4/xinclude.mod"> +%xinclude; +]> +<!-- Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0. + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<section id="plugin-vxlan-config-hypervisor"> + <title>Configure hypervisor</title> + <section id="plugin-vxlan-config-hypervisor-kvm"> + <title>Configure hypervisor: KVM</title> + <para>In addition to "KVM Hypervisor Host Installation" in "&PRODUCT; Installation Guide", you have to configure the following item on the host.</para> + <section id="plugin-vxlan-config-hypervisor-kvm-ip"> + <title>Create bridge interface with IPv4 address</title> + <para> + This plugin requires an IPv4 address on the KVM host to terminate and originate VXLAN traffic. + The address should be assinged to bridge interface created for the instances' private network. + Both a private address or a public address are fine for the purpose. + It is not required to be in the same subnet for all hypervisors in a zone, but they should be able to reach each other via IP multicast with UDP/8472 port. + </para> + <para> + Let <parameter>cloudbr1</parameter> be the bridge interface for the instances' private network. + </para> + <section id="plugin-vxlan-config-hypervisor-kvm-centos"> + <title>Configure in RHEL or CentOS</title> + <para> + When you configured the <parameter>cloudbr1</parameter> interface as below, + </para> + <programlisting language="Bash">$ sudo vi /etc/sysconfig/network-scripts/ifcfg-cloudbr1 + </programlisting> + <programlisting language="Bash">DEVICE=cloudbr1 +TYPE=Bridge +ONBOOT=yes +BOOTPROTO=none +IPV6INIT=no +IPV6_AUTOCONF=no +DELAY=5 +STP=yes + </programlisting> + <para> + you would change the configuration similar to below. + </para> + <programlisting language="Bash">DEVICE=cloudbr1 +TYPE=Bridge +ONBOOT=yes +BOOTPROTO=static +IPADDR=192.0.2.X +NETMASK=255.255.255.0 +IPV6INIT=no +IPV6_AUTOCONF=no +DELAY=5 +STP=yes + </programlisting> + <para> + RHEL and CentOS use iptables for firewalling the system, you can open extra ports by executing the following iptable commands: + </para> + <programlisting language="Bash">$ sudo iptables -I INPUT -p udp -m udp --dport 8472 -j ACCEPT + </programlisting> + <para> + These iptable settings are not persistent accross reboots, we have to save them first. + </para> + <programlisting language="Bash">$ sudo iptables-save > /etc/sysconfig/iptables + </programlisting> + <para> + With this configuration you should be able to restart the network, although a reboot is recommended to see if everything works properly. + </para> + <programlisting language="Bash">$ sudo service network restart +$ sudo reboot + </programlisting> + <warning> + <para> + Make sure you have an alternative way like IPMI or ILO to reach the machine in case you made a configuration error and the network stops functioning! + </para> + </warning> + </section> + <section id="plugin-vxlan-config-hypervisor-kvm-ubuntu"> + <title>Configure in Ubuntu</title> + <para> + When you configured <parameter>cloudbr1</parameter> as below, + </para> + <programlisting language="Bash">$ sudo vi /etc/network/interfaces + </programlisting> + <programlisting language="Bash">auto lo +iface lo inet loopback + +# The primary network interface +auto eth0.100 +iface eth0.100 inet static + address 192.168.42.11 + netmask 255.255.255.240 + gateway 192.168.42.1 + dns-nameservers 8.8.8.8 8.8.4.4 + dns-domain lab.example.org + +# Public network +auto cloudbr0 +iface cloudbr0 inet manual + bridge_ports eth0.200 + bridge_fd 5 + bridge_stp off + bridge_maxwait 1 + +# Private network +auto cloudbr1 +iface cloudbr1 inet manual + bridge_ports eth0.300 + bridge_fd 5 + bridge_stp off + bridge_maxwait 1 + </programlisting> + <para> + you would change the configuration similar to below. + </para> + <programlisting language="Bash">auto lo +iface lo inet loopback + +# The primary network interface +auto eth0.100 +iface eth0.100 inet static + address 192.168.42.11 + netmask 255.255.255.240 + gateway 192.168.42.1 + dns-nameservers 8.8.8.8 8.8.4.4 + dns-domain lab.example.org + +# Public network +auto cloudbr0 +iface cloudbr0 inet manual + bridge_ports eth0.200 + bridge_fd 5 + bridge_stp off + bridge_maxwait 1 + +# Private network +auto cloudbr1 +iface cloudbr1 inet static + addres 192.0.2.X + netmask 255.255.255.0 + bridge_ports eth0.300 + bridge_fd 5 + bridge_stp off + bridge_maxwait 1 + </programlisting> + <para> + The default firewall under Ubuntu is UFW (Uncomplicated FireWall), which is a Python wrapper around iptables. + </para> + <para> + To open the required ports, execute the following commands: + </para> + <programlisting language="Bash">$ sudo ufw allow proto udp from any to any port 8472 + </programlisting> + <note> + <para> + By default UFW is not enabled on Ubuntu. Executing these commands with the firewall disabled does not enable the firewall. + </para> + </note> + <para> + With this configuration you should be able to restart the network, although a reboot is recommended to see if everything works properly. + </para> + <programlisting language="Bash">$ sudo service networking restart +$ sudo reboot + </programlisting> + <warning> + <para> + Make sure you have an alternative way like IPMI or ILO to reach the machine in case you made a configuration error and the network stops functioning! + </para> + </warning> + </section> + </section> + </section> +</section> http://git-wip-us.apache.org/repos/asf/cloudstack-docs/blob/95e01991/vxlan/en-US/plugin-vxlan-config-management.xml ---------------------------------------------------------------------- diff --git a/vxlan/en-US/plugin-vxlan-config-management.xml b/vxlan/en-US/plugin-vxlan-config-management.xml new file mode 100644 index 0000000..21f5461 --- /dev/null +++ b/vxlan/en-US/plugin-vxlan-config-management.xml @@ -0,0 +1,57 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ +<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> +%BOOK_ENTITIES; +<!ENTITY % xinclude SYSTEM "http://www.docbook.org/xml/4.4/xinclude.mod"> +%xinclude; +]> +<!-- Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0. + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<section id="plugin-vxlan-config-management"> + <title>Setup zone using VXLAN</title> + <para> + In almost all parts of zone setup, you can just follow the advanced zone setup istruction in "&PRODUCT; Installation Guide" to use this plugin. + It is not required to add a network element nor to reconfigure the network offering. + The only thing you have to do is configure the physical network to use VXLAN as the isolation method for Guest Network. + </para> + <section id="plugin-vxlan-config-management-zone"> + <title>Configure the physical network</title> + <mediaobject> + <imageobject> + <imagedata fileref="./images/vxlan-physicalnetwork.png"/> + </imageobject> + <textobject> + <phrase>vxlan-physicalnetowkr.png: physicalnetwork configuration for VXLAN</phrase> + </textobject> + </mediaobject> + <para> + CloudStack needs to have one physical network for Guest Traffic with the isolation method set to "VXLAN". + </para> + + <mediaobject> + <imageobject> + <imagedata fileref="./images/vxlan-trafficlabel.png"/> + </imageobject> + <textobject> + <phrase>vxlan-trafficlabel.png: traffic label configuration for VXLAN</phrase> + </textobject> + </mediaobject> + <para> + Guest Network traffic label should be name of the bridge interface and the bridge interface should have an IPv4 address. + See <xref linkend="plugin-vxlan-config-hypervisor-kvm-ip"/> for details. + </para> + </section> +</section> http://git-wip-us.apache.org/repos/asf/cloudstack-docs/blob/95e01991/vxlan/en-US/plugin-vxlan-configuration.xml ---------------------------------------------------------------------- diff --git a/vxlan/en-US/plugin-vxlan-configuration.xml b/vxlan/en-US/plugin-vxlan-configuration.xml new file mode 100644 index 0000000..03daf0d --- /dev/null +++ b/vxlan/en-US/plugin-vxlan-configuration.xml @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ +<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> +%BOOK_ENTITIES; +<!ENTITY % xinclude SYSTEM "http://www.docbook.org/xml/4.4/xinclude.mod"> +%xinclude; +]> +<!-- Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0. + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<chapter id="How-to-configure-VXLAN-Plugin" > + <title>Configure &PRODUCT; to use VXLAN Plugin</title> + <xi:include href="plugin-vxlan-config-hypervisor.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include> + <xi:include href="plugin-vxlan-config-management.xml" xmlns:xi="http://www.w3.org/2001/XInclude"></xi:include> +</chapter> http://git-wip-us.apache.org/repos/asf/cloudstack-docs/blob/95e01991/vxlan/en-US/plugin-vxlan-features.xml ---------------------------------------------------------------------- diff --git a/vxlan/en-US/plugin-vxlan-features.xml b/vxlan/en-US/plugin-vxlan-features.xml new file mode 100644 index 0000000..ba177e7 --- /dev/null +++ b/vxlan/en-US/plugin-vxlan-features.xml @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ +<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> +%BOOK_ENTITIES; +<!ENTITY % xinclude SYSTEM "http://www.docbook.org/xml/4.4/xinclude.mod"> +%xinclude; +]> +<!-- Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0. + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<section id="Features-of-the-VXLAN-Plugin"> + <title>Features of the VXLAN Plugin</title> + + <para> + In &PRODUCT; release 4.X.0 this plugin supports Advanced Isolated network mode. + This plugin enables more than 4096 isolated guest networks in a Zone, with almost the same usability as VLAN isolation. + </para> + + <para> + By the nature of VXLAN's MAC-in-IP encapsulation, the MAC addresses of VMs are encapsulated and concealed in the MAC addresses of Hypervisors. + So, the physical switch no longer needs to learn the MAC addresses of the individual VMs. + Thus, the required MAC address table size of the physical switch would be greatly reduced. + </para> + + <para> + This plugin doesn't provide network services. + With this plugin, network services ( VPN, Source NAT, Static NAT, Port Forwarding, Firewall, and Load Balancing ) are provided by the Virtual Router. + </para> + +</section> http://git-wip-us.apache.org/repos/asf/cloudstack-docs/blob/95e01991/vxlan/en-US/plugin-vxlan-introduction.xml ---------------------------------------------------------------------- diff --git a/vxlan/en-US/plugin-vxlan-introduction.xml b/vxlan/en-US/plugin-vxlan-introduction.xml new file mode 100644 index 0000000..dc67f3a --- /dev/null +++ b/vxlan/en-US/plugin-vxlan-introduction.xml @@ -0,0 +1,26 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ +<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> +%BOOK_ENTITIES; +<!ENTITY % xinclude SYSTEM "http://www.docbook.org/xml/4.4/xinclude.mod"> +%xinclude; +]> +<!-- Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + http://www.apache.org/licenses/LICENSE-2.0. + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> +<section id="Introduction-to-the-VXLAN-Plugin"> + <title>Introduction to the VXLAN Plugin</title> + <para>The VXLAN plugin adds VXLAN as one of the guest network isolation methods in &PRODUCT;.</para> +</section> http://git-wip-us.apache.org/repos/asf/cloudstack-docs/blob/95e01991/vxlan/en-US/plugin-vxlan-requirements.xml ---------------------------------------------------------------------- diff --git a/vxlan/en-US/plugin-vxlan-requirements.xml b/vxlan/en-US/plugin-vxlan-requirements.xml new file mode 100644 index 0000000..c2e04a6 --- /dev/null +++ b/vxlan/en-US/plugin-vxlan-requirements.xml @@ -0,0 +1,184 @@ +<?xml version='1.0' encoding='utf-8' ?> +<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ +<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> +%BOOK_ENTITIES; +]> + +<!-- Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<chapter id="vxlan-requirements"> + <title>System Requirements for VXLAN</title> + <section id="vxlan-table-of-requirement"> + <title>System Requirements for VXLAN</title> + <para>In &PRODUCT; 4.X.0, this plugin only supports the KVM hypervisor with the standard linux bridge.</para> + + <para>The following table lists the requirements for the hypervisor.</para> + <table> + <title>Hypervisor Requirement for VXLAN</title> + <tgroup cols="3"> + <thead> + <row> + <entry>Item</entry> + <entry>Requirement</entry> + <entry>Note</entry> + </row> + </thead> + <tbody> + <row> + <entry>Hypervisor</entry> + <entry>KVM</entry> + <entry>OvsVifDriver is not supported by this plugin in &PRODUCT; 4.X, use BridgeVifDriver (default).</entry> + </row> + <row> + <entry>Linux kernel</entry> + <entry>version >= 3.7, VXLAN kernel module enabled</entry> + <entry>It is recommended to use kernel >=3.9, since Linux kernel categorizes the VXLAN driver as experimental <3.9.</entry> + </row> + <row> + <entry>iproute2</entry> + <entry>matches kernel version</entry> + <entry></entry> + </row> + </tbody> + </tgroup> + </table> + </section> + + <section id="vxlan-req-distribution"> + <title>Linux Distributions that meet the requirements</title> + <para> + The following table lists distributions which meet requirements. + </para> + <table> + <title>List of Linux distributions which meet the hypervisor requirements</title> + <tgroup cols="4"> + <thead> + <row> + <entry>Distribution</entry> + <entry>Release Version</entry> + <entry>Kernel Version (Date confirmed)</entry> + <entry>Note</entry> + </row> + </thead> + <tbody> + <row> + <entry>Ubuntu</entry> + <entry>13.04</entry> + <entry>3.8.0 (2013/07/23)</entry> + <entry></entry> + </row> + <row> + <entry>Fedora</entry> + <entry>>= 17</entry> + <entry>3.9.10 (2013/07/23)</entry> + <entry>Latest kernel packages are available in "update" repository.</entry> + </row> + </tbody> + </tgroup> + </table> + </section> + <section id="vxlan-confirm"> + <title>Check the capability of your system</title> + <para> + To check the capability of your system, execute the following commands. + </para> + <programlisting language="Bash"> +$ sudo modprobe vxlan && echo $? +# Confirm the output is "0". +# If it's non-0 value or error message, your kernel doesn't have VXLAN kernel module. + +$ ip link add type vxlan help +# Confirm the output is usage of the command and that it's for VXLAN. +# If it's not, your iproute2 utility doesn't support VXLAN. + </programlisting> + </section> + <section id="vxlan-req-build"> + <title>Advanced: Build kernel and iproute2</title> + <para> + Even if your system doesn't support VXLAN, you can compile the kernel and iproute2 by yourself. + The following procedure is an example for CentOS 6.4. + </para> + <section id="vxlan-build-kernel"> + <title>Build kernel</title> + <programlisting language="Bash">$ sudo yum groupinstall "Development Tools" +$ sudo yum install ncurses-devel hmaccalc zlib-devel binutils-devel elfutils-libelf-devel bc + +$ KERNEL_VERSION=3.10.4 +# Declare the kernel version you want to build. + +$ wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-${KERNEL_VERSION}.tar.xz +$ tar xvf linux-${KERNEL_VERSION}.tar.xz +$ cd linux-${KERNEL_VERSION} +$ cp /boot/config-`uname -r` .config +$ make oldconfig +# You may keep hitting enter and choose the default. + +$ make menuconfig +# Dig into "Device Drivers" -> "Network device support", +# then select "Virtual eXtensible Local Area Network (VXLAN)" and hit space. +# Make sure it indicates "<M>" (build as module), then Save and Exit. + +# You may also want to check "IPv4 NAT" and its child nodes in "IP: Netfilter Configuration" +# and "IPv6 NAT" and its child nodes in "IPv6: Netfilter Configuration". +# In 3.10.4, you can find the options in +# "Networking support" -> "Networking options" +# -> "Network packet filtering framework (Netfilter)". + +$ make # -j N +# You may use -j N option to make the build process parallel and faster, +# generally N = 1 + (cores your machine have). + +$ sudo make modules_install +$ sudo make install +# You would get an error like "ERROR: modinfo: could not find module XXXX" here. +# This happens mainly due to config structure changes between kernel versions. +# You can ignore this error, until you find you need the kernel module. +# If you feel uneasy, you can go back to make menuconfig, +# find module XXXX by using '/' key, enable the module, build and install the kernel again. + +$ sudo vi /etc/grub.conf +# Make sure the new kernel isn't set as the default and the timeout is long enough, +# so you can select the new kernel during boot process. +# It's not a good idea to set the new kernel as the default until you confirm the kernel works fine. + +$ sudo reboot +# Select the new kernel during the boot process. + </programlisting> + </section> + <section id="vxlan-build-iproute2"> + <title>Build iproute2</title> + <programlisting>$ sudo yum install db4-devel + +$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git +$ cd iproute2 +$ git tag +# Find the version that matches the kernel. +# If you built kernel 3.10.4 as above, it would be v3.10.0. + +$ git checkout v3.10.0 +$ ./configure +$ make # -j N +$ sudo make install + </programlisting> + <note> + <para>Please use rebuild kernel and tools at your own risk.</para> + </note> + </section> + </section> +</chapter> http://git-wip-us.apache.org/repos/asf/cloudstack-docs/blob/95e01991/vxlan/en-US/plugin-vxlan-revision-history.xml ---------------------------------------------------------------------- diff --git a/vxlan/en-US/plugin-vxlan-revision-history.xml b/vxlan/en-US/plugin-vxlan-revision-history.xml new file mode 100644 index 0000000..ec04d11 --- /dev/null +++ b/vxlan/en-US/plugin-vxlan-revision-history.xml @@ -0,0 +1,59 @@ +<?xml version='1.0' encoding='utf-8' ?> +<!DOCTYPE appendix PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [ +<!ENTITY % BOOK_ENTITIES SYSTEM "cloudstack.ent"> +%BOOK_ENTITIES; +]> + +<!-- Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. +--> + +<appendix id="plugin-vxlan-revision-history"> + <title>Revision History</title> + <simpara> + <revhistory> + <revision> + <revnumber>0-1</revnumber> + <date>October 3 2013</date> + <author> + <firstname>Yoshikazu</firstname> + <surname>Nojima</surname> + <email/> + </author> + <revdescription> + <simplelist> + <member>Initial revision</member> + </simplelist> + </revdescription> + </revision> + <revision> + <revnumber>0-0</revnumber> + <date>August 2 2013</date> + <author> + <firstname>Toshiaki</firstname> + <surname>Hatano</surname> + <email/> + </author> + <revdescription> + <simplelist> + <member>Draft</member> + </simplelist> + </revdescription> + </revision> + </revhistory> + </simpara> +</appendix>
