#!/usr/bin/python
-# Copyright (c) 2013, 2014 Nicira, Inc.
+# Copyright (c) 2013, 2014, 2015 Nicira, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
ENV = os.environ
HOME = ENV["HOME"]
+PWD = os.getcwd()
OVS_SRC = HOME + "/ovs"
+if os.path.exists(PWD + "/WHY-OVS.md"):
+ OVS_SRC = PWD # Use current directory as OVS source tree
ROOT = HOME + "/root"
BUILD_GCC = OVS_SRC + "/_build-gcc"
BUILD_CLANG = OVS_SRC + "/_build-clang"
pass # Module isn't loaded
try:
- _sh("rm /lib/modules/%s/extra/openvswitch.ko" % uname())
+ _sh("rm -f /lib/modules/%s/extra/openvswitch.ko" % uname())
+ _sh("rm -f /lib/modules/%s/extra/vport-*.ko" % uname())
except subprocess.CalledProcessError, e:
pass # Module isn't installed
_sh("modprobe", "openvswitch")
_sh("dmesg | grep openvswitch | tail -1")
+ _sh("find /lib/modules/%s/ -iname vport-*.ko -exec insmod '{}' \;" % uname())
commands.append(modinst)
# Install the kernel module
sudo insmod %(ovs)s/datapath/linux/openvswitch.ko
+ # If needed, manually load all required vport modules:
+ sudo insmod %(ovs)s/datapath/linux/vport-vxlan.ko
+ sudo insmod %(ovs)s/datapath/linux/vport-geneve.ko
+ [...]
+
# Run the switch.
%(v)s run