• Moni Shoua's avatar
    IB/mlx4: Create and use another QP1 for RoCEv2 · e1b866c6
    Moni Shoua authored
    The mlx4 driver uses a special QP to implement the GSI QP. This kind
    of QP allows to build the InfiniBand headers in software.
    When mlx4 hardware builds the packet, it calculates the ICRC and puts
    it at the end of the payload. However, this ICRC calculation depends
    on the QP configuration, which is determined when the QP is modified
    (roce_mode during INIT->RTR).
    When receiving a packet, the ICRC verification doesn't depend on this
    configuration.
    Therefore, using two GSI QPs for send (one for each RoCE version) and
    one GSI QP for receive are required.
    Signed-off-by: default avatarMoni Shoua <monis@mellanox.com>
    Signed-off-by: default avatarDoug Ledford <dledford@redhat.com>
    e1b866c6
qp.c 98.9 KB