X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=INSTALL.Linux;h=014e3ac09cba5e0f005ec7b1b8799931e3d04183;hb=6e8e271c0dc5e931d64436dea6643eb25527b1d0;hp=9767f99bb3727f36398d30752a90eee84b0b0661;hpb=576e26d7b47f4e53116ef0b5f035d260f426d37b;p=sliver-openvswitch.git diff --git a/INSTALL.Linux b/INSTALL.Linux index 9767f99bb..014e3ac09 100644 --- a/INSTALL.Linux +++ b/INSTALL.Linux @@ -27,8 +27,11 @@ you will need the following software: connections from an Open vSwitch to an OpenFlow controller. To enable, configure with --enable-ssl=yes. -To compile the kernel module (which is required for operation), you -must also install the following: +To compile the kernel module, you must also install the following. If +you cannot build or install the kernel module, you may use the +userspace-only implementation, at a cost in performance. The +userspace implementation may also lack some features. Refer to +INSTALL.userspace for more information. - A supported Linux kernel version. Please refer to README for a list of supported versions. @@ -45,6 +48,10 @@ must also install the following: and NET_ACT_POLICE, either built-in or as modules. (NET_CLS_POLICE is obsolete and not needed.) + If GRE tunneling is being used it is recommended that the kernel + be compiled with IPv6 support (CONFIG_IPV6). This allows for + special handling (such as path MTU discovery) of IPv6 packets. + - To build a kernel module, you need the same version of GCC that was used to build that kernel. @@ -58,12 +65,19 @@ If you are working from a Git tree or snapshot (instead of from a distribution tarball), or if you modify the Open vSwitch build system, you will also need the following software: - - Autoconf version 2.60 or later. + - Autoconf version 2.64 or later. - Automake version 1.10 or later. - pkg-config. We test with version 0.22. + - Python 2.x, for x >= 4. + +If you modify the ovsdbmonitor tool, then you will also need the +following: + + - pyuic4 from PyQt4 (http://www.riverbankcomputing.co.uk). + Installation Requirements ------------------------- @@ -86,13 +100,36 @@ following software: if it is installed in a different location, then some Open vSwitch log messages will not be as detailed. +You should ensure that /dev/urandom exists. + +To run the ovsdmonitor tool, the machine must also have the following +software: + + - Python 2.x, for x >= 4. + + - Python Twisted Conch. + + - Python JSON. + + - PySide or PyQt4. + + - Python Zope interface module. + +(On Debian "lenny" the above can be installed with "apt-get install +python-json python-qt4 python-zopeinterface python-twisted-conch".) + Building and Installing Open vSwitch for Linux ============================================== Once you have installed all the prerequisites listed above in the Base Prerequisites section, follow the procedure below to build. -1. In the top source directory, configure the package by running the +1. If you pulled the sources directly from an Open vSwitch Git tree, + run boot.sh in the top source directory: + + % ./boot.sh + +2. In the top source directory, configure the package by running the configure script. You can usually invoke configure without any arguments: @@ -128,16 +165,16 @@ Prerequisites section, follow the procedure below to build. additional environment variables. For a full list, invoke configure with the --help option. -2. Run make in the top source directory: +3. Run make in the top source directory: % make -3. Become root by running "su" or another program. +4. Become root by running "su" or another program. -4. Run "make install" to install the executables and manpages into the +5. Run "make install" to install the executables and manpages into the running system, by default under /usr/local. -5. If you built kernel modules, you may load them with "insmod", e.g.: +6. If you built kernel modules, you may load them with "insmod", e.g.: % insmod datapath/linux-2.6/openvswitch_mod.ko @@ -145,25 +182,40 @@ Prerequisites section, follow the procedure below to build. To verify that the modules have been loaded, run "/sbin/lsmod" and check that openvswitch_mod is listed. -Configuration -============= +7. Initialize the configuration database using ovsdb-tool, e.g.: + + % ovsdb-tool create /usr/local/etc/ovs-vswitchd.conf.db vswitchd/vswitch.ovsschema + +Startup +======= + +Before starting ovs-vswitchd itself, you need to start its +configuration database, ovsdb-server. Configure it to use the +database you created during step 7 of installation, above, and to +listen on a Unix domain socket, e.g.: + + % ovsdb-server /usr/local/etc/ovs-vswitchd.conf.db --remote=punix:/usr/local/var/run/openvswitch/db.sock + +Then initialize the database with "ovs-vsctl init". This is only +necessary the first time after you create the database with +ovsdb-tool (but running it at any time is harmless): + + % ovs-vsctl init + +Then start the main Open vSwitch daemon, telling it to connect to the +same Unix domain socket: -Open vSwitch is configured primarily through a configuration file, -whose name is specified on the ovs-vswitchd command line. Please -refer to ovs-vswitchd(8) and ovs-vswitchd.conf(5) for information on -how to start ovs-vswitchd and the syntax of its configuration file, -respectively. + % ovs-vswitchd unix:/usr/local/var/run/openvswitch/db.sock -At runtime, you may make ovs-vswitchd reload its configuration file -and update its configuration accordingly by sending it a SIGHUP -signal. The ovs-appctl utility can also be used to do this with a -command such as: +Now you may use ovs-vsctl to set up bridges and other Open vSwitch +features. For example, to create a bridge named br0 and add ports +eth0 and vif1.0 to it: - % ovs-appctl -t -e vswitchd/reload + % ovs-vsctl add-br br0 + % ovs-vsctl add-port br0 eth0 + % ovs-vsctl add-port br0 vif1.0 -where is ovs-vswitchd's process ID. In the latter case, -ovs-appctl will not exit until the reload and reconfiguration is -complete. +Please refer to ovs-vsctl(8) for more details. Bug Reporting -------------