[ofw] Build errors in Ipiob_ndis6_cm (WinOF2.2 branch) for non-dma support

Sophia Germans sophia.germans at qlogic.com
Wed May 26 16:37:14 PDT 2010


I had noticed just one error in "__send_gen " function - parameters type in function declaration and function definition mismatch when we used to work with Ndis5.1 (WinOF2.0.2 branch).
For the other error related to NdisQueryBuffer, we cannot use this with Ndis6.0

-----Original Message-----
From: Fab Tillier [mailto:ftillier at microsoft.com] 
Sent: Wednesday, May 26, 2010 4:23 PM
To: Sophia Germans; ofw at lists.openfabrics.org
Subject: RE: Build errors in Ipiob_ndis6_cm (WinOF2.2 branch) for non-dma support

Sophia Germans wrote on Wed, 26 May 2010 at 16:18:10
> 
> Hi,
> 
> I changed IPOIB_USE_DMA to zero, so that it uses MDLs to get the system
> Virtual address for a special purpose.
> 
>  But I find that there are compilation errors :
> errors in directory d:\source\wof22\ulp\ipoib_ndis6_cm\kernel
> d:\source\wof22\ulp\ipoib_ndis6_cm\kernel\ipoib_port.cpp(3609) : error
> C3861: 'NdisQueryBuffer': identifier not found
> d:\source\wof22\ulp\ipoib_ndis6_cm\kernel\ipoib_port.cpp(3624) : error
> C2660: '__send_copy' : function does not take 2 arguments
> d:\source\wof22\ulp\ipoib_ndis6_cm\kernel\ipoib_port.cpp(5678) : error
> C3861: 'ipoib_process_sg_list_real': identifier not found
> d:\source\wof22\ulp\ipoib_ndis6_cm\kernel\ipoib_port.cpp(3609) : error
> C3861: 'NdisQueryBuffer': identifier not found
> d:\source\wof22\ulp\ipoib_ndis6_cm\kernel\ipoib_port.cpp(3624) : error
> C2660: '__send_copy' : function does not take 2 arguments
> d:\source\wof22\ulp\ipoib_ndis6_cm\kernel\ipoib_port.cpp(5678) : error
> C3861: 'ipoib_process_sg_list_real': identifier not found link : error
> LNK1181: cannot open input file
> 'd:\source\wof22\ulp\ipoib_ndis6_cm\kernel\objfre_wlh_amd64\amd64\ipoib_
> port.obj'
> 
> Changing NdisQueryBuffer to NdisQueryBufferSafe would be one thing, but
> still it expects a NDIS_PACKET whereas the function passes NET_BUFFER.

This is likely a relic of the NDIS 6 conversion not being complete, leaving behind the original NDIS 5 code.  You can try running the NDIS 5 version of IPoIB and see you can get that to work properly.  Otherwise, you have to update the send code paths to NDIS 6.

-Fab



More information about the ofw mailing list