From b8d24cc8a86be46caad00fdae96ff479a64d9b64 Mon Sep 17 00:00:00 2001 From: Stephen Finucane Date: Wed, 21 Dec 2016 20:39:53 +0000 Subject: [PATCH] doc: Misc Windows doc formatting fixes There are a couple of minor issues with this document: - Some commands intended to be run in the MinGW shell are prefixed with '>', suggesting they are in fact PowerShell commands - PowerShell syntax highlighting is not enabled - Indentation is off for a couple of blocks Resolve all of these through use of the 'code-block' element and a lot of random fixes. Signed-off-by: Stephen Finucane Signed-off-by: Ben Pfaff --- Documentation/intro/install/windows.rst | 496 ++++++++++++++---------- 1 file changed, 294 insertions(+), 202 deletions(-) diff --git a/Documentation/intro/install/windows.rst b/Documentation/intro/install/windows.rst index 6d65f062d..1ba9b63f3 100644 --- a/Documentation/intro/install/windows.rst +++ b/Documentation/intro/install/windows.rst @@ -94,7 +94,7 @@ The following explains the steps in some detail. directory (e.g.: ``C:/pthread``). You should add the pthread-win32's dll path (e.g.: ``C:\pthread\dll\x86``) to the Windows' PATH environment variable. -- OpenSSQL +- OpenSSL To get SSL support for Open vSwitch on Windows, you will need to install `OpenSSL for Windows `__ @@ -102,6 +102,13 @@ The following explains the steps in some detail. Note down the directory where OpenSSL is installed (e.g.: ``C:/OpenSSL-Win32``) for later use. +.. note:: + + Commands prefixed by ``$`` must be run in the Bash shell provided by MinGW. + Open vSwitch commands, such as ``ovs-dpctl`` are shown running under + PowerShell (``>`` prefix) but will also run under Bash. The remainder, + prefixed by ``>``, are PowerShell commands and must be run in PowerShell. + Install Requirements -------------------- @@ -123,9 +130,11 @@ Bootstrapping This step is not needed if you have downloaded a released tarball. If you pulled the sources directly from an Open vSwitch Git tree or got a Git tree snapshot, then run boot.sh in the top source directory to build -the "configure" script:: +the "configure" script: + +.. code-block:: bash - > ./boot.sh + $ ./boot.sh .. _windows-configuring: @@ -134,45 +143,53 @@ Configuring Configure the package by running the configure script. You should provide some configure options to choose the right compiler, linker, libraries, Open vSwitch -component installation directories, etc. For example:: +component installation directories, etc. For example: - > ./configure CC=./build-aux/cccl LD="$(which link)" \ - LIBS="-lws2_32 -liphlpapi -lwbemuuid -lole32 -loleaut32" \ - --prefix="C:/openvswitch/usr" \ - --localstatedir="C:/openvswitch/var" \ - --sysconfdir="C:/openvswitch/etc" \ - --with-pthread="C:/pthread" +.. code-block:: bash + + $ ./configure CC=./build-aux/cccl LD="$(which link)" \ + LIBS="-lws2_32 -liphlpapi -lwbemuuid -lole32 -loleaut32" \ + --prefix="C:/openvswitch/usr" \ + --localstatedir="C:/openvswitch/var" \ + --sysconfdir="C:/openvswitch/etc" \ + --with-pthread="C:/pthread" .. note:: - By default, the above enables compiler optimization for fast code. For - default compiler optimization, pass the ``--with-debug`` configure option. - -To configure with SSL support, add the requisite additional options:: - - > ./configure CC=./build-aux/cccl LD="`which link`" \ - LIBS="-lws2_32 -liphlpapi -lwbemuuid -lole32 -loleaut32" \ - --prefix="C:/openvswitch/usr" \ - --localstatedir="C:/openvswitch/var" - --sysconfdir="C:/openvswitch/etc" \ - --with-pthread="C:/pthread" \ - --enable-ssl --with-openssl="C:/OpenSSL-Win32" - -Finally, to the kernel module also:: - - > ./configure CC=./build-aux/cccl LD="`which link`" \ - LIBS="-lws2_32 -liphlpapi -lwbemuuid -lole32 -loleaut32" \ - --prefix="C:/openvswitch/usr" \ - --localstatedir="C:/openvswitch/var" \ - --sysconfdir="C:/openvswitch/etc" \ - --with-pthread="C:/pthread" \ - --enable-ssl --with-openssl="C:/OpenSSL-Win32" \ - --with-vstudiotarget="" + + By default, the above enables compiler optimization for fast code. For + default compiler optimization, pass the ``--with-debug`` configure option. + +To configure with SSL support, add the requisite additional options: + +.. code-block:: bash + + $ ./configure CC=./build-aux/cccl LD="`which link`" \ + LIBS="-lws2_32 -liphlpapi -lwbemuuid -lole32 -loleaut32" \ + --prefix="C:/openvswitch/usr" \ + --localstatedir="C:/openvswitch/var" + --sysconfdir="C:/openvswitch/etc" \ + --with-pthread="C:/pthread" \ + --enable-ssl --with-openssl="C:/OpenSSL-Win32" + +Finally, to the kernel module also: + +.. code-block:: bash + + $ ./configure CC=./build-aux/cccl LD="`which link`" \ + LIBS="-lws2_32 -liphlpapi -lwbemuuid -lole32 -loleaut32" \ + --prefix="C:/openvswitch/usr" \ + --localstatedir="C:/openvswitch/var" \ + --sysconfdir="C:/openvswitch/etc" \ + --with-pthread="C:/pthread" \ + --enable-ssl --with-openssl="C:/OpenSSL-Win32" \ + --with-vstudiotarget="" Possible values for ```` are: ``Debug`` and ``Release`` .. note:: - You can directly use the Visual Studio 2013 IDE to compile the kernel - datapath. Open the ovsext.sln file in the IDE and build the solution. + + You can directly use the Visual Studio 2013 IDE to compile the kernel + datapath. Open the ovsext.sln file in the IDE and build the solution. Refer to :doc:`general` for information on additional configuration options. @@ -184,39 +201,49 @@ Building Once correctly configured, building Open vSwitch on Windows is similar to building on Linux, FreeBSD, or NetBSD. -#. Run make for the ported executables in the top source directory, e.g.:: +#. Run make for the ported executables in the top source directory, e.g.: + + .. code-block:: bash - > make + $ make For faster compilation, you can pass the ``-j`` argument to make. For example, to run 4 jobs simultaneously, run ``make -j4``. .. note:: - MSYS 1.0.18 has a bug that causes parallel make to hang. You can overcome - this by downgrading to MSYS 1.0.17. A simple way to downgrade is to exit - all MinGW sessions and then run the below command from MSVC developers - command prompt.:: + MSYS 1.0.18 has a bug that causes parallel make to hang. You can overcome + this by downgrading to MSYS 1.0.17. A simple way to downgrade is to exit + all MinGW sessions and then run the below command from MSVC developers + command prompt.: + + .. code-block:: doscon > mingw-get upgrade msys-core-bin=1.0.17-1 -#. To run all the unit tests in Open vSwitch, one at a time:: +#. To run all the unit tests in Open vSwitch, one at a time: + + .. code-block:: bash - > make check + $ make check - To run all the unit tests in Open vSwitch, up to 8 in parallel:: + To run all the unit tests in Open vSwitch, up to 8 in parallel: - > make check TESTSUITEFLAGS="-j8" + .. code-block:: bash -#. To install all the compiled executables on the local machine, run:: + $ make check TESTSUITEFLAGS="-j8" - > make install +#. To install all the compiled executables on the local machine, run: + + .. code-block:: bash + + $ make install .. note:: - This will install the Open vSwitch executables in ``C:/openvswitch``. You - can add ``C:\openvswitch\usr\bin`` and ``C:\openvswitch\usr\sbin`` to - Windows' PATH environment variable for easy access. + This will install the Open vSwitch executables in ``C:/openvswitch``. You + can add ``C:\openvswitch\usr\bin`` and ``C:\openvswitch\usr\sbin`` to + Windows' PATH environment variable for easy access. The Kernel Module ~~~~~~~~~~~~~~~~~ @@ -231,20 +258,24 @@ the target Hyper-V machine. - ``./datapath-windows/misc/uninstall.cmd`` .. note:: - The above path assumes that the kernel module has been built using Windows - DDK 8.1 in Debug mode. Change the path appropriately, if a different WDK - has been used. + + The above path assumes that the kernel module has been built using Windows + DDK 8.1 in Debug mode. Change the path appropriately, if a different WDK has + been used. Now run ``./uninstall.cmd`` to remove the old extension. Once complete, run ``./install.cmd`` to insert the new one. For this to work you will have to turn on ``TESTSIGNING`` boot option or 'Disable Driver Signature -Enforcement' during boot. The following commands can be used:: +Enforcement' during boot. The following commands can be used: + +.. code-block:: powershell - > bcdedit /set LOADOPTIONS DISABLE_INTEGRITY_CHECKS - > bcdedit /set TESTSIGNING ON - > bcdedit /set nointegritychecks ON + PS > bcdedit /set LOADOPTIONS DISABLE_INTEGRITY_CHECKS + PS > bcdedit /set TESTSIGNING ON + PS > bcdedit /set nointegritychecks ON .. note:: + You may have to restart the machine for the settings to take effect. In the Virtual Switch Manager configuration you can enable the Open vSwitch @@ -253,72 +284,95 @@ existing switch, make sure to enable the "Allow Management OS" option for VXLAN to work (covered later). The command to create a new switch named 'OVS-Extended-Switch' using a physical -NIC named 'Ethernet 1' is:: +NIC named 'Ethernet 1' is: + +.. code-block:: powershell - PS > New-VMSwitch "OVS-Extended-Switch" -NetAdapterName "Ethernet 1" + PS > New-VMSwitch "OVS-Extended-Switch" -NetAdapterName "Ethernet 1" .. note:: - You can obtain the list of physical NICs on the host using 'Get-NetAdapter' - command. + + You can obtain the list of physical NICs on the host using 'Get-NetAdapter' + command. In the properties of any switch, you should should now see "Open vSwitch Extension" under 'Extensions'. Click the check box to enable the extension. -An alternative way to do the same is to run the following command:: +An alternative way to do the same is to run the following command: + +.. code-block:: powershell - PS > Enable-VMSwitchExtension "Open vSwitch Extension" OVS-Extended-Switch + PS > Enable-VMSwitchExtension "Open vSwitch Extension" OVS-Extended-Switch .. note:: - If you enabled the extension using the command line, a delay of a few seconds - has been observed for the change to be reflected in the UI. This is not a - bug in Open vSwitch. + + If you enabled the extension using the command line, a delay of a few + seconds has been observed for the change to be reflected in the UI. This is + not a bug in Open vSwitch. Starting -------- .. important:: - The following steps assume that you have installed the Open vSwitch utilities - in the local machine via 'make install'. + + The following steps assume that you have installed the Open vSwitch + utilities in the local machine via 'make install'. Before starting ovs-vswitchd itself, you need to start its configuration database, ovsdb-server. Each machine on which Open vSwitch is installed should run its own copy of ovsdb-server. Before ovsdb-server itself can be started, -configure a database that it can use:: +configure a database that it can use: + +.. code-block:: powershell - > ovsdb-tool create C:\openvswitch\etc\openvswitch\conf.db \ + PS > ovsdb-tool create C:\openvswitch\etc\openvswitch\conf.db \ C:\openvswitch\usr\share\openvswitch\vswitch.ovsschema Configure ovsdb-server to use database created above and to listen on a Unix -domain socket:: +domain socket: - > ovsdb-server -vfile:info --remote=punix:db.sock --log-file \ +.. code-block:: powershell + + PS > ovsdb-server -vfile:info --remote=punix:db.sock --log-file \ --pidfile --detach .. note:: - The logfile is created at ``C:/openvswitch/var/log/openvswitch/`` + + The logfile is created at ``C:/openvswitch/var/log/openvswitch/`` Initialize the database using ovs-vsctl. This is only necessary the first time after you create the database with ovsdb-tool, though running it at any time is -harmless:: +harmless: + +.. code-block:: powershell - > ovs-vsctl --no-wait init + PS > ovs-vsctl --no-wait init .. tip:: - If you would later like to terminate the started ovsdb-server, run:: - > ovs-appctl -t ovsdb-server exit + If you would later like to terminate the started ovsdb-server, run: + + .. code-block:: powershell + + PS > ovs-appctl -t ovsdb-server exit Start the main Open vSwitch daemon, telling it to connect to the same Unix -domain socket:: +domain socket: - > ovs-vswitchd -vfile:info --log-file --pidfile --detach +.. code-block:: powershell + + PS > ovs-vswitchd -vfile:info --log-file --pidfile --detach .. tip:: - If you would like to terminate the started ovs-vswitchd, run:: - > ovs-appctl exit + If you would like to terminate the started ovs-vswitchd, run: + + .. code-block:: powershell + + PS > ovs-appctl exit .. note:: - The logfile is created at ``C:/openvswitch/var/log/openvswitch/`` + + The logfile is created at ``C:/openvswitch/var/log/openvswitch/`` Validating ---------- @@ -330,43 +384,49 @@ Add bridges ~~~~~~~~~~~ Let's start by creating an integration bridge, ``br-int`` and a PIF bridge, -``br-pif``:: +``br-pif``: - > ovs-vsctl add-br br-int - > ovs-vsctl add-br br-pif +.. code-block:: powershell + + PW > ovs-vsctl add-br br-int + PW > ovs-vsctl add-br br-pif .. note:: - There's a known bug that running the ovs-vsctl command does not terminate. - This is generally solved by having ovs-vswitchd running. If you face the - issue despite that, hit Ctrl-C to terminate ovs-vsctl and check the output to - see if your command succeeded. -Validate that ports are added by dumping from both ovs-dpctl and ovs-vsctl:: + There's a known bug that running the ovs-vsctl command does not terminate. + This is generally solved by having ovs-vswitchd running. If you face the + issue despite that, hit Ctrl-C to terminate ovs-vsctl and check the output + to see if your command succeeded. - > ovs-dpctl show - system@ovs-system: - lookups: hit:0 missed:0 lost:0 - flows: 0 - port 2: br-pif (internal) <<< internal port on 'br-pif' bridge - port 1: br-int (internal) <<< internal port on 'br-int' bridge +Validate that ports are added by dumping from both ovs-dpctl and ovs-vsctl: - > ovs-vsctl show - a56ec7b5-5b1f-49ec-a795-79f6eb63228b - Bridge br-pif - Port br-pif - Interface br-pif - type: internal - Bridge br-int - Port br-int - Interface br-int - type: internal +.. code-block:: powershell + + PS > ovs-dpctl show + system@ovs-system: + lookups: hit:0 missed:0 lost:0 + flows: 0 + port 2: br-pif (internal) <<< internal port on 'br-pif' bridge + port 1: br-int (internal) <<< internal port on 'br-int' bridge + + PS > ovs-vsctl show + a56ec7b5-5b1f-49ec-a795-79f6eb63228b + Bridge br-pif + Port br-pif + Interface br-pif + type: internal + Bridge br-int + Port br-int + Interface br-int + type: internal .. note:: - There's a known bug that the ports added to OVSDB via ovs-vsctl don't get to - the kernel datapath immediately, ie. they don't show up in the output of - ``ovs-dpctl show`` even though they show up in output of ``ovs-vsctl show``. - In order to workaround this issue, restart ovs-vswitchd. (You can terminate - ovs-vswitchd by running ``ovs-appctl exit``.) + + There's a known bug that the ports added to OVSDB via ovs-vsctl don't get to + the kernel datapath immediately, ie. they don't show up in the output of + ``ovs-dpctl show`` even though they show up in output of ``ovs-vsctl show``. + In order to workaround this issue, restart ovs-vswitchd. (You can terminate + ovs-vswitchd by running ``ovs-appctl exit``.) Add physicals NICs (PIF) ~~~~~~~~~~~~~~~~~~~~~~~~ @@ -379,16 +439,19 @@ the adapter named ``Ethernet0``, then in OVS we use that name (``Ethernet0``) as a special name to refer to that adapter. .. note:: - we assume that the OVS extension is enabled Hyper-V switch. + + We assume that the OVS extension is enabled Hyper-V switch. Internal ports are the virtual adapters created on the Hyper-V switch using the ``ovs-vsctl add-br `` command. By default they are created under the following rule "" and the adapters are disabled. One needs to enable them and set the corresponding values to it to make them IP-able. -As a whole example, if we issue the following in a powershell console:: +As a whole example, if we issue the following in a powershell console: + +.. code-block:: powershell - PS C:\package\binaries> Get-NetAdapter | select Name,InterfaceDescription + PS > Get-NetAdapter | select Name,InterfaceDescription Name InterfaceDescription ---- -------------------- Ethernet1 Intel(R) PRO/1000 MT Network Connection @@ -396,43 +459,47 @@ As a whole example, if we issue the following in a powershell console:: Ethernet0 Intel(R) PRO/1000 MT Network Connection #2 br-int Hyper-V Virtual Ethernet Adapter #3 - PS C:\package\binaries> Get-VMSwitch + PS > Get-VMSwitch Name SwitchType NetAdapterInterfaceDescription ---- ---------- ------------------------------ external External Intel(R) PRO/1000 MT Network Connection #2 We can see that we have a switch(external) created upon adapter name 'Ethernet0' with the internal ports under name 'br-pif' and 'br-int'. Thus -resulting into the following ovs-vsctl commands:: +resulting into the following ovs-vsctl commands: - > ovs-vsctl add-port br-pif Ethernet0 +.. code-block:: powershell -Dumping the ports should show the additional ports that were just added:: + PS > ovs-vsctl add-port br-pif Ethernet0 - > ovs-dpctl show - system@ovs-system: - lookups: hit:0 missed:0 lost:0 - flows: 0 - port 2: br-pif (internal) <<< internal port - adapter on - Hyper-V switch - port 1: br-int (internal) <<< internal port - adapter on - Hyper-V switch - port 3: Ethernet0 <<< Physical NIC - - > ovs-vsctl show - a56ec7b5-5b1f-49ec-a795-79f6eb63228b - Bridge br-pif - Port br-pif - Interface br-pif - type: internal - Port "Ethernet0" - Interface "Ethernet0" - Bridge br-int - Port br-int - Interface br-int - type: internal +Dumping the ports should show the additional ports that were just added: + +.. code-block:: powershell + + PW > ovs-dpctl show + system@ovs-system: + lookups: hit:0 missed:0 lost:0 + flows: 0 + port 2: br-pif (internal) <<< internal port + adapter on + Hyper-V switch + port 1: br-int (internal) <<< internal port + adapter on + Hyper-V switch + port 3: Ethernet0 <<< Physical NIC + + PW > ovs-vsctl show + a56ec7b5-5b1f-49ec-a795-79f6eb63228b + Bridge br-pif + Port br-pif + Interface br-pif + type: internal + Port "Ethernet0" + Interface "Ethernet0" + Bridge br-int + Port br-int + Interface br-int + type: internal Add virtual interfaces (VIFs) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -459,11 +526,11 @@ assumed to be the Hyper-V switch with OVS extension enabled.:: Next, add the VIFs to ``br-int``:: - > ovs-vsctl add-port br-int ovs-port-a + PS > ovs-vsctl add-port br-int ovs-port-a Dumping the ports should show the additional ports that were just added:: - > ovs-dpctl show + PS > ovs-dpctl show system@ovs-system: lookups: hit:0 missed:0 lost:0 flows: 0 @@ -472,7 +539,7 @@ Dumping the ports should show the additional ports that were just added:: port 1: br-int (internal port 3: Ethernet0 - > ovs-vsctl show + PS > ovs-vsctl show 4cd86499-74df-48bd-a64d-8d115b12a9f2 Bridge br-pif Port "vEthernet (external)" @@ -514,6 +581,7 @@ For example, to set up a switch team combined from ``Ethernet0 2`` and Ethernet0 2 Intel(R) 82574L Gigabit Network Conn... PS > New-NetSwitchTeam -Name external -TeamMembers "Ethernet0 2","Ethernet1 2" + PS > Get-NetSwitchTeam Name : external Members : {Ethernet1 2, Ethernet0 2} @@ -523,7 +591,6 @@ This will result in a new adapter bound to the host called ``external``: .. code-block:: powershell PS > Get-NetAdapter - Name InterfaceDescription ---- -------------------- br-test Hyper-V Virtual Ethernet Adapter #4 @@ -571,51 +638,62 @@ Add patch ports and configure VLAN tagging The Windows Open vSwitch implementation support VLAN tagging in the switch. Switch VLAN tagging along with patch ports between ``br-int`` and ``br-pif`` is used to configure VLAN tagging functionality between two VMs on different -Hyper-Vs. To start, add a patch port from ``br-int`` to ``br-pif``:: +Hyper-Vs. To start, add a patch port from ``br-int`` to ``br-pif``: + +.. code-block:: powershell + + PS > ovs-vsctl add-port br-int patch-to-pif + PS > ovs-vsctl set interface patch-to-pif type=patch \ + options:peer=patch-to-int - > ovs-vsctl add-port br-int patch-to-pif - > ovs-vsctl set interface patch-to-pif type=patch \ - options:peer=patch-to-int +Add a patch port from ``br-pif`` to ``br-int``: -Add a patch port from ``br-pif`` to ``br-int``:: +.. code-block:: powershell - > ovs-vsctl add-port br-pif patch-to-int - > ovs-vsctl set interface patch-to-int type=patch \ - options:peer=patch-to-pif + PS > ovs-vsctl add-port br-pif patch-to-int + PS > ovs-vsctl set interface patch-to-int type=patch \ + options:peer=patch-to-pif -Re-Add the VIF ports with the VLAN tag:: +Re-Add the VIF ports with the VLAN tag: - > ovs-vsctl add-port br-int ovs-port-a tag=900 - > ovs-vsctl add-port br-int ovs-port-b tag=900 +.. code-block:: powershell + + PS > ovs-vsctl add-port br-int ovs-port-a tag=900 + PS > ovs-vsctl add-port br-int ovs-port-b tag=900 Add tunnels ~~~~~~~~~~~ The Windows Open vSwitch implementation support VXLAN and STT tunnels. To add tunnels. For example, first add the tunnel port between 172.168.201.101 <-> -172.168.201.102:: +172.168.201.102: + +.. code-block:: powershell - > ovs-vsctl add-port br-int tun-1 - > ovs-vsctl set Interface tun-1 type= - > ovs-vsctl set Interface tun-1 options:local_ip=172.168.201.101 - > ovs-vsctl set Interface tun-1 options:remote_ip=172.168.201.102 - > ovs-vsctl set Interface tun-1 options:in_key=flow - > ovs-vsctl set Interface tun-1 options:out_key=flow + PS > ovs-vsctl add-port br-int tun-1 + PS > ovs-vsctl set Interface tun-1 type= + PS > ovs-vsctl set Interface tun-1 options:local_ip=172.168.201.101 + PS > ovs-vsctl set Interface tun-1 options:remote_ip=172.168.201.102 + PS > ovs-vsctl set Interface tun-1 options:in_key=flow + PS > ovs-vsctl set Interface tun-1 options:out_key=flow -...and the tunnel port between 172.168.201.101 <-> 172.168.201.105:: +...and the tunnel port between 172.168.201.101 <-> 172.168.201.105: - > ovs-vsctl add-port br-int tun-2 - > ovs-vsctl set Interface tun-2 type= - > ovs-vsctl set Interface tun-2 options:local_ip=172.168.201.102 - > ovs-vsctl set Interface tun-2 options:remote_ip=172.168.201.105 - > ovs-vsctl set Interface tun-2 options:in_key=flow - > ovs-vsctl set Interface tun-2 options:out_key=flow +.. code-block:: powershell + + PS > ovs-vsctl add-port br-int tun-2 + PS > ovs-vsctl set Interface tun-2 type= + PS > ovs-vsctl set Interface tun-2 options:local_ip=172.168.201.102 + PS > ovs-vsctl set Interface tun-2 options:remote_ip=172.168.201.105 + PS > ovs-vsctl set Interface tun-2 options:in_key=flow + PS > ovs-vsctl set Interface tun-2 options:out_key=flow Where ```` is one of: ``stt`` or ``vxlan`` .. note:: - Any patch ports created between br-int and br-pif MUST be be deleted prior to - adding tunnels. + + Any patch ports created between br-int and br-pif MUST be be deleted prior + to adding tunnels. Windows Services ---------------- @@ -624,55 +702,69 @@ Open vSwitch daemons come with support to run as a Windows service. The instructions here assume that you have installed the Open vSwitch utilities and daemons via ``make install``. -.. note:: - The commands shown here can be run from MSYS bash or Windows command prompt. +To start, create the database: -To start, create the database:: +.. code-block:: powershell + + PS > ovsdb-tool create C:/openvswitch/etc/openvswitch/conf.db \ + "C:/openvswitch/usr/share/openvswitch/vswitch.ovsschema" - > ovsdb-tool create C:/openvswitch/etc/openvswitch/conf.db \ - "C:/openvswitch/usr/share/openvswitch/vswitch.ovsschema" +Create the ovsdb-server service and start it: -Create the ovsdb-server service and start it:: +.. code-block:: powershell - > sc create ovsdb-server \ - binpath="C:/openvswitch/usr/sbin/ovsdb-server.exe \ + PS > sc create ovsdb-server \ + binpath="C:/openvswitch/usr/sbin/ovsdb-server.exe \ C:/openvswitch/etc/openvswitch/conf.db \ -vfile:info --log-file --pidfile \ --remote=punix:db.sock --service --service-monitor" - > sc start ovsdb-server + PS > sc start ovsdb-server .. tip:: - One of the common issues with creating a Windows service is with mungled - paths. You can make sure that the correct path has been registered with the - Windows services manager by running:: - > sc qc ovsdb-server + One of the common issues with creating a Windows service is with mungled + paths. You can make sure that the correct path has been registered with the + Windows services manager by running: + + .. code-block:: powershell -Check that the service is healthy by running:: + PS > sc qc ovsdb-server - > sc query ovsdb-server +Check that the service is healthy by running: -Initialize the database:: +.. code-block:: powershell + + PS > sc query ovsdb-server - > ovs-vsctl --no-wait init +Initialize the database: -Create the ovs-vswitchd service and start it:: +.. code-block:: powershell - > sc create ovs-vswitchd \ - binpath="C:/openvswitch/usr/sbin/ovs-vswitchd.exe \ - --pidfile -vfile:info --log-file --service --service-monitor" - > sc start ovs-vswitchd + PS > ovs-vsctl --no-wait init -Check that the service is healthy by running:: +Create the ovs-vswitchd service and start it: - > sc query ovs-vswitchd +.. code-block:: powershell -To stop and delete the services, run:: + PS > sc create ovs-vswitchd \ + binpath="C:/openvswitch/usr/sbin/ovs-vswitchd.exe \ + --pidfile -vfile:info --log-file --service --service-monitor" + PS > sc start ovs-vswitchd + +Check that the service is healthy by running: + +.. code-block:: powershell + + PS > sc query ovs-vswitchd + +To stop and delete the services, run: + +.. code-block:: powershell - > sc stop ovs-vswitchd - > sc stop ovsdb-server - > sc delete ovs-vswitchd - > sc delete ovsdb-server + PS > sc stop ovs-vswitchd + PS > sc stop ovsdb-server + PS > sc delete ovs-vswitchd + PS > sc delete ovsdb-server Windows CI Service ------------------ -- 2.39.5