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

Alin Serdean aserdean at cloudbasesolutions.com
Sat Jul 26 02:12:39 UTC 2014


I disabled RX/TX 
(02) works
(03) works

Here is a flow with a tun_id maybe it will help:
PS C:\ovs_guys\binaries> .\ovs-dpctl.exe dump-flows | findstr tun
2014-07-26T02:10:30Z|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.
skb_priority(0),skb_mark(0),in_port(16777216),eth(src=00:0c:29:45:77:70,dst=ff:ff:ff:ff:ff:ff),eth_type(0x0806),arp(sip=
10.13.8.101,tip=10.13.8.160,op=1,sha=00:0c:29:45:77:70,tha=00:00:00:00:00:00), packets:0, bytes:0, used:never, actions:1
6777225,16777289,16777288,set(tunnel(tun_id=0x0,src=10.13.8.101,dst=10.13.8.160,tos=0x0,ttl=64,flags(df,key))),16777218
PS C:\ovs_guys\binaries>

I can see it trying but not for the VMs they still don't trasmit under VXLAN.

Kind Regards,
Alin.
________________________________________
From: Saurabh Shah [ssaurabh at vmware.com]
Sent: Saturday, July 26, 2014 4:52 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.

Here is what I would like you to quickly try -

01. Disable TX/RX checksum offloads on both VM¹s & PNIC.
02. Do a ping between VTEPs.
03. Do a ping between VMs.

Let me know which of (2) or (3) doesn¹t work.

Thanks!
Saurabh


From:  Alin Serdean <aserdean at cloudbasesolutions.com>
Date:  Friday, July 25, 2014 at 6:09 PM
To:  Saurabh Shah <ssaurabh at vmware.com>, Alessandro Pilotti
<apilotti at cloudbasesolutions.com>
Cc:  "dev at openvswitch.org" <dev at openvswitch.org>
Subject:  RE: [ovs-dev] [PATCH v2 0/3] Support for OVS datapath on Windows
platform.


>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=pEkjsHfytvHEWufeZPpgqSO
>JMdMjuZPbesVsNhCUc0E%3D%0A&m=BJ3XOx98uiDxOsGWUqVhUjXrXDmn6iQdRLdtIGdM0lE%3
>D%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=pEkjsHfytvHEWufeZPpgqSO
>JMdMjuZPbesVsNhCUc0E%3D%0A&m=BJ3XOx98uiDxOsGWUqVhUjXrXDmn6iQdRLdtIGdM0lE%3
>D%0A&s=95a66dd2db4e8c0136790403f1a42de5c183687b6e869b228a4ae7d3431f9b1c
>
>_______________________________________________
>dev mailing list
>dev at openvswitch.org
>https://urldefense.proofpoint.com/v1/url?u=http://openvswitch.org/mailman/
>listinfo/dev&k=oIvRg1%2BdGAgOoM1BIlLLqw%3D%3D%0A&r=pEkjsHfytvHEWufeZPpgqSO
>JMdMjuZPbesVsNhCUc0E%3D%0A&m=5YA%2FCAQGJD7bqVsxVgWHa36%2FVseox5IV6l0EZpMuI
>6U%3D%0A&s=117a66f54272a9e5c453ec09b9ee40d9c8157475e4b952fd80281583de7bfcf
>2




More information about the dev mailing list