Skip to content

[Question] RC QP state machine client side question #42

Description

@gaoikawa

A vendor asks:

I'm trying to understand the RC QP state machine on the client side. I see that finishTransferAfterReply() calls connectRcPeer() which moves the QP to RTR and then to RTS. Does it mean that the QP is ready for RDMA ops only after the S3 reply is received? If yes, I don't understand the PUT/GET object flow:

  1. The client's QP is in INIT state.
  2. The client sends a PUT (or GET) object to the server.
  3. The server sends an S3 response with a token. At this point, the server is still unable to run RDMA ops (because we're still in the INIT state).
  4. The client gets the response, calls finishTransferAfterReply() and only then the server can run RDMA read, but this is too late.

If my assumptions so far are OK, what will happen during the next S3 request? At this point, the QP is already connected.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    questionFurther information is requested

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions