diff mbox

[ovs-dev,3/3,v5] Windows: document multiple NIC support setup

Message ID 20160913181337.3472-1-aserdean@cloudbasesolutions.com
State Superseded
Delegated to: Guru Shetty
Headers show

Commit Message

Alin Serdean Sept. 13, 2016, 6:13 p.m. UTC
This patch updates the documentation on how to set up OVS with multiple
NICs.

Also update the documentation to show users how new internal ports are
created

Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
Acked-by: Paul Boca <pboca@cloudbasesolutions.com>
---
v5: Rebase
v4: Address comments
v3: Add acked
v2: Rebase
---
 INSTALL.Windows.md | 143 +++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 101 insertions(+), 42 deletions(-)

Comments

Sairam Venugopal Nov. 3, 2016, 11:43 p.m. UTC | #1
Hi Alin,

We had discussed this over IRC, will you be adding some more example to
the documentation? Mainly around internal devices?

Thanks,
Sairam

On 9/13/16, 11:13 AM, "Alin Serdean" <aserdean@cloudbasesolutions.com>
wrote:

>This patch updates the documentation on how to set up OVS with multiple
>NICs.
>
>Also update the documentation to show users how new internal ports are
>created
>
>Signed-off-by: Alin Gabriel Serdean <aserdean@cloudbasesolutions.com>
>Acked-by: Paul Boca <pboca@cloudbasesolutions.com>
>---
>v5: Rebase
>v4: Address comments
>v3: Add acked
>v2: Rebase
>---
> INSTALL.Windows.md | 143
>+++++++++++++++++++++++++++++++++++++----------------
> 1 file changed, 101 insertions(+), 42 deletions(-)
>
>diff --git a/INSTALL.Windows.md b/INSTALL.Windows.md
>index 59f3936..df5017d 100644
>--- a/INSTALL.Windows.md
>+++ b/INSTALL.Windows.md
>@@ -72,9 +72,9 @@ or from a distribution tar ball.
>   directories, etc. For example,
> 
>     % ./configure CC=./build-aux/cccl LD="`which link`" \
>-      LIBS="-lws2_32 -liphlpapi" --prefix="C:/openvswitch/usr" \
>-      --localstatedir="C:/openvswitch/var"
>--sysconfdir="C:/openvswitch/etc" \
>-       --with-pthread="C:/pthread"
>+      LIBS="-lws2_32 -liphlpapi -lwbemuuid -lole32 -loleaut32" \
>+      --prefix="C:/openvswitch/usr" --localstatedir="C:/openvswitch/var"
>\
>+      --sysconfdir="C:/openvswitch/etc" --with-pthread="C:/pthread"
> 
>     By default, the above enables compiler optimization for fast code.
>     For default compiler optimization, pass the "--with-debug" configure
>@@ -125,9 +125,10 @@ Note down the directory where OpenSSL is installed
>(e.g.: C:/OpenSSL-Win32).
> For example,
> 
>     % ./configure CC=./build-aux/cccl LD="`which link`"  \
>-    LIBS="-lws2_32 -liphlpapi" --prefix="C:/openvswitch/usr" \
>-    --localstatedir="C:/openvswitch/var"
>--sysconfdir="C:/openvswitch/etc" \
>-    --with-pthread="C:/pthread" --enable-ssl
>--with-openssl="C:/OpenSSL-Win32"
>+    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"
> 
> * Run make for the ported executables.
> 
>@@ -142,10 +143,11 @@ level 'make' will invoke building the kernel
>datapath, if the
> For example,
> 
>     % ./configure CC=./build-aux/cccl LD="`which link`" \
>-    LIBS="-lws2_32 -liphlpapi" --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="<target
>type>"
>+    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="<target type>"
> 
>     Possible values for "<target type>" are:
>     "Debug" and "Release"
>@@ -186,8 +188,7 @@ to work (covered later).
> 
> The command to create a new switch named 'OVS-Extended-Switch' using a
>physical
> NIC named 'Ethernet 1' is:
>-    % New-VMSwitch "OVS-Extended-Switch" -AllowManagementOS $true \
>-                   -NetAdapterName "Ethernet 1"
>+    % New-VMSwitch "OVS-Extended-Switch" -NetAdapterName "Ethernet 1"
> 
> Note: you can obtain the list of physical NICs on the host using
> 'Get-NetAdapter' command.
>@@ -278,23 +279,20 @@ connected to the Hyper-V switch. I.e. let us
>suppose we created the Hyper-V
> virtual switch on top of the adapter named 'Ethernet0'. In OVS for
>Hyper-V, we
> use that name('Ethernet0') as a special name to refer to that adapter.
> 
>-Note: Currently, we assume that the Hyper-V switch on which OVS
>extension is
>-enabled has a single physical NIC connected to it.
>-
>-Internal port is the virtual adapter created on the Hyper-V switch using
>the
>-'AllowManagementOS' setting.  This has already been setup while creating
>the
>-switch using the instructions above.  In OVS for Hyper-V, we use a the
>name of
>-that specific adapter as a special name to refer to that adapter. By
>default it
>-is created under the following rule "vEthernet (<name of the switch>)".
>+Internal ports are the virtual adapters created on the Hyper-V switch
>using the
>+ovs-vsctl add-br <bridge> command. By default they are created under the
>+following rule "<name of bridge>" 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:
>-PS C:\package\binaries> Get-NetAdapter | select
>Name,MacAddress,InterfaceDescription
>+PS C:\package\binaries> Get-NetAdapter | select Name,InterfaceDescription
> 
>-Name                   MacAddress         InterfaceDescription
>-----                   ----------         --------------------
>-Ethernet1              00-0C-29-94-05-65  Intel(R) PRO/1000 MT Network
>Connection
>-vEthernet (external)   00-0C-29-94-05-5B  Hyper-V Virtual Ethernet
>Adapter #2
>-Ethernet0              00-0C-29-94-05-5B  Intel(R) PRO/1000 MT Network
>Connection #2
>+Name                   InterfaceDescription
>+----                   --------------------
>+Ethernet1              Intel(R) PRO/1000 MT Network Connection
>+br-pif                 Hyper-V Virtual Ethernet Adapter #2
>+Ethernet0              Intel(R) PRO/1000 MT Network Connection #2
>+br-int                 Hyper-V Virtual Ethernet Adapter #3
> 
> PS C:\package\binaries> Get-VMSwitch
> 
>@@ -302,13 +300,11 @@ 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 an internal port under name 'vEthernet (external)'. Thus resulting
>into the
>-following ovs-vsctl commands
>+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
> 
>     % ovs-vsctl add-port br-pif Ethernet0
>-    % ovs-vsctl add-port br-pif "vEthernet (external)"
> 
> * Dumping the ports should show the additional ports that were just
>added.
>   Sample output shows up as follows:
>@@ -317,18 +313,17 @@ following ovs-vsctl commands
>     system@ovs-system:
>             lookups: hit:0 missed:0 lost:0
>             flows: 0
>-            port 4: vEthernet (external) (internal) <<<
>'AllowManagementOS'
>-                                                         adapter on
>-                                                         Hyper-V switch
>-            port 2: br-pif (internal)
>-            port 1: br-int (internal)
>+            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 "vEthernet (external)"
>-                Interface "vEthernet (external)"
>             Port br-pif
>                 Interface br-pif
>                     type: internal
>@@ -374,8 +369,7 @@ with OVS extension enabled.
>     system@ovs-system:
>             lookups: hit:0 missed:0 lost:0
>             flows: 0
>-            port 4: vEthernet (external) (internal)
>-            port 5: ovs-port-a
>+            port 4: ovs-port-a
>             port 2: br-pif (internal)
>             port 1: br-int (internal
>             port 3: Ethernet0
>@@ -383,8 +377,6 @@ with OVS extension enabled.
>     % ovs-vsctl show
>     4cd86499-74df-48bd-a64d-8d115b12a9f2
>         Bridge br-pif
>-            Port "vEthernet (external)"
>-                Interface "vEthernet (external)"
>             Port "Ethernet0"
>                 Interface "Ethernet0"
>             Port br-pif
>@@ -397,6 +389,73 @@ with OVS extension enabled.
>             Port "ovs-port-a"
>                 Interface "ovs-port-a"
> 
>+Steps to add multiple NICs to be managed by OVS
>+-----------------------------------------------
>+
>+To leverage support of multiple NICs into OVS, we will be using the MSFT
>+cmdlets for forwarding team extension. More documentation can be found
>+under:
>+https://urldefense.proofpoint.com/v2/url?u=https-3A__technet.microsoft.co
>m_en-2Dus_library_jj553812-2528v-3Dwps.630-2529.aspx&d=CwIGaQ&c=Sqcl0Ez6M0
>X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Dcruz40PROJ40ROzSpxyQSLw6fcrOWpJgEcEmN
>R3JEQ&m=fhIjCe6i4fcAK-VamnYPPCLG5N2g6F325uqEDj6qQwE&s=kXz53kuvRw_La9c3It87
>tczDLvywJvwSJK_tahpLvu4&e=
>+
>+Eg:
>+We will set up a switch team combined from 'Ethernet0 2' and 'Ethernet1
>2'
>+named external.
>+
>+% Get-NetAdapter
>+
>+Name                      InterfaceDescription
>+----                      --------------------
>+br-int                    Hyper-V Virtual Ethernet Adapter #3
>+br-pif                    Hyper-V Virtual Ethernet Adapter #2
>+Ethernet3 2               Intel(R) 82574L Gigabit Network Co...#3
>+Ethernet2 2               Intel(R) 82574L Gigabit Network Co...#4
>+Ethernet1 2               Intel(R) 82574L Gigabit Network Co...#2
>+Ethernet0 2               Intel(R) 82574L Gigabit Network Conn...
>+
>+% New-NetSwitchTeam -Name external -TeamMembers "Ethernet0 2","Ethernet1
>2"
>+% Get-NetSwitchTeam
>+Name    : external
>+Members : {Ethernet1 2, Ethernet0 2}
>+
>+This will result in a new adapter bound to the host called 'external'
>+
>+% Get-NetAdapter
>+
>+Name                      InterfaceDescription
>+----                      --------------------
>+br-test                   Hyper-V Virtual Ethernet Adapter #4
>+br-pif                    Hyper-V Virtual Ethernet Adapter #2
>+external                  Microsoft Network Adapter Multiplexo...
>+Ethernet3 2               Intel(R) 82574L Gigabit Network Co...#3
>+Ethernet2 2               Intel(R) 82574L Gigabit Network Co...#4
>+Ethernet1 2               Intel(R) 82574L Gigabit Network Co...#2
>+Ethernet0 2               Intel(R) 82574L Gigabit Network Conn...
>+
>+Next we will set up the Hyper-V VMSwitch on the new adapter 'external'
>+
>+%New-VMSwitch -Name external -NetAdapterName external -AllowManagementOS
>$false
>+
>+Under OVS, the adapters added to the team, 'Ethernet0 2' and 'Ethernet1
>2', can
>+be added either under a bond device or separately.
>+
>+In our example here is how the bridges look with the NICs being
>separated under
>+different bridges:
>+
>+% ovs-vsctl show
>+6cd9481b-c249-4ee3-8692-97b399dd29d8
>+    Bridge br-test
>+        Port br-test
>+            Interface br-test
>+                type: internal
>+        Port "Ethernet1 2"
>+            Interface "Ethernet1 2"
>+    Bridge br-pif
>+        Port "Ethernet0 2"
>+            Interface "Ethernet0 2"
>+        Port br-pif
>+            Interface br-pif
>+                type: internal
>+
> Steps to configure patch ports and switch VLAN tagging
> ------------------------------------------------------
> The Windows Open vSwitch implementation support VLAN tagging in the
>switch.
>-- 
>2.9.2.windows.1
>_______________________________________________
>dev mailing list
>dev@openvswitch.org
>https://urldefense.proofpoint.com/v2/url?u=http-3A__openvswitch.org_mailma
>n_listinfo_dev&d=CwIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Dc
>ruz40PROJ40ROzSpxyQSLw6fcrOWpJgEcEmNR3JEQ&m=fhIjCe6i4fcAK-VamnYPPCLG5N2g6F
>325uqEDj6qQwE&s=5CtA6Reyf1hXl4GYvFhyleoC2etheejSqQamJaOJdQ8&e=
diff mbox

Patch

diff --git a/INSTALL.Windows.md b/INSTALL.Windows.md
index 59f3936..df5017d 100644
--- a/INSTALL.Windows.md
+++ b/INSTALL.Windows.md
@@ -72,9 +72,9 @@  or from a distribution tar ball.
   directories, etc. For example,
 
     % ./configure CC=./build-aux/cccl LD="`which link`" \
-      LIBS="-lws2_32 -liphlpapi" --prefix="C:/openvswitch/usr" \
-      --localstatedir="C:/openvswitch/var" --sysconfdir="C:/openvswitch/etc" \
-       --with-pthread="C:/pthread"
+      LIBS="-lws2_32 -liphlpapi -lwbemuuid -lole32 -loleaut32" \
+      --prefix="C:/openvswitch/usr" --localstatedir="C:/openvswitch/var" \
+      --sysconfdir="C:/openvswitch/etc" --with-pthread="C:/pthread"
 
     By default, the above enables compiler optimization for fast code.
     For default compiler optimization, pass the "--with-debug" configure
@@ -125,9 +125,10 @@  Note down the directory where OpenSSL is installed (e.g.: C:/OpenSSL-Win32).
 For example,
 
     % ./configure CC=./build-aux/cccl LD="`which link`"  \
-    LIBS="-lws2_32 -liphlpapi" --prefix="C:/openvswitch/usr" \
-    --localstatedir="C:/openvswitch/var" --sysconfdir="C:/openvswitch/etc" \
-    --with-pthread="C:/pthread" --enable-ssl --with-openssl="C:/OpenSSL-Win32"
+    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"
 
 * Run make for the ported executables.
 
@@ -142,10 +143,11 @@  level 'make' will invoke building the kernel datapath, if the
 For example,
 
     % ./configure CC=./build-aux/cccl LD="`which link`" \
-    LIBS="-lws2_32 -liphlpapi" --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="<target type>"
+    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="<target type>"
 
     Possible values for "<target type>" are:
     "Debug" and "Release"
@@ -186,8 +188,7 @@  to work (covered later).
 
 The command to create a new switch named 'OVS-Extended-Switch' using a physical
 NIC named 'Ethernet 1' is:
-    % New-VMSwitch "OVS-Extended-Switch" -AllowManagementOS $true \
-                   -NetAdapterName "Ethernet 1"
+    % New-VMSwitch "OVS-Extended-Switch" -NetAdapterName "Ethernet 1"
 
 Note: you can obtain the list of physical NICs on the host using
 'Get-NetAdapter' command.
@@ -278,23 +279,20 @@  connected to the Hyper-V switch. I.e. let us suppose we created the Hyper-V
 virtual switch on top of the adapter named 'Ethernet0'. In OVS for Hyper-V, we
 use that name('Ethernet0') as a special name to refer to that adapter.
 
-Note: Currently, we assume that the Hyper-V switch on which OVS extension is
-enabled has a single physical NIC connected to it.
-
-Internal port is the virtual adapter created on the Hyper-V switch using the
-'AllowManagementOS' setting.  This has already been setup while creating the
-switch using the instructions above.  In OVS for Hyper-V, we use a the name of
-that specific adapter as a special name to refer to that adapter. By default it
-is created under the following rule "vEthernet (<name of the switch>)".
+Internal ports are the virtual adapters created on the Hyper-V switch using the
+ovs-vsctl add-br <bridge> command. By default they are created under the
+following rule "<name of bridge>" 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:
-PS C:\package\binaries> Get-NetAdapter | select Name,MacAddress,InterfaceDescription
+PS C:\package\binaries> Get-NetAdapter | select Name,InterfaceDescription
 
-Name                   MacAddress         InterfaceDescription
-----                   ----------         --------------------
-Ethernet1              00-0C-29-94-05-65  Intel(R) PRO/1000 MT Network Connection
-vEthernet (external)   00-0C-29-94-05-5B  Hyper-V Virtual Ethernet Adapter #2
-Ethernet0              00-0C-29-94-05-5B  Intel(R) PRO/1000 MT Network Connection #2
+Name                   InterfaceDescription
+----                   --------------------
+Ethernet1              Intel(R) PRO/1000 MT Network Connection
+br-pif                 Hyper-V Virtual Ethernet Adapter #2
+Ethernet0              Intel(R) PRO/1000 MT Network Connection #2
+br-int                 Hyper-V Virtual Ethernet Adapter #3
 
 PS C:\package\binaries> Get-VMSwitch
 
@@ -302,13 +300,11 @@  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 an internal port under name 'vEthernet (external)'. Thus resulting into the
-following ovs-vsctl commands
+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
 
     % ovs-vsctl add-port br-pif Ethernet0
-    % ovs-vsctl add-port br-pif "vEthernet (external)"
 
 * Dumping the ports should show the additional ports that were just added.
   Sample output shows up as follows:
@@ -317,18 +313,17 @@  following ovs-vsctl commands
     system@ovs-system:
             lookups: hit:0 missed:0 lost:0
             flows: 0
-            port 4: vEthernet (external) (internal) <<< 'AllowManagementOS'
-                                                         adapter on
-                                                         Hyper-V switch
-            port 2: br-pif (internal)
-            port 1: br-int (internal)
+            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 "vEthernet (external)"
-                Interface "vEthernet (external)"
             Port br-pif
                 Interface br-pif
                     type: internal
@@ -374,8 +369,7 @@  with OVS extension enabled.
     system@ovs-system:
             lookups: hit:0 missed:0 lost:0
             flows: 0
-            port 4: vEthernet (external) (internal)
-            port 5: ovs-port-a
+            port 4: ovs-port-a
             port 2: br-pif (internal)
             port 1: br-int (internal
             port 3: Ethernet0
@@ -383,8 +377,6 @@  with OVS extension enabled.
     % ovs-vsctl show
     4cd86499-74df-48bd-a64d-8d115b12a9f2
         Bridge br-pif
-            Port "vEthernet (external)"
-                Interface "vEthernet (external)"
             Port "Ethernet0"
                 Interface "Ethernet0"
             Port br-pif
@@ -397,6 +389,73 @@  with OVS extension enabled.
             Port "ovs-port-a"
                 Interface "ovs-port-a"
 
+Steps to add multiple NICs to be managed by OVS
+-----------------------------------------------
+
+To leverage support of multiple NICs into OVS, we will be using the MSFT
+cmdlets for forwarding team extension. More documentation can be found
+under:
+https://technet.microsoft.com/en-us/library/jj553812%28v=wps.630%29.aspx
+
+Eg:
+We will set up a switch team combined from 'Ethernet0 2' and 'Ethernet1 2'
+named external.
+
+% Get-NetAdapter
+
+Name                      InterfaceDescription
+----                      --------------------
+br-int                    Hyper-V Virtual Ethernet Adapter #3
+br-pif                    Hyper-V Virtual Ethernet Adapter #2
+Ethernet3 2               Intel(R) 82574L Gigabit Network Co...#3
+Ethernet2 2               Intel(R) 82574L Gigabit Network Co...#4
+Ethernet1 2               Intel(R) 82574L Gigabit Network Co...#2
+Ethernet0 2               Intel(R) 82574L Gigabit Network Conn...
+
+% New-NetSwitchTeam -Name external -TeamMembers "Ethernet0 2","Ethernet1 2"
+% Get-NetSwitchTeam
+Name    : external
+Members : {Ethernet1 2, Ethernet0 2}
+
+This will result in a new adapter bound to the host called 'external'
+
+% Get-NetAdapter
+
+Name                      InterfaceDescription
+----                      --------------------
+br-test                   Hyper-V Virtual Ethernet Adapter #4
+br-pif                    Hyper-V Virtual Ethernet Adapter #2
+external                  Microsoft Network Adapter Multiplexo...
+Ethernet3 2               Intel(R) 82574L Gigabit Network Co...#3
+Ethernet2 2               Intel(R) 82574L Gigabit Network Co...#4
+Ethernet1 2               Intel(R) 82574L Gigabit Network Co...#2
+Ethernet0 2               Intel(R) 82574L Gigabit Network Conn...
+
+Next we will set up the Hyper-V VMSwitch on the new adapter 'external'
+
+%New-VMSwitch -Name external -NetAdapterName external -AllowManagementOS $false
+
+Under OVS, the adapters added to the team, 'Ethernet0 2' and 'Ethernet1 2', can
+be added either under a bond device or separately.
+
+In our example here is how the bridges look with the NICs being separated under
+different bridges:
+
+% ovs-vsctl show
+6cd9481b-c249-4ee3-8692-97b399dd29d8
+    Bridge br-test
+        Port br-test
+            Interface br-test
+                type: internal
+        Port "Ethernet1 2"
+            Interface "Ethernet1 2"
+    Bridge br-pif
+        Port "Ethernet0 2"
+            Interface "Ethernet0 2"
+        Port br-pif
+            Interface br-pif
+                type: internal
+
 Steps to configure patch ports and switch VLAN tagging
 ------------------------------------------------------
 The Windows Open vSwitch implementation support VLAN tagging in the switch.