]> git.proxmox.com Git - mirror_ovs.git/blame - INSTALL.RHEL
datapath: Read tcp flags only then the tranport header is present.
[mirror_ovs.git] / INSTALL.RHEL
CommitLineData
c434706a
BP
1 How to Install Open vSwitch on Red Hat Enterprise Linux
2 =======================================================
3
4This document describes how to build and install Open vSwitch on a Red
5Hat Enterprise Linux (RHEL) host. If you want to install Open vSwitch
f6eb6b20 6on a generic Linux host, see INSTALL instead.
c434706a
BP
7
8We have tested these instructions with RHEL 5.6 and RHEL 6.0.
9
10Building Open vSwitch for RHEL
11------------------------------
12
13You may build from an Open vSwitch distribution tarball or from an
14Open vSwitch Git tree.
15
16Before you begin, note the RPM source directory on your version of
17RHEL. On RHEL 5, the default RPM source directory is
18/usr/src/redhat/SOURCES. On RHEL 6, it is $HOME/rpmbuild/SOURCES.
19
6fdbeaa6
BP
201. If you are building from a distribution tarball, proceed to step 2.
21 Otherwise, if you are building from an Open vSwitch Git tree,
22 determine the version of Autoconf available in the RHEL version you
23 are using. If it is not at least version 2.64, then you have two
24 choices:
25
26 a. Install Autoconf 2.64 or later, one way or another.
27
28 b. Create a distribution tarball on some other machine, by
29 running "./boot.sh; ./configure; make dist" in the Git tree.
30 You must run this on a machine that has the tools listed in
31 INSTALL as prerequisites for building from a Git tree.
32 Afterward, proceed with the rest of the instructions using the
33 distribution tarball.
34
352. Install build prerequisites:
8f5cb995 36
deb64473
BP
37 yum install gcc make python-devel openssl-devel kernel-devel graphviz \
38 kernel-debug-devel autoconf automake rpm-build redhat-rpm-config \
39 libtool
8f5cb995 40
6fdbeaa6 413. Some versions of the RHEL 6 kernel-devel package contain a broken
8f5cb995
BP
42 "build" symlink. If you are using such a version, you must fix
43 the problem before continuing.
44
45 To find out whether you are affected, run:
46
47 cd /lib/modules/<version>
48 ls -l build/
49
50 where <version> is the version number of the RHEL 6 kernel. (The
51 trailing slash in the final command is important. Be sure to include
52 it.) If the "ls" command produces a directory listing, your
53 kernel-devel package is OK. If it produces a "No such file or
54 directory" error, your kernel-devel package is buggy.
55
56 If your kernel-devel package is buggy, then you can fix it with:
57
58 cd /lib/modules/<version>
59 rm build
60 ln -s /usr/src/kernels/<target> build
61
62 where <target> is the name of an existing directory under
63 /usr/src/kernels, whose name should be similar to <version> but may
64 contain some extra parts. Once you have done this, verify the fix with
65 the same procedure you used above to check for the problem.
66
6fdbeaa6 674. If you are building from an Open vSwitch Git tree, then you will
c434706a
BP
68 need to first create a distribution tarball by running "./boot.sh;
69 ./configure; make dist" in the Git tree.
70
6fdbeaa6 715. Copy the distribution tarball into the RPM source directory.
c434706a 72
6fdbeaa6 736. Unpack the distribution tarball into a temporary directory and "cd"
c434706a
BP
74 into the root of the distribution tarball.
75
6fdbeaa6 767. To build Open vSwitch userspace, run:
c434706a
BP
77
78 rpmbuild -bb rhel/openvswitch.spec
79
80 This produces two RPMs: "openvswitch" and "openvswitch-debuginfo".
81
8f5cb995
BP
82 If the build fails with "configure: error: source dir
83 /lib/modules/2.6.32-279.el6.x86_64/build doesn't exist" or similar,
84 then the kernel-devel package is missing or buggy. Go back to step
85 1 or 2 and fix the problem.
86
6fdbeaa6 878. On RHEL 6, to build the Open vSwitch kernel module, copy
9c12d2ec 88 rhel/openvswitch-kmod.files into the RPM source directory and run:
c434706a
BP
89
90 rpmbuild -bb rhel/openvswitch-kmod-rhel6.spec
91
6c9b8ee4
AF
92 You might have to specify a kernel version and/or variants, e.g.:
93
94 rpmbuild -bb \
95 -D "kversion 2.6.32-131.6.1.el6.x86_64" \
96 -D "kflavors default debug kdump" \
97 rhel/openvswitch-kmod-rhel6.spec
98
99 This produces an "kmod-openvswitch" RPM for each kernel variant,
100 in this example: "kmod-openvswitch", "kmod-openvswitch-debug", and
101 "kmod-openvswitch-kdump".
c434706a 102
f9ee9dcb
GS
103A RHEL host has default firewall rules that prevent any Open vSwitch tunnel
104traffic from passing through. If a user configures Open vSwitch tunnels like
105GRE, VXLAN, LISP etc., they will either have to manually add iptables firewall
106rules to allow the tunnel traffic or add it through a startup script (Please
107refer to the "enable-protocol" command in the ovs-ctl(8) manpage).
108
0fb42626
AF
109Red Hat Network Scripts Integration
110-----------------------------------
111
112Simple integration with Red Hat network scripts has been implemented.
113Please read rhel/README.RHEL in the source tree or
114/usr/share/doc/openvswitch/README.RHEL in the installed openvswitch
115package for details.
116
c434706a
BP
117Reporting Bugs
118--------------
119
120Please report problems to bugs@openvswitch.org.