1. 13 3月, 2010 1 次提交
  2. 12 3月, 2010 3 次提交
  3. 26 2月, 2010 2 次提交
  4. 25 2月, 2010 5 次提交
  5. 20 2月, 2010 5 次提交
  6. 13 2月, 2010 4 次提交
  7. 12 2月, 2010 2 次提交
  8. 09 2月, 2010 1 次提交
  9. 27 1月, 2010 1 次提交
  10. 07 1月, 2010 3 次提交
  11. 23 12月, 2009 5 次提交
  12. 16 12月, 2009 1 次提交
  13. 10 12月, 2009 7 次提交
    • F
      RDMA/nes: Fix stale ARP issue · 7a576dfd
      Faisal Latif 提交于
      When the remote node's ethernet address changes, the connection keeps
      trying to connect using the old address.  The connection wil continue
      failing until the driver is unloaded and loaded again (eiter reboot or
      rmmod).  Fix this by checking that the NIC has the correct address
      before starting a connection.
      Signed-off-by: NFaisal Latif <faisal.latif@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      7a576dfd
    • F
      RDMA/nes: FIN during MPA startup causes timeout · b1190d3e
      Faisal Latif 提交于
      A FIN that is received during an MPA start up sequence causes a
      timeout in iwcm.c.  The connection has not been completely closed so
      the iwcm code is waiting for resources to be cleaned up.  This closes
      the connection so everything cleans up correctly.
      Signed-off-by: NDon Wood <donald.e.wood@intel.com>
      Signed-off-by: NFaisal Latif <faisal.latif@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      b1190d3e
    • F
      RDMA/nes: Free kmap() resources · d2fa9b26
      Faisal Latif 提交于
      We fail when creating many qps as kmap() fails for sq_vbase.
      Fix this by doing kunmap() as soon as we are done with sq_vbase.
      We do kunmap() in one of the locations below:
      
      (1) nes_destroy_qp()
      (2) nes_accept()
      (3) nes_connect_event
      
      We keep a flag to avoid multiple calls to kunmap().
      Signed-off-by: NFaisal Latif <faisal.latif@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      d2fa9b26
    • F
      RDMA/nes: Check for zero STag · fd000e12
      Faisal Latif 提交于
      STags are generated randomly but the driver does not correctly prevent
      a zero STag.  Using STag zero is privileged and causes a user space
      application to fail.  This change prevents the driver from trying to
      allocate a zero STag.
      Signed-off-by: NFaisal Latif <faisal.latif@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      fd000e12
    • F
      RDMA/nes: Fix Xansation test crash on cm_node ref_count · 886f98a3
      Faisal Latif 提交于
      While running a Xansation test, an active side node crashed.  The
      problem started on the passive side, which generated an STtag that was
      0.  The passive side sent a TERMINATE instead of an MPA REJECT msg.
      The active side, receives TERMINATE and sends connect_err() and set
      the cm_node state to CLOSED.  The passive side sends FIN + ACK after
      TERMINATE.  Active side ends up in handle_ack_pkt() and send_reset().
      send_reset() consumes 1 cm_node's ref_count.  Because the cm_node is
      in CLOSED state, which means that cm_node will be destroyed after
      completion of the connect_err() indication, CM will crash after
      send_reset().
      Signed-off-by: NFaisal Latif <faisal.latif@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      886f98a3
    • F
      RDMA/nes: Abnormal listener exit causes loopback node crash · f9f3f1e0
      Faisal Latif 提交于
      When the listener is destroyed for a loopback connection, the listener
      node gets a reset event.  This causes a crash as the listener is not
      expecting a reset event.  Code review of cm_event_reset() during
      debugging showed the cm_id ref count is incremented after calling its
      event handler and not before.
      Signed-off-by: NFaisal Latif <faisal.latif@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      f9f3f1e0
    • F
      RDMA/nes: Fix crash in nes_accept() · c5a7d489
      Faisal Latif 提交于
      While running IMP_EXT's window test, we saw a crash in nes_accept().
      Here is the sequence of what happened:
      
      (1) In MVAPICH2, connect request is received for port #0.
      
      FIX:  Add a nes_connect() check to make sure local or remote tcp port
            is not 0.
      
      (2) Remote node's (passive) TCP stack sends a reset when it gets a
          connect request because of port = 0.  Active side set the connect
          error to IW_CM_EVENT_STATUS_REJECTED when it received the RST from
          remote node.
      
      FIX: The corect error code is -ECONNRESET.
      
      (3) Wrong error code of IW_CM_EVENT_STATUS_REJECTED causes the core to
          destroy its listener ports.  Here there are connections that may
          have sent an MPA request up and waiting for accept or reject.  But
          the listener and its cm_nodes have been freed already causing the
          crash noticed.
      
      FIX: The cm_node is freed only if its state is not
           NES_CM_STATE_MPAREQ_RCVD.  If cm_node's state is
           NES_CM_STATE_MPAREQ_RCVD then its new state is set to
           NES_CM_STATE_LISTENER_DESTROYED and it is not freed.  When
           nes_accept() or nes_reject() is received, its state is checked
           for NES_CM_STATE_LISTENER_DESTROYED and in this case the cm_node
           is freed and error is returned.
      Signed-off-by: NFaisal Latif <faisal.latif@intel.com>
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      c5a7d489