The ND specification allows for retrying NDConnector:Connect()
calls.  Add this support to the winverbs ND provider.

Signed-off-by: Sean Hefty <[email protected]>
---
This should be added to the 2.2 release.  It passed all ND logo tests.

 trunk/ulp/netdirect/user/nd_connect.cpp |   18 +++++++++---------
 trunk/ulp/netdirect/user/nd_connect.h   |    8 --------
 2 files changed, 9 insertions(+), 17 deletions(-)

diff --git a/trunk/ulp/netdirect/user/nd_connect.cpp 
b/trunk/ulp/netdirect/user/nd_connect.cpp
index 81d5f7b..ce25499 100644
--- a/trunk/ulp/netdirect/user/nd_connect.cpp
+++ b/trunk/ulp/netdirect/user/nd_connect.cpp
@@ -39,15 +39,6 @@ CNDConnector::CNDConnector(CNDAdapter *pAdapter)
        m_pWvConnEp = NULL;
 }
 
-STDMETHODIMP CNDConnector::
-Init(void)
-{
-       HRESULT hr;
-
-       hr = m_pAdapter->m_pWvProvider->CreateConnectEndpoint(&m_pWvConnEp);
-       return NDConvertWVStatus(hr);
-}
-
 CNDConnector::~CNDConnector()
 {
        if (m_pWvConnEp != NULL) {
@@ -132,6 +123,15 @@ Connect(INDEndpoint* pEndpoint,
        IBAT_PATH_BLOB path;
        HRESULT hr;
 
+       if (m_pWvConnEp != NULL) {
+               m_pWvConnEp->Release();
+       }
+
+       hr = m_pAdapter->m_pWvProvider->CreateConnectEndpoint(&m_pWvConnEp);
+       if (FAILED(hr)) {
+               goto out;
+       }
+
        RtlCopyMemory(&addr, &m_pAdapter->m_Address, AddressLength);
        if (addr.Sa.sa_family == AF_INET) {
                addr.Sin.sin_port = LocalPort;
diff --git a/trunk/ulp/netdirect/user/nd_connect.h 
b/trunk/ulp/netdirect/user/nd_connect.h
index 2da2f22..ec38fb1 100644
--- a/trunk/ulp/netdirect/user/nd_connect.h
+++ b/trunk/ulp/netdirect/user/nd_connect.h
@@ -94,16 +94,9 @@ public:
                        goto err1;
                }
 
-               hr = conn->Init();
-               if (FAILED(hr)) {
-                       goto err2;
-               }
-
                *ppConnector = conn;
                return ND_SUCCESS;
 
-       err2:
-               conn->Release();
        err1:
                *ppConnector = NULL;
                return hr;
@@ -113,7 +106,6 @@ public:
        CNDAdapter                      *m_pAdapter;
 
 protected:
-       STDMETHODIMP            Init();
 };
 
 #endif // _ND_CONNECTOR_H_


_______________________________________________
ofw mailing list
[email protected]
http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw

Reply via email to