X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=INSTALL.RHEL;h=f46ad98a91ad2c7c19819da07ea9bff06ff1ae7a;hb=c5cf10598f8c9f4428291e9df3ecd72a05fb1ccf;hp=35589484026a57f2dd95c7f6fa51f7529e9d87b3;hpb=c434706a374bd44d1274e7bdbee40067a6620b61;p=sliver-openvswitch.git diff --git a/INSTALL.RHEL b/INSTALL.RHEL index 355894840..f46ad98a9 100644 --- a/INSTALL.RHEL +++ b/INSTALL.RHEL @@ -3,7 +3,7 @@ This document describes how to build and install Open vSwitch on a Red Hat Enterprise Linux (RHEL) host. If you want to install Open vSwitch -on a generic Linux host, see INSTALL.Linux instead. +on a generic Linux host, see INSTALL instead. We have tested these instructions with RHEL 5.6 and RHEL 6.0. @@ -17,43 +17,102 @@ Before you begin, note the RPM source directory on your version of RHEL. On RHEL 5, the default RPM source directory is /usr/src/redhat/SOURCES. On RHEL 6, it is $HOME/rpmbuild/SOURCES. -1. If you are building from an Open vSwitch Git tree, then you will +1. If you are building from a distribution tarball, proceed to step 2. + Otherwise, if you are building from an Open vSwitch Git tree, + determine the version of Autoconf available in the RHEL version you + are using. If it is not at least version 2.64, then you have two + choices: + + a. Install Autoconf 2.64 or later, one way or another. + + b. Create a distribution tarball on some other machine, by + running "./boot.sh; ./configure; make dist" in the Git tree. + You must run this on a machine that has the tools listed in + INSTALL as prerequisites for building from a Git tree. + Afterward, proceed with the rest of the instructions using the + distribution tarball. + +2. Install build prerequisites: + + yum install gcc make python-devel openssl-devel kernel-devel graphviz \ + kernel-debug-devel autoconf automake rpm-build redhat-rpm-config \ + libtool + +3. Some versions of the RHEL 6 kernel-devel package contain a broken + "build" symlink. If you are using such a version, you must fix + the problem before continuing. + + To find out whether you are affected, run: + + cd /lib/modules/ + ls -l build/ + + where is the version number of the RHEL 6 kernel. (The + trailing slash in the final command is important. Be sure to include + it.) If the "ls" command produces a directory listing, your + kernel-devel package is OK. If it produces a "No such file or + directory" error, your kernel-devel package is buggy. + + If your kernel-devel package is buggy, then you can fix it with: + + cd /lib/modules/ + rm build + ln -s /usr/src/kernels/ build + + where is the name of an existing directory under + /usr/src/kernels, whose name should be similar to but may + contain some extra parts. Once you have done this, verify the fix with + the same procedure you used above to check for the problem. + +4. If you are building from an Open vSwitch Git tree, then you will need to first create a distribution tarball by running "./boot.sh; ./configure; make dist" in the Git tree. -2. Copy the distribution tarball into the RPM source directory. +5. Copy the distribution tarball into the RPM source directory. -3. Unpack the distribution tarball into a temporary directory and "cd" +6. Unpack the distribution tarball into a temporary directory and "cd" into the root of the distribution tarball. -4. To build Open vSwitch userspace, run: +7. To build Open vSwitch userspace, run: rpmbuild -bb rhel/openvswitch.spec This produces two RPMs: "openvswitch" and "openvswitch-debuginfo". -5a. On RHEL 5, to build the Open vSwitch kernel module, copy - rhel/kmodtool-openvswitch-el5.sh into the RPM source directory and - run: + If the build fails with "configure: error: source dir + /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist" or similar, + then the kernel-devel package is missing or buggy. Go back to step + 1 or 2 and fix the problem. - rpmbuild -bb --target=i686-unknown-linux \ - rhel/openvswitch-kmod-rhel5.spec +8. On RHEL 6, to build the Open vSwitch kernel module, copy + rhel/openvswitch-kmod.files into the RPM source directory and run: - You might have to specify a kernel version, e.g.: + rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec - rpmbuild -bb -D "kversion 2.6.18-238.12.1.el5" \ - --target=i686-unknown-linux \ - rhel/openvswitch-kmod-rhel5.spec + You might have to specify a kernel version and/or variants, e.g.: - This produces a "kmod-openvswitch" RPM for each kernel variant, - which is usually: "kmod-openvswitch", "kmod-openvswitch-xen", and - "kmod-openvswitch-PAE". + rpmbuild -bb \ + -D "kversion 2.6.32-131.6.1.el6.x86_64" \ + -D "kflavors default debug kdump" \ + rhel/openvswitch-kmod-rhel6.spec -5b. On RHEL 6, to build the Open vSwitch kernel module, run: + This produces an "kmod-openvswitch" RPM for each kernel variant, + in this example: "kmod-openvswitch", "kmod-openvswitch-debug", and + "kmod-openvswitch-kdump". - rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec +A RHEL host has default firewall rules that prevent any Open vSwitch tunnel +traffic from passing through. If a user configures Open vSwitch tunnels like +GRE, VXLAN, LISP etc., they will either have to manually add iptables firewall +rules to allow the tunnel traffic or add it through a startup script (Please +refer to the "enable-protocol" command in the ovs-ctl(8) manpage). + +Red Hat Network Scripts Integration +----------------------------------- - This produces an "kmod-openvswitch" RPM. +Simple integration with Red Hat network scripts has been implemented. +Please read rhel/README.RHEL in the source tree or +/usr/share/doc/openvswitch/README.RHEL in the installed openvswitch +package for details. Reporting Bugs --------------