From eaa3c7e88b315d1d018b702ed3b9bea768a966c5 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Fri, 11 Sep 2009 15:13:08 -0700 Subject: [PATCH] xenserver: Install into /usr instead of /root/vswitch. /usr is the standard location for installation, so use that instead of our nonstandard location under /root. This migrates everything except the kernel modules to /usr. The kernel modules will be migrated in an upcoming commit. One possibly surprising change is that the manpages listed in the %files section of vswitch-xen.spec not only moved but added .gz extensions. This seems to be because RPM automatically compresses manpages, but only if they are installed in a standard system location. --- xenserver/automake.mk | 4 +- xenserver/etc_init.d_vswitch | 15 +- xenserver/etc_init.d_vswitch-xapi-update | 1 - xenserver/etc_profile.d_vswitch.sh | 5 - .../etc_xapi.d_plugins_vswitch-cfg-update | 2 +- xenserver/etc_xensource_scripts_vif | 4 +- ...pt_xensource_libexec_interface-reconfigure | 2 +- ...xsconsole_plugins-base_XSFeatureVSwitch.py | 2 +- xenserver/usr_sbin_brctl | 2 +- xenserver/usr_sbin_xen-bugtool | 4 +- ...sr_share_vswitch_scripts_dump-vif-details} | 0 ..._share_vswitch_scripts_sysconfig.template} | 3 - xenserver/vswitch-xen.spec | 131 +++++++++--------- 13 files changed, 80 insertions(+), 95 deletions(-) rename xenserver/{root_vswitch_scripts_dump-vif-details => usr_share_vswitch_scripts_dump-vif-details} (100%) rename xenserver/{root_vswitch_scripts_sysconfig.template => usr_share_vswitch_scripts_sysconfig.template} (98%) diff --git a/xenserver/automake.mk b/xenserver/automake.mk index deb79bc8..32754341 100644 --- a/xenserver/automake.mk +++ b/xenserver/automake.mk @@ -14,9 +14,9 @@ EXTRA_DIST += \ xenserver/etc_xapi.d_plugins_vswitch-cfg-update \ xenserver/etc_xensource_scripts_vif \ xenserver/opt_xensource_libexec_interface-reconfigure \ - xenserver/root_vswitch_scripts_sysconfig.template \ - xenserver/root_vswitch_scripts_dump-vif-details \ xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \ xenserver/usr_sbin_brctl \ xenserver/usr_sbin_xen-bugtool \ + xenserver/usr_share_vswitch_scripts_sysconfig.template \ + xenserver/usr_share_vswitch_scripts_dump-vif-details \ xenserver/vswitch-xen.spec diff --git a/xenserver/etc_init.d_vswitch b/xenserver/etc_init.d_vswitch index 3cfdd5f0..a8907c23 100755 --- a/xenserver/etc_init.d_vswitch +++ b/xenserver/etc_init.d_vswitch @@ -24,7 +24,6 @@ test -e /etc/sysconfig/vswitch && . /etc/sysconfig/vswitch # General config variables in /etc/sysconfig/vswitch -: ${VSWITCH_BASE:=/root/vswitch} : ${ENABLE_BRCOMPAT:=y} : ${ENABLE_FAKE_PROC_NET:=y} : ${FORCE_COREFILES:=y} @@ -57,11 +56,11 @@ test -e /etc/sysconfig/vswitch && . /etc/sysconfig/vswitch : ${BRCOMPATD_VALGRIND_OPT:=} # Full paths to executables & modules -vswitchd="$VSWITCH_BASE/sbin/ovs-vswitchd" -brcompatd="$VSWITCH_BASE/sbin/ovs-brcompatd" -dpctl="$VSWITCH_BASE/bin/ovs-dpctl" -appctl="$VSWITCH_BASE/bin/ovs-appctl" -ofctl="$VSWITCH_BASE/bin/ovs-ofctl" +vswitchd="/usr/sbin/ovs-vswitchd" +brcompatd="/usr/sbin/ovs-brcompatd" +dpctl="/usr/bin/ovs-dpctl" +appctl="/usr/bin/ovs-appctl" +ofctl="/usr/bin/ovs-ofctl" if [ "$ENABLE_FAKE_PROC_NET" = "y" ]; then @@ -303,8 +302,8 @@ case "$1" in status -p ovs-brcompatd.pid ovs-brcompatd ;; version) - "$VSWITCH_BASE"/sbin/ovs-vswitchd -V - "$VSWITCH_BASE"/sbin/ovs-brcompatd -V + /usr/sbin/ovs-vswitchd -V + /usr/sbin/ovs-brcompatd -V ;; help) printf "vswitch [start|stop|restart|reload|unload|status|version]\n" diff --git a/xenserver/etc_init.d_vswitch-xapi-update b/xenserver/etc_init.d_vswitch-xapi-update index ef9bb881..1aa5646d 100755 --- a/xenserver/etc_init.d_vswitch-xapi-update +++ b/xenserver/etc_init.d_vswitch-xapi-update @@ -22,7 +22,6 @@ . /etc/init.d/functions test -e /etc/sysconfig/vswitch && . /etc/sysconfig/vswitch -: ${VSWITCH_BASE:=/root/vswitch} : ${VSWITCHD_CONF:=/etc/ovs-vswitchd.conf} : ${VSWITCHD_PIDFILE:=/var/run/ovs-vswitchd.pid} : ${VSWITCHD_PRIORITY:=-5} diff --git a/xenserver/etc_profile.d_vswitch.sh b/xenserver/etc_profile.d_vswitch.sh index 90927547..527bfcf9 100644 --- a/xenserver/etc_profile.d_vswitch.sh +++ b/xenserver/etc_profile.d_vswitch.sh @@ -5,11 +5,6 @@ # notice and this notice are preserved. This file is offered as-is, # without warranty of any kind. -PATH=/root/vswitch/bin:$PATH -export PATH -MANPATH=/root/vswitch/share/man:$MANPATH -export MANPATH - alias vswitch='service vswitch' function watchconf { diff --git a/xenserver/etc_xapi.d_plugins_vswitch-cfg-update b/xenserver/etc_xapi.d_plugins_vswitch-cfg-update index ce407ad1..536a2f32 100755 --- a/xenserver/etc_xapi.d_plugins_vswitch-cfg-update +++ b/xenserver/etc_xapi.d_plugins_vswitch-cfg-update @@ -30,7 +30,7 @@ import XenAPI import os import subprocess -cfg_mod="/root/vswitch/bin/ovs-cfg-mod" +cfg_mod="/usr/bin/ovs-cfg-mod" vswitchd_cfg_filename="/etc/ovs-vswitchd.conf" cacert_filename="/etc/ovs-vswitchd.cacert" diff --git a/xenserver/etc_xensource_scripts_vif b/xenserver/etc_xensource_scripts_vif index 8217fb00..04aa2bb0 100755 --- a/xenserver/etc_xensource_scripts_vif +++ b/xenserver/etc_xensource_scripts_vif @@ -11,8 +11,8 @@ # Keep other-config/ keys in sync with device.ml:vif_udev_keys -cfg_mod="/root/vswitch/bin/ovs-cfg-mod" -dump_vif_details="/root/vswitch/scripts/dump-vif-details" +cfg_mod="/usr/bin/ovs-cfg-mod" +dump_vif_details="/usr/share/vswitch/scripts/dump-vif-details" service="/sbin/service" TYPE=`echo ${XENBUS_PATH} | cut -f 2 -d '/'` diff --git a/xenserver/opt_xensource_libexec_interface-reconfigure b/xenserver/opt_xensource_libexec_interface-reconfigure index 70749b8a..13c68884 100755 --- a/xenserver/opt_xensource_libexec_interface-reconfigure +++ b/xenserver/opt_xensource_libexec_interface-reconfigure @@ -1031,7 +1031,7 @@ def configure_physdev(pif): run_ethtool(device, oc) def modify_config(commands): - run_command(['/root/vswitch/bin/ovs-cfg-mod', '-vANY:console:emer', + run_command(['/usr/bin/ovs-cfg-mod', '-vANY:console:emer', '-F', '/etc/ovs-vswitchd.conf'] + commands + ['-c']) run_command(['/sbin/service', 'vswitch', 'reload']) diff --git a/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py b/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py index dbd00a45..f3d9bf34 100644 --- a/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py +++ b/xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py @@ -15,7 +15,7 @@ import os import socket import subprocess -cfg_mod="/root/vswitch/bin/ovs-cfg-mod" +cfg_mod="/usr/bin/ovs-cfg-mod" vswitchd_cfg_filename="/etc/ovs-vswitchd.conf" if __name__ == "__main__": diff --git a/xenserver/usr_sbin_brctl b/xenserver/usr_sbin_brctl index b97b0786..16242c0d 100755 --- a/xenserver/usr_sbin_brctl +++ b/xenserver/usr_sbin_brctl @@ -22,7 +22,7 @@ import sys argv0 = sys.argv[0] -BRCTL = "/root/vswitch/xs-original/brctl" +BRCTL = "/usr/lib/vswitch/xs-original/brctl" VSWITCHD_CONF = "/etc/ovs-vswitchd.conf" # Execute the real brctl program, passing the same arguments that were passed diff --git a/xenserver/usr_sbin_xen-bugtool b/xenserver/usr_sbin_xen-bugtool index 0c976010..13a1c2f9 100755 --- a/xenserver/usr_sbin_xen-bugtool +++ b/xenserver/usr_sbin_xen-bugtool @@ -195,8 +195,8 @@ MD5SUM = '/usr/bin/md5sum' MULTIPATHD = '/sbin/multipathd' NETSTAT = '/bin/netstat' OMREPORT = '/opt/dell/srvadmin/oma/bin/omreport' -OVS_DPCTL = '/root/vswitch/bin/ovs-dpctl' -OVS_OFCTL = '/root/vswitch/bin/ovs-ofctl' +OVS_DPCTL = '/usr/bin/ovs-dpctl' +OVS_OFCTL = '/usr/bin/ovs-ofctl' PS = '/bin/ps' PVS = '/usr/sbin/pvs' ROUTE = '/sbin/route' diff --git a/xenserver/root_vswitch_scripts_dump-vif-details b/xenserver/usr_share_vswitch_scripts_dump-vif-details similarity index 100% rename from xenserver/root_vswitch_scripts_dump-vif-details rename to xenserver/usr_share_vswitch_scripts_dump-vif-details diff --git a/xenserver/root_vswitch_scripts_sysconfig.template b/xenserver/usr_share_vswitch_scripts_sysconfig.template similarity index 98% rename from xenserver/root_vswitch_scripts_sysconfig.template rename to xenserver/usr_share_vswitch_scripts_sysconfig.template index f848e7b4..32094773 100644 --- a/xenserver/root_vswitch_scripts_sysconfig.template +++ b/xenserver/usr_share_vswitch_scripts_sysconfig.template @@ -7,9 +7,6 @@ # notice and this notice are preserved. This file is offered as-is, # without warranty of any kind. -# VSWITCH_BASE: Root directory where vswitch binaries are installed -# VSWITCH_BASE=/root/vswitch/openvswitch/build - # ENABLE_BRCOMPAT: If 'y' than emulate linux bridging interfaces # using the brcompat kernel module and ovs-brcompatd daemon # ENABLE_BRCOMPAT=y diff --git a/xenserver/vswitch-xen.spec b/xenserver/vswitch-xen.spec index 6a218ab6..7f1ed409 100644 --- a/xenserver/vswitch-xen.spec +++ b/xenserver/vswitch-xen.spec @@ -14,7 +14,6 @@ # rpmbuild -D "vswitch_version 0.8.9~1+build123" -D "xen_version 2.6.18-128.1.1.el5.xs5.1.0.483.1000xen" -D "build_number --with-build-number=123" -bb /usr/src/redhat/SPECS/vswitch-xen.spec # %define version %{vswitch_version}-%{xen_version} -%define _prefix /root/vswitch Name: vswitch Summary: Virtual switch @@ -45,12 +44,12 @@ traffic. %setup -q -n openvswitch-%{vswitch_version} %build -./configure --prefix=%{_prefix} --localstatedir=%{_localstatedir} --with-l26=/lib/modules/%{xen_version}/build --enable-ssl %{build_number} +./configure --prefix=/usr --localstatedir=%{_localstatedir} --with-l26=/lib/modules/%{xen_version}/build --enable-ssl %{build_number} make %{_smp_mflags} %install rm -rf $RPM_BUILD_ROOT -make install DESTDIR=$RPM_BUILD_ROOT prefix=%{_prefix} +make install DESTDIR=$RPM_BUILD_ROOT install -d -m 755 $RPM_BUILD_ROOT/etc install -d -m 755 $RPM_BUILD_ROOT/etc/init.d install -m 755 xenserver/etc_init.d_vswitch \ @@ -67,44 +66,43 @@ install -m 755 xenserver/etc_profile.d_vswitch.sh \ install -d -m 755 $RPM_BUILD_ROOT/etc/xapi.d/plugins install -m 755 xenserver/etc_xapi.d_plugins_vswitch-cfg-update \ $RPM_BUILD_ROOT/etc/xapi.d/plugins/vswitch-cfg-update -install -d -m 755 $RPM_BUILD_ROOT%{_prefix}/scripts +install -d -m 755 $RPM_BUILD_ROOT/usr/share/vswitch/scripts install -m 755 xenserver/opt_xensource_libexec_interface-reconfigure \ - $RPM_BUILD_ROOT%{_prefix}/scripts/interface-reconfigure + $RPM_BUILD_ROOT/usr/share/vswitch/scripts/interface-reconfigure install -m 755 xenserver/etc_xensource_scripts_vif \ - $RPM_BUILD_ROOT%{_prefix}/scripts/vif -install -m 755 xenserver/root_vswitch_scripts_dump-vif-details \ - $RPM_BUILD_ROOT%{_prefix}/scripts/dump-vif-details + $RPM_BUILD_ROOT/usr/share/vswitch/scripts/vif +install -m 755 xenserver/usr_share_vswitch_scripts_dump-vif-details \ + $RPM_BUILD_ROOT/usr/share/vswitch/scripts/dump-vif-details install -m 755 xenserver/usr_sbin_xen-bugtool \ - $RPM_BUILD_ROOT%{_prefix}/scripts/xen-bugtool + $RPM_BUILD_ROOT/usr/share/vswitch/scripts/xen-bugtool install -m 755 xenserver/usr_sbin_brctl \ - $RPM_BUILD_ROOT%{_prefix}/scripts/brctl -install -m 755 xenserver/root_vswitch_scripts_sysconfig.template \ - $RPM_BUILD_ROOT/root/vswitch/scripts/sysconfig.template + $RPM_BUILD_ROOT/usr/share/vswitch/scripts/brctl +install -m 755 xenserver/usr_share_vswitch_scripts_sysconfig.template \ + $RPM_BUILD_ROOT/usr/share/vswitch/scripts/sysconfig.template install -m 644 \ xenserver/usr_lib_xsconsole_plugins-base_XSFeatureVSwitch.py \ - $RPM_BUILD_ROOT%{_prefix}/scripts/XSFeatureVSwitch.py + $RPM_BUILD_ROOT/usr/share/vswitch/scripts/XSFeatureVSwitch.py -install -d -m 755 $RPM_BUILD_ROOT%{_prefix}/kernel_modules -find datapath/linux-2.6 -name *.ko -exec install -m 755 \{\} $RPM_BUILD_ROOT%{_prefix}/kernel_modules/ \; +install -d -m 755 $RPM_BUILD_ROOT/root/vswitch/kernel_modules +find datapath/linux-2.6 -name *.ko -exec install -m 755 \{\} $RPM_BUILD_ROOT/root/vswitch/kernel_modules/ \; # Get rid of stuff we don't want to make RPM happy. -rm -rf \ - $RPM_BUILD_ROOT/root/vswitch/bin/ezio-term \ - $RPM_BUILD_ROOT/root/vswitch/bin/ovs-controller \ - $RPM_BUILD_ROOT/root/vswitch/bin/ovs-discover \ - $RPM_BUILD_ROOT/root/vswitch/bin/ovs-kill \ - $RPM_BUILD_ROOT/root/vswitch/bin/ovs-openflowd \ - $RPM_BUILD_ROOT/root/vswitch/bin/ovs-pki \ - $RPM_BUILD_ROOT/root/vswitch/bin/ovs-switchui \ - $RPM_BUILD_ROOT/root/vswitch/bin/ovs-wdt \ - $RPM_BUILD_ROOT/root/vswitch/kernel_modules/veth_mod.ko \ - $RPM_BUILD_ROOT/root/vswitch/sbin/ovs-monitor \ - $RPM_BUILD_ROOT/root/vswitch/share/man/man8/ovs-controller.8 \ - $RPM_BUILD_ROOT/root/vswitch/share/man/man8/ovs-discover.8 \ - $RPM_BUILD_ROOT/root/vswitch/share/man/man8/ovs-kill.8 \ - $RPM_BUILD_ROOT/root/vswitch/share/man/man8/ovs-openflowd.8 \ - $RPM_BUILD_ROOT/root/vswitch/share/man/man8/ovs-pki.8 \ - $RPM_BUILD_ROOT/root/vswitch/share/openvswitch +rm \ + $RPM_BUILD_ROOT/usr/bin/ovs-controller \ + $RPM_BUILD_ROOT/usr/bin/ovs-discover \ + $RPM_BUILD_ROOT/usr/bin/ovs-kill \ + $RPM_BUILD_ROOT/usr/bin/ovs-openflowd \ + $RPM_BUILD_ROOT/usr/bin/ovs-pki \ + $RPM_BUILD_ROOT/usr/bin/ovs-wdt \ + $RPM_BUILD_ROOT/usr/sbin/ovs-monitor \ + $RPM_BUILD_ROOT/usr/share/man/man8/ovs-controller.8 \ + $RPM_BUILD_ROOT/usr/share/man/man8/ovs-discover.8 \ + $RPM_BUILD_ROOT/usr/share/man/man8/ovs-kill.8 \ + $RPM_BUILD_ROOT/usr/share/man/man8/ovs-openflowd.8 \ + $RPM_BUILD_ROOT/usr/share/man/man8/ovs-pki.8 +rm -f $RPM_BUILD_ROOT/root/vswitch/kernel_modules/veth_mod.ko +rm -r \ + $RPM_BUILD_ROOT/usr/share/openvswitch/commands install -d -m 755 $RPM_BUILD_ROOT/var/lib/openvswitch @@ -157,7 +155,7 @@ if test ! -e /var/lib/openvswitch/dbcache; then printf "Re-creating xapi database cache... " fi - if /root/vswitch/scripts/interface-reconfigure init-dbcache; then + if /usr/share/vswitch/scripts/interface-reconfigure init-dbcache; then printf "done.\n" else printf "FAILED\n" @@ -188,7 +186,7 @@ touch /etc/ovs-vswitchd.conf # Create default or update existing /etc/sysconfig/vswitch. SYSCONFIG=/etc/sysconfig/vswitch -TEMPLATE=/root/vswitch/scripts/sysconfig.template +TEMPLATE=/usr/share/vswitch/scripts/sysconfig.template if [ ! -e $SYSCONFIG ]; then cp $TEMPLATE $SYSCONFIG else @@ -202,7 +200,7 @@ else fi # Replace XenServer files by our versions. -mkdir -p %{_prefix}/xs-original \ +mkdir -p /usr/lib/vswitch/xs-original \ || printf "Could not create script backup directory.\n" for f in \ /opt/xensource/libexec/interface-reconfigure \ @@ -212,19 +210,19 @@ for f in \ do s=$(basename "$f") t=$(readlink "$f") - if [ "$t" != "%{_prefix}/scripts/$s" ]; then - mv "$f" %{_prefix}/xs-original/ \ + if [ "$t" != "/usr/share/vswitch/scripts/$s" ]; then + mv "$f" /usr/lib/vswitch/xs-original/ \ || printf "Could not save original XenServer $s script\n" - ln -s "%{_prefix}/scripts/$s" "$f" \ + ln -s "/usr/share/vswitch/scripts/$s" "$f" \ || printf "Could not link to vSwitch $s script\n" fi done # Install xsconsole plugin plugin=$(readlink /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py) -if [ "$plugin" != "/root/vswitch/scripts/XSFeatureVSwitch.py" ]; then +if [ "$plugin" != "/usr/share/vswitch/scripts/XSFeatureVSwitch.py" ]; then rm -f /usr/lib/xsconsole/plugins-base/XSFeatureVSwitch.py - ln -s /root/vswitch/scripts/XSFeatureVSwitch.py /usr/lib/xsconsole/plugins-base/ || printf "Could not link to vSswitch xsconsole plugin.\n" + ln -s /usr/share/vswitch/scripts/XSFeatureVSwitch.py /usr/lib/xsconsole/plugins-base/ || printf "Could not link to vSswitch xsconsole plugin.\n" fi # Ensure all required services are set to run @@ -270,19 +268,16 @@ if [ "$1" = "0" ]; then # $1 = 1 for upgrade /usr/sbin/brctl do s=$(basename "$f") - if [ ! -f "%{_prefix}/xs-original/$s" ]; then - printf "Original XenServer $s script not present in %{_prefix}/xs-original\n" + if [ ! -f "/usr/lib/vswitch/xs-original/$s" ]; then + printf "Original XenServer $s script not present in /usr/lib/vswitch/xs-original\n" printf "Could not restore original XenServer script.\n" else (rm -f "$f" \ - && mv "%{_prefix}/xs-original/$s" "$f") \ + && mv "/usr/lib/vswitch/xs-original/$s" "$f") \ || printf "Could not restore original XenServer $s script.\n" fi done - find %{_prefix} -type d -depth -exec rmdir \{\} \; \ - || printf "Could not remove vSwitch install directory.\n" - # Remove all configuration files rm -f /etc/ovs-vswitchd.conf rm -f /etc/sysconfig/vswitch @@ -304,31 +299,31 @@ fi /etc/profile.d/vswitch.sh /root/vswitch/kernel_modules/brcompat_mod.ko /root/vswitch/kernel_modules/openvswitch_mod.ko -/root/vswitch/scripts/dump-vif-details -/root/vswitch/scripts/interface-reconfigure -/root/vswitch/scripts/vif -/root/vswitch/scripts/xen-bugtool -/root/vswitch/scripts/XSFeatureVSwitch.py -/root/vswitch/scripts/brctl -/root/vswitch/scripts/sysconfig.template +/usr/share/vswitch/scripts/dump-vif-details +/usr/share/vswitch/scripts/interface-reconfigure +/usr/share/vswitch/scripts/vif +/usr/share/vswitch/scripts/xen-bugtool +/usr/share/vswitch/scripts/XSFeatureVSwitch.py +/usr/share/vswitch/scripts/brctl +/usr/share/vswitch/scripts/sysconfig.template # Following two files are generated automatically by rpm. We don't # really need them and they won't be used on the XenServer, but there # isn't an obvious place to get rid of them since they are generated # after the install script runs. Since they are small, we just # include them. -/root/vswitch/scripts/XSFeatureVSwitch.pyc -/root/vswitch/scripts/XSFeatureVSwitch.pyo -/root/vswitch/sbin/ovs-brcompatd -/root/vswitch/sbin/ovs-vswitchd -/root/vswitch/bin/ovs-appctl -/root/vswitch/bin/ovs-cfg-mod -/root/vswitch/bin/ovs-dpctl -/root/vswitch/bin/ovs-ofctl -/root/vswitch/share/man/man5/ovs-vswitchd.conf.5 -/root/vswitch/share/man/man8/ovs-appctl.8 -/root/vswitch/share/man/man8/ovs-brcompatd.8 -/root/vswitch/share/man/man8/ovs-cfg-mod.8 -/root/vswitch/share/man/man8/ovs-dpctl.8 -/root/vswitch/share/man/man8/ovs-ofctl.8 -/root/vswitch/share/man/man8/ovs-vswitchd.8 +/usr/share/vswitch/scripts/XSFeatureVSwitch.pyc +/usr/share/vswitch/scripts/XSFeatureVSwitch.pyo +/usr/sbin/ovs-brcompatd +/usr/sbin/ovs-vswitchd +/usr/bin/ovs-appctl +/usr/bin/ovs-cfg-mod +/usr/bin/ovs-dpctl +/usr/bin/ovs-ofctl +/usr/share/man/man5/ovs-vswitchd.conf.5.gz +/usr/share/man/man8/ovs-appctl.8.gz +/usr/share/man/man8/ovs-brcompatd.8.gz +/usr/share/man/man8/ovs-cfg-mod.8.gz +/usr/share/man/man8/ovs-dpctl.8.gz +/usr/share/man/man8/ovs-ofctl.8.gz +/usr/share/man/man8/ovs-vswitchd.8.gz /var/lib/openvswitch -- 2.30.2