30 Jul, 2020

1 commit

  • The header files in RDMA subsystem are dual licensed and can be
    described by simple SPDX tag, so replace all of them at once
    together with making them use the same coding style for header
    guard defines.

    Link: https://lore.kernel.org/r/20200719072521.135260-1-leon@kernel.org
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Jason Gunthorpe

    Leon Romanovsky
     

19 Oct, 2017

1 commit

  • The original code only took into consideration the largest header
    possible after the IB_BTH_BYTES. This was incorrect, as the largest
    possible header size is the largest possible combination of headers we
    might run into. The new code accounts for all possible headers in the
    largest possible combination and subtracts that from the MTU to make
    sure that all packets will fit on the wire.

    Link: https://www.spinics.net/lists/linux-rdma/msg54558.html
    Fixes: 3c86aa70bf67 ("RDMA/cm: Add RDMA CM support for IBoE devices")
    Signed-off-by: Parav Pandit
    Reviewed-by: Daniel Jurgens
    Reported-by: Roland Dreier
    Signed-off-by: Leon Romanovsky
    Signed-off-by: Doug Ledford

    Parav Pandit
     

06 Apr, 2017

1 commit

  • Add ability to fault packets on transmit by opcode.
    Dropping by packet can be achieved by setting the mask to 0.

    In order to drop non-verbs traffic we set PbcInsertHrc
    to NONE (0x2). The packet will still be delivered to
    the receiving node but a KHdrHCRCErr (KDETH packet
    with a bad HCRC) will be triggered and the packet will
    not be delivered to the correct context.

    In order to drop regular verbs traffic we set the
    PbcTestEbp flag. The packet will still be delivered
    to the receiving node but a 'late ebp error' will
    be triggered and will be dropped.

    A global toggle (/sys/kernel/debug/hfi1/hfi1_X/fault_suppress_err)
    has been added to suppress the error messages on the receive
    node when a packet was faulted on the sending node.

    Reviewed-by: Dennis Dalessandro
    Signed-off-by: Mike Marciniszyn
    Signed-off-by: Don Hiatt
    Signed-off-by: Dennis Dalessandro
    Signed-off-by: Doug Ledford

    Don Hiatt
     

14 May, 2016

1 commit

  • The opcode for "SEND Last with Invalidate" and "SEND Only with
    Invalidate" have been defined for RC in IBA Specification Vol 1
    since Release 1.2. Add the definition to the header file in
    preparation of supporting these opcodes in rdmavt based drivers.

    Reviewed-by: Mike Marciniszyn
    Signed-off-by: Jianxin Xiong
    Signed-off-by: Doug Ledford

    Jianxin Xiong
     

20 Jan, 2016

1 commit

  • RoCEv2 packets are sent over IP/UDP protocols.
    The mlx4 driver uses a type of RAW QP to send packets for QP1 and
    therefore needs to build the network headers below BTH in software.

    This patch adds option to build QP1 packets with IP and UDP headers if
    RoCEv2 is requested.

    Signed-off-by: Moni Shoua
    Signed-off-by: Doug Ledford

    Moni Shoua
     

23 Dec, 2015

1 commit


22 Oct, 2015

1 commit


29 Aug, 2015

1 commit

  • This patch adds the value of the CNP opcode to the existing list of enumerated
    opcodes in ib_pack.h

    Add common OPA header definitions for driver
    build:
    - opa_port_info.h
    - opa_smi.h
    - hfi1_user.h

    Additionally, ib_mad.h, has additional definitions
    that are common to ib_drivers including:
    - trap support
    - cca support

    The qib driver has the duplication removed in favor
    those in ib_mad.h

    Reviewed-by: Mike Marciniszyn
    Reviewed-by: John, Jubin
    Signed-off-by: Ira Weiny
    Signed-off-by: Dennis Dalessandro
    Signed-off-by: Doug Ledford

    Dennis Dalessandro
     

15 Jan, 2014

1 commit

  • This patch add the support for Ethernet L2 attributes in the
    verbs/cm/cma structures.

    When dealing with L2 Ethernet, we should use smac, dmac, vlan ID and priority
    in a similar manner that the IB L2 (and the L4 PKEY) attributes are used.

    Thus, those attributes were added to the following structures:

    * ib_ah_attr - added dmac
    * ib_qp_attr - added smac and vlan_id, (sl remains vlan priority)
    * ib_wc - added smac, vlan_id
    * ib_sa_path_rec - added smac, dmac, vlan_id
    * cm_av - added smac and vlan_id

    For the path record structure, extra care was taken to avoid the new
    fields when packing it into wire format, so we don't break the IB CM
    and SA wire protocol.

    On the active side, the CM fills. its internal structures from the
    path provided by the ULP. We add there taking the ETH L2 attributes
    and placing them into the CM Address Handle (struct cm_av).

    On the passive side, the CM fills its internal structures from the WC
    associated with the REQ message. We add there taking the ETH L2
    attributes from the WC.

    When the HW driver provides the required ETH L2 attributes in the WC,
    they set the IB_WC_WITH_SMAC and IB_WC_WITH_VLAN flags. The IB core
    code checks for the presence of these flags, and in their absence does
    address resolution from the ib_init_ah_from_wc() helper function.

    ib_modify_qp_is_ok is also updated to consider the link layer. Some
    parameters are mandatory for Ethernet link layer, while they are
    irrelevant for IB. Vendor drivers are modified to support the new
    function signature.

    Signed-off-by: Matan Barak
    Signed-off-by: Or Gerlitz
    Signed-off-by: Roland Dreier

    Matan Barak
     

26 Oct, 2010

1 commit

  • Add 802.1q VLAN support to IBoE. The VLAN tag is encoded within the
    GID derived from a link local address in the following way:

    GID[11] GID[12] contain the VLAN ID when the GID contains a VLAN.

    The 3 bits user priority field of the packets are identical to the 3
    bits of the SL.

    In case of rdma_cm apps, the TOS field is used to generate the SL
    field by doing a shift right of 5 bits effectively taking to 3 MS bits
    of the TOS field.

    Signed-off-by: Eli Cohen
    Signed-off-by: Roland Dreier

    Eli Cohen
     

15 Oct, 2010

1 commit


25 Feb, 2010

1 commit

  • ib_ud_header_init() first clears header and then fills up the various
    fields. Later on, it tests header->immediate_present, which it has
    already cleared, so the condition is always false. Fix this by adding
    an immediate_present parameter and setting header->immediate_present
    as is done with grh_present. Also remove unused calculation of
    header_len.

    Signed-off-by: Eli Cohen
    Signed-off-by: Roland Dreier

    Eli Cohen
     

15 Jul, 2008

1 commit


27 Aug, 2005

1 commit