svn commit: r331769 - in stable/11: . contrib/ofed contrib/ofed/include contrib/ofed/include/infiniband contrib/ofed/include/rdma contrib/ofed/infiniband-diags contrib/ofed/libcxgb4 contrib/ofed/li...

Hans Petter Selasky hselasky at FreeBSD.org
Fri Mar 30 18:06:32 UTC 2018


Author: hselasky
Date: Fri Mar 30 18:06:29 2018
New Revision: 331769
URL: https://svnweb.freebsd.org/changeset/base/331769

Log:
  MFC r303505, r303506, r303512, r303513, r303646, r320418, r323082,
  r326169, r326563, r326649, r326716, r326764, r326765 and r329222:
  
  RoCE/infiniband/iWarp upgrade to Linux 4.9 for kernel and userspace.
  This commit merges projects/bsd_rdma_4_9 to 11-stable.
  
  Compatibility wrappers have been made for existing 11-stable ibcore
  APIs, including ib_reg_phys_mr().
  Refer to "sys/ofed/include/rdma/ib_verbs_compat.h" for more information.
  
  The iw_cxgb driver has not been updated and has been disconnected from
  the build.
  
  Sponsored by:   Mellanox Technologies
  
  MFC r326169 and r326563:
  RoCE/infiniband upgrade to Linux v4.9 for kernel and userspace.
  
  List of kernel sources used:
  ============================
  
  1) kernel sources were cloned from git://github.com/torvalds/linux.git
  Top commit 69973b830859bc6529a7a0468ba0d80ee5117826 - tag: v4.9, linux-4.9
  
  2) krping was cloned from https://github.com/larrystevenwise/krping
  Top commit 292a2f1abf0348285e678a82264740d52e4dcfe4
  
  List of userspace sources used:
  ===============================
  
  1) rdma-core was cloned from https://github.com/linux-rdma/rdma-core.git
  Top commit d65138ef93af30b3ea249f3a84aa6a24ba7f8a75
  
  2) OpenSM was cloned from git://git.openfabrics.org/~halr/opensm.git
  Top commit 85f841cf209f791c89a075048a907020e924528d
  
  3) libibmad was cloned from git://git.openfabrics.org/~iraweiny/libibmad.git
  Tag 1.3.13 with some additional patches from Mellanox.
  
  4) infiniband-diags was cloned from git://git.openfabrics.org/~iraweiny/infiniband-diags.git
  Tag 1.6.7 with some additional patches from Mellanox.
  
  NOTES:
  ======
  
  1) The mthca driver has been removed from userspace.
  2) All GPLv2 only sources have been removed and where applicable
     rewritten from scratch under a BSD license.
  3) List of fully supported drivers in userspace and kernel:
     a) iw_cxgbe (Chelsio)
     b) mlx4ib (Mellanox)
     c) mlx5ib (Mellanox)
  4) WITH_OFED=YES is still required by make in order to build
     OFED userspace and kernel code.
  5) Full support has been added for routable RoCE, RoCE v2.
  
  MFC r326649:
  Disconnect OFED after r326169 broke all DIRDEPS support for it.
  
  MFC r326716:
  Correctly define the unordered_map namespace in ofed/libibnetdisc .
  
  This should fix ofed/libibnetdisc compilation with C-compilers
  different from clang and GCC v4.2.1.
  
  Submitted by:   kib
  Sponsored by:   Mellanox Technologies
  
  MFC r326764:
  ofed: Remove duplicated symbols from the version file.
  
  ld.bfd accepts multiple listing of the same symbol in the version script.
  lld is stricter and errors out.  Since arm64 and sometimes amd64 use lld,
  we should correct this cosmetic issue.
  
  Sponsored by:   Mellanox Technologies
  Reviewed by:    hselasky
  Differential revision:  https://reviews.freebsd.org/D13329
  
  MFC r326765:
  ofed: Define barriers for mips and arm.
  
  I used the strongest barriers available on the architectures, so if
  the future analysis show that it is excessive, the barriers could be
  relaxed. Still, it is unlikely that it is meaningful to run IB on 32bit
  ARM or current MIPS machines, so the change is to make WITH_OFED to pass
  tinderbox.
  
  Sponsored by:   Mellanox Technologies
  Reviewed by:    hselasky
  Differential revision:  https://reviews.freebsd.org/D13329
  
  MFC r303505:
  sdp: Use an mbufq for received control packets.
  
  This is simpler than the hand-rolled queue, and fixes a use-after-free.
  
  Sponsored by:   EMC / Isilon Storage Division
  
  MFC r303506:
  sdp: Destroy the PCB lock before freeing to the zone.
  
  Sponsored by:   EMC / Isilon Storage Division
  
  MFC r303512:
  sdp: Use malloc(9) instead of the Linux compat layer.
  
  SDP transmit and receive rings are always created in a sleepable context,
  so we can use M_WAITOK and remove error checks.
  
  Sponsored by:   EMC / Isilon Storage Division
  
  MFC r303513:
  sdp: Destroy the RDMA ID after destroying the connection's queue pair.
  
  This is the ordering documented by rdma_destroy_qp(). Also add a useful
  KASSERT to sdp_pcbfree().
  
  Sponsored by:   EMC / Isilon Storage Division
  
  MFC r303646:
  ipoib: Bound the number of egress mbufs buffered during pathrec lookups.
  
  In pathological situations where the master subnet manager becomes
  unresponsive for an extended period, we may otherwise end up queuing all
  of the system's mbufs while waiting for a response to a path record lookup.
  
  This addresses the same issue as commit 1e85b806f9 in Linux.
  
  Reviewed by:    cem, ngie
  Sponsored by:   EMC / Isilon Storage Division
  
  MFC r329222:
  Import the mthca kernel side infiniband driver from Linux 4.9 and fix
  compilation under FreeBSD. The mthca driver was temporarily removed as
  part of the Linux 4.9 RoCE/infinband upgrade.
  
  Top commit in Linux source tree:
  69973b830859bc6529a7a0468ba0d80ee5117826
  
  Sponsored by:   Mellanox Technologies
  
  MFC r320418.  Note that the socket lock _is_ the same as so_rcv's lock
  in 11 and this is a no-op in this branch.
  
  Sponsored by:   Chelsio Communications
  
  MFC r323082:
  cxgbe/iw_cxgbe: Set TCP_NODELAY before initiating connection so that
  t4_tom picks it up right away.  This is less work than waiting for
  the connection to be established before applying the setting.
  
  Sponsored by:   Chelsio Communications

Added:
  stable/11/contrib/ofed/include/byteorder.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/byteorder.h
  stable/11/contrib/ofed/include/byteswap.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/byteswap.h
  stable/11/contrib/ofed/include/endian.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/endian.h
  stable/11/contrib/ofed/include/types.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/types.h
  stable/11/contrib/ofed/include/udma_barrier.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/udma_barrier.h
  stable/11/contrib/ofed/infiniband-diags/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/infiniband-diags/
  stable/11/contrib/ofed/libcxgb4/Makefile
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/Makefile
  stable/11/contrib/ofed/libcxgb4/config.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/config.h
  stable/11/contrib/ofed/libcxgb4/cq.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/cq.c
  stable/11/contrib/ofed/libcxgb4/cxgb4-abi.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/cxgb4-abi.h
  stable/11/contrib/ofed/libcxgb4/dev.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/dev.c
  stable/11/contrib/ofed/libcxgb4/libcxgb4.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/libcxgb4.h
  stable/11/contrib/ofed/libcxgb4/qp.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/qp.c
  stable/11/contrib/ofed/libcxgb4/t4.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/t4.h
  stable/11/contrib/ofed/libcxgb4/t4_chip_type.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/t4_chip_type.h
  stable/11/contrib/ofed/libcxgb4/t4_pci_id_tbl.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/t4_pci_id_tbl.h
  stable/11/contrib/ofed/libcxgb4/t4_regs.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/t4_regs.h
  stable/11/contrib/ofed/libcxgb4/t4fw_api.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/t4fw_api.h
  stable/11/contrib/ofed/libcxgb4/t4fw_ri_api.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/t4fw_ri_api.h
  stable/11/contrib/ofed/libcxgb4/verbs.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/verbs.c
  stable/11/contrib/ofed/libibcm/Makefile
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibcm/Makefile
  stable/11/contrib/ofed/libibcm/cm.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibcm/cm.c
  stable/11/contrib/ofed/libibcm/cm.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibcm/cm.h
  stable/11/contrib/ofed/libibcm/cm_abi.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibcm/cm_abi.h
  stable/11/contrib/ofed/libibcm/config.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibcm/config.h
  stable/11/contrib/ofed/libibcm/libibcm.map
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibcm/libibcm.map
  stable/11/contrib/ofed/libibmad/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibmad/
  stable/11/contrib/ofed/libibnetdisc/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibnetdisc/
  stable/11/contrib/ofed/libibumad/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibumad/
  stable/11/contrib/ofed/libibverbs/Makefile
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/Makefile
  stable/11/contrib/ofed/libibverbs/alloca.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/alloca.h
  stable/11/contrib/ofed/libibverbs/arch.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/arch.h
  stable/11/contrib/ofed/libibverbs/cmd.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/cmd.c
  stable/11/contrib/ofed/libibverbs/compat-1_0.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/compat-1_0.c
  stable/11/contrib/ofed/libibverbs/config.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/config.h
  stable/11/contrib/ofed/libibverbs/device.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/device.c
  stable/11/contrib/ofed/libibverbs/driver.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/driver.h
  stable/11/contrib/ofed/libibverbs/enum_strs.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/enum_strs.c
  stable/11/contrib/ofed/libibverbs/examples/build/devices/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/examples/build/devices/
  stable/11/contrib/ofed/libibverbs/examples/xsrq_pingpong.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/examples/xsrq_pingpong.c
  stable/11/contrib/ofed/libibverbs/ibverbs.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/ibverbs.h
  stable/11/contrib/ofed/libibverbs/init.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/init.c
  stable/11/contrib/ofed/libibverbs/kern-abi.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/kern-abi.h
  stable/11/contrib/ofed/libibverbs/libibverbs.map
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/libibverbs.map
  stable/11/contrib/ofed/libibverbs/man/ibv_alloc_mw.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_alloc_mw.3
  stable/11/contrib/ofed/libibverbs/man/ibv_bind_mw.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_bind_mw.3
  stable/11/contrib/ofed/libibverbs/man/ibv_create_cq_ex.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_create_cq_ex.3
  stable/11/contrib/ofed/libibverbs/man/ibv_create_flow.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_create_flow.3
  stable/11/contrib/ofed/libibverbs/man/ibv_create_qp_ex.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_create_qp_ex.3
  stable/11/contrib/ofed/libibverbs/man/ibv_create_rwq_ind_table.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_create_rwq_ind_table.3
  stable/11/contrib/ofed/libibverbs/man/ibv_create_srq_ex.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_create_srq_ex.3
  stable/11/contrib/ofed/libibverbs/man/ibv_create_wq.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_create_wq.3
  stable/11/contrib/ofed/libibverbs/man/ibv_get_srq_num.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_get_srq_num.3
  stable/11/contrib/ofed/libibverbs/man/ibv_inc_rkey.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_inc_rkey.3
  stable/11/contrib/ofed/libibverbs/man/ibv_modify_wq.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_modify_wq.3
  stable/11/contrib/ofed/libibverbs/man/ibv_open_qp.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_open_qp.3
  stable/11/contrib/ofed/libibverbs/man/ibv_open_xrcd.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_open_xrcd.3
  stable/11/contrib/ofed/libibverbs/man/ibv_query_device_ex.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_query_device_ex.3
  stable/11/contrib/ofed/libibverbs/man/ibv_query_rt_values_ex.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_query_rt_values_ex.3
  stable/11/contrib/ofed/libibverbs/man/ibv_rate_to_mbps.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_rate_to_mbps.3
  stable/11/contrib/ofed/libibverbs/man/ibv_rereg_mr.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_rereg_mr.3
  stable/11/contrib/ofed/libibverbs/man/ibv_xsrq_pingpong.1
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/man/ibv_xsrq_pingpong.1
  stable/11/contrib/ofed/libibverbs/marshall.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/marshall.c
  stable/11/contrib/ofed/libibverbs/marshall.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/marshall.h
  stable/11/contrib/ofed/libibverbs/memory.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/memory.c
  stable/11/contrib/ofed/libibverbs/neigh.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/neigh.c
  stable/11/contrib/ofed/libibverbs/neigh.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/neigh.h
  stable/11/contrib/ofed/libibverbs/nl1_compat.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/nl1_compat.h
  stable/11/contrib/ofed/libibverbs/opcode.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/opcode.h
  stable/11/contrib/ofed/libibverbs/sa-kern-abi.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/sa-kern-abi.h
  stable/11/contrib/ofed/libibverbs/sa.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/sa.h
  stable/11/contrib/ofed/libibverbs/sysfs.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/sysfs.c
  stable/11/contrib/ofed/libibverbs/verbs.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/verbs.c
  stable/11/contrib/ofed/libibverbs/verbs.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libibverbs/verbs.h
  stable/11/contrib/ofed/libmlx4/Makefile
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/Makefile
  stable/11/contrib/ofed/libmlx4/buf.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/buf.c
  stable/11/contrib/ofed/libmlx4/config.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/config.h
  stable/11/contrib/ofed/libmlx4/cq.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/cq.c
  stable/11/contrib/ofed/libmlx4/dbrec.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/dbrec.c
  stable/11/contrib/ofed/libmlx4/doorbell.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/doorbell.h
  stable/11/contrib/ofed/libmlx4/mlx4-abi.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/mlx4-abi.h
  stable/11/contrib/ofed/libmlx4/mlx4.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/mlx4.c
  stable/11/contrib/ofed/libmlx4/mlx4.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/mlx4.h
  stable/11/contrib/ofed/libmlx4/mmio.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/mmio.h
  stable/11/contrib/ofed/libmlx4/qp.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/qp.c
  stable/11/contrib/ofed/libmlx4/srq.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/srq.c
  stable/11/contrib/ofed/libmlx4/verbs.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/verbs.c
  stable/11/contrib/ofed/libmlx4/wqe.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx4/wqe.h
  stable/11/contrib/ofed/libmlx5/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libmlx5/
  stable/11/contrib/ofed/librdmacm/Makefile
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/Makefile
  stable/11/contrib/ofed/librdmacm/acm.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/acm.c
  stable/11/contrib/ofed/librdmacm/addrinfo.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/addrinfo.c
  stable/11/contrib/ofed/librdmacm/cma.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/cma.c
  stable/11/contrib/ofed/librdmacm/cma.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/cma.h
  stable/11/contrib/ofed/librdmacm/config.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/config.h
  stable/11/contrib/ofed/librdmacm/examples/build/ucmatose/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/build/ucmatose/
  stable/11/contrib/ofed/librdmacm/examples/cmtime.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/cmtime.c
  stable/11/contrib/ofed/librdmacm/examples/common.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/common.c
  stable/11/contrib/ofed/librdmacm/examples/common.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/common.h
  stable/11/contrib/ofed/librdmacm/examples/rcopy.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/rcopy.c
  stable/11/contrib/ofed/librdmacm/examples/rdma_client.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/rdma_client.c
  stable/11/contrib/ofed/librdmacm/examples/rdma_server.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/rdma_server.c
  stable/11/contrib/ofed/librdmacm/examples/rdma_xclient.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/rdma_xclient.c
  stable/11/contrib/ofed/librdmacm/examples/rdma_xserver.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/rdma_xserver.c
  stable/11/contrib/ofed/librdmacm/examples/riostream.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/riostream.c
  stable/11/contrib/ofed/librdmacm/examples/rstream.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/rstream.c
  stable/11/contrib/ofed/librdmacm/examples/udpong.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/examples/udpong.c
  stable/11/contrib/ofed/librdmacm/ib.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/ib.h
  stable/11/contrib/ofed/librdmacm/indexer.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/indexer.c
  stable/11/contrib/ofed/librdmacm/indexer.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/indexer.h
  stable/11/contrib/ofed/librdmacm/librdmacm.map
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/librdmacm.map
  stable/11/contrib/ofed/librdmacm/librspreload.map
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/librspreload.map
  stable/11/contrib/ofed/librdmacm/man/CMakeLists.txt
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/CMakeLists.txt
  stable/11/contrib/ofed/librdmacm/man/cmtime.1
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/cmtime.1
  stable/11/contrib/ofed/librdmacm/man/rcopy.1
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rcopy.1
  stable/11/contrib/ofed/librdmacm/man/rdma_client.1
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_client.1
  stable/11/contrib/ofed/librdmacm/man/rdma_create_ep.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_create_ep.3
  stable/11/contrib/ofed/librdmacm/man/rdma_create_srq.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_create_srq.3
  stable/11/contrib/ofed/librdmacm/man/rdma_dereg_mr.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_dereg_mr.3
  stable/11/contrib/ofed/librdmacm/man/rdma_destroy_ep.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_destroy_ep.3
  stable/11/contrib/ofed/librdmacm/man/rdma_destroy_srq.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_destroy_srq.3
  stable/11/contrib/ofed/librdmacm/man/rdma_get_recv_comp.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_get_recv_comp.3
  stable/11/contrib/ofed/librdmacm/man/rdma_get_request.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_get_request.3
  stable/11/contrib/ofed/librdmacm/man/rdma_get_send_comp.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_get_send_comp.3
  stable/11/contrib/ofed/librdmacm/man/rdma_getaddrinfo.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_getaddrinfo.3
  stable/11/contrib/ofed/librdmacm/man/rdma_post_read.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_post_read.3
  stable/11/contrib/ofed/librdmacm/man/rdma_post_readv.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_post_readv.3
  stable/11/contrib/ofed/librdmacm/man/rdma_post_recv.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_post_recv.3
  stable/11/contrib/ofed/librdmacm/man/rdma_post_recvv.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_post_recvv.3
  stable/11/contrib/ofed/librdmacm/man/rdma_post_send.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_post_send.3
  stable/11/contrib/ofed/librdmacm/man/rdma_post_sendv.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_post_sendv.3
  stable/11/contrib/ofed/librdmacm/man/rdma_post_ud_send.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_post_ud_send.3
  stable/11/contrib/ofed/librdmacm/man/rdma_post_write.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_post_write.3
  stable/11/contrib/ofed/librdmacm/man/rdma_post_writev.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_post_writev.3
  stable/11/contrib/ofed/librdmacm/man/rdma_reg_msgs.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_reg_msgs.3
  stable/11/contrib/ofed/librdmacm/man/rdma_reg_read.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_reg_read.3
  stable/11/contrib/ofed/librdmacm/man/rdma_reg_write.3
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_reg_write.3
  stable/11/contrib/ofed/librdmacm/man/rdma_server.1
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_server.1
  stable/11/contrib/ofed/librdmacm/man/rdma_xclient.1
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_xclient.1
  stable/11/contrib/ofed/librdmacm/man/rdma_xserver.1
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rdma_xserver.1
  stable/11/contrib/ofed/librdmacm/man/riostream.1
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/riostream.1
  stable/11/contrib/ofed/librdmacm/man/rsocket.7.in
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rsocket.7.in
  stable/11/contrib/ofed/librdmacm/man/rstream.1
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/rstream.1
  stable/11/contrib/ofed/librdmacm/man/udpong.1
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/man/udpong.1
  stable/11/contrib/ofed/librdmacm/preload.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/preload.c
  stable/11/contrib/ofed/librdmacm/rdma_cma.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/rdma_cma.h
  stable/11/contrib/ofed/librdmacm/rdma_cma_abi.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/rdma_cma_abi.h
  stable/11/contrib/ofed/librdmacm/rdma_verbs.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/rdma_verbs.h
  stable/11/contrib/ofed/librdmacm/rsocket.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/rsocket.c
  stable/11/contrib/ofed/librdmacm/rsocket.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/librdmacm/rsocket.h
  stable/11/contrib/ofed/opensm/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/opensm/
  stable/11/contrib/ofed/usr.lib/0/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/usr.lib/0/
  stable/11/contrib/ofed/usr.lib/1/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/usr.lib/1/
  stable/11/contrib/ofed/usr.lib/2/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/usr.lib/2/
  stable/11/contrib/ofed/usr.lib/3/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/usr.lib/3/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/sys/contrib/rdma/krping_compat/
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_gsi.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/dev/mlx5/mlx5_ib/mlx5_ib_gsi.c
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_virt.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/dev/mlx5/mlx5_ib/mlx5_ib_virt.c
  stable/11/sys/dev/mthca/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/sys/dev/mthca/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/sys/modules/rdma/krping_compat/
  stable/11/sys/ofed/drivers/infiniband/core/ib_addr.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_addr.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_agent.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_agent.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_cache.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_cache.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_cm.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_cm.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_cma.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_cma.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_cq.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_cq.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_device.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_device.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_fmr_pool.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_fmr_pool.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_iwcm.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_iwcm.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_iwpm_msg.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_iwpm_msg.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_iwpm_util.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_iwpm_util.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_mad.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_mad.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_mad_rmpp.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_mad_rmpp.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_multicast.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_multicast.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_packer.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_packer.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_roce_gid_mgmt.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_sa_query.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_sa_query.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_smi.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_smi.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_sysfs.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_sysfs.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_ucm.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_ucm.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_ucma.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_ucma.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_ud_header.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_ud_header.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_umem.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_umem.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_umem_odp.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_umem_odp.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_umem_rbtree.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_umem_rbtree.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_user_mad.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_user_mad.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_uverbs_cmd.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_uverbs_cmd.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_uverbs_main.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_uverbs_main.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_uverbs_marshall.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_uverbs_marshall.c
  stable/11/sys/ofed/drivers/infiniband/core/ib_verbs.c
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/ib_verbs.c
  stable/11/sys/ofed/drivers/infiniband/core/iwpm_util.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/iwpm_util.h
  stable/11/sys/ofed/drivers/infiniband/core/opa_smi.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/drivers/infiniband/core/opa_smi.h
  stable/11/sys/ofed/include/rdma/ib.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/rdma/ib.h
  stable/11/sys/ofed/include/rdma/ib_hdrs.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/rdma/ib_hdrs.h
  stable/11/sys/ofed/include/rdma/ib_umem_odp.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/rdma/ib_umem_odp.h
  stable/11/sys/ofed/include/rdma/ib_verbs_compat.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/rdma/ib_verbs_compat.h
  stable/11/sys/ofed/include/rdma/iw_portmap.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/rdma/iw_portmap.h
  stable/11/sys/ofed/include/rdma/opa_port_info.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/rdma/opa_port_info.h
  stable/11/sys/ofed/include/rdma/opa_smi.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/rdma/opa_smi.h
  stable/11/sys/ofed/include/rdma/rdma_vt.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/rdma/rdma_vt.h
  stable/11/sys/ofed/include/rdma/rdmavt_cq.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/rdma/rdmavt_cq.h
  stable/11/sys/ofed/include/rdma/rdmavt_mr.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/rdma/rdmavt_mr.h
  stable/11/sys/ofed/include/rdma/rdmavt_qp.h
     - copied unchanged from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/rdma/rdmavt_qp.h
  stable/11/sys/ofed/include/uapi/
     - copied from r331758, projects/bsd_rdma_4_9_stable_11/sys/ofed/include/uapi/
Directory Properties:
  stable/11/sys/contrib/rdma/krping_compat/   (props changed)
  stable/11/sys/modules/rdma/krping_compat/   (props changed)
Deleted:
  stable/11/contrib/ofed/include/infiniband/
  stable/11/contrib/ofed/include/rdma/
  stable/11/contrib/ofed/libcxgb4/AUTHORS
  stable/11/contrib/ofed/libcxgb4/COPYING
  stable/11/contrib/ofed/libcxgb4/ChangeLog
  stable/11/contrib/ofed/libcxgb4/README
  stable/11/contrib/ofed/libcxgb4/cxgb4.driver
  stable/11/contrib/ofed/libcxgb4/src/
  stable/11/contrib/ofed/libibcm/AUTHORS
  stable/11/contrib/ofed/libibcm/COPYING
  stable/11/contrib/ofed/libibcm/ChangeLog
  stable/11/contrib/ofed/libibcm/INSTALL
  stable/11/contrib/ofed/libibcm/Makefile.am
  stable/11/contrib/ofed/libibcm/Makefile.in
  stable/11/contrib/ofed/libibcm/NEWS
  stable/11/contrib/ofed/libibcm/README
  stable/11/contrib/ofed/libibcm/aclocal.m4
  stable/11/contrib/ofed/libibcm/config/
  stable/11/contrib/ofed/libibcm/config.h.in
  stable/11/contrib/ofed/libibcm/configure
  stable/11/contrib/ofed/libibcm/configure.in
  stable/11/contrib/ofed/libibcm/include/
  stable/11/contrib/ofed/libibcm/libibcm.spec
  stable/11/contrib/ofed/libibcm/libibcm.spec.in
  stable/11/contrib/ofed/libibcm/src/
  stable/11/contrib/ofed/libibverbs/AUTHORS
  stable/11/contrib/ofed/libibverbs/COPYING
  stable/11/contrib/ofed/libibverbs/ChangeLog
  stable/11/contrib/ofed/libibverbs/Makefile.am
  stable/11/contrib/ofed/libibverbs/README
  stable/11/contrib/ofed/libibverbs/autogen.sh
  stable/11/contrib/ofed/libibverbs/config/
  stable/11/contrib/ofed/libibverbs/configure.in
  stable/11/contrib/ofed/libibverbs/debian/
  stable/11/contrib/ofed/libibverbs/examples/build/device_list/
  stable/11/contrib/ofed/libibverbs/fixes/
  stable/11/contrib/ofed/libibverbs/include/
  stable/11/contrib/ofed/libibverbs/libibverbs.spec.in
  stable/11/contrib/ofed/libibverbs/man/ibv_create_xrc_rcv_qp.3
  stable/11/contrib/ofed/libibverbs/man/ibv_modify_xrc_rcv_qp.3
  stable/11/contrib/ofed/libibverbs/man/ibv_open_xrc_domain.3
  stable/11/contrib/ofed/libibverbs/man/ibv_query_xrc_rcv_qp.3
  stable/11/contrib/ofed/libibverbs/man/ibv_reg_xrc_rcv_qp.3
  stable/11/contrib/ofed/libibverbs/man/verbs.7
  stable/11/contrib/ofed/libibverbs/src/
  stable/11/contrib/ofed/libmlx4/AUTHORS
  stable/11/contrib/ofed/libmlx4/COPYING
  stable/11/contrib/ofed/libmlx4/Makefile.am
  stable/11/contrib/ofed/libmlx4/README
  stable/11/contrib/ofed/libmlx4/autogen.sh
  stable/11/contrib/ofed/libmlx4/config/
  stable/11/contrib/ofed/libmlx4/configure.in
  stable/11/contrib/ofed/libmlx4/debian/
  stable/11/contrib/ofed/libmlx4/fixes/
  stable/11/contrib/ofed/libmlx4/libmlx4.spec.in
  stable/11/contrib/ofed/libmlx4/mlx4.driver
  stable/11/contrib/ofed/libmlx4/src/
  stable/11/contrib/ofed/libmthca/
  stable/11/contrib/ofed/librdmacm/AUTHORS
  stable/11/contrib/ofed/librdmacm/COPYING
  stable/11/contrib/ofed/librdmacm/ChangeLog
  stable/11/contrib/ofed/librdmacm/INSTALL
  stable/11/contrib/ofed/librdmacm/Makefile.am
  stable/11/contrib/ofed/librdmacm/Makefile.in
  stable/11/contrib/ofed/librdmacm/NEWS
  stable/11/contrib/ofed/librdmacm/README
  stable/11/contrib/ofed/librdmacm/aclocal.m4
  stable/11/contrib/ofed/librdmacm/config/
  stable/11/contrib/ofed/librdmacm/config.h.in
  stable/11/contrib/ofed/librdmacm/configure
  stable/11/contrib/ofed/librdmacm/configure.in
  stable/11/contrib/ofed/librdmacm/examples/build/cmatose/
  stable/11/contrib/ofed/librdmacm/include/
  stable/11/contrib/ofed/librdmacm/librdmacm.spec
  stable/11/contrib/ofed/librdmacm/librdmacm.spec.in
  stable/11/contrib/ofed/librdmacm/src/
  stable/11/contrib/ofed/libsdp/
  stable/11/contrib/ofed/management/
  stable/11/contrib/ofed/usr.bin/Makefile.inc
  stable/11/contrib/ofed/usr.bin/ibaddr/
  stable/11/contrib/ofed/usr.bin/ibnetdiscover/
  stable/11/contrib/ofed/usr.bin/ibping/
  stable/11/contrib/ofed/usr.bin/ibportstate/
  stable/11/contrib/ofed/usr.bin/ibroute/
  stable/11/contrib/ofed/usr.bin/ibsendtrap/
  stable/11/contrib/ofed/usr.bin/ibstat/
  stable/11/contrib/ofed/usr.bin/ibsysstat/
  stable/11/contrib/ofed/usr.bin/ibtracert/
  stable/11/contrib/ofed/usr.bin/opensm/
  stable/11/contrib/ofed/usr.bin/osmtest/
  stable/11/contrib/ofed/usr.bin/perfquery/
  stable/11/contrib/ofed/usr.bin/saquery/
  stable/11/contrib/ofed/usr.bin/sminfo/
  stable/11/contrib/ofed/usr.bin/smpdump/
  stable/11/contrib/ofed/usr.bin/smpquery/
  stable/11/contrib/ofed/usr.bin/vendstat/
  stable/11/contrib/ofed/usr.lib/Makefile.inc
  stable/11/contrib/ofed/usr.lib/libcxgb4/
  stable/11/contrib/ofed/usr.lib/libibcm/
  stable/11/contrib/ofed/usr.lib/libibcommon/
  stable/11/contrib/ofed/usr.lib/libibmad/
  stable/11/contrib/ofed/usr.lib/libibumad/
  stable/11/contrib/ofed/usr.lib/libibverbs/
  stable/11/contrib/ofed/usr.lib/libmlx4/
  stable/11/contrib/ofed/usr.lib/libmthca/
  stable/11/contrib/ofed/usr.lib/libopensm/
  stable/11/contrib/ofed/usr.lib/libosmcomp/
  stable/11/contrib/ofed/usr.lib/libosmvendor/
  stable/11/contrib/ofed/usr.lib/librdmacm/
  stable/11/contrib/ofed/usr.lib/libsdp/
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_exp.h
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_exp.c
  stable/11/sys/dev/mlx4/mlx4_ib/user.h
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_roce.c
  stable/11/sys/dev/mlx5/mlx5_ib/user.h
  stable/11/sys/ofed/drivers/infiniband/Kconfig
  stable/11/sys/ofed/drivers/infiniband/Makefile
  stable/11/sys/ofed/drivers/infiniband/core/addr.c
  stable/11/sys/ofed/drivers/infiniband/core/agent.c
  stable/11/sys/ofed/drivers/infiniband/core/cache.c
  stable/11/sys/ofed/drivers/infiniband/core/cm.c
  stable/11/sys/ofed/drivers/infiniband/core/cma.c
  stable/11/sys/ofed/drivers/infiniband/core/device.c
  stable/11/sys/ofed/drivers/infiniband/core/fmr_pool.c
  stable/11/sys/ofed/drivers/infiniband/core/iwcm.c
  stable/11/sys/ofed/drivers/infiniband/core/mad.c
  stable/11/sys/ofed/drivers/infiniband/core/mad_rmpp.c
  stable/11/sys/ofed/drivers/infiniband/core/multicast.c
  stable/11/sys/ofed/drivers/infiniband/core/packer.c
  stable/11/sys/ofed/drivers/infiniband/core/peer_mem.c
  stable/11/sys/ofed/drivers/infiniband/core/sa_query.c
  stable/11/sys/ofed/drivers/infiniband/core/smi.c
  stable/11/sys/ofed/drivers/infiniband/core/sysfs.c
  stable/11/sys/ofed/drivers/infiniband/core/ucm.c
  stable/11/sys/ofed/drivers/infiniband/core/ucma.c
  stable/11/sys/ofed/drivers/infiniband/core/ud_header.c
  stable/11/sys/ofed/drivers/infiniband/core/umem.c
  stable/11/sys/ofed/drivers/infiniband/core/user_mad.c
  stable/11/sys/ofed/drivers/infiniband/core/uverbs_cmd.c
  stable/11/sys/ofed/drivers/infiniband/core/uverbs_main.c
  stable/11/sys/ofed/drivers/infiniband/core/uverbs_marshall.c
  stable/11/sys/ofed/drivers/infiniband/core/verbs.c
  stable/11/sys/ofed/drivers/infiniband/debug/Makefile
  stable/11/sys/ofed/drivers/infiniband/debug/memtrack.c
  stable/11/sys/ofed/drivers/infiniband/debug/memtrack.h
  stable/11/sys/ofed/drivers/infiniband/debug/mtrack.h
  stable/11/sys/ofed/drivers/infiniband/hw/
  stable/11/sys/ofed/drivers/infiniband/ulp/ipoib/Kconfig
  stable/11/sys/ofed/drivers/infiniband/util/Kconfig
  stable/11/sys/ofed/include/rdma/ib_peer_mem.h
  stable/11/sys/ofed/include/rdma/ib_user_cm.h
  stable/11/sys/ofed/include/rdma/ib_user_mad.h
  stable/11/sys/ofed/include/rdma/ib_user_sa.h
  stable/11/sys/ofed/include/rdma/ib_user_verbs.h
  stable/11/sys/ofed/include/rdma/ib_user_verbs_exp.h
  stable/11/sys/ofed/include/rdma/ib_verbs_exp.h
  stable/11/sys/ofed/include/rdma/peer_mem.h
  stable/11/sys/ofed/include/rdma/rdma_user_cm.h
  stable/11/sys/ofed/include/rdma/sdp_socket.h
Modified:
  stable/11/Makefile.inc1
  stable/11/contrib/ofed/Makefile   (contents, props changed)
  stable/11/contrib/ofed/include/Makefile   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/asyncwatch.c   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/build/Makefile   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/build/Makefile.inc   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/build/asyncwatch/Makefile   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/build/devinfo/Makefile   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/build/rc_pingpong/Makefile   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/build/srq_pingpong/Makefile   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/build/uc_pingpong/Makefile   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/build/ud_pingpong/Makefile   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/device_list.c   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/devinfo.c   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/pingpong.c   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/pingpong.h   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/rc_pingpong.c   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/srq_pingpong.c   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/uc_pingpong.c   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/examples/ud_pingpong.c   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_alloc_pd.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_asyncwatch.1   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_attach_mcast.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_create_ah.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_create_ah_from_wc.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_create_comp_channel.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_create_cq.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_create_qp.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_create_srq.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_devices.1   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_devinfo.1   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_event_type_str.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_fork_init.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_get_async_event.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_get_cq_event.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_get_device_guid.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_get_device_list.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_get_device_name.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_modify_qp.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_modify_srq.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_open_device.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_poll_cq.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_post_recv.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_post_send.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_post_srq_recv.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_query_device.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_query_gid.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_query_pkey.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_query_port.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_query_qp.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_query_srq.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_rate_to_mult.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_rc_pingpong.1   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_reg_mr.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_req_notify_cq.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_resize_cq.3   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_srq_pingpong.1   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_uc_pingpong.1   (contents, props changed)
  stable/11/contrib/ofed/libibverbs/man/ibv_ud_pingpong.1   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/examples/build/Makefile   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/examples/build/Makefile.inc   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/examples/build/mckey/Makefile   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/examples/build/rping/Makefile   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/examples/build/udaddy/Makefile   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/examples/cmatose.c   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/examples/mckey.c   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/examples/rping.c   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/examples/udaddy.c   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/mckey.1   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_accept.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_ack_cm_event.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_bind_addr.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_cm.7   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_connect.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_create_event_channel.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_create_id.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_create_qp.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_destroy_event_channel.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_destroy_id.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_destroy_qp.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_disconnect.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_event_str.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_free_devices.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_get_cm_event.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_get_devices.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_get_dst_port.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_get_local_addr.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_get_peer_addr.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_get_src_port.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_join_multicast.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_leave_multicast.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_listen.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_migrate_id.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_notify.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_reject.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_resolve_addr.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_resolve_route.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rdma_set_option.3   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/rping.1   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/ucmatose.1   (contents, props changed)
  stable/11/contrib/ofed/librdmacm/man/udaddy.1   (contents, props changed)
  stable/11/contrib/ofed/usr.bin/Makefile   (contents, props changed)
  stable/11/contrib/ofed/usr.lib/Makefile   (contents, props changed)
  stable/11/share/mk/bsd.libnames.mk
  stable/11/share/mk/src.libnames.mk
  stable/11/sys/amd64/conf/NOTES
  stable/11/sys/conf/files
  stable/11/sys/conf/kern.pre.mk
  stable/11/sys/contrib/rdma/krping/krping.c
  stable/11/sys/contrib/rdma/krping/krping.h
  stable/11/sys/contrib/rdma/krping/krping_dev.c
  stable/11/sys/dev/cxgbe/adapter.h
  stable/11/sys/dev/cxgbe/common/common.h
  stable/11/sys/dev/cxgbe/common/t4_hw.c
  stable/11/sys/dev/cxgbe/iw_cxgbe/cm.c
  stable/11/sys/dev/cxgbe/iw_cxgbe/cq.c
  stable/11/sys/dev/cxgbe/iw_cxgbe/device.c
  stable/11/sys/dev/cxgbe/iw_cxgbe/iw_cxgbe.h
  stable/11/sys/dev/cxgbe/iw_cxgbe/mem.c
  stable/11/sys/dev/cxgbe/iw_cxgbe/provider.c
  stable/11/sys/dev/cxgbe/iw_cxgbe/qp.c
  stable/11/sys/dev/cxgbe/iw_cxgbe/t4.h
  stable/11/sys/dev/cxgbe/iw_cxgbe/user.h
  stable/11/sys/dev/cxgbe/offload.h
  stable/11/sys/dev/cxgbe/t4_main.c
  stable/11/sys/dev/iser/icl_iser.c
  stable/11/sys/dev/iser/icl_iser.h
  stable/11/sys/dev/iser/iser_memory.c
  stable/11/sys/dev/iser/iser_verbs.c
  stable/11/sys/dev/mlx4/device.h
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib.h
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_ah.c
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_alias_GUID.c
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_cm.c
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_cq.c
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_mad.c
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_main.c
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_mcg.c
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_mr.c
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_qp.c
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_srq.c
  stable/11/sys/dev/mlx4/mlx4_ib/mlx4_ib_sysfs.c
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib.h
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_ah.c
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_cq.c
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_doorbell.c
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_mad.c
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_main.c
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_mem.c
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_mr.c
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_qp.c
  stable/11/sys/dev/mlx5/mlx5_ib/mlx5_ib_srq.c
  stable/11/sys/dev/mlx5/qp.h
  stable/11/sys/i386/conf/NOTES
  stable/11/sys/modules/Makefile
  stable/11/sys/modules/cxgb/Makefile
  stable/11/sys/modules/cxgbe/iw_cxgbe/Makefile
  stable/11/sys/modules/ibcore/Makefile
  stable/11/sys/modules/ipoib/Makefile
  stable/11/sys/modules/iser/Makefile
  stable/11/sys/modules/mlx4/Makefile
  stable/11/sys/modules/mlx4ib/Makefile
  stable/11/sys/modules/mlx5ib/Makefile
  stable/11/sys/modules/mthca/Makefile   (contents, props changed)
  stable/11/sys/modules/rdma/krping/Makefile
  stable/11/sys/ofed/drivers/infiniband/core/agent.h
  stable/11/sys/ofed/drivers/infiniband/core/cm_msgs.h
  stable/11/sys/ofed/drivers/infiniband/core/core_priv.h
  stable/11/sys/ofed/drivers/infiniband/core/iwcm.h
  stable/11/sys/ofed/drivers/infiniband/core/mad_priv.h
  stable/11/sys/ofed/drivers/infiniband/core/smi.h
  stable/11/sys/ofed/drivers/infiniband/core/uverbs.h
  stable/11/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib.h
  stable/11/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_cm.c
  stable/11/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_ib.c
  stable/11/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_main.c
  stable/11/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_multicast.c
  stable/11/sys/ofed/drivers/infiniband/ulp/ipoib/ipoib_verbs.c
  stable/11/sys/ofed/drivers/infiniband/ulp/sdp/sdp.h
  stable/11/sys/ofed/drivers/infiniband/ulp/sdp/sdp_cma.c
  stable/11/sys/ofed/drivers/infiniband/ulp/sdp/sdp_main.c
  stable/11/sys/ofed/drivers/infiniband/ulp/sdp/sdp_proc.c
  stable/11/sys/ofed/drivers/infiniband/ulp/sdp/sdp_rx.c
  stable/11/sys/ofed/drivers/infiniband/ulp/sdp/sdp_tx.c
  stable/11/sys/ofed/include/rdma/ib_addr.h
  stable/11/sys/ofed/include/rdma/ib_cache.h
  stable/11/sys/ofed/include/rdma/ib_cm.h
  stable/11/sys/ofed/include/rdma/ib_mad.h
  stable/11/sys/ofed/include/rdma/ib_pack.h
  stable/11/sys/ofed/include/rdma/ib_pma.h
  stable/11/sys/ofed/include/rdma/ib_sa.h
  stable/11/sys/ofed/include/rdma/ib_smi.h
  stable/11/sys/ofed/include/rdma/ib_umem.h
  stable/11/sys/ofed/include/rdma/ib_verbs.h
  stable/11/sys/ofed/include/rdma/iw_cm.h
  stable/11/sys/ofed/include/rdma/rdma_cm.h
  stable/11/targets/pseudo/userland/Makefile.depend
  stable/11/targets/pseudo/userland/lib/Makefile.depend
Directory Properties:
  stable/11/   (props changed)
  stable/11/contrib/ofed/libibcm/   (props changed)
  stable/11/contrib/ofed/libibverbs/   (props changed)
  stable/11/contrib/ofed/libibverbs/examples/   (props changed)
  stable/11/contrib/ofed/libibverbs/man/   (props changed)
  stable/11/contrib/ofed/libmlx4/   (props changed)
  stable/11/contrib/ofed/librdmacm/   (props changed)
  stable/11/contrib/ofed/librdmacm/examples/   (props changed)
  stable/11/contrib/ofed/librdmacm/man/   (props changed)

Modified: stable/11/Makefile.inc1
==============================================================================
--- stable/11/Makefile.inc1	Fri Mar 30 16:44:54 2018	(r331768)
+++ stable/11/Makefile.inc1	Fri Mar 30 18:06:29 2018	(r331769)
@@ -2141,16 +2141,24 @@ _lib_libradius=	lib/libradius
 .endif
 
 .if ${MK_OFED} != "no"
-_ofed_lib=		contrib/ofed/usr.lib
-_prebuild_libs+=	contrib/ofed/usr.lib/libosmcomp
-_prebuild_libs+=	contrib/ofed/usr.lib/libopensm
-_prebuild_libs+=	contrib/ofed/usr.lib/libibcommon
-_prebuild_libs+=	contrib/ofed/usr.lib/libibverbs
-_prebuild_libs+=	contrib/ofed/usr.lib/libibumad
+#
+# The OFED libraries are built in four steps
+# as reflected below, due to interdependencies.
+#
+# NOTE: Depending on contrib/ofed/include is only needed for
+# the lib32 compat build.
+#
+_ofed_lib= \
+contrib/ofed/include \
+contrib/ofed/usr.lib/0 \
+contrib/ofed/usr.lib/1 \
+contrib/ofed/usr.lib/2 \
+contrib/ofed/usr.lib/3
 
-contrib/ofed/usr.lib/libopensm__L: lib/libthr__L
-contrib/ofed/usr.lib/libosmcomp__L: lib/libthr__L
-contrib/ofed/usr.lib/libibumad__L: contrib/ofed/usr.lib/libibcommon__L
+contrib/ofed/usr.lib/0__L: contrib/ofed/include__L lib/libthr__L
+contrib/ofed/usr.lib/1__L: contrib/ofed/usr.lib/0__L
+contrib/ofed/usr.lib/2__L: contrib/ofed/usr.lib/1__L
+contrib/ofed/usr.lib/3__L: contrib/ofed/usr.lib/2__L
 .endif
 
 .if ${MK_CASPER} != "no"

Modified: stable/11/contrib/ofed/Makefile
==============================================================================
--- stable/11/contrib/ofed/Makefile	Fri Mar 30 16:44:54 2018	(r331768)
+++ stable/11/contrib/ofed/Makefile	Fri Mar 30 18:06:29 2018	(r331769)
@@ -1,3 +1,10 @@
-SUBDIR	= include usr.lib usr.bin
+# $FreeBSD$
+
+# NOTE: Make sure WITH_OFED=YES is set when building this top-level directory.
+
+SUBDIR= \
+include \
+usr.lib \
+usr.bin
 
 .include <bsd.subdir.mk>

Modified: stable/11/contrib/ofed/include/Makefile
==============================================================================
--- stable/11/contrib/ofed/include/Makefile	Fri Mar 30 16:44:54 2018	(r331768)
+++ stable/11/contrib/ofed/include/Makefile	Fri Mar 30 18:06:29 2018	(r331769)
@@ -1,5 +1,191 @@
-.include <bsd.own.mk>
+# $FreeBSD$
 
-SUBDIR	= infiniband rdma
+IBVERBS=	${.CURDIR}/../libibverbs
+IBMAD=		${.CURDIR}/../libibmad
+IBUMAD=		${.CURDIR}/../libibumad
+IBCM=		${.CURDIR}/../libibcm
+IBND=		${.CURDIR}/../libibnetdisc
+RDMACM=		${.CURDIR}/../librdmacm
+RDMA=		${.CURDIR}/../../../sys/ofed/include/uapi/rdma
+OSM=		${.CURDIR}/../opensm/include
 
-.include <bsd.subdir.mk>
+IBINCS= \
+byteorder.h \
+byteswap.h \
+endian.h \
+types.h \
+udma_barrier.h \
+${IBVERBS}/arch.h \
+${IBVERBS}/driver.h \
+${IBVERBS}/kern-abi.h \
+${IBVERBS}/marshall.h \
+${IBVERBS}/opcode.h \
+${IBVERBS}/sa-kern-abi.h \
+${IBVERBS}/sa.h \
+${IBVERBS}/verbs.h \
+${IBUMAD}/umad.h \
+${IBUMAD}/umad_cm.h \
+${IBUMAD}/umad_sa.h \
+${IBUMAD}/umad_sm.h \
+${IBUMAD}/umad_str.h \
+${IBUMAD}/umad_types.h \
+${IBMAD}/mad.h \
+${IBMAD}/mad_osd.h \
+${IBCM}/cm.h \
+${IBCM}/cm_abi.h \
+${IBND}/ibnetdisc.h \
+${IBND}/ibnetdisc_osd.h \
+${RDMACM}/ib.h
+IBINCSDIR=	${INCLUDEDIR}/infiniband
+
+RDMAINCS= \
+${RDMACM}/rdma_cma.h \
+${RDMACM}/rdma_cma_abi.h \
+${RDMACM}/rdma_verbs.h \
+${RDMACM}/rsocket.h \
+${RDMA}/ib_user_cm.h \
+${RDMA}/ib_user_sa.h \
+${RDMA}/ib_user_verbs.h	\
+${RDMA}/rdma_user_cm.h \
+${RDMA}/mlx4-abi.h \
+${RDMA}/mlx5-abi.h
+RDMAINCSDIR=	${INCLUDEDIR}/rdma
+
+COMPINCS= \
+${OSM}/complib/cl_atomic.h \
+${OSM}/complib/cl_atomic_osd.h \
+${OSM}/complib/cl_byteswap.h \
+${OSM}/complib/cl_byteswap_osd.h \
+${OSM}/complib/cl_comppool.h \
+${OSM}/complib/cl_debug.h \
+${OSM}/complib/cl_debug_osd.h \
+${OSM}/complib/cl_dispatcher.h \
+${OSM}/complib/cl_event.h \
+${OSM}/complib/cl_event_osd.h \
+${OSM}/complib/cl_event_wheel.h \
+${OSM}/complib/cl_fleximap.h \
+${OSM}/complib/cl_list.h \
+${OSM}/complib/cl_log.h \
+${OSM}/complib/cl_map.h \
+${OSM}/complib/cl_math.h \
+${OSM}/complib/cl_nodenamemap.h \
+${OSM}/complib/cl_packoff.h \
+${OSM}/complib/cl_packon.h \
+${OSM}/complib/cl_passivelock.h \
+${OSM}/complib/cl_pool.h \
+${OSM}/complib/cl_ptr_vector.h \
+${OSM}/complib/cl_qcomppool.h \
+${OSM}/complib/cl_qlist.h \
+${OSM}/complib/cl_qmap.h \
+${OSM}/complib/cl_qpool.h \
+${OSM}/complib/cl_spinlock.h \
+${OSM}/complib/cl_spinlock_osd.h \
+${OSM}/complib/cl_thread.h \
+${OSM}/complib/cl_thread_osd.h \
+${OSM}/complib/cl_threadpool.h \
+${OSM}/complib/cl_timer.h \
+${OSM}/complib/cl_timer_osd.h \
+${OSM}/complib/cl_types.h \
+${OSM}/complib/cl_types_osd.h \
+${OSM}/complib/cl_vector.h
+COMPINCSDIR=	${INCLUDEDIR}/infiniband/complib
+
+OSMINCS= \
+${OSM}/opensm/osm_attrib_req.h \
+${OSM}/opensm/osm_base.h \
+${OSM}/opensm/osm_config.h \
+${OSM}/opensm/osm_congestion_control.h \
+${OSM}/opensm/osm_console.h \
+${OSM}/opensm/osm_console_io.h \
+${OSM}/opensm/osm_db.h \
+${OSM}/opensm/osm_db_pack.h \
+${OSM}/opensm/osm_errors.h \
+${OSM}/opensm/osm_event_plugin.h \
+${OSM}/opensm/osm_file_ids.h \
+${OSM}/opensm/osm_guid.h \
+${OSM}/opensm/osm_helper.h \
+${OSM}/opensm/osm_inform.h \
+${OSM}/opensm/osm_lid_mgr.h \
+${OSM}/opensm/osm_log.h \
+${OSM}/opensm/osm_mad_pool.h \
+${OSM}/opensm/osm_madw.h \
+${OSM}/opensm/osm_mcast_mgr.h \
+${OSM}/opensm/osm_mcast_tbl.h \
+${OSM}/opensm/osm_mcm_port.h \
+${OSM}/opensm/osm_mesh.h \
+${OSM}/opensm/osm_msgdef.h \
+${OSM}/opensm/osm_mtree.h \
+${OSM}/opensm/osm_multicast.h \
+${OSM}/opensm/osm_node.h \
+${OSM}/opensm/osm_opensm.h \
+${OSM}/opensm/osm_partition.h \
+${OSM}/opensm/osm_path.h \
+${OSM}/opensm/osm_perfmgr.h \
+${OSM}/opensm/osm_perfmgr_db.h \
+${OSM}/opensm/osm_pkey.h \
+${OSM}/opensm/osm_port.h \
+${OSM}/opensm/osm_port_profile.h \
+${OSM}/opensm/osm_prefix_route.h \
+${OSM}/opensm/osm_qos_policy.h \
+${OSM}/opensm/osm_remote_sm.h \
+${OSM}/opensm/osm_router.h \
+${OSM}/opensm/osm_sa.h \
+${OSM}/opensm/osm_sa_mad_ctrl.h \
+${OSM}/opensm/osm_service.h \
+${OSM}/opensm/osm_sm.h \
+${OSM}/opensm/osm_sm_mad_ctrl.h \
+${OSM}/opensm/osm_stats.h \
+${OSM}/opensm/osm_subnet.h \
+${OSM}/opensm/osm_switch.h \
+${OSM}/opensm/osm_ucast_cache.h \
+${OSM}/opensm/osm_ucast_lash.h \
+${OSM}/opensm/osm_ucast_mgr.h \
+${OSM}/opensm/osm_version.h \
+${OSM}/opensm/osm_vl15intf.h \
+${OSM}/opensm/st.h
+OSMINCSDIR=	${INCLUDEDIR}/infiniband/opensm
+
+IBAINCS= \
+${OSM}/iba/ib_cm_types.h \
+${OSM}/iba/ib_types.h
+IBAINCSDIR=	${INCLUDEDIR}/infiniband/iba
+
+VENDORINCS= \
+${OSM}/vendor/osm_mtl_bind.h \
+${OSM}/vendor/osm_pkt_randomizer.h \
+${OSM}/vendor/osm_ts_useraccess.h \
+${OSM}/vendor/osm_umadt.h \
+${OSM}/vendor/osm_vendor.h \
+${OSM}/vendor/osm_vendor_al.h \
+${OSM}/vendor/osm_vendor_api.h \
+${OSM}/vendor/osm_vendor_ibumad.h \
+${OSM}/vendor/osm_vendor_mlx.h \
+${OSM}/vendor/osm_vendor_mlx_defs.h \
+${OSM}/vendor/osm_vendor_mlx_dispatcher.h \
+${OSM}/vendor/osm_vendor_mlx_hca.h \
+${OSM}/vendor/osm_vendor_mlx_inout.h \
+${OSM}/vendor/osm_vendor_mlx_rmpp_ctx.h \
+${OSM}/vendor/osm_vendor_mlx_sar.h \
+${OSM}/vendor/osm_vendor_mlx_sender.h \
+${OSM}/vendor/osm_vendor_mlx_svc.h \
+${OSM}/vendor/osm_vendor_mlx_transport.h \
+${OSM}/vendor/osm_vendor_mlx_transport_anafa.h \
+${OSM}/vendor/osm_vendor_mlx_txn.h \
+${OSM}/vendor/osm_vendor_mtl.h \
+${OSM}/vendor/osm_vendor_mtl_hca_guid.h \
+${OSM}/vendor/osm_vendor_mtl_transaction_mgr.h \
+${OSM}/vendor/osm_vendor_sa_api.h \
+${OSM}/vendor/osm_vendor_test.h \
+${OSM}/vendor/osm_vendor_ts.h \
+${OSM}/vendor/osm_vendor_umadt.h
+VENDORINCSDIR=	${INCLUDEDIR}/infiniband/vendor
+
+INCSGROUPS= \
+IBINCS \
+RDMAINCS \
+COMPINCS \
+OSMINCS \
+IBAINCS \
+VENDORINCS
+
+.include <bsd.prog.mk>

Copied: stable/11/contrib/ofed/include/byteorder.h (from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/byteorder.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/11/contrib/ofed/include/byteorder.h	Fri Mar 30 18:06:29 2018	(r331769, copy of r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/byteorder.h)
@@ -0,0 +1,84 @@
+/*-
+ * Copyright (c) 2010 Isilon Systems, Inc.
+ * Copyright (c) 2010 iX Systems, Inc.
+ * Copyright (c) 2010 Panasas, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice unmodified, this list of conditions, and the following
+ *    disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef	_INFINIBAND_BYTEORDER_H_
+#define	_INFINIBAND_BYTEORDER_H_
+
+#include <sys/types.h>
+#include <sys/endian.h>
+
+#if BYTE_ORDER == LITTLE_ENDIAN
+#define	__LITTLE_ENDIAN
+#else
+#define	__BIG_ENDIAN
+#endif
+
+#define	cpu_to_le64	htole64
+#define	le64_to_cpu	le64toh
+#define	cpu_to_le32	htole32
+#define	le32_to_cpu	le32toh
+#define	cpu_to_le16	htole16
+#define	le16_to_cpu	le16toh
+#define	cpu_to_be64	htobe64
+#define	be64_to_cpu	be64toh
+#define	cpu_to_be32	htobe32
+#define	be32_to_cpu	be32toh
+#define	cpu_to_be16	htobe16
+#define	be16_to_cpu	be16toh
+#define	__be16_to_cpu	be16toh
+
+#define	cpu_to_le64p(x)	htole64(*((uint64_t *)x))
+#define	le64_to_cpup(x)	le64toh(*((uint64_t *)x))
+#define	cpu_to_le32p(x)	htole32(*((uint32_t *)x))
+#define	le32_to_cpup(x)	le32toh(*((uint32_t *)x))
+#define	cpu_to_le16p(x)	htole16(*((uint16_t *)x))
+#define	le16_to_cpup(x)	le16toh(*((uint16_t *)x))
+#define	cpu_to_be64p(x)	htobe64(*((uint64_t *)x))
+#define	be64_to_cpup(x)	be64toh(*((uint64_t *)x))
+#define	cpu_to_be32p(x)	htobe32(*((uint32_t *)x))
+#define	be32_to_cpup(x)	be32toh(*((uint32_t *)x))
+#define	cpu_to_be16p(x)	htobe16(*((uint16_t *)x))
+#define	be16_to_cpup(x)	be16toh(*((uint16_t *)x))
+
+#define	cpu_to_le64s(x)	do { *((uint64_t *)x) = cpu_to_le64p((x)) } while (0)
+#define	le64_to_cpus(x)	do { *((uint64_t *)x) = le64_to_cpup((x)) } while (0)
+#define	cpu_to_le32s(x)	do { *((uint32_t *)x) = cpu_to_le32p((x)) } while (0)
+#define	le32_to_cpus(x)	do { *((uint32_t *)x) = le32_to_cpup((x)) } while (0)
+#define	cpu_to_le16s(x)	do { *((uint16_t *)x) = cpu_to_le16p((x)) } while (0)
+#define	le16_to_cpus(x)	do { *((uint16_t *)x) = le16_to_cpup((x)) } while (0)
+#define	cpu_to_be64s(x)	do { *((uint64_t *)x) = cpu_to_be64p((x)) } while (0)
+#define	be64_to_cpus(x)	do { *((uint64_t *)x) = be64_to_cpup((x)) } while (0)
+#define	cpu_to_be32s(x)	do { *((uint32_t *)x) = cpu_to_be32p((x)) } while (0)
+#define	be32_to_cpus(x)	do { *((uint32_t *)x) = be32_to_cpup((x)) } while (0)
+#define	cpu_to_be16s(x)	do { *((uint16_t *)x) = cpu_to_be16p((x)) } while (0)
+#define	be16_to_cpus(x)	do { *((uint16_t *)x) = be16_to_cpup((x)) } while (0)
+
+#define	swab16	bswap16
+#define	swab32	bswap32
+#define	swab64	bswap64
+
+#endif	/* _INFINIBAND_BYTEORDER_H_ */

Copied: stable/11/contrib/ofed/include/byteswap.h (from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/byteswap.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/11/contrib/ofed/include/byteswap.h	Fri Mar 30 18:06:29 2018	(r331769, copy of r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/byteswap.h)
@@ -0,0 +1,42 @@
+/*-
+ * Copyright (c) 2010 Isilon Systems, Inc.
+ * Copyright (c) 2010 iX Systems, Inc.
+ * Copyright (c) 2010 Panasas, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice unmodified, this list of conditions, and the following
+ *    disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef _INFINIBAND_BYTESWAP_H_
+#define	_INFINIBAND_BYTESWAP_H_
+/*
+ * This file is included for compatibility with the userland libraries
+ * accompanying the infiniband stack.
+ */
+#include <sys/types.h>
+#include <sys/endian.h>
+
+#define bswap_16        bswap16
+#define bswap_32        bswap32
+#define bswap_64        bswap64
+
+#endif	/* _INFINIBAND_BYTESWAP_H_ */

Copied: stable/11/contrib/ofed/include/endian.h (from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/endian.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/11/contrib/ofed/include/endian.h	Fri Mar 30 18:06:29 2018	(r331769, copy of r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/endian.h)
@@ -0,0 +1,42 @@
+/*-
+ * Copyright (c) 2010 Isilon Systems, Inc.
+ * Copyright (c) 2010 iX Systems, Inc.
+ * Copyright (c) 2010 Panasas, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice unmodified, this list of conditions, and the following
+ *    disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+/*
+ * This file is included for compatibility with the userland libraries
+ * accompanying the infiniband stack.
+ */
+
+#ifndef _INFINIBAND_ENDIAN_H_
+#define	_INFINIBAND_ENDIAN_H_
+
+#include <sys/types.h>
+#include <sys/endian.h>
+#define	__LITTLE_ENDIAN	_LITTLE_ENDIAN
+#define	__BIG_ENDIAN	_BIG_ENDIAN
+#define __BYTE_ORDER    _BYTE_ORDER
+
+#endif /* _INFINIBAND_ENDIAN_H_ */

Copied: stable/11/contrib/ofed/include/types.h (from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/types.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/11/contrib/ofed/include/types.h	Fri Mar 30 18:06:29 2018	(r331769, copy of r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/types.h)
@@ -0,0 +1,61 @@
+/*-
+ * Copyright (c) 2010 Isilon Systems, Inc.
+ * Copyright (c) 2010 iX Systems, Inc.
+ * Copyright (c) 2010 Panasas, Inc.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice unmodified, this list of conditions, and the following
+ *    disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+#ifndef	_INFINIBAND_TYPES_H_
+#define	_INFINIBAND_TYPES_H_
+
+#include <sys/cdefs.h>
+#include <sys/types.h>
+
+typedef int8_t s8;
+typedef uint8_t u8;
+typedef int8_t __s8;
+typedef uint8_t __u8;
+
+typedef int16_t s16;
+typedef uint16_t u16;
+typedef int16_t __s16;
+typedef uint16_t __u16;
+
+typedef int32_t s32;
+typedef uint32_t u32;
+typedef int32_t __s32;
+typedef uint32_t __u32;
+
+typedef int64_t s64;
+typedef uint64_t u64;
+typedef int64_t __s64;
+typedef uint64_t __u64;
+
+typedef uint16_t __le16;
+typedef uint16_t __be16;
+typedef uint32_t __le32;
+typedef uint32_t __be32;
+typedef uint64_t __le64;
+typedef uint64_t __be64;
+
+#endif	/* _INFINIBAND_TYPES_H_ */

Copied: stable/11/contrib/ofed/include/udma_barrier.h (from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/udma_barrier.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/11/contrib/ofed/include/udma_barrier.h	Fri Mar 30 18:06:29 2018	(r331769, copy of r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/include/udma_barrier.h)
@@ -0,0 +1,277 @@
+/*
+ * Copyright (c) 2005 Topspin Communications.  All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses.  You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ *     Redistribution and use in source and binary forms, with or
+ *     without modification, are permitted provided that the following
+ *     conditions are met:
+ *
+ *      - Redistributions of source code must retain the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer.
+ *
+ *      - Redistributions in binary form must reproduce the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+#ifndef __UTIL_UDMA_BARRIER_H
+#define __UTIL_UDMA_BARRIER_H
+
+#include <pthread.h>
+
+/* Barriers for DMA.
+
+   These barriers are expliclty only for use with user DMA operations. If you
+   are looking for barriers to use with cache-coherent multi-threaded
+   consitency then look in stdatomic.h. If you need both kinds of synchronicity
+   for the same address then use an atomic operation followed by one
+   of these barriers.
+
+   When reasoning about these barriers there are two objects:
+     - CPU attached address space (the CPU memory could be a range of things:
+       cached/uncached/non-temporal CPU DRAM, uncached MMIO space in another
+       device, pMEM). Generally speaking the ordering is only relative
+       to the local CPU's view of the system. Eg if the local CPU
+       is not guaranteed to see a write from another CPU then it is also
+       OK for the DMA device to also not see the write after the barrier.
+     - A DMA initiator on a bus. For instance a PCI-E device issuing
+       MemRd/MemWr TLPs.
+
+   The ordering guarantee is always stated between those two streams. Eg what
+   happens if a MemRd TLP is sent in via PCI-E relative to a CPU WRITE to the
+   same memory location.
+
+   The providers have a very regular and predictable use of these barriers,
+   to make things very clear each narrow use is given a name and the proper
+   name should be used in the provider as a form of documentation.
+*/
+
+/* Ensure that the device's view of memory matches the CPU's view of memory.
+   This should be placed before any MMIO store that could trigger the device
+   to begin doing DMA, such as a device doorbell ring.
+
+   eg
+    *dma_buf = 1;
+    udma_to_device_barrier();
+    mmio_write(DO_DMA_REG, dma_buf);
+   Must ensure that the device sees the '1'.
+
+   This is required to fence writes created by the libibverbs user. Those
+   writes could be to any CPU mapped memory object with any cachability mode.
+
+   NOTE: x86 has historically used a weaker semantic for this barrier, and
+   only fenced normal stores to normal memory. libibverbs users using other
+   memory types or non-temporal stores are required to use SFENCE in their own
+   code prior to calling verbs to start a DMA.
+*/
+#if defined(__i386__)
+#define udma_to_device_barrier() asm volatile("" ::: "memory")
+#elif defined(__x86_64__)
+#define udma_to_device_barrier() asm volatile("" ::: "memory")
+#elif defined(__PPC64__)
+#define udma_to_device_barrier() asm volatile("sync" ::: "memory")
+#elif defined(__PPC__)
+#define udma_to_device_barrier() asm volatile("sync" ::: "memory")
+#elif defined(__ia64__)
+#define udma_to_device_barrier() asm volatile("mf" ::: "memory")
+#elif defined(__sparc_v9__)
+#define udma_to_device_barrier() asm volatile("membar #StoreStore" ::: "memory")
+#elif defined(__aarch64__)
+#define udma_to_device_barrier() asm volatile("dsb st" ::: "memory");
+#elif defined(__sparc__) || defined(__s390x__)
+#define udma_to_device_barrier() asm volatile("" ::: "memory")
+#elif defined(__mips__)
+#include <sys/types.h>
+#include <machine/atomic.h>
+#define udma_to_device_barrier() mips_sync()
+#elif defined(__arm__)
+#include <sys/types.h>
+#include <machine/atomic.h>
+#define udma_to_device_barrier() dmb()
+#else
+#error No architecture specific memory barrier defines found!
+#endif
+
+/* Ensure that all ordered stores from the device are observable from the
+   CPU. This only makes sense after something that observes an ordered store
+   from the device - eg by reading a MMIO register or seeing that CPU memory is
+   updated.
+
+   This guarantees that all reads that follow the barrier see the ordered
+   stores that preceded the observation.
+
+   For instance, this would be used after testing a valid bit in a memory
+   that is a DMA target, to ensure that the following reads see the
+   data written before the MemWr TLP that set the valid bit.
+*/
+#if defined(__i386__)
+#define udma_from_device_barrier() asm volatile("lock; addl $0,0(%%esp) " ::: "memory")
+#elif defined(__x86_64__)
+#define udma_from_device_barrier() asm volatile("lfence" ::: "memory")
+#elif defined(__PPC64__)
+#define udma_from_device_barrier() asm volatile("lwsync" ::: "memory")
+#elif defined(__PPC__)
+#define udma_from_device_barrier() asm volatile("sync" ::: "memory")
+#elif defined(__ia64__)
+#define udma_from_device_barrier() asm volatile("mf" ::: "memory")
+#elif defined(__sparc_v9__)
+#define udma_from_device_barrier() asm volatile("membar #LoadLoad" ::: "memory")
+#elif defined(__aarch64__)
+#define udma_from_device_barrier() asm volatile("dsb ld" ::: "memory");
+#elif defined(__sparc__) || defined(__s390x__)
+#define udma_from_device_barrier() asm volatile("" ::: "memory")
+#elif defined(__mips__)
+#define udma_from_device_barrier() mips_sync()
+#elif defined(__arm__)
+#define udma_from_device_barrier() dmb()
+#else
+#error No architecture specific memory barrier defines found!
+#endif
+
+/* Order writes to CPU memory so that a DMA device cannot view writes after
+   the barrier without also seeing all writes before the barrier. This does
+   not guarantee any writes are visible to DMA.
+
+   This would be used in cases where a DMA buffer might have a valid bit and
+   data, this barrier is placed after writing the data but before writing the
+   valid bit to ensure the DMA device cannot observe a set valid bit with
+   unwritten data.
+
+   Compared to udma_to_device_barrier() this barrier is not required to fence
+   anything but normal stores to normal malloc memory. Usage should be:
+
+   write_wqe
+      udma_to_device_barrier();    // Get user memory ready for DMA
+      wqe->addr = ...;
+      wqe->flags = ...;
+      udma_ordering_write_barrier();  // Guarantee WQE written in order
+      wqe->valid = 1;
+*/
+#define udma_ordering_write_barrier() udma_to_device_barrier()
+
+/* Promptly flush writes to MMIO Write Cominbing memory.
+   This should be used after a write to WC memory. This is both a barrier
+   and a hint to the CPU to flush any buffers to reduce latency to TLP
+   generation.
+
+   This is not required to have any effect on CPU memory.
+
+   If done while holding a lock then the ordering of MMIO writes across CPUs
+   must be guaranteed to follow the natural ordering implied by the lock.
+
+   This must also act as a barrier that prevents write combining, eg
+     *wc_mem = 1;
+     mmio_flush_writes();
+     *wc_mem = 2;
+   Must always produce two MemWr TLPs, '1' and '2'. Without the barrier
+   the CPU is allowed to produce a single TLP '2'.
+
+   Note that there is no order guarantee for writes to WC memory without
+   barriers.
+
+   This is intended to be used in conjunction with WC memory to generate large
+   PCI-E MemWr TLPs from the CPU.
+*/
+#if defined(__i386__)
+#define mmio_flush_writes() asm volatile("lock; addl $0,0(%%esp) " ::: "memory")
+#elif defined(__x86_64__)
+#define mmio_flush_writes() asm volatile("sfence" ::: "memory")
+#elif defined(__PPC64__)
+#define mmio_flush_writes() asm volatile("sync" ::: "memory")
+#elif defined(__PPC__)
+#define mmio_flush_writes() asm volatile("sync" ::: "memory")
+#elif defined(__ia64__)
+#define mmio_flush_writes() asm volatile("fwb" ::: "memory")
+#elif defined(__sparc_v9__)
+#define mmio_flush_writes() asm volatile("membar #StoreStore" ::: "memory")
+#elif defined(__aarch64__)
+#define mmio_flush_writes() asm volatile("dsb st" ::: "memory");
+#elif defined(__sparc__) || defined(__s390x__)
+#define mmio_flush_writes() asm volatile("" ::: "memory")
+#elif defined(__mips__)
+#define mmio_flush_writes() mips_sync()
+#elif defined(__arm__)
+#define mmio_flush_writes() dmb()
+#else
+#error No architecture specific memory barrier defines found!
+#endif
+
+/* Prevent WC writes from being re-ordered relative to other MMIO
+   writes. This should be used before a write to WC memory.
+
+   This must act as a barrier to prevent write re-ordering from different
+   memory types:
+     *mmio_mem = 1;
+     mmio_flush_writes();
+     *wc_mem = 2;
+   Must always produce a TLP '1' followed by '2'.
+
+   This barrier implies udma_to_device_barrier()
+
+   This is intended to be used in conjunction with WC memory to generate large
+   PCI-E MemWr TLPs from the CPU.
+*/
+#define mmio_wc_start() mmio_flush_writes()
+
+/* Keep MMIO writes in order.
+   Currently we lack writel macros that universally guarantee MMIO
+   writes happen in order, like the kernel does. Even worse many
+   providers haphazardly open code writes to MMIO memory omitting even
+   volatile.
+
+   Until this can be fixed with a proper writel macro, this barrier
+   is a stand in to indicate places where MMIO writes should be switched
+   to some future writel.
+*/
+#define mmio_ordered_writes_hack() mmio_flush_writes()
+
+/* Write Combining Spinlock primitive
+
+   Any access to a multi-value WC region must ensure that multiple cpus do not
+   write to the same values concurrently, these macros make that
+   straightforward and efficient if the choosen exclusion is a spinlock.
+
+   The spinlock guarantees that the WC writes issued within the critical
+   section are made visible as TLP to the device. The TLP must be seen by the
+   device strictly in the order that the spinlocks are acquired, and combining
+   WC writes between different sections is not permitted.
+
+   Use of these macros allow the fencing inside the spinlock to be combined
+   with the fencing required for DMA.
+ */
+static inline void mmio_wc_spinlock(pthread_spinlock_t *lock)
+{
+	pthread_spin_lock(lock);
+#if !defined(__i386__) && !defined(__x86_64__)
+	/* For x86 the serialization within the spin lock is enough to
+	 * strongly order WC and other memory types. */
+	mmio_wc_start();
+#endif
+}
+
+static inline void mmio_wc_spinunlock(pthread_spinlock_t *lock)
+{
+	/* It is possible that on x86 the atomic in the lock is strong enough
+	 * to force-flush the WC buffers quickly, and this SFENCE can be
+	 * omitted too. */
+	mmio_flush_writes();
+	pthread_spin_unlock(lock);
+}
+
+#endif

Copied: stable/11/contrib/ofed/libcxgb4/Makefile (from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/Makefile)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/11/contrib/ofed/libcxgb4/Makefile	Fri Mar 30 18:06:29 2018	(r331769, copy of r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/Makefile)
@@ -0,0 +1,19 @@
+# $FreeBSD$
+
+.PATH: ${.CURDIR}
+
+SHLIBDIR?=	/usr/lib
+LIB=		cxgb4
+SHLIB_MAJOR=	1
+MK_PROFILE=	no
+
+SRCS= \
+cq.c \
+dev.c \
+qp.c \
+verbs.c
+
+LIBADD=		ibverbs pthread
+CFLAGS+=	-I${.CURDIR}
+
+.include <bsd.lib.mk>

Copied: stable/11/contrib/ofed/libcxgb4/config.h (from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/config.h)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/11/contrib/ofed/libcxgb4/config.h	Fri Mar 30 18:06:29 2018	(r331769, copy of r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/config.h)
@@ -0,0 +1,6 @@
+/* $FreeBSD$ */
+
+#define	ENODATA ECONNREFUSED
+#define	likely(x) __predict_true(x)
+#define	unlikely(x) __predict_false(x)
+

Copied: stable/11/contrib/ofed/libcxgb4/cq.c (from r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/cq.c)
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ stable/11/contrib/ofed/libcxgb4/cq.c	Fri Mar 30 18:06:29 2018	(r331769, copy of r331758, projects/bsd_rdma_4_9_stable_11/contrib/ofed/libcxgb4/cq.c)
@@ -0,0 +1,750 @@
+/*
+ * Copyright (c) 2006-2016 Chelsio, Inc. All rights reserved.
+ *
+ * This software is available to you under a choice of one of two
+ * licenses.  You may choose to be licensed under the terms of the GNU
+ * General Public License (GPL) Version 2, available from the file
+ * COPYING in the main directory of this source tree, or the
+ * OpenIB.org BSD license below:
+ *
+ *     Redistribution and use in source and binary forms, with or
+ *     without modification, are permitted provided that the following
+ *     conditions are met:
+ *
+ *      - Redistributions of source code must retain the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer.
+ *
+ *      - Redistributions in binary form must reproduce the above
+ *        copyright notice, this list of conditions and the following
+ *        disclaimer in the documentation and/or other materials
+ *        provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+#include <config.h>
+
+#include <stdio.h>
+#include <syslog.h>
+#include <pthread.h>
+#include <sys/errno.h>
+#include <infiniband/opcode.h>
+#include "libcxgb4.h"
+#include "cxgb4-abi.h"
+
+static void insert_recv_cqe(struct t4_wq *wq, struct t4_cq *cq)
+{
+	struct t4_cqe cqe;
+
+	PDBG("%s wq %p cq %p sw_cidx %u sw_pidx %u\n", __func__,
+	     wq, cq, cq->sw_cidx, cq->sw_pidx);
+	memset(&cqe, 0, sizeof(cqe));
+	cqe.header = htobe32(V_CQE_STATUS(T4_ERR_SWFLUSH) |
+			         V_CQE_OPCODE(FW_RI_SEND) |
+				 V_CQE_TYPE(0) |
+				 V_CQE_SWCQE(1) |
+				 V_CQE_QPID(wq->sq.qid));
+	cqe.bits_type_ts = htobe64(V_CQE_GENBIT((u64)cq->gen));
+	cq->sw_queue[cq->sw_pidx] = cqe;
+	t4_swcq_produce(cq);
+}
+
+int c4iw_flush_rq(struct t4_wq *wq, struct t4_cq *cq, int count)
+{
+	int flushed = 0;
+	int in_use = wq->rq.in_use - count;
+
+	BUG_ON(in_use < 0);
+	PDBG("%s wq %p cq %p rq.in_use %u skip count %u\n", __func__,
+	     wq, cq, wq->rq.in_use, count);
+	while (in_use--) {
+		insert_recv_cqe(wq, cq);
+		flushed++;
+	}
+	return flushed;
+}
+
+static void insert_sq_cqe(struct t4_wq *wq, struct t4_cq *cq,
+		          struct t4_swsqe *swcqe)
+{
+	struct t4_cqe cqe;
+
+	PDBG("%s wq %p cq %p sw_cidx %u sw_pidx %u\n", __func__,
+	     wq, cq, cq->sw_cidx, cq->sw_pidx);
+	memset(&cqe, 0, sizeof(cqe));
+	cqe.header = htobe32(V_CQE_STATUS(T4_ERR_SWFLUSH) |
+			         V_CQE_OPCODE(swcqe->opcode) |
+			         V_CQE_TYPE(1) |
+			         V_CQE_SWCQE(1) |
+			         V_CQE_QPID(wq->sq.qid));
+	CQE_WRID_SQ_IDX(&cqe) = swcqe->idx;
+	cqe.bits_type_ts = htobe64(V_CQE_GENBIT((u64)cq->gen));
+	cq->sw_queue[cq->sw_pidx] = cqe;
+	t4_swcq_produce(cq);
+}
+
+static void advance_oldest_read(struct t4_wq *wq);
+
+void c4iw_flush_sq(struct c4iw_qp *qhp)
+{
+	unsigned short flushed = 0;
+	struct t4_wq *wq = &qhp->wq;
+	struct c4iw_cq *chp = to_c4iw_cq(qhp->ibv_qp.send_cq);
+	struct t4_cq *cq = &chp->cq;
+	int idx;
+	struct t4_swsqe *swsqe;
+	
+	if (wq->sq.flush_cidx == -1)
+		wq->sq.flush_cidx = wq->sq.cidx;
+	idx = wq->sq.flush_cidx;
+	BUG_ON(idx >= wq->sq.size);
+	while (idx != wq->sq.pidx) {
+		swsqe = &wq->sq.sw_sq[idx];
+		BUG_ON(swsqe->flushed);
+		swsqe->flushed = 1;
+		insert_sq_cqe(wq, cq, swsqe);
+		if (wq->sq.oldest_read == swsqe) {
+			BUG_ON(swsqe->opcode != FW_RI_READ_REQ);
+			advance_oldest_read(wq);
+		}
+		flushed++;
+		if (++idx == wq->sq.size)
+			idx = 0;
+	}
+	wq->sq.flush_cidx += flushed;
+	if (wq->sq.flush_cidx >= wq->sq.size)
+		wq->sq.flush_cidx -= wq->sq.size;
+}
+
+static void flush_completed_wrs(struct t4_wq *wq, struct t4_cq *cq)
+{
+	struct t4_swsqe *swsqe;
+	unsigned short cidx;
+ 
+	if (wq->sq.flush_cidx == -1)
+		wq->sq.flush_cidx = wq->sq.cidx;
+	cidx = wq->sq.flush_cidx;
+	BUG_ON(cidx >= wq->sq.size);
+
+	while (cidx != wq->sq.pidx) {
+		swsqe = &wq->sq.sw_sq[cidx];
+		if (!swsqe->signaled) {
+			if (++cidx == wq->sq.size)
+				cidx = 0;
+		} else if (swsqe->complete) {
+
+			BUG_ON(swsqe->flushed);
+
+			/*
+			 * Insert this completed cqe into the swcq.
+			 */
+			PDBG("%s moving cqe into swcq sq idx %u cq idx %u\n",
+			     __func__, cidx, cq->sw_pidx);
+
+			swsqe->cqe.header |= htobe32(V_CQE_SWCQE(1));
+			cq->sw_queue[cq->sw_pidx] = swsqe->cqe;
+			t4_swcq_produce(cq);
+			swsqe->flushed = 1;
+			if (++cidx == wq->sq.size)
+				cidx = 0;
+			wq->sq.flush_cidx = cidx;
+		} else
+			break;
+	}
+}
+
+static void create_read_req_cqe(struct t4_wq *wq, struct t4_cqe *hw_cqe,
+				struct t4_cqe *read_cqe)
+{
+	read_cqe->u.scqe.cidx = wq->sq.oldest_read->idx;
+	read_cqe->len = be32toh(wq->sq.oldest_read->read_len);
+	read_cqe->header = htobe32(V_CQE_QPID(CQE_QPID(hw_cqe)) |
+				 V_CQE_SWCQE(SW_CQE(hw_cqe)) |
+				 V_CQE_OPCODE(FW_RI_READ_REQ) |
+				 V_CQE_TYPE(1));
+	read_cqe->bits_type_ts = hw_cqe->bits_type_ts;
+}
+
+static void advance_oldest_read(struct t4_wq *wq)
+{
+
+	u32 rptr = wq->sq.oldest_read - wq->sq.sw_sq + 1;
+
+	if (rptr == wq->sq.size)
+		rptr = 0;
+	while (rptr != wq->sq.pidx) {
+		wq->sq.oldest_read = &wq->sq.sw_sq[rptr];
+
+		if (wq->sq.oldest_read->opcode == FW_RI_READ_REQ)
+			return;
+		if (++rptr == wq->sq.size)
+			rptr = 0;
+	}
+	wq->sq.oldest_read = NULL;
+}
+
+/*
+ * Move all CQEs from the HWCQ into the SWCQ.
+ * Deal with out-of-order and/or completions that complete
+ * prior unsignalled WRs.
+ */
+void c4iw_flush_hw_cq(struct c4iw_cq *chp)

*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***


More information about the svn-src-all mailing list