]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
[IPoIB_NDIS6_CM] NDIS6 IPOIB had a problem with forwarding packets.
authorStan Smith <stan.smith@intel.com>
Thu, 7 Oct 2010 19:41:10 +0000 (19:41 +0000)
committerStan Smith <stan.smith@intel.com>
Thu, 7 Oct 2010 19:41:10 +0000 (19:41 +0000)
The packet would be sent with one fragment size with size 0. The hw would than refuse to send the packet.

signed-off-by: Tzachi Dar <tzachid@mellanox.co.il>

git-svn-id: svn://openib.tc.cornell.edu/gen1@2962 ad392aa1-c5ef-ae45-8dd8-e69d62a5ef86

branches/WOF2-3/ulp/ipoib_NDIS6_CM/kernel/ipoib_driver.cpp
branches/WOF2-3/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp
trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_driver.cpp
trunk/ulp/ipoib_NDIS6_CM/kernel/ipoib_port.cpp

index 8b6a790f3ccf4338f5e43bb1d5806993ade026c2..8052792bf79be60103568790fcc7c7e632fe18dd 100644 (file)
@@ -3178,15 +3178,10 @@ ipoib_send_net_buffer_list(
        ipoib_port_ref( p_port, ref_send_packets );\r
        cl_obj_unlock( &p_adapter->obj );\r
 \r
-       if (NET_BUFFER_LIST_NEXT_NBL(net_buffer_list) != NULL) {\r
-               cl_dbg_out("Recieved a list of NBLS ................\n");\r
-       }\r
-       \r
        for (curr_net_buffer_list = net_buffer_list;\r
                curr_net_buffer_list != NULL;\r
                curr_net_buffer_list = next_net_buffer_list)\r
        {\r
-\r
                ++g_NBL;\r
                ipoib_cnt_inc( &p_adapter->n_send_NBL );\r
                \r
index d7b452e83ef13d8be8cd40cba92614cec367083b..1b7a37b3a65cbca40f466dba21e3b43113ddf0f8 100644 (file)
@@ -4245,8 +4245,11 @@ __send_gen(
                        p_desc->send_wr[0].local_ds[j].length =\r
                                p_sgl->Elements[i].Length - EthHeaderOffset - DataOffset;\r
                        p_desc->send_wr[0].local_ds[j].lkey = s_buf->p_port->ib_mgr.lkey;\r
+                       if( p_desc->send_wr[0].local_ds[j].length > 0 )\r
+                       {\r
+                               j++;\r
+                       }\r
                        i++;\r
-                       j++;\r
                        break;\r
                }\r
        }\r
@@ -4255,6 +4258,7 @@ __send_gen(
        {\r
                p_desc->send_wr[0].local_ds[j].vaddr = p_sgl->Elements[i].Address.QuadPart;\r
                p_desc->send_wr[0].local_ds[j].length = p_sgl->Elements[i].Length;\r
+               CL_ASSERT( p_desc->send_wr[0].local_ds[j].length > 0 );\r
                p_desc->send_wr[0].local_ds[j].lkey = s_buf->p_port->ib_mgr.lkey;\r
                i++;\r
                j++;\r
index 8b6a790f3ccf4338f5e43bb1d5806993ade026c2..8052792bf79be60103568790fcc7c7e632fe18dd 100644 (file)
@@ -3178,15 +3178,10 @@ ipoib_send_net_buffer_list(
        ipoib_port_ref( p_port, ref_send_packets );\r
        cl_obj_unlock( &p_adapter->obj );\r
 \r
-       if (NET_BUFFER_LIST_NEXT_NBL(net_buffer_list) != NULL) {\r
-               cl_dbg_out("Recieved a list of NBLS ................\n");\r
-       }\r
-       \r
        for (curr_net_buffer_list = net_buffer_list;\r
                curr_net_buffer_list != NULL;\r
                curr_net_buffer_list = next_net_buffer_list)\r
        {\r
-\r
                ++g_NBL;\r
                ipoib_cnt_inc( &p_adapter->n_send_NBL );\r
                \r
index d7b452e83ef13d8be8cd40cba92614cec367083b..1b7a37b3a65cbca40f466dba21e3b43113ddf0f8 100644 (file)
@@ -4245,8 +4245,11 @@ __send_gen(
                        p_desc->send_wr[0].local_ds[j].length =\r
                                p_sgl->Elements[i].Length - EthHeaderOffset - DataOffset;\r
                        p_desc->send_wr[0].local_ds[j].lkey = s_buf->p_port->ib_mgr.lkey;\r
+                       if( p_desc->send_wr[0].local_ds[j].length > 0 )\r
+                       {\r
+                               j++;\r
+                       }\r
                        i++;\r
-                       j++;\r
                        break;\r
                }\r
        }\r
@@ -4255,6 +4258,7 @@ __send_gen(
        {\r
                p_desc->send_wr[0].local_ds[j].vaddr = p_sgl->Elements[i].Address.QuadPart;\r
                p_desc->send_wr[0].local_ds[j].length = p_sgl->Elements[i].Length;\r
+               CL_ASSERT( p_desc->send_wr[0].local_ds[j].length > 0 );\r
                p_desc->send_wr[0].local_ds[j].lkey = s_buf->p_port->ib_mgr.lkey;\r
                i++;\r
                j++;\r