SVNews r330507

NOTE: This service is experimental and subject to change! Use at your own risk!

2018-03-05 14:24:30 - r330507 by hselasky (Hans Petter Selasky)

Complete list of files affected by revision r330507:

(Note: At the moment, these links point to ViewVC on They are probably slow. Do not overuse.)

  History   Contents   Diff   MODIFY   /head/sys/ofed/drivers/infiniband/core/ib_addr.c  
  History   Contents   Diff   MODIFY   /head/sys/ofed/drivers/infiniband/core/ib_cma.c  
  History   Contents   Diff   MODIFY   /head/sys/ofed/drivers/infiniband/core/ib_verbs.c  
  History   Contents   Diff   MODIFY   /head/sys/ofed/include/rdma/ib_addr.h  

Commit message:

Get correct network device when accepting incoming RDMA connections in ibcore.

This patch ensures the GID index is always used as a basis of resolving
incoming RDMA connections, as compared to the GID value itself.

On a per infiniband port basis, the GID identifier is not a unique identifier!
This assumption falls apart when VLAN ID, IPv6 scope ID and RoCE type,
as supported by RoCE v2, is taken into account. This additional
information is stored in the so-called GID attributes and is needed to
correctly identify the destination network interface for an incoming

Different VLANs are allowed to define the same IPv4 addresses and especially
for the default IPv6 link-local addresses or when using so-called containers
or jails, this is true.

The VNET information for the destination network interface is needed in
order to perform the L2 address lookup in the right Virtual Network Stack

Consequently old functions previously used by RoCE v1, like
rdma_addr_find_smac_by_sgid() are impossible to support, because
there can be multiple identical GIDs associated with the same
infiniband port, and the answer to such a request becomes undefined.
This function has been removed.

MFC after: 1 week
Sponsored by: Mellanox Technologies


Powered by Python FreeBSD support by secnetix GmbH & Co. KG

Page generated in 6 ms, 4 files printed. Current time is 2018-03-22 05:56:55. All times are in UTC/GMT.