[ofw] [PATCH] Refine UAL_NDI_NOOP handler

Fab Tillier ftillier at windows.microsoft.com
Fri Jul 11 17:17:37 PDT 2008


The UAL_NDI_NOOP IOCTL handler was added to allow memory registration in user-mode to notify a client using an I/O completion port.  This patch extends the functionality to allow the IOCTL to return either STATUS_SUCCESS or STATUS_TIMEOUT.  The STATUS_TIMEOUT facility is used by the NetworkDirect provider when IBAT returns pending.  It's crude, but gets the job done.

I'll be looking at IPoIB and IBAT timeouts once all my pending changes are sent/applied.

Signed-off-by: Fab Tillier <ftillier at microsoft.com>

diff -up -r -X trunk\docs\dontdiff.txt -I \$Id: old\core\al\kernel\al_proxy_ndi.c trunk\core\al\kernel\al_proxy_ndi.c
--- old\core\al\kernel\al_proxy_ndi.c   Fri Jul 11 17:13:15 2008
+++ trunk\core\al\kernel\al_proxy_ndi.c Fri Jul 11 17:11:20 2008
@@ -614,7 +614,10 @@ ndi_ioctl(
                cl_status = __ndi_dreq_cm( p_context, h_ioctl, p_ret_bytes );
                break;
     case UAL_NDI_NOOP:
-        cl_status = CL_SUCCESS;
+        if( cl_ioctl_in_size( h_ioctl ) != 0 )
+            cl_status = STATUS_TIMEOUT;
+        else
+            cl_status = CL_SUCCESS;
         break;
        default:
                cl_status = CL_INVALID_PARAMETER;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: noop_timeout.patch
Type: application/octet-stream
Size: 629 bytes
Desc: noop_timeout.patch
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20080711/3c42e060/attachment.obj>


More information about the ofw mailing list