Thanks for the patch. Just to clarify, I think we still don¹t support IPv6
in OvsTcpSegmentNBL.

Acked-by: Sairam Venugopal <vsai...@vmware.com>



On 12/11/15, 2:29 PM, "Alin Serdean" <aserd...@cloudbasesolutions.com>
wrote:

>This patch adds LSO version 2 support for the windows datapath.
>(https://urldefense.proofpoint.com/v2/url?u=https-3A__msdn.microsoft.com_e
>n-2Dus_library_windows_hardware_ff568840-2528v-3Dvs.85-2529.aspx&d=BQIGaQ&
>c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Dcruz40PROJ40ROzSpxyQSLw6f
>crOWpJgEcEmNR3JEQ&m=ewMobSdivrA6XR-BJ8hbfBp5jsgbMzrEHybjAZ24RO4&s=Y9h65-o1
>FW1buPSLpV6zKv8ZTZtuEaFY245ELBMKd7w&e= )
>
>Tested using psping and iperf3.
>
>Signed-off-by: Alin Gabriel Serdean <aserd...@cloudbasesolutions.com>
>---
>v2: Allow VXLAN encapsulation to take place if no LSO is available
>---
> datapath-windows/ovsext/Vxlan.c | 18 +++++++++++++++---
> 1 file changed, 15 insertions(+), 3 deletions(-)
>
>diff --git a/datapath-windows/ovsext/Vxlan.c
>b/datapath-windows/ovsext/Vxlan.c
>index c0611da..2516ece 100644
>--- a/datapath-windows/ovsext/Vxlan.c
>+++ b/datapath-windows/ovsext/Vxlan.c
>@@ -190,6 +190,7 @@ OvsDoEncapVxlan(POVS_VPORT_ENTRY vport,
>     POVS_VXLAN_VPORT vportVxlan;
>     UINT32 headRoom = OvsGetVxlanTunHdrSize();
>     UINT32 packetLength;
>+    ULONG mss = 0;
> 
>     /*
>      * XXX: the assumption currently is that the NBL is owned by OVS, and
>@@ -204,12 +205,23 @@ OvsDoEncapVxlan(POVS_VPORT_ENTRY vport,
> 
>         tsoInfo.Value = NET_BUFFER_LIST_INFO(curNbl,
>                  
>TcpLargeSendNetBufferListInfo);
>-        OVS_LOG_TRACE("MSS %u packet len %u", tsoInfo.LsoV1Transmit.MSS,
>+        switch (tsoInfo.Transmit.Type) {
>+            case NDIS_TCP_LARGE_SEND_OFFLOAD_V1_TYPE:
>+                mss = tsoInfo.LsoV1Transmit.MSS;
>+                break;
>+            case NDIS_TCP_LARGE_SEND_OFFLOAD_V2_TYPE:
>+                mss = tsoInfo.LsoV2Transmit.MSS;
>+                break;
>+            default:
>+                OVS_LOG_ERROR("Unknown LSO transmit type:%d",
>+                              tsoInfo.Transmit.Type);
>+        }
>+        OVS_LOG_TRACE("MSS %u packet len %u", mss,
>                       packetLength);
>-        if (tsoInfo.LsoV1Transmit.MSS) {
>+        if (mss) {
>             OVS_LOG_TRACE("l4Offset %d", layers->l4Offset);
>             *newNbl = OvsTcpSegmentNBL(switchContext, curNbl, layers,
>-                                       tsoInfo.LsoV1Transmit.MSS,
>headRoom);
>+                                       mss, headRoom);
>             if (*newNbl == NULL) {
>                 OVS_LOG_ERROR("Unable to segment NBL");
>                 return NDIS_STATUS_FAILURE;
>-- 
>1.9.5.msysgit.0
>_______________________________________________
>dev mailing list
>dev@openvswitch.org
>https://urldefense.proofpoint.com/v2/url?u=http-3A__openvswitch.org_mailma
>n_listinfo_dev&d=BQIGaQ&c=Sqcl0Ez6M0X8aeM67LKIiDJAXVeAw-YihVMNtXt-uEs&r=Dc
>ruz40PROJ40ROzSpxyQSLw6fcrOWpJgEcEmNR3JEQ&m=ewMobSdivrA6XR-BJ8hbfBp5jsgbMz
>rEHybjAZ24RO4&s=hCu09m9IAwqR2mS7U5CxPbo2fRMEBqPvfN1lTdJGgHw&e= 

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

Reply via email to