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
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
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
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
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
23 Dec, 2015
1 commit
-
ib_ud_header_init() is used to format InfiniBand headers
in a buffer up to (but not with) BTH. For RoCE UDP ENCAP it is
required that this function would be able to build also IP and UDP
headers.Signed-off-by: Moni Shoua
Signed-off-by: Matan Barak
Signed-off-by: Doug Ledford
22 Oct, 2015
1 commit
-
IBA spec is now 1.3 not 3.1 and vol 1 should be mentioned
as there is also vol 2.Signed-off-by: Hal Rosenstock
Signed-off-by: Doug Ledford
29 Aug, 2015
1 commit
-
This patch adds the value of the CNP opcode to the existing list of enumerated
opcodes in ib_pack.hAdd common OPA header definitions for driver
build:
- opa_port_info.h
- opa_smi.h
- hfi1_user.hAdditionally, ib_mad.h, has additional definitions
that are common to ib_drivers including:
- trap support
- cca supportThe qib driver has the duplication removed in favor
those in ib_mad.hReviewed-by: Mike Marciniszyn
Reviewed-by: John, Jubin
Signed-off-by: Ira Weiny
Signed-off-by: Dennis Dalessandro
Signed-off-by: Doug Ledford
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_idFor 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
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
15 Oct, 2010
1 commit
-
Add support for packing IBoE packet headers.
Signed-off-by: Eli Cohen
[ Clean up and fix ib_ud_header_init() a bit. - Roland ]
Signed-off-by: Roland Dreier
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
15 Jul, 2008
1 commit
-
Remove subversion $Id lines and improve readability by fixing other
coding style problems pointed out by checkpatch.pl.Signed-off-by: Dotan Barak
Signed-off-by: Roland Dreier
27 Aug, 2005
1 commit
-
Move the InfiniBand headers from drivers/infiniband/include to include/rdma.
This allows InfiniBand-using code to live elsewhere, and lets us remove the
ugly EXTRA_CFLAGS include path from the InfiniBand Makefiles.Signed-off-by: Roland Dreier