[ovs-dev] [PATCH v2 0/3] Support for OVS datapath on Windows platform.

Alin Serdean aserdean at cloudbasesolutions.com
Sat Jul 26 01:09:50 UTC 2014


Sorry forgot to restart the other hypervisor think this is the correct output:

PS C:\ovs_guys\binaries> .\ovs-vsctl.exe --db=tcp:127.0.0.1:8888 list interface vxlan-1
_uuid               : b6f7b071-0c6a-4abf-ba7e-2a2c92bee180
admin_state         : up
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : []
error               : []
external_ids        : {}
ifindex             : 0
ingress_policing_burst: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : 0
link_speed          : []
link_state          : up
mac                 : []
mac_in_use          : "fa:18:10:55:7c:2c"
mtu                 : []
name                : "vxlan-1"
ofport              : 4
ofport_request      : []
options             : {in_key=flow, local_ip="10.13.8.101", out_key=flow, remote_ip="10.13.8.160"}
other_config        : {}
statistics          : {collisions=0, rx_bytes=0, rx_crc_err=0, rx_dropped=0, rx_errors=0, rx_frame_err=0, rx_over_err=0,
 rx_packets=0, tx_bytes=0, tx_dropped=0, tx_errors=0, tx_packets=0}
status              : {}
type                : vxlan

Kind Regards,
Alin.
________________________________________
From: dev [dev-bounces at openvswitch.org] on behalf of Alin Serdean [aserdean at cloudbasesolutions.com]
Sent: Saturday, July 26, 2014 4:01 AM
To: Saurabh Shah; Alessandro Pilotti
Cc: dev at openvswitch.org
Subject: Re: [ovs-dev] [PATCH v2 0/3] Support for OVS datapath on Windows platform.

Sure, here is the output:

PS C:\ovs_guys\binaries> .\ovs-vsctl.exe --db=tcp:127.0.0.1:8888 show interface vxlan-1
ovs-vsctl: 'show' command takes at most 0 arguments
PS C:\ovs_guys\binaries> .\ovs-vsctl.exe --db=tcp:127.0.0.1:8888 list interface vxlan-1
_uuid               : b6f7b071-0c6a-4abf-ba7e-2a2c92bee180
admin_state         : []
bfd                 : {}
bfd_status          : {}
cfm_fault           : []
cfm_fault_status    : []
cfm_flap_count      : []
cfm_health          : []
cfm_mpid            : []
cfm_remote_mpids    : []
cfm_remote_opstate  : []
duplex              : []
error               : []
external_ids        : {}
ifindex             : []
ingress_policing_burst: 0
ingress_policing_rate: 0
lacp_current        : []
link_resets         : []
link_speed          : []
link_state          : []
mac                 : []
mac_in_use          : []
mtu                 : []
name                : "vxlan-1"
ofport              : 4
ofport_request      : []
options             : {in_key=flow, local_ip="10.13.8.101", out_key=flow, remote_ip="10.13.8.160"}
other_config        : {}
statistics          : {}
status              : {}
type                : vxlan
PS C:\ovs_guys\binaries>

Kind Regards,
Alin.
________________________________
From: Saurabh Shah [ssaurabh at vmware.com]
Sent: Saturday, July 26, 2014 3:42 AM
To: Alin Serdean; Alessandro Pilotti
Cc: dev at openvswitch.org
Subject: Re: [ovs-dev] [PATCH v2 0/3] Support for OVS datapath on Windows platform.

How about the tunnel status? Is RDI true? Can you post the output of -

ovs-vsctl.exe --db=tcp:127.0.0.1:8888 show interface vxlan-1

Saurabh

From: Alin Serdean <aserdean at cloudbasesolutions.com<mailto:aserdean at cloudbasesolutions.com>>
Date: Friday, July 25, 2014 at 4:10 PM
To: Alessandro Pilotti <apilotti at cloudbasesolutions.com<mailto:apilotti at cloudbasesolutions.com>>, Saurabh Shah <ssaurabh at vmware.com<mailto:ssaurabh at vmware.com>>
Cc: "dev at openvswitch.org<mailto:dev at openvswitch.org>" <dev at openvswitch.org<mailto:dev at openvswitch.org>>, Ankur Sharma <ankursharma at vmware.com<mailto:ankursharma at vmware.com>>, Rajiv Krishnamurthy <krishnamurthyr at vmware.com<mailto:krishnamurthyr at vmware.com>>, Guolin Yang <gyang at vmware.com<mailto:gyang at vmware.com>>
Subject: RE: [ovs-dev] [PATCH v2 0/3] Support for OVS datapath on Windows platform.

