1. 21 5月, 2015 2 次提交
    • M
      IB/cma: Fix broken AF_IB UD support · c07678bb
      Matthew Finlay 提交于
      Support for using UD and AF_IB is currently broken.  The
      IB_CM_SIDR_REQ_RECEIVED message is not handled properly in
      cma_save_net_info() and we end up falling into code that will try and
      process the request as ipv4/ipv6, which will end up failing.
      
      The resolution is to add a check for the SIDR_REQ and call
      cma_save_ib_info() with a NULL path record.  Change cma_save_ib_info()
      to copy the src sib info from the listen_id when the path record is NULL.
      Reported-by: NHari Shankar <Hari.Shankar@netapp.com>
      Signed-off-by: NMatt Finlay <matt@mellanox.com>
      Acked-by: NSean Hefty <sean.hefty@intel.com>
      Signed-off-by: NDoug Ledford <dledford@redhat.com>
      c07678bb
    • T
      ib/cm: Change reject message type when destroying cm_id · c29ed5a4
      Ted Kim 提交于
      Problem reported by: Ted Kim <ted.h.kim@oracle.com>:
      
      We have a case where a Linux system and a non-Linux system are
      trying to interoperate.  The Linux host is the active side and
      starts the connection establishment, but later decides to not go
      through with the connection setup and does rdma_destroy_id().
      
      The rdma_destroy_id() eventually works its way down to cm_destroy_id()
      in core/cm.c, where a REJ is sent. The non-Linux system
      has some trouble recognizing the REJ because of:
      
      A. CM states which can't receive the REJ
      B. Some issues about REJ formatting (missing comm ID)
      
      ISSUE A: That part of the spec says, a Consumer Reject REJ can be
      sent for a connection abort, but it goes further
      and says: can send a REJ message with a "Consumer Reject"
      Reason code if they are in a CM state (i.e. REP
      Rcvd, MRA(REP) Sent, REQ Rcvd, MRA Sent) that allows
      a REJ to be sent (lines 35-38).
      
      Of the states listed there in that sentence, it would
      seem to limit the active side to using the Consumer Reject
      (for the abort case) in just the REP-Rcvd and MRA-REP-Sent
      states. That is basically only after the active side
      sees a REP (or alternatively goes down the state transitions
      to timeout in which case a Timeout REJ is sent).
      
      As a fix, in cm-destroy-id() move the IB-CM-MRA-REQ-RCVD case
      to the same as REQ-SENT.  Essentially, make a REJ sent after
      getting an MRA on active side a timeout rather than Consumer-
      Reject, which is arguably more correct with the CM state
      diagrams previous to getting a REP.
      Signed-off-by: NTed Kim <ted.h.kim@oracle.com>
      Signed-off-by: NSean Hefty <sean.hefty@intel.com>
      c29ed5a4
  2. 18 5月, 2015 9 次提交
  3. 13 5月, 2015 3 次提交
  4. 12 5月, 2015 3 次提交
  5. 06 5月, 2015 6 次提交
  6. 05 5月, 2015 12 次提交
  7. 04 5月, 2015 5 次提交