Hello, This is an old patch that was resent as is, so this is the reason you can't apply (that was missed as well). The purpose of all these patches was: 1. Allow the community to review them before inserting into trunk 2. Remove differences between Mellanox and WoF trees
So, if this patch looks ok, I will apply it by myself (using winmerge) P.S. I strictly follow our agreement that all new patches will be tested also on WoF trunk (even if there's no differences at all). XaleX -----Original Message----- From: Smith, Stan [mailto:[email protected]] Sent: Monday, September 20, 2010 7:23 PM To: Alex Naslednikov; [email protected] Subject: RE: [ofw] [Patch] [IPoIB_NDIS6_CM] LSO bug fix Hello, If you know the MLX ipoib files and winOFED svn files are out of sync, why do you posted patches which will not apply? Please resend as a patch against winOFED svn tree for consideration? thank you, stan. -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Alex Naslednikov Sent: Sunday, September 19, 2010 8:17 AM To: [email protected] Subject: [ofw] [Patch] [IPoIB_NDIS6_CM] LSO bug fix LSO bug fix Signed-off by: Alexander Naslednikov (xalex at mellanox.co.il) Index: B:/users/xalex/MLNX_VPI_trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp =================================================================== --- B:/users/xalex/MLNX_VPI_trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp (revision 5274) +++ B:/users/xalex/MLNX_VPI_trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp (revision 5275) @@ -3989,7 +3989,8 @@ NDIS_STATUS status; uint32_t i, j = 1; ULONG DataOffset = 0; - uint32_t offset = sizeof(eth_hdr_t); + uint32_t EthHeaderOffset = sizeof(eth_hdr_t); + static const EthIPoIBHeaderOffset = EthHeaderOffset - sizeof(ipoib_hdr_t); PERF_DECLARE( SendCopy ); @@ -4047,27 +4048,27 @@ ****************************/ p_desc->send_wr[0].local_ds[j].vaddr = - p_sgl->Elements[0].Address.QuadPart + lso_header_size; + p_sgl->Elements[0].Address.QuadPart + lso_header_size + DataOffset + EthIPoIBHeaderOffset; p_desc->send_wr[0].local_ds[j].length = - p_sgl->Elements[0].Length - lso_header_size; + p_sgl->Elements[0].Length - lso_header_size - DataOffset - EthIPoIBHeaderOffset; p_desc->send_wr[0].local_ds[j].lkey = s_buf->p_port->ib_mgr.lkey; /* Set the number of data segments. */ p_desc->send_wr[0].wr.num_ds = 1; return NDIS_STATUS_SUCCESS; } } - else while( offset ) + else while( EthHeaderOffset ) { - if( p_sgl->Elements[i].Length <= offset ) + if( p_sgl->Elements[i].Length <= EthHeaderOffset ) { - offset -= p_sgl->Elements[i++].Length; + EthHeaderOffset -= p_sgl->Elements[i++].Length; } else { p_desc->send_wr[0].local_ds[j].vaddr = - p_sgl->Elements[i].Address.QuadPart + offset + DataOffset; + p_sgl->Elements[i].Address.QuadPart + EthHeaderOffset + DataOffset; p_desc->send_wr[0].local_ds[j].length = - p_sgl->Elements[i].Length - offset - DataOffset; + p_sgl->Elements[i].Length - EthHeaderOffset - DataOffset; p_desc->send_wr[0].local_ds[j].lkey = s_buf->p_port->ib_mgr.lkey; i++; j++; _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw _______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
