X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=INSTALL.Linux;h=7cfba4098a3a0fd05c2d4d35628c3d879019cc08;hb=f40a9b61e2b758e60a38fc706d7d1253ef59a23d;hp=c3cf2f84d12733885a6915f5e64edeaeba0ecff4;hpb=6f4709828bed7b831015d6c22dcb209de02f7537;p=openvswitch diff --git a/INSTALL.Linux b/INSTALL.Linux index c3cf2f84..7cfba409 100644 --- a/INSTALL.Linux +++ b/INSTALL.Linux @@ -52,6 +52,9 @@ INSTALL.userspace for more information. be compiled with IPv6 support (CONFIG_IPV6). This allows for special handling (such as path MTU discovery) of IPv6 packets. + To use Open vSwitch support for TAP devices, you must enable + CONFIG_TUN. + - To build a kernel module, you need the same version of GCC that was used to build that kernel. @@ -78,6 +81,12 @@ following: - pyuic4 from PyQt4 (http://www.riverbankcomputing.co.uk). +If you modify the vswitchd database schema, then the E-R diagram in +the ovs-vswitchd.conf.db(5) manpage will be updated properly only if +you have the following: + + - "dot" from graphviz (http://www.graphviz.org/). + Installation Requirements ------------------------- @@ -100,6 +109,9 @@ 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 support TAP devices, +you must also ensure that /dev/net/tun exists. + To run the ovsdmonitor tool, the machine must also have the following software: @@ -180,6 +192,41 @@ 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. + If the "insmod" operation fails, look at the last few kernel log + messages (e.g. with "dmesg | tail"): + + - The message "openvswitch_mod: exports duplicate symbol + br_should_route_hook (owned by bridge)" means that the bridge + module is loaded. Run "/sbin/rmmod bridge" to remove it. + + If "/sbin/rmmod bridge" fails with "ERROR: Module bridge does + not exist in /proc/modules", then the bridge is compiled into + the kernel, rather than as a module. Open vSwitch does not + support this configuration (see "Build Requirements", above). + + - The message "openvswitch_mod: exports duplicate symbol + dp_ioctl_hook (owned by ofdatapath)" means that the ofdatapath + module from the OpenFlow reference implementation is loaded. + Run "/sbin/rmmod ofdatapath" to remove it. (You might have to + delete any existing datapaths beforehand, using the "dpctl" + program included with the OpenFlow reference implementation. + "ovs-dpctl" will not work.) + + - Otherwise, the most likely problem is that Open vSwitch was + built for a kernel different from the one into which you are + trying to load it. Run "modinfo" on openvswitch_mod.ko and on + a module built for the running kernel, e.g.: + + % /sbin/modinfo openvswitch_mod.ko + % /sbin/modinfo /lib/modules/`uname -r`/kernel/net/bridge/bridge.ko + + Compare the "vermagic" lines output by the two commands. If + they differ, then Open vSwitch was built for the wrong kernel. + + - If you decide to report a bug or ask a question related to + module loading, please include the output from the "dmesg" and + "modinfo" commands mentioned above. + 7. Initialize the configuration database using ovsdb-tool, e.g.: % ovsdb-tool create /usr/local/etc/ovs-vswitchd.conf.db vswitchd/vswitch.ovsschema @@ -188,17 +235,18 @@ 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.: +configuration database, ovsdb-server. Each machine on which Open +vSwitch is installed should run its own copy of 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 +Then initialize the database using ovs-vsctl. 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 + % ovs-vsctl --no-wait init Then start the main Open vSwitch daemon, telling it to connect to the same Unix domain socket: