freebsd-dev/sys
Hans Petter Selasky bf8641fedb 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.

Background:
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
connection.

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
context.

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
2018-03-05 14:24:30 +00:00
..
amd64 Move the new AMD-Vi IVHD [ACPI_IVRS_HARDWARE_NEW]definitions added in r329360 in contrib ACPI to local files till ACPI code adds new definitions reported by jkim. 2018-03-05 02:28:25 +00:00
arm Switch imx_gpio to attach at BUS_PASS_INTERRUPT + BUS_PASS_ORDER_LATE. 2018-03-05 02:32:23 +00:00
arm64 Register each GICv3 ITS driver with a useful cross reference. We currently 2018-03-05 10:11:30 +00:00
bsm sys: further adoption of SPDX licensing ID tags. 2017-11-20 19:43:44 +00:00
cam Use bool instead of int for predicate functions relating to work 2018-02-23 16:06:54 +00:00
cddl add ZFS_ENTER protection to .zfs/snapshot vnode operations that need it 2018-02-27 14:08:54 +00:00
compat Properly wrap the BUILD_BUG() function macro in the LinuxKPI. 2018-03-04 19:42:50 +00:00
conf imcsmb(4): Intel integrated Memory Controller (iMC) SMBus controller driver 2018-03-03 01:53:51 +00:00
contrib Move the new AMD-Vi IVHD [ACPI_IVRS_HARDWARE_NEW]definitions added in r329360 in contrib ACPI to local files till ACPI code adds new definitions reported by jkim. 2018-03-05 02:28:25 +00:00
crypto Remove unused error return from API that cannot fail 2018-02-23 20:15:19 +00:00
ddb db_script_exec: use a saved script name when reporting commands executed 2018-03-04 13:27:21 +00:00
dev Switch to the new bcd_clocktime conversion routines, and add calls to the 2018-03-05 00:43:53 +00:00
dts Switch to mainstream DTS for Raspberry Pi-B and Pi-2. 2018-02-27 15:01:17 +00:00
fs sys/fuse: fix off by one error 2018-03-03 20:42:39 +00:00
gdb sys/gdb: further adoption of SPDX licensing ID tags. 2017-11-27 15:16:59 +00:00
geom g_label_ufs: Fix typo from r330264 2018-03-02 06:02:54 +00:00
gnu bwn(4): txpid2g/txpid5g[lh] are not defined after sromrev 7; the default 2018-02-13 17:43:54 +00:00
i386 Unify bulk free operations in several pmaps. 2018-03-04 20:53:20 +00:00
isa Add ISA PNP tables to ISA drivers. Fix a few incidental comments. 2018-01-29 00:22:30 +00:00
kern lockmgr: save on sleepq when cmpset fails 2018-03-05 00:30:07 +00:00
kgssapi kgssapi: Remove trivial deadcode 2018-02-14 00:12:03 +00:00
libkern iconv uses strlen directly on user supplied memory 2018-02-26 18:23:36 +00:00
mips Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +00:00
modules Build iicbus/rtc8583 as a module. 2018-03-04 21:06:21 +00:00
net iflib: stop timer callout when stopping 2018-03-02 18:48:07 +00:00
net80211 net80211: sanitize input for ieee80211_output() 2017-12-30 00:40:34 +00:00
netgraph Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00
netinet When checking the TCP fast cookie length, conststently also check 2018-02-27 22:12:38 +00:00
netinet6 Update the MTU in affected routes when IPv6 RA changes the MTU 2018-02-12 19:49:20 +00:00
netipsec Remove unused variables and sysctl declaration. 2018-02-19 12:20:51 +00:00
netpfil pf: Cope with overly large net.pf.states_hashsize 2018-02-25 08:56:44 +00:00
netsmb Unsign some values related to allocation. 2018-01-22 02:08:10 +00:00
nfs Modernize nfssvc(2) registartion. 2018-02-08 20:09:42 +00:00
nfsclient style: Remove remaining deprecated MALLOC/FREE macros 2018-01-25 22:25:13 +00:00
nfsserver sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
nlm Use syscall_helper_register() to register syscalls and initialize though 2018-02-10 01:09:22 +00:00
ofed Get correct network device when accepting incoming RDMA connections in ibcore. 2018-03-05 14:24:30 +00:00
opencrypto Move per-operation data out of the csession structure. 2018-01-26 23:21:50 +00:00
powerpc Honor physical memory regions marked unavailable in the FDT, when present. 2018-03-03 02:06:48 +00:00
riscv Unify bulk free operations in several pmaps. 2018-03-04 20:53:20 +00:00
rpc Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
security mac_portacl(4): stop panicing INVARIANTS-enabled kernel by loading .ko 2018-02-25 23:10:13 +00:00
sparc64 Do not include float interfaces when using libsa. 2018-02-23 04:04:25 +00:00
sys Upgrade our copies of clang, llvm, lld, lldb, compiler-rt and libc++ to 2018-03-04 17:06:37 +00:00
teken sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
tests
tools Avoid using \$. It's an unknown escape sequence. Some awks warn about 2018-01-28 05:13:08 +00:00
ufs This change is some refactoring of Mark Johnston's changes in r329375 2018-03-02 04:34:53 +00:00
vm Remove redundant test from r330410. 2018-03-04 21:15:31 +00:00
x86 Correct pseudo misspelling in sys/ comments 2018-02-23 18:15:50 +00:00
xdr sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
xen sys: general adoption of SPDX licensing ID tags. 2017-11-27 15:23:17 +00:00
Makefile Move sys/boot to stand. Fix all references to new location 2017-11-14 23:02:19 +00:00