Hey Saurabh,

I applied the patches that you sent. Everything seems to compile fine and install properly.

I tried to set-up a tunnel between two hypervisors following the steps in INSTALL.Windows.
(I tried with Hyper-V to Hyper-V and KVM to Hyper-V)

Here is my configuration on H1:
PS C:\ovs_guys\binaries> .\ovs-vsctl.exe --db=tcp:127.0.0.1:8888 show
4f148df0-a7da-4782-a2a2-514dfe3079f4
    Bridge br-pif
        Controller "ptcp:9999:127.0.0.1"
        Port "external.1"
            Interface "external.1"
        Port br-pif
            Interface br-pif
                type: internal
        Port internal
            Interface internal
    Bridge br-int
        Port "vmNICSyn.1000048"
            Interface "vmNICSyn.1000048"
        Port br-int
            Interface br-int
                type: internal
        Port "vxlan-1"
            Interface "vxlan-1"
                type: vxlan
                options: {in_key=flow, local_ip="10.13.8.101", out_key=flow, remote_ip="10.13.8.160"}
        Port "vmNICSyn.1000049"
            Interface "vmNICSyn.1000049"
PS C:\ovs_guys\binaries> .\ovs-dpctl.exe show
2014-07-25T23:02:23Z|00001|socket_util|ERR|4789:0.0.0.0: bind: Only one usage of each socket address (protocol/network a
ddress/port) is normally permitted.
system at ovs-system:
        lookups: hit:13397737 missed:891252 lost:0
        flows: 9
        masks: hit:0 total:0 hit/pkt:0.00
        port 16777216: internal
        port 150994946: vxlan_sys_4789 (vxlan: df_default=false, ttl=0)
        port 16777225: external.1
        port 16777288: vmNICSyn.1000048
        port 16777289: vmNICSyn.1000049

Configuration on H2:
PS C:\ovs_guys\binaries> .\ovs-vsctl.exe --db=tcp:127.0.0.1:8888 show
667e4171-2858-47f6-9030-fcc144a845b7
    Bridge br-int
        Port "vmNICSyn.1000048"
            Interface "vmNICSyn.1000048"
        Port "vxlan-1"
            Interface "vxlan-1"
                type: vxlan
                options: {in_key=flow, local_ip="10.13.8.160", out_key=flow, remote_ip="10.13.8.101"}
        Port br-int
            Interface br-int
                type: internal
    Bridge "br0"
        Port internal
            Interface internal
        Port "external.1"
            Interface "external.1"
        Port "br0"
            Interface "br0"
                type: internal
PS C:\ovs_guys\binaries> .\ovs-dpctl.exe show
2014-07-25T23:00:12Z|00001|socket_util|ERR|4789:0.0.0.0: bind: Only one usage of each socket address (protocol/network a
ddress/port) is normally permitted.
system at ovs-system:
        lookups: hit:364132 missed:72177 lost:0
        flows: 8
        masks: hit:0 total:0 hit/pkt:0.00
        port 16777216: internal
        port 50331650: vxlan_sys_4789 (vxlan: df_default=false, ttl=0)
        port 16777225: external.1
        port 16777288: vmNICSyn.1000048

If I try to ping a VM on H1 with a VM on H2 they I get no replies. If I add a patch-port between the bridages
or put the VMs on the same bridge with external/internal I get a reply, however I cannot make the VMs
communicate actually using VXLAN.

Kind Regards,
Alin.
________________________________________
From: dev [dev-bounces at openvswitch.org<mailto:dev-bounces at openvswitch.org>] on behalf of Alessandro Pilotti [apilotti at cloudbasesolutions.com<mailto:apilotti at cloudbasesolutions.com>]
Sent: Friday, July 25, 2014 8:20 PM
To: Saurabh Shah
Cc: dev at openvswitch.org<mailto:dev at openvswitch.org>; ankursharma at vmware.com<mailto:ankursharma at vmware.com>; krishnamurthyr at vmware.com<mailto:krishnamurthyr at vmware.com>; gyang at vmware.com<mailto:gyang at vmware.com>
Subject: Re: [ovs-dev] [PATCH v2 0/3] Support for OVS datapath on       Windows platform.

Hi Saurabh,

I’d suggest that before doing a full review of the kernel driver we need to have:

* Userspace Netlink interface support (which means that patches 1 and 2 in this
set can be skipped)

* Kernel Netlink interface support (not provided by patch 3)

* Support for multiple datapaths and vswitches

* Split the kernel driver code in smaller patches to allow a proper review (I
made a simple suggestion in a previous email, but any other solution is good)

Rewriting the driver to avoid dependencies on the MSFT sample was a very good
idea, since ATM we don’t know if and when the legal review will be complete and
the sample code will be released as Apache 2.

Thanks,

Alessandro


On 24 Jul 2014, at 20:24, Saurabh Shah <ssaurabh at vmware.com<mailto:ssaurabh at vmware.com>> wrote:

This patch series adds OpenvSwitch datapath support for Windows platform. The
kernel switch extension has support for bridged back forwarding & tunneling
over VXLAN.

The patch series is based on top of c450371 ("datapath: Initialize OVS_CB in
ovs_vport_receive()")

Here are some of the major things that are addressed by this v2 patch:
    01. Complete rewrite of the base code, so there is no dependency on
        MS-LPL license any more.
    02. The following crash-report by Cloudbase has been fixed -
        http://paste.openstack.org/show/84911/.

Saurabh Shah (3):
  odp-util: Add utility function, odp_flow_key_to_flow_verbose.
  dpif-windows: Implement datapath interface for windows.
  datapath-windows: Implement the virtual switch forwarding extension.

AUTHORS                                   |    3 +
BUILD.Windows                             |   96 --
CodingStyle                               |    4 +-
INSTALL.Windows                           |  131 +++
Makefile.am                               |    6 +-
datapath-windows/CodingStyle              |  139 +++
datapath-windows/DESIGN                   |  371 ++++++
datapath-windows/Package/package.VcxProj  |   95 ++
datapath-windows/automake.mk              |   56 +
datapath-windows/extensions.sln           |   49 +
datapath-windows/include/OvsNetlink.h     |  174 +++
datapath-windows/include/OvsPub.h         |  498 ++++++++
datapath-windows/misc/install.cmd         |    4 +
datapath-windows/misc/uninstall.cmd       |    1 +
datapath-windows/ovsext/OvsActions.c      | 1512 ++++++++++++++++++++++++
datapath-windows/ovsext/OvsAtomic.h       |   32 +
datapath-windows/ovsext/OvsBufferMgmt.c   | 1535 +++++++++++++++++++++++++
datapath-windows/ovsext/OvsBufferMgmt.h   |  124 ++
datapath-windows/ovsext/OvsChecksum.c     |  509 ++++++++
datapath-windows/ovsext/OvsChecksum.h     |   33 +
datapath-windows/ovsext/OvsDebug.c        |   58 +
datapath-windows/ovsext/OvsDebug.h        |   90 ++
datapath-windows/ovsext/OvsDriver.c       |  184 +++
datapath-windows/ovsext/OvsEth.h          |  450 ++++++++
datapath-windows/ovsext/OvsEvent.c        |  496 ++++++++
datapath-windows/ovsext/OvsEvent.h        |   50 +
datapath-windows/ovsext/OvsFlow.c         |  978 ++++++++++++++++
datapath-windows/ovsext/OvsFlow.h         |   78 ++
datapath-windows/ovsext/OvsIoctl.c        |  758 ++++++++++++
datapath-windows/ovsext/OvsIoctl.h        |   40 +
datapath-windows/ovsext/OvsIpHelper.c     | 1689 +++++++++++++++++++++++++++
datapath-windows/ovsext/OvsIpHelper.h     |  128 +++
datapath-windows/ovsext/OvsJhash.c        |  129 +++
datapath-windows/ovsext/OvsJhash.h        |   30 +
datapath-windows/ovsext/OvsNetProto.h     |  367 ++++++
datapath-windows/ovsext/OvsOid.c          |  855 ++++++++++++++
datapath-windows/ovsext/OvsOid.h          |   26 +
datapath-windows/ovsext/OvsPacketIO.c     |  441 +++++++
datapath-windows/ovsext/OvsPacketIO.h     |   61 +
datapath-windows/ovsext/OvsPacketParser.c |  300 +++++
datapath-windows/ovsext/OvsPacketParser.h |  144 +++
datapath-windows/ovsext/OvsSwitch.c       |  529 +++++++++
datapath-windows/ovsext/OvsSwitch.h       |  169 +++
datapath-windows/ovsext/OvsTunnel.c       |  346 ++++++
datapath-windows/ovsext/OvsTunnel.h       |   57 +
datapath-windows/ovsext/OvsTunnelFilter.c |  343 ++++++
datapath-windows/ovsext/OvsTunnelIntf.h   |   25 +
datapath-windows/ovsext/OvsTypes.h        |   32 +
datapath-windows/ovsext/OvsUser.c         |  861 ++++++++++++++
datapath-windows/ovsext/OvsUser.h         |  114 ++
datapath-windows/ovsext/OvsUtil.c         |   89 ++
datapath-windows/ovsext/OvsUtil.h         |   78 ++
datapath-windows/ovsext/OvsVport.c        | 1416 +++++++++++++++++++++++
datapath-windows/ovsext/OvsVport.h        |  190 +++
datapath-windows/ovsext/OvsVxlan.c        |  441 +++++++
datapath-windows/ovsext/OvsVxlan.h        |   81 ++
datapath-windows/ovsext/ovsext.inf        |   85 ++
datapath-windows/ovsext/ovsext.rc         |   23 +
datapath-windows/ovsext/ovsext.vcxproj    |  164 +++
datapath-windows/ovsext/precomp.h         |   31 +
datapath-windows/ovsext/precompsrc.c      |   17 +
include/linux/openvswitch.h               |    8 +-
lib/automake.mk                           |    3 +
lib/dpif-netdev.c                         |   17 +-
lib/dpif-provider.h                       |    3 +
lib/dpif-windows.c                        | 1786 +++++++++++++++++++++++++++++
lib/dpif-windows.h                        |   58 +
lib/dpif.c                                |    3 +
lib/netdev-provider.h                     |    3 +
lib/netdev-windows.c                      |  714 ++++++++++++
lib/netdev.c                              |    5 +
lib/netlink-protocol.h                    |    5 +
lib/odp-util.c                            |   24 +
lib/odp-util.h                            |    2 +
lib/util.c                                |   16 +
lib/util.h                                |    1 +
76 files changed, 20347 insertions(+), 116 deletions(-)
delete mode 100644 BUILD.Windows
create mode 100644 INSTALL.Windows
create mode 100644 datapath-windows/CodingStyle
create mode 100644 datapath-windows/DESIGN
create mode 100755 datapath-windows/Package/package.VcxProj
create mode 100644 datapath-windows/automake.mk
create mode 100644 datapath-windows/extensions.sln
create mode 100644 datapath-windows/include/OvsNetlink.h
create mode 100644 datapath-windows/include/OvsPub.h
create mode 100755 datapath-windows/misc/install.cmd
create mode 100755 datapath-windows/misc/uninstall.cmd
create mode 100644 datapath-windows/ovsext/OvsActions.c
create mode 100644 datapath-windows/ovsext/OvsAtomic.h
create mode 100644 datapath-windows/ovsext/OvsBufferMgmt.c
create mode 100644 datapath-windows/ovsext/OvsBufferMgmt.h
create mode 100644 datapath-windows/ovsext/OvsChecksum.c
create mode 100644 datapath-windows/ovsext/OvsChecksum.h
create mode 100644 datapath-windows/ovsext/OvsDebug.c
create mode 100644 datapath-windows/ovsext/OvsDebug.h
create mode 100644 datapath-windows/ovsext/OvsDriver.c
create mode 100644 datapath-windows/ovsext/OvsEth.h
create mode 100644 datapath-windows/ovsext/OvsEvent.c
create mode 100644 datapath-windows/ovsext/OvsEvent.h
create mode 100644 datapath-windows/ovsext/OvsFlow.c
create mode 100644 datapath-windows/ovsext/OvsFlow.h
create mode 100644 datapath-windows/ovsext/OvsIoctl.c
create mode 100644 datapath-windows/ovsext/OvsIoctl.h
create mode 100644 datapath-windows/ovsext/OvsIpHelper.c
create mode 100644 datapath-windows/ovsext/OvsIpHelper.h
create mode 100644 datapath-windows/ovsext/OvsJhash.c
create mode 100644 datapath-windows/ovsext/OvsJhash.h
create mode 100644 datapath-windows/ovsext/OvsNetProto.h
create mode 100644 datapath-windows/ovsext/OvsOid.c
create mode 100644 datapath-windows/ovsext/OvsOid.h
create mode 100644 datapath-windows/ovsext/OvsPacketIO.c
create mode 100644 datapath-windows/ovsext/OvsPacketIO.h
create mode 100644 datapath-windows/ovsext/OvsPacketParser.c
create mode 100644 datapath-windows/ovsext/OvsPacketParser.h
create mode 100644 datapath-windows/ovsext/OvsSwitch.c
create mode 100644 datapath-windows/ovsext/OvsSwitch.h
create mode 100644 datapath-windows/ovsext/OvsTunnel.c
create mode 100644 datapath-windows/ovsext/OvsTunnel.h
create mode 100644 datapath-windows/ovsext/OvsTunnelFilter.c
create mode 100644 datapath-windows/ovsext/OvsTunnelIntf.h
create mode 100644 datapath-windows/ovsext/OvsTypes.h
create mode 100644 datapath-windows/ovsext/OvsUser.c
create mode 100644 datapath-windows/ovsext/OvsUser.h
create mode 100644 datapath-windows/ovsext/OvsUtil.c
create mode 100644 datapath-windows/ovsext/OvsUtil.h
create mode 100644 datapath-windows/ovsext/OvsVport.c
create mode 100644 datapath-windows/ovsext/OvsVport.h
create mode 100644 datapath-windows/ovsext/OvsVxlan.c
create mode 100644 datapath-windows/ovsext/OvsVxlan.h
create mode 100644 datapath-windows/ovsext/ovsext.inf
create mode 100644 datapath-windows/ovsext/ovsext.rc
create mode 100644 datapath-windows/ovsext/ovsext.vcxproj
create mode 100644 datapath-windows/ovsext/precomp.h
create mode 100644 datapath-windows/ovsext/precompsrc.c
create mode 100644 lib/dpif-windows.c
create mode 100644 lib/dpif-windows.h
create mode 100644 lib/netdev-windows.c

--
1.7.9.5

_______________________________________________
dev mailing list
dev at openvswitch.org<mailto:dev at openvswitch.org>
https://urldefense.proofpoint.com/v1/url?u=http://openvswitch.org/mailman/listinfo/dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=pEkjsHfytvHEWufeZPpgqSOJMdMjuZPbesVsNhCUc0E%3D%0A&m=BJ3XOx98uiDxOsGWUqVhUjXrXDmn6iQdRLdtIGdM0lE%3D%0A&s=95a66dd2db4e8c0136790403f1a42de5c183687b6e869b228a4ae7d3431f9b1c

_______________________________________________
dev mailing list
dev at openvswitch.org<mailto:dev at openvswitch.org>
https://urldefense.proofpoint.com/v1/url?u=http://openvswitch.org/mailman/listinfo/dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=pEkjsHfytvHEWufeZPpgqSOJMdMjuZPbesVsNhCUc0E%3D%0A&m=BJ3XOx98uiDxOsGWUqVhUjXrXDmn6iQdRLdtIGdM0lE%3D%0A&s=95a66dd2db4e8c0136790403f1a42de5c183687b6e869b228a4ae7d3431f9b1c

_______________________________________________
dev mailing list
dev at openvswitch.org
http://openvswitch.org/mailman/listinfo/dev



More information about the dev mailing list