Nithin made a good suggestion. It would help to know where the packet is getting dropped. Can you collect wireshark traces on both the VM¹s and the HV NICs and let us know where the packet gets dropped? We suspect that this might be a checksum offload issue, so disabling offloads on the VM & the PNIC might just do the trick.
>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 ><aserd...@cloudbasesolutions.com<mailto:aserd...@cloudbasesolutions.com>> >Date: Friday, July 25, 2014 at 4:10 PM >To: Alessandro Pilotti ><apilo...@cloudbasesolutions.com<mailto:apilo...@cloudbasesolutions.com>>, > Saurabh Shah <ssaur...@vmware.com<mailto:ssaur...@vmware.com>> >Cc: "dev@openvswitch.org<mailto:dev@openvswitch.org>" ><dev@openvswitch.org<mailto:dev@openvswitch.org>>, Ankur Sharma ><ankursha...@vmware.com<mailto:ankursha...@vmware.com>>, Rajiv >Krishnamurthy ><krishnamurt...@vmware.com<mailto:krishnamurt...@vmware.com>>, Guolin >Yang <gy...@vmware.com<mailto:gy...@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@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@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-boun...@openvswitch.org<mailto:dev-boun...@openvswitch.org>] on >behalf of Alessandro Pilotti >[apilo...@cloudbasesolutions.com<mailto:apilo...@cloudbasesolutions.com>] >Sent: Friday, July 25, 2014 8:20 PM >To: Saurabh Shah >Cc: dev@openvswitch.org<mailto:dev@openvswitch.org>; >ankursha...@vmware.com<mailto:ankursha...@vmware.com>; >krishnamurt...@vmware.com<mailto:krishnamurt...@vmware.com>; >gy...@vmware.com<mailto:gy...@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 ><ssaur...@vmware.com<mailto:ssaur...@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@openvswitch.org<mailto:dev@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@openvswitch.org<mailto:dev@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@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=ZK%2BYEi%2F6S7hTbDqWfVPq6jI44sedIu0HF4Y%2F6J% >2FTSl8%3D%0A&s=978a4884df80d7c54807e42aec946c35d1097bff4c09e9ca7682b3f67ca >db5e9 _______________________________________________ dev mailing list dev@openvswitch.org http://openvswitch.org/mailman/listinfo/dev