Optimize ibcore RoCE address handle creation from user-space.Creating a UD address handle from user-space or from the kernel-space,when the link layer is ethernet, requires resolving the remote L3
Optimize ibcore RoCE address handle creation from user-space.Creating a UD address handle from user-space or from the kernel-space,when the link layer is ethernet, requires resolving the remote L3address into a L2 address. Doing this from the kernel is easy becausethe required ARP(IPv4) and ND6(IPv6) address resolving APIs are readilyavailable. In userspace such an interface does not exist and kernelhelp is required.It should be noted that in an IP-based GID environment, the GID itselfdoes not contain all the information needed to resolve the destinationIP address. For example information like VLAN ID and SCOPE ID, is notpart of the GID and must be fetched from the GID attributes. Thereforea source GID should always be referred to as a GID index. Instead ofgoing through various racy steps to obtain information about theGID attributes from user-space, this is now all done by the kernel.This patch optimises the L3 to L2 address resolving using the existingcreate address handle uverbs interface, retrieving back the L2 addressas an additional user-space information structure.This commit combines the following Linux upstream commits:IB/core: Let create_ah return extended response to userIB/core: Change ib_resolve_eth_dmac to use it in create AHIB/mlx5: Make create/destroy_ah available to userspaceIB/mlx5: Use kernel driver to help userspace create ahIB/mlx5: Report that device has udata response in create_ahMFC after: 1 weekSponsored by: Mellanox Technologies
show more ...
Import the mthca kernel side infiniband driver from Linux 4.9 and fixcompilation under FreeBSD. The mthca driver was temporarily removed aspart of the Linux 4.9 RoCE/infinband upgrade.Top commit
Import the mthca kernel side infiniband driver from Linux 4.9 and fixcompilation under FreeBSD. The mthca driver was temporarily removed aspart of the Linux 4.9 RoCE/infinband upgrade.Top commit in Linux source tree:69973b830859bc6529a7a0468ba0d80ee5117826Sponsored by: Mellanox Technologies