HomeFreeBSD

MFC r325614:

Description

MFC r325614:
Multiple fixes for using IPv6 link-local addresses with RDMA in ibcore.

  1. Fail to resolve RDMA address if rtalloc1() returns the loopback

device, lo0, as the gateway interface. Currently RDMA loopback is
not supported.

  1. Use ip_dev_find() and ip6_dev_find() to lookup network interfaces

with matching IPv4 and IPv6 addresses, respectivly.

  1. In addr_resolve() make sure the "ifa" pointer is always set, also when

the "ifp" is NULL. Else a NULL pointer access might happen trying to
read from the "ifa" pointer later on.

  1. In rdma_addr_find_dmac_by_grh() make sure the "bound_dev_if" field

gets set properly instead of passing the scope ID through the IPv6
socket address structure. This is more in line with upstream OFED
in Linux.

  1. In rdma_addr_find_smac_by_sgid() there is no need to pass the

scope ID for IPv6. Either it is stored in the "bound_dev_if" field
or ip6_dev_find() will find the correct network device regardless
of the scope ID.

Sponsored by: Mellanox Technologies

Details

Provenance
hselaskyAuthored on
Parents
rS325938: MFC r325533:
Branches
Unknown
Tags
Unknown