Linux RDMA and InfiniBand development
 help / color / mirror / Atom feed
* [PATCH rdma-core 13/17] verbs: Flatten libibverbs/src,include into libibverbs/
From: Jason Gunthorpe @ 2016-10-06 20:51 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA; +Cc: Doug Ledford, Yishai Hadas
In-Reply-To: <1475787103-13283-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

The top level dir produces the library and examples/ produces
the example programs.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 CMakeLists.txt                                    |  2 +-
 libibverbs/{src => }/CMakeLists.txt               | 16 ++++++++--------
 libibverbs/{include/infiniband => }/arch.h        |  0
 libibverbs/{src => }/cmd.c                        |  0
 libibverbs/{src => }/compat-1_0.c                 |  0
 libibverbs/{src => }/device.c                     |  0
 libibverbs/{include/infiniband => }/driver.h      |  0
 libibverbs/{src => }/enum_strs.c                  |  0
 libibverbs/{src => }/ibverbs.h                    |  0
 libibverbs/{src => }/init.c                       |  0
 libibverbs/{include/infiniband => }/kern-abi.h    |  0
 libibverbs/{src => }/libibverbs.map               |  0
 libibverbs/{src => }/marshall.c                   |  0
 libibverbs/{include/infiniband => }/marshall.h    |  0
 libibverbs/{src => }/memory.c                     |  0
 libibverbs/{src => }/neigh.c                      |  0
 libibverbs/{src => }/neigh.h                      |  0
 libibverbs/{src => }/nl1_compat.h                 |  0
 libibverbs/{include/infiniband => }/opcode.h      |  0
 libibverbs/{include/infiniband => }/sa-kern-abi.h |  0
 libibverbs/{include/infiniband => }/sa.h          |  0
 libibverbs/{src => }/sysfs.c                      |  0
 libibverbs/{src => }/verbs.c                      |  0
 libibverbs/{include/infiniband => }/verbs.h       |  0
 24 files changed, 9 insertions(+), 9 deletions(-)
 rename libibverbs/{src => }/CMakeLists.txt (62%)
 rename libibverbs/{include/infiniband => }/arch.h (100%)
 rename libibverbs/{src => }/cmd.c (100%)
 rename libibverbs/{src => }/compat-1_0.c (100%)
 rename libibverbs/{src => }/device.c (100%)
 rename libibverbs/{include/infiniband => }/driver.h (100%)
 rename libibverbs/{src => }/enum_strs.c (100%)
 rename libibverbs/{src => }/ibverbs.h (100%)
 rename libibverbs/{src => }/init.c (100%)
 rename libibverbs/{include/infiniband => }/kern-abi.h (100%)
 rename libibverbs/{src => }/libibverbs.map (100%)
 rename libibverbs/{src => }/marshall.c (100%)
 rename libibverbs/{include/infiniband => }/marshall.h (100%)
 rename libibverbs/{src => }/memory.c (100%)
 rename libibverbs/{src => }/neigh.c (100%)
 rename libibverbs/{src => }/neigh.h (100%)
 rename libibverbs/{src => }/nl1_compat.h (100%)
 rename libibverbs/{include/infiniband => }/opcode.h (100%)
 rename libibverbs/{include/infiniband => }/sa-kern-abi.h (100%)
 rename libibverbs/{include/infiniband => }/sa.h (100%)
 rename libibverbs/{src => }/sysfs.c (100%)
 rename libibverbs/{src => }/verbs.c (100%)
 rename libibverbs/{include/infiniband => }/verbs.h (100%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 88eb968d45ba..a0ec5ecd9da0 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -253,7 +253,7 @@ add_subdirectory(ccan)
 # Libraries
 add_subdirectory(libibumad)
 add_subdirectory(libibumad/man)
-add_subdirectory(libibverbs/src)
+add_subdirectory(libibverbs)
 add_subdirectory(libibverbs/man)
 add_subdirectory(librdmacm/src)
 add_subdirectory(librdmacm/man)
diff --git a/libibverbs/src/CMakeLists.txt b/libibverbs/CMakeLists.txt
similarity index 62%
rename from libibverbs/src/CMakeLists.txt
rename to libibverbs/CMakeLists.txt
index fb69037b869b..3e37afbc6551 100644
--- a/libibverbs/src/CMakeLists.txt
+++ b/libibverbs/CMakeLists.txt
@@ -1,12 +1,12 @@
 publish_headers(infiniband
-  ../include/infiniband/arch.h
-  ../include/infiniband/driver.h
-  ../include/infiniband/kern-abi.h
-  ../include/infiniband/marshall.h
-  ../include/infiniband/opcode.h
-  ../include/infiniband/sa-kern-abi.h
-  ../include/infiniband/sa.h
-  ../include/infiniband/verbs.h
+  arch.h
+  driver.h
+  kern-abi.h
+  marshall.h
+  opcode.h
+  sa-kern-abi.h
+  sa.h
+  verbs.h
   )
 
 if (NOT NL_KIND EQUAL 0)
diff --git a/libibverbs/include/infiniband/arch.h b/libibverbs/arch.h
similarity index 100%
rename from libibverbs/include/infiniband/arch.h
rename to libibverbs/arch.h
diff --git a/libibverbs/src/cmd.c b/libibverbs/cmd.c
similarity index 100%
rename from libibverbs/src/cmd.c
rename to libibverbs/cmd.c
diff --git a/libibverbs/src/compat-1_0.c b/libibverbs/compat-1_0.c
similarity index 100%
rename from libibverbs/src/compat-1_0.c
rename to libibverbs/compat-1_0.c
diff --git a/libibverbs/src/device.c b/libibverbs/device.c
similarity index 100%
rename from libibverbs/src/device.c
rename to libibverbs/device.c
diff --git a/libibverbs/include/infiniband/driver.h b/libibverbs/driver.h
similarity index 100%
rename from libibverbs/include/infiniband/driver.h
rename to libibverbs/driver.h
diff --git a/libibverbs/src/enum_strs.c b/libibverbs/enum_strs.c
similarity index 100%
rename from libibverbs/src/enum_strs.c
rename to libibverbs/enum_strs.c
diff --git a/libibverbs/src/ibverbs.h b/libibverbs/ibverbs.h
similarity index 100%
rename from libibverbs/src/ibverbs.h
rename to libibverbs/ibverbs.h
diff --git a/libibverbs/src/init.c b/libibverbs/init.c
similarity index 100%
rename from libibverbs/src/init.c
rename to libibverbs/init.c
diff --git a/libibverbs/include/infiniband/kern-abi.h b/libibverbs/kern-abi.h
similarity index 100%
rename from libibverbs/include/infiniband/kern-abi.h
rename to libibverbs/kern-abi.h
diff --git a/libibverbs/src/libibverbs.map b/libibverbs/libibverbs.map
similarity index 100%
rename from libibverbs/src/libibverbs.map
rename to libibverbs/libibverbs.map
diff --git a/libibverbs/src/marshall.c b/libibverbs/marshall.c
similarity index 100%
rename from libibverbs/src/marshall.c
rename to libibverbs/marshall.c
diff --git a/libibverbs/include/infiniband/marshall.h b/libibverbs/marshall.h
similarity index 100%
rename from libibverbs/include/infiniband/marshall.h
rename to libibverbs/marshall.h
diff --git a/libibverbs/src/memory.c b/libibverbs/memory.c
similarity index 100%
rename from libibverbs/src/memory.c
rename to libibverbs/memory.c
diff --git a/libibverbs/src/neigh.c b/libibverbs/neigh.c
similarity index 100%
rename from libibverbs/src/neigh.c
rename to libibverbs/neigh.c
diff --git a/libibverbs/src/neigh.h b/libibverbs/neigh.h
similarity index 100%
rename from libibverbs/src/neigh.h
rename to libibverbs/neigh.h
diff --git a/libibverbs/src/nl1_compat.h b/libibverbs/nl1_compat.h
similarity index 100%
rename from libibverbs/src/nl1_compat.h
rename to libibverbs/nl1_compat.h
diff --git a/libibverbs/include/infiniband/opcode.h b/libibverbs/opcode.h
similarity index 100%
rename from libibverbs/include/infiniband/opcode.h
rename to libibverbs/opcode.h
diff --git a/libibverbs/include/infiniband/sa-kern-abi.h b/libibverbs/sa-kern-abi.h
similarity index 100%
rename from libibverbs/include/infiniband/sa-kern-abi.h
rename to libibverbs/sa-kern-abi.h
diff --git a/libibverbs/include/infiniband/sa.h b/libibverbs/sa.h
similarity index 100%
rename from libibverbs/include/infiniband/sa.h
rename to libibverbs/sa.h
diff --git a/libibverbs/src/sysfs.c b/libibverbs/sysfs.c
similarity index 100%
rename from libibverbs/src/sysfs.c
rename to libibverbs/sysfs.c
diff --git a/libibverbs/src/verbs.c b/libibverbs/verbs.c
similarity index 100%
rename from libibverbs/src/verbs.c
rename to libibverbs/verbs.c
diff --git a/libibverbs/include/infiniband/verbs.h b/libibverbs/verbs.h
similarity index 100%
rename from libibverbs/include/infiniband/verbs.h
rename to libibverbs/verbs.h
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH rdma-core 14/17] rdmacm: Flatten librdmacm/src,include into librdmacm/
From: Jason Gunthorpe @ 2016-10-06 20:51 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA; +Cc: Sean Hefty
In-Reply-To: <1475787103-13283-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

The top level dir produces the library and examples/ produces
the example programs.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 CMakeLists.txt                              |  2 +-
 librdmacm/{src => }/CMakeLists.txt          | 10 +++++-----
 librdmacm/{src => }/acm.c                   |  0
 librdmacm/{src => }/addrinfo.c              |  0
 librdmacm/{src => }/cma.c                   |  0
 librdmacm/{src => }/cma.h                   |  0
 librdmacm/{include/infiniband => }/ib.h     |  0
 librdmacm/{src => }/indexer.c               |  0
 librdmacm/{src => }/indexer.h               |  0
 librdmacm/{src => }/librdmacm.map           |  0
 librdmacm/{src => }/librspreload.map        |  0
 librdmacm/{src => }/preload.c               |  0
 librdmacm/{include/rdma => }/rdma_cma.h     |  0
 librdmacm/{include/rdma => }/rdma_cma_abi.h |  0
 librdmacm/{include/rdma => }/rdma_verbs.h   |  0
 librdmacm/{src => }/rsocket.c               |  0
 librdmacm/{include/rdma => }/rsocket.h      |  0
 17 files changed, 6 insertions(+), 6 deletions(-)
 rename librdmacm/{src => }/CMakeLists.txt (89%)
 rename librdmacm/{src => }/acm.c (100%)
 rename librdmacm/{src => }/addrinfo.c (100%)
 rename librdmacm/{src => }/cma.c (100%)
 rename librdmacm/{src => }/cma.h (100%)
 rename librdmacm/{include/infiniband => }/ib.h (100%)
 rename librdmacm/{src => }/indexer.c (100%)
 rename librdmacm/{src => }/indexer.h (100%)
 rename librdmacm/{src => }/librdmacm.map (100%)
 rename librdmacm/{src => }/librspreload.map (100%)
 rename librdmacm/{src => }/preload.c (100%)
 rename librdmacm/{include/rdma => }/rdma_cma.h (100%)
 rename librdmacm/{include/rdma => }/rdma_cma_abi.h (100%)
 rename librdmacm/{include/rdma => }/rdma_verbs.h (100%)
 rename librdmacm/{src => }/rsocket.c (100%)
 rename librdmacm/{include/rdma => }/rsocket.h (100%)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index a0ec5ecd9da0..64f9797c980c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -255,7 +255,7 @@ add_subdirectory(libibumad)
 add_subdirectory(libibumad/man)
 add_subdirectory(libibverbs)
 add_subdirectory(libibverbs/man)
-add_subdirectory(librdmacm/src)
+add_subdirectory(librdmacm)
 add_subdirectory(librdmacm/man)
 add_subdirectory(libibcm)
 
diff --git a/librdmacm/src/CMakeLists.txt b/librdmacm/CMakeLists.txt
similarity index 89%
rename from librdmacm/src/CMakeLists.txt
rename to librdmacm/CMakeLists.txt
index bff631ea7f0d..b3dafba0bc6a 100644
--- a/librdmacm/src/CMakeLists.txt
+++ b/librdmacm/CMakeLists.txt
@@ -1,11 +1,11 @@
 publish_headers(rdma
-  ../include/rdma/rdma_cma.h
-  ../include/rdma/rdma_cma_abi.h
-  ../include/rdma/rdma_verbs.h
-  ../include/rdma/rsocket.h
+  rdma_cma.h
+  rdma_cma_abi.h
+  rdma_verbs.h
+  rsocket.h
   )
 publish_headers(infiniband
-  ../include/infiniband/ib.h
+  ib.h
   )
 
 rdma_library(rdmacm librdmacm.map
diff --git a/librdmacm/src/acm.c b/librdmacm/acm.c
similarity index 100%
rename from librdmacm/src/acm.c
rename to librdmacm/acm.c
diff --git a/librdmacm/src/addrinfo.c b/librdmacm/addrinfo.c
similarity index 100%
rename from librdmacm/src/addrinfo.c
rename to librdmacm/addrinfo.c
diff --git a/librdmacm/src/cma.c b/librdmacm/cma.c
similarity index 100%
rename from librdmacm/src/cma.c
rename to librdmacm/cma.c
diff --git a/librdmacm/src/cma.h b/librdmacm/cma.h
similarity index 100%
rename from librdmacm/src/cma.h
rename to librdmacm/cma.h
diff --git a/librdmacm/include/infiniband/ib.h b/librdmacm/ib.h
similarity index 100%
rename from librdmacm/include/infiniband/ib.h
rename to librdmacm/ib.h
diff --git a/librdmacm/src/indexer.c b/librdmacm/indexer.c
similarity index 100%
rename from librdmacm/src/indexer.c
rename to librdmacm/indexer.c
diff --git a/librdmacm/src/indexer.h b/librdmacm/indexer.h
similarity index 100%
rename from librdmacm/src/indexer.h
rename to librdmacm/indexer.h
diff --git a/librdmacm/src/librdmacm.map b/librdmacm/librdmacm.map
similarity index 100%
rename from librdmacm/src/librdmacm.map
rename to librdmacm/librdmacm.map
diff --git a/librdmacm/src/librspreload.map b/librdmacm/librspreload.map
similarity index 100%
rename from librdmacm/src/librspreload.map
rename to librdmacm/librspreload.map
diff --git a/librdmacm/src/preload.c b/librdmacm/preload.c
similarity index 100%
rename from librdmacm/src/preload.c
rename to librdmacm/preload.c
diff --git a/librdmacm/include/rdma/rdma_cma.h b/librdmacm/rdma_cma.h
similarity index 100%
rename from librdmacm/include/rdma/rdma_cma.h
rename to librdmacm/rdma_cma.h
diff --git a/librdmacm/include/rdma/rdma_cma_abi.h b/librdmacm/rdma_cma_abi.h
similarity index 100%
rename from librdmacm/include/rdma/rdma_cma_abi.h
rename to librdmacm/rdma_cma_abi.h
diff --git a/librdmacm/include/rdma/rdma_verbs.h b/librdmacm/rdma_verbs.h
similarity index 100%
rename from librdmacm/include/rdma/rdma_verbs.h
rename to librdmacm/rdma_verbs.h
diff --git a/librdmacm/src/rsocket.c b/librdmacm/rsocket.c
similarity index 100%
rename from librdmacm/src/rsocket.c
rename to librdmacm/rsocket.c
diff --git a/librdmacm/include/rdma/rsocket.h b/librdmacm/rsocket.h
similarity index 100%
rename from librdmacm/include/rdma/rsocket.h
rename to librdmacm/rsocket.h
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH rdma-core 15/17] Combined RPM Spec file
From: Jason Gunthorpe @ 2016-10-06 20:51 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1475787103-13283-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

This is just a temporary starting point, a single package.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 Documentation/versioning.md |  10 ++++
 rdma-core.spec              | 123 ++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 133 insertions(+)
 create mode 100644 rdma-core.spec

diff --git a/Documentation/versioning.md b/Documentation/versioning.md
index 0cc542aa6b79..a7c9a7bdcfc2 100644
--- a/Documentation/versioning.md
+++ b/Documentation/versioning.md
@@ -29,6 +29,16 @@ index 389feee1e0f9..63854fe8f07f 100644
  
  #-------------------------
  # Basic standard paths
+diff --git a/rdma-core.spec b/rdma-core.spec
+index d1407ee9e24b..fca79ccf57e5 100644
+--- a/rdma-core.spec
++++ b/rdma-core.spec
+@@ -1,5 +1,5 @@
+ Name: rdma-core
+-Version: 11
++Version: 12
+ Release: 1%{?dist}
+ Summary: Userspace components for the Linux Kernel\'s drivers/infiniband stack
 ```
 
 # Shared Library Versions
diff --git a/rdma-core.spec b/rdma-core.spec
new file mode 100644
index 000000000000..96c86fe06f3a
--- /dev/null
+++ b/rdma-core.spec
@@ -0,0 +1,123 @@
+Name: rdma-core
+Version: 11
+Release: 1%{?dist}
+Summary: RDMA core userspace libraries and daemons
+
+# Almost everything is licensed under the OFA dual GPLv2, 2 Clause BSD license
+#  providers/ipathverbs/ Dual licensed using a BSD license with an extra patent clause
+#  providers/rxe/ Incorporates code from ipathverbs and contains the patent clause
+#  providers/hfi1verbs Uses the 3 Clause BSD license
+License: (GPLv2 or BSD) and (GPLv2 or PathScale-BSD)
+Url: http://openfabrics.org/
+Source: rdma-core-%{version}.tgz
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+
+BuildRequires: binutils
+BuildRequires: cmake >= 2.8.11
+BuildRequires: gcc
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libnl-3.0)
+BuildRequires: pkgconfig(libnl-route-3.0)
+BuildRequires: valgrind-devel
+
+# Since we recommend developers use Ninja, so should packagers, for consistency.
+%define CMAKE_FLAGS %{nil}
+%if 0%{?suse_version}
+# SuSE releases have it, and sometime around cmake 3.3.2-1.2 the macros learned to use it.
+BuildRequires: ninja,make
+%define __builder ninja
+# cmake_install,make_jobs is specified by opensuse
+
+# Tumbleweed's cmake RPM macro adds -Wl,--no-undefined to the module flags
+# which is totally inappropriate and breaks building 'ENABLE_EXPORTS' style
+# module libraries (eg ibacmp).
+%define CMAKE_FLAGS -DCMAKE_MODULE_LINKER_FLAGS=""
+%else
+%if 0%{?fedora} >= 23
+# Ninja was introduced in FC23
+BuildRequires: ninja-build
+%define CMAKE_FLAGS -GNinja
+%define make_jobs ninja -v %{?_smp_mflags}
+%define cmake_install DESTDIR=%{buildroot} ninja-build install
+%else
+# Fallback to make otherwise
+BuildRequires: make
+%define make_jobs make -v %{?_smp_mflags}
+%define cmake_install DESTDIR=%{buildroot} make install
+%endif
+%endif
+
+%description
+Temporary packaging
+
+This is a simple example without the split sub packages to get things started.
+
+%prep
+%setup
+
+%build
+
+# Detect if systemd is supported on this system
+%if 0%{?_unitdir:1}
+%define my_unitdir %{_unitdir}
+%else
+%define my_unitdir /tmp/
+%endif
+
+# New RPM defines _rundir, usually as /run
+%if 0%{?_rundir:1}
+%else
+%define _rundir /var/run
+%endif
+
+# Pass all of the rpm paths directly to GNUInstallDirs and our other defines.
+%cmake %{CMAKE_FLAGS} \
+         -DCMAKE_BUILD_TYPE=Release \
+         -DCMAKE_INSTALL_BINDIR:PATH=%{_bindir} \
+         -DCMAKE_INSTALL_SBINDIR:PATH=%{_sbindir} \
+         -DCMAKE_INSTALL_LIBDIR:PATH=%{_libdir} \
+         -DCMAKE_INSTALL_LIBEXECDIR:PATH=%{_libexecdir} \
+         -DCMAKE_INSTALL_LOCALSTATEDIR:PATH=%{_localstatedir} \
+         -DCMAKE_INSTALL_SHAREDSTATEDIR:PATH=%{_sharedstatedir} \
+         -DCMAKE_INSTALL_INCLUDEDIR:PATH=%{_includedir} \
+         -DCMAKE_INSTALL_INFODIR:PATH=%{_infodir} \
+         -DCMAKE_INSTALL_MANDIR:PATH=%{_mandir} \
+         -DCMAKE_INSTALL_SYSCONFDIR:PATH=%{_sysconfdir} \
+	 -DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=%{my_unitdir} \
+	 -DCMAKE_INSTALL_INITDDIR:PATH=%{_initrddir} \
+	 -DCMAKE_INSTALL_RUNDIR:PATH=%{_rundir}
+%make_jobs
+
+%install
+%cmake_install
+
+%if 0%{?_unitdir:1}
+rm -rf %{buildroot}/%{_initrddir}/
+%else
+rm -rf %{buildroot}/%{my_unitdir}/
+%endif
+
+%post -p /sbin/ldconfig
+%postun -p /sbin/ldconfig
+
+%files
+%doc %{_mandir}/man*/*
+%{_bindir}/*
+%{_includedir}/*
+%{_libdir}/lib*.so*
+%{_libdir}/libibverbs/*
+%{_libdir}/ibacm/*
+%{_libdir}/rsocket/*
+%{_sbindir}/*
+%{_libexecdir}/*
+%if 0%{?_unitdir:1}
+%{_unitdir}/*
+%else
+%config %{_initrddir}/*
+%endif
+%config %{_sysconfdir}/iwpmd.conf
+%config %{_sysconfdir}/srp_daemon.conf
+%config %{_sysconfdir}/libibverbs.d/*
+%config %{_sysconfdir}/logrotate.d/srp_daemon
+%{_sysconfdir}/modprobe.d/*
+%config %{_sysconfdir}/rsyslog.d/srp_daemon.conf
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH rdma-core 16/17] srp_daemon: Add the debian initscripts as an option
From: Jason Gunthorpe @ 2016-10-06 20:51 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA; +Cc: Bart Van Assche
In-Reply-To: <1475787103-13283-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

Necessary to reproduce the Debian packaging.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 CMakeLists.txt            |  3 ++
 debian/srptools.default   | 14 ++++++++
 debian/srptools.init      | 89 +++++++++++++++++++++++++++++++++++++++++++++++
 srp_daemon/CMakeLists.txt | 29 ++++++++++-----
 4 files changed, 126 insertions(+), 9 deletions(-)
 create mode 100644 debian/srptools.default
 create mode 100644 debian/srptools.init

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 64f9797c980c..b0864da660fc 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -70,6 +70,9 @@ else()
   set(CMAKE_INSTALL_FULL_RUNDIR "${CMAKE_INSTALL_RUNDIR}")
 endif()
 
+set(DISTRO_FLAVOUR "None" CACHE
+  STRING "Flavour of distribution to install for. This primarily impacts the init.d scripts installed.")
+
 #-------------------------
 # Load CMake components
 set(BUILDLIB "${CMAKE_SOURCE_DIR}/buildlib")
diff --git a/debian/srptools.default b/debian/srptools.default
new file mode 100644
index 000000000000..81e84f4a5cba
--- /dev/null
+++ b/debian/srptools.default
@@ -0,0 +1,14 @@
+#How often should srpdeamon  rescan the fabric (seconds)
+RETRIES=60
+
+#Where should srp-deamon log to
+LOG=/var/log/srp_daemon.log
+
+# What ports should srp-deamon be started on.
+# Format is CA:port
+# ALL or NONE will run on all ports on none
+# respectively
+
+PORTS=NONE
+#PORTS=ALL
+#PORTS="mthca0:1 mlx4_0:2"
diff --git a/debian/srptools.init b/debian/srptools.init
new file mode 100644
index 000000000000..2c1a140ccbc3
--- /dev/null
+++ b/debian/srptools.init
@@ -0,0 +1,89 @@
+#!/bin/bash
+### BEGIN INIT INFO
+# Provides:          srptools
+# Required-Start:    $remote_fs $syslog
+# Required-Stop:     $remote_fs $syslog
+# Default-Start:     2 3 4 5
+# Default-Stop:      0 1 6
+# Short-Description: Discovers SRP scsi targets.
+# Description:       Discovers SRP scsi over infiniband targets.
+### END INIT INFO
+
+[ -x /usr/sbin/srp_daemon ] || exit 0
+
+IBDIR=/sys/class/infiniband
+
+PORTS=""
+RETRIES=""
+LOG=""
+
+[ -f /etc/default/srptools ] &&  . /etc/default/srptools
+
+start_daemon () {
+
+if [ "$PORTS" = "NONE" ] ; then
+echo "srptools disabled."
+exit 0
+fi
+
+
+if [ "$PORTS" = "ALL" ]  ; then
+    for HCA_ID in `/bin/ls -1 ${IBDIR}`
+      do
+      for PORT in `/bin/ls -1 ${IBDIR}/${HCA_ID}/ports/`
+        do
+        run_daemon
+      done
+    done
+fi
+
+
+for ADAPTER in $PORTS ; do
+    HCA_ID=`echo $ADAPTER | awk -F: '{print $1}'`
+    PORT=`echo $ADAPTER | awk -F:  '{print $2}'`
+    run_daemon
+done
+}
+
+
+run_daemon() {
+# SRP deamon wedges if we start it on a port which is not up
+
+        STATUS=`/usr/sbin/ibstat $HCA_ID $PORT | grep "State:"`
+
+        if [ "$STATUS" = "State: Active" ] ; then
+            echo "Starting srp on $HCA_ID $PORT"
+
+# srp does not background itself; using the start-stop-daemon background function
+# causes us to lose stdout, which is where it logs to
+            nohup start-stop-daemon --start --quiet -m --pidfile /var/run/srp_daemon.${HCA_ID}.${PORT} \
+            --exec  /usr/sbin/srp_daemon -- -e -c -n -i ${HCA_ID} -p ${PORT} -R ${RETRIES}   >> $LOG 2>&1 &
+            RETVAL=$?
+        fi
+}
+
+stop_daemon () {
+     for HCA_ID in `/bin/ls -1 ${IBDIR}`
+      do
+      for PORT in `/bin/ls -1 ${IBDIR}/${HCA_ID}/ports/`
+        do
+        start-stop-daemon --stop --quiet --oknodo -m --pidfile /var/run/srp_daemon.${HCA_ID}.${PORT}
+        RETVAL=$?
+      done
+    done
+}
+
+
+case "$1" in
+
+start)
+start_daemon
+;;
+stop)
+stop_daemon
+;;
+restart | reload | force-reload )
+stop_daemon
+start_daemon
+;;
+esac
diff --git a/srp_daemon/CMakeLists.txt b/srp_daemon/CMakeLists.txt
index 48497bcd6009..f2752a8e6e15 100644
--- a/srp_daemon/CMakeLists.txt
+++ b/srp_daemon/CMakeLists.txt
@@ -28,12 +28,23 @@ install(FILES logrotate-srp_daemon DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}/logr
 install(FILES rsyslog-srp_daemon.conf DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}/rsyslog.d" RENAME "srp_daemon.conf")
 install(FILES srp_daemon.conf DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}")
 
-# FIXME: The ib init.d file should really be included in rdma-core as well.
-set(RDMA_SERVICE "openibd" CACHE STRING "init.d file service name to order srpd after")
-# NOTE: These defaults are for CentOS, packagers should override.
-set(SRP_DEFAULT_START "2 3 4 5" CACHE STRING "Default-Start service data for srpd")
-set(SRP_DEFAULT_STOP "0 1 6" CACHE STRING "Default-Stop service data for srpd")
-configure_file(srpd.in "${CMAKE_CURRENT_BINARY_DIR}/srpd")
-install(FILES "${CMAKE_CURRENT_BINARY_DIR}/srpd"
-  DESTINATION "${CMAKE_INSTALL_INITDDIR}"
-  PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE)
+if ("${DISTRO_FLAVOUR}" STREQUAL "Debian")
+  # Debian version of the initscript system
+  install(FILES "../debian/srptools.init"
+    DESTINATION "${CMAKE_INSTALL_INITDDIR}"
+    RENAME "srptools"
+    PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE)
+  install(FILES "../debian/srptools.default"
+    DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}/default/"
+    RENAME "srptools")
+else()
+  # FIXME: The ib init.d file should really be included in rdma-core as well.
+  set(RDMA_SERVICE "openibd" CACHE STRING "init.d file service name to order srpd after")
+  # NOTE: These defaults are for CentOS, packagers should override.
+  set(SRP_DEFAULT_START "2 3 4 5" CACHE STRING "Default-Start service data for srpd")
+  set(SRP_DEFAULT_STOP "0 1 6" CACHE STRING "Default-Stop service data for srpd")
+  configure_file(srpd.in "${CMAKE_CURRENT_BINARY_DIR}/srpd")
+  install(FILES "${CMAKE_CURRENT_BINARY_DIR}/srpd"
+    DESTINATION "${CMAKE_INSTALL_INITDDIR}"
+    PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE)
+endif()
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* [PATCH rdma-core 17/17] Debian Packaging
From: Jason Gunthorpe @ 2016-10-06 20:51 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1475787103-13283-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

This is based on the packaging used in Debian Unstable and attempts
to largely duplicate that output. The significant difference is
the ibverbs-providers package that incorporates all the providers.

Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 Documentation/versioning.md      |  10 ++
 buildlib/ninja-wrapper           |  16 +++
 debian/changelog                 |   5 +
 debian/compat                    |   1 +
 debian/control                   | 299 +++++++++++++++++++++++++++++++++++++++
 debian/ibacm.install             |  10 ++
 debian/ibverbs-providers.install |   7 +
 debian/ibverbs-utils.install     |  16 +++
 debian/iwpmd.install             |   7 +
 debian/libibcm-dev.install       |   3 +
 debian/libibcm1.install          |   1 +
 debian/libibcm1.symbols          |  23 +++
 debian/libibumad-dev.install     |   3 +
 debian/libibumad3.install        |   2 +
 debian/libibumad3.symbols        |  38 +++++
 debian/libibverbs-dev.install    |  12 ++
 debian/libibverbs1.install       |   1 +
 debian/libibverbs1.postinst      |  10 ++
 debian/libibverbs1.symbols       | 134 ++++++++++++++++++
 debian/librdmacm-dev.install     |  57 ++++++++
 debian/librdmacm1.install        |   2 +
 debian/librdmacm1.symbols        |  64 +++++++++
 debian/rdmacm-utils.install      |  24 ++++
 debian/rules                     |  99 +++++++++++++
 debian/srptools.install          |   8 ++
 25 files changed, 852 insertions(+)
 create mode 100644 buildlib/ninja-wrapper
 create mode 100644 debian/changelog
 create mode 100644 debian/compat
 create mode 100644 debian/control
 create mode 100644 debian/ibacm.install
 create mode 100644 debian/ibverbs-providers.install
 create mode 100644 debian/ibverbs-utils.install
 create mode 100644 debian/iwpmd.install
 create mode 100644 debian/libibcm-dev.install
 create mode 100644 debian/libibcm1.install
 create mode 100644 debian/libibcm1.symbols
 create mode 100644 debian/libibumad-dev.install
 create mode 100644 debian/libibumad3.install
 create mode 100644 debian/libibumad3.symbols
 create mode 100644 debian/libibverbs-dev.install
 create mode 100644 debian/libibverbs1.install
 create mode 100644 debian/libibverbs1.postinst
 create mode 100644 debian/libibverbs1.symbols
 create mode 100644 debian/librdmacm-dev.install
 create mode 100644 debian/librdmacm1.install
 create mode 100644 debian/librdmacm1.symbols
 create mode 100644 debian/rdmacm-utils.install
 create mode 100755 debian/rules
 create mode 100644 debian/srptools.install

diff --git a/Documentation/versioning.md b/Documentation/versioning.md
index a7c9a7bdcfc2..b887b26e7b58 100644
--- a/Documentation/versioning.md
+++ b/Documentation/versioning.md
@@ -39,6 +39,16 @@ index d1407ee9e24b..fca79ccf57e5 100644
 +Version: 12
  Release: 1%{?dist}
  Summary: Userspace components for the Linux Kernel\'s drivers/infiniband stack
+diff --git a/debian/changelog b/debian/changelog
+index 0e6cba0be464..a12ac6b60028 100644
+--- a/debian/changelog
++++ b/debian/changelog
+@@ -1,4 +1,4 @@
+-rdma-core (11-1) unstable; urgency=low
++rdma-core (12-1) unstable; urgency=low
+ 
+   * New version
+ 
 ```
 
 # Shared Library Versions
diff --git a/buildlib/ninja-wrapper b/buildlib/ninja-wrapper
new file mode 100644
index 000000000000..0759c2b890e6
--- /dev/null
+++ b/buildlib/ninja-wrapper
@@ -0,0 +1,16 @@
+# This is so we can use Ninja as the build engine but still present a Makefile
+# interface to debhelper.
+
+# We want to use Ninja because it is all that is tested regularly and produces
+# usable build output, not an unreadable mess like the cmake version does.
+
+export DESTDIR
+
+all:
+	ninja -v
+
+install:
+	ninja install
+
+clean:
+	ninja clean
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 000000000000..995252d9244c
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+rdma-core (11-1) unstable; urgency=low
+
+  * New version
+
+ -- Jason Gunthorpe <jgg-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>  Mon, 12 Sep 2016 13:44:24 -0600
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 000000000000..ec635144f600
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/control b/debian/control
new file mode 100644
index 000000000000..2335d1f4814d
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,299 @@
+Source: rdma-core
+Maintainer: Linux RDMA Mailing List <linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>
+Section: net
+Priority: extra
+Build-Depends: build-essential,
+	       cmake (>= 2.8.11),
+	       debhelper (>= 9),
+	       dh-systemd,
+	       dpkg-dev (>= 1.17),
+	       gcc,
+	       libnl-3-dev,
+	       libnl-route-3-dev,
+	       make,
+	       ninja,
+	       pkg-config,
+	       valgrind
+Standards-Version: 3.9.8
+Vcs-Git: https://github.com/linux-rdma/rdma-core.git
+Vcs-Browser: https://github.com/linux-rdma/rdma-core
+
+Package: ibacm
+Architecture: any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: InfiniBand Communication Manager Assistant (ACM)
+ The IB ACM implements and provides a framework for name, address, and
+ route (path) resolution services over InfiniBand.
+ It is intended to address connection setup scalability issues running
+ MPI applications on large clusters.  The IB ACM provides information
+ needed to establish a connection, but does not implement the CM protocol.
+ A primary user of the ibacm service is the librdmacm library.
+
+Package: ibverbs-utils
+Section: net
+Architecture: linux-any
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: Examples for the libibverbs library
+ libibverbs is a library that allows userspace processes to use RDMA
+ "verbs" as described in the InfiniBand Architecture Specification and
+ the RDMA Protocol Verbs Specification.  iWARP ethernet NICs support
+ RDMA over hardware-offloaded TCP/IP, while InfiniBand is a
+ high-throughput, low-latency networking technology.  InfiniBand host
+ channel adapters (HCAs) and iWARP NICs commonly support direct
+ hardware access from userspace (kernel bypass), and libibverbs
+ supports this when available.
+ .
+ This package contains useful libibverbs1 example programs such as
+ ibv_devinfo, which displays information about InfiniBand devices.
+
+Package: ibverbs-providers
+Section: net
+Architecture: linux-any
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}
+Provides: libcxgb3-1, libipathverbs1, libmlx4-1, libmlx5-1, libmthca1, libnes1
+Replaces: libcxgb3-1, libipathverbs1, libmlx4-1, libmlx5-1, libmthca1, libnes1
+Breaks: libcxgb3-1, libipathverbs1, libmlx4-1, libmlx5-1, libmthca1, libnes1
+Description: User space provider drivers for libibverbs
+ libibverbs is a library that allows userspace processes to use RDMA
+ "verbs" as described in the InfiniBand Architecture Specification and
+ the RDMA Protocol Verbs Specification.  iWARP ethernet NICs support
+ RDMA over hardware-offloaded TCP/IP, while InfiniBand is a
+ high-throughput, low-latency networking technology.  InfiniBand host
+ channel adapters (HCAs) and iWARP NICs commonly support direct
+ hardware access from userspace (kernel bypass), and libibverbs
+ supports this when available.
+ .
+ A RDMA driver consists of a kernel portion and a user space portion.
+ This package contains the user space verbs drivers.
+
+Package: libibcm1
+Architecture: linux-any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: InfiniBand Communication Manager (CM) library
+ libibcm provides a userspace implementation of an InfiniBand
+ Communication Manager (CM). The CM handles both connection
+ establishment as well as service ID resolution.
+ .
+ This package contains the shared library.
+
+Package: libibcm1-dbg
+Section: debug
+Architecture: linux-any
+Depends: ${misc:Depends}
+Description: InfiniBand Communication Manager (CM) library
+ libibcm provides a userspace implementation of an InfiniBand
+ Communication Manager (CM). The CM handles both connection
+ establishment as well as service ID resolution.
+ .
+ This package contains the debugging symbols associated with
+ libibcm1. They will automatically be used by gdb for debugging
+ libibcm-related issues.
+
+Package: libibcm-dev
+Section: libdevel
+Architecture: linux-any
+Depends: libibcm1 (= ${binary:Version}), ${misc:Depends}
+Description: Development files for the libibcm library
+ libibcm provides a userspace implementation of an InfiniBand
+ Communication Manager (CM). The CM handles both connection
+ establishment as well as service ID resolution.
+ .
+ This package is needed to compile programs against libibcm1.
+ It contains the header files and static libraries (optionally)
+ needed for compiling.
+
+Package: libibumad3
+Architecture: linux-any
+Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: InfiniBand Userspace Management Datagram (uMAD) library
+ libibumad provides userspace Infiniband Management Datagram (uMAD)
+ functions which sit on top of the uMAD modules in the kernel.
+ These are used by InfiniBand diagnostic and management tools.
+ .
+ This package contains the shared library.
+
+Package: libibumad3-dbg
+Section: debug
+Architecture: linux-any
+Depends: ${misc:Depends}
+Description: InfiniBand Userspace Management Datagram (uMAD) library
+ libibumad provides userspace Infiniband Management Datagram (uMAD)
+ functions which sit on top of the uMAD modules in the kernel.
+ These are used by InfiniBand diagnostic and management tools.
+ .
+ This package contains the debugging symbols associated with
+ libibumad3. They will automatically be used by gdb for debugging
+ libibumad-related issues.
+
+Package: libibumad-dev
+Section: libdevel
+Architecture: linux-any
+Depends: libibumad3 (= ${binary:Version}), ${misc:Depends}
+Description: Development files for libibumad
+ libibumad provides userspace Infiniband Management Datagram (uMAD)
+ functions which sit on top of the uMAD modules in the kernel.
+ These are used by InfiniBand diagnostic and management tools.
+ .
+ This package is needed to compile programs against libibumad.
+ It contains the header files and static libraries (optionally)
+ needed for compiling.
+
+Package: libibverbs1
+Architecture: linux-any
+Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${shlibs:Depends}, ${misc:Depends}, adduser
+Recommends: ibverbs-providers
+Description: Library for direct userspace use of RDMA (InfiniBand/iWARP)
+ libibverbs is a library that allows userspace processes to use RDMA
+ "verbs" as described in the InfiniBand Architecture Specification and
+ the RDMA Protocol Verbs Specification.  iWARP ethernet NICs support
+ RDMA over hardware-offloaded TCP/IP, while InfiniBand is a
+ high-throughput, low-latency networking technology.  InfiniBand host
+ channel adapters (HCAs) and iWARP NICs commonly support direct
+ hardware access from userspace (kernel bypass), and libibverbs
+ supports this when available.
+ .
+ For this library to be useful, a device-specific plug-in module
+ should also be installed.
+ .
+ This package contains the shared library.
+
+Package: libibverbs1-dbg
+Section: debug
+Architecture: linux-any
+Depends: ${misc:Depends}, libibverbs1 (= ${binary:Version})
+Description: Debugging symbols for the libibverbs library
+ libibverbs is a library that allows userspace processes to use RDMA
+ "verbs" as described in the InfiniBand Architecture Specification and
+ the RDMA Protocol Verbs Specification.  iWARP ethernet NICs support
+ RDMA over hardware-offloaded TCP/IP, while InfiniBand is a
+ high-throughput, low-latency networking technology.  InfiniBand host
+ channel adapters (HCAs) and iWARP NICs commonly support direct
+ hardware access from userspace (kernel bypass), and libibverbs
+ supports this when available.
+ .
+ This package contains the debugging symbols associated with
+ libibverbs1. They will automatically be used by gdb for debugging
+ libibverbs-related issues.
+
+Package: libibverbs-dev
+Section: libdevel
+Architecture: linux-any
+Depends: ${misc:Depends}, libibverbs1 (= ${binary:Version})
+Description: Development files for the libibverbs library
+ libibverbs is a library that allows userspace processes to use RDMA
+ "verbs" as described in the InfiniBand Architecture Specification and
+ the RDMA Protocol Verbs Specification.  iWARP ethernet NICs support
+ RDMA over hardware-offloaded TCP/IP, while InfiniBand is a
+ high-throughput, low-latency networking technology.  InfiniBand host
+ channel adapters (HCAs) and iWARP NICs commonly support direct
+ hardware access from userspace (kernel bypass), and libibverbs
+ supports this when available.
+ .
+ This package is needed to compile programs against libibverbs1.
+ It contains the header files and static libraries (optionally)
+ needed for compiling.
+
+Package: librdmacm1
+Architecture: linux-any
+Section: libs
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: Library for managing RDMA connections
+ librdmacm is a library that allows applications to set up reliable
+ connected and unreliable datagram transfers when using RDMA adapters.
+ It provides a transport-neutral interface in the sense that the same
+ code can be used for both InfiniBand and iWARP adapters.  The
+ interface is based on sockets, but adapted for queue pair (QP) based
+ semantics: communication must use a specific RDMA device, and data
+ transfers are message-based.
+ .
+ librdmacm only provides communication management (connection setup
+ and tear-down) and works in conjunction with the verbs interface
+ provided by libibverbs, which provides the interface used to actually
+ transfer data.
+ .
+ This package contains the shared library.
+
+Package: librdmacm1-dbg
+Section: debug
+Architecture: linux-any
+Depends: librdmacm1 (= ${binary:Version}), ${misc:Depends}
+Description: Debugging symbols for the librdmacm library
+ librdmacm is a library that allows applications to set up reliable
+ connected and unreliable datagram transfers when using RDMA adapters.
+ It provides a transport-neutral interface in the sense that the same
+ code can be used for both InfiniBand and iWARP adapters.  The
+ interface is based on sockets, but adapted for queue pair (QP) based
+ semantics: communication must use a specific RDMA device, and data
+ transfers are message-based.
+ .
+ librdmacm only provides communication management (connection setup
+ and tear-down) and works in conjunction with the verbs interface
+ provided by libibverbs, which provides the interface used to actually
+ transfer data.
+ .
+ This package contains the debugging symbols associated with
+ librdmacm1. They will automatically be used by gdb for debugging
+ librdmacm-related issues.
+
+Package: librdmacm-dev
+Section: libdevel
+Architecture: linux-any
+Depends: libibverbs-dev, librdmacm1 (= ${binary:Version}), ${misc:Depends}
+Description: Development files for the librdmacm library
+ librdmacm is a library that allows applications to set up reliable
+ connected and unreliable datagram transfers when using RDMA adapters.
+ It provides a transport-neutral interface in the sense that the same
+ code can be used for both InfiniBand and iWARP adapters.  The
+ interface is based on sockets, but adapted for queue pair (QP) based
+ semantics: communication must use a specific RDMA device, and data
+ transfers are message-based.
+ .
+ librdmacm only provides communication management (connection setup
+ and tear-down) and works in conjunction with the verbs interface
+ provided by libibverbs, which provides the interface used to actually
+ transfer data.
+ .
+ This package is needed to compile programs against librdmacm1.
+ It contains the header files and static libraries (optionally)
+ needed for compiling.
+
+Package: rdmacm-utils
+Section: net
+Architecture: linux-any
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Description: Examples for the librdmacm library
+ librdmacm is a library that allows applications to set up reliable
+ connected and unreliable datagram transfers when using RDMA adapters.
+ It provides a transport-neutral interface in the sense that the same
+ code can be used for both InfiniBand and iWARP adapters.  The
+ interface is based on sockets, but adapted for queue pair (QP) based
+ semantics: communication must use a specific RDMA device, and data
+ transfers are message-based.
+ .
+ librdmacm only provides communication management (connection setup
+ and tear-down) and works in conjunction with the verbs interface
+ provided by libibverbs, which provides the interface used to actually
+ transfer data.
+ .
+ This package contains useful librdmacm1 example programs such as
+ rping and udaddy.
+
+Package: srptools
+Architecture: linux-any
+Depends: ${shlibs:Depends}, ${misc:Depends}, infiniband-diags
+Description: Tools for Infiniband attached storage (SRP)
+ In conjunction with the kernel ib_srp driver, srptools allows you to
+ discover and use Infiniband attached storage devices which use the
+ SCSI RDMA Protocol (SRP).
+
+Package: iwpmd
+Architecture: linux-any
+Depends: ${shlibs:Depends}, ${misc:Depends}, infiniband-diags
+Description:Userspace component for iWarp RDMA services
+ iwpmd provides a userspace service for iWarp drivers to claim
+ tcp ports through the standard socket interface.
diff --git a/debian/ibacm.install b/debian/ibacm.install
new file mode 100644
index 000000000000..2bb9591c051d
--- /dev/null
+++ b/debian/ibacm.install
@@ -0,0 +1,10 @@
+etc/init.d/ibacm
+usr/bin/ib_acme
+usr/sbin/ibacm
+usr/include/infiniband/acm.h
+usr/include/infiniband/acm_prov.h
+usr/lib/x86_64-linux-gnu/ibacm/libibacmp.so
+usr/share/man/man1/ib_acme.1
+usr/share/man/man1/ibacm.1
+usr/share/man/man7/ibacm.7
+usr/share/man/man7/ibacm_prov.7
diff --git a/debian/ibverbs-providers.install b/debian/ibverbs-providers.install
new file mode 100644
index 000000000000..1b4121874b2c
--- /dev/null
+++ b/debian/ibverbs-providers.install
@@ -0,0 +1,7 @@
+usr/lib/*/libibverbs/lib*-rdmav2.so
+etc/libibverbs.d/
+etc/modprobe.d/truescale.conf
+usr/lib/truescale-serdes.cmds
+usr/share/man/man8/rxe_cfg.8
+usr/share/man/man7/rxe.7
+usr/bin/rxe_cfg
diff --git a/debian/ibverbs-utils.install b/debian/ibverbs-utils.install
new file mode 100644
index 000000000000..170b8d268437
--- /dev/null
+++ b/debian/ibverbs-utils.install
@@ -0,0 +1,16 @@
+usr/bin/ibv_asyncwatch
+usr/bin/ibv_devices
+usr/bin/ibv_devinfo
+usr/bin/ibv_rc_pingpong
+usr/bin/ibv_srq_pingpong
+usr/bin/ibv_uc_pingpong
+usr/bin/ibv_ud_pingpong
+usr/bin/ibv_xsrq_pingpong
+usr/share/man/man1/ibv_asyncwatch.1
+usr/share/man/man1/ibv_devices.1
+usr/share/man/man1/ibv_devinfo.1
+usr/share/man/man1/ibv_rc_pingpong.1
+usr/share/man/man1/ibv_srq_pingpong.1
+usr/share/man/man1/ibv_uc_pingpong.1
+usr/share/man/man1/ibv_ud_pingpong.1
+usr/share/man/man1/ibv_xsrq_pingpong.1
diff --git a/debian/iwpmd.install b/debian/iwpmd.install
new file mode 100644
index 000000000000..c80b1c9c4857
--- /dev/null
+++ b/debian/iwpmd.install
@@ -0,0 +1,7 @@
+etc/init.d/ibacm
+etc/init.d/iwpmd
+etc/iwpmd.conf
+lib/systemd/system/iwpmd.service
+usr/bin/iwpmd
+usr/share/man/man1/iwpmd.1
+usr/share/man/man5/iwpmd.conf.5
diff --git a/debian/libibcm-dev.install b/debian/libibcm-dev.install
new file mode 100644
index 000000000000..ee1bd14cf57f
--- /dev/null
+++ b/debian/libibcm-dev.install
@@ -0,0 +1,3 @@
+usr/lib/*/libibcm*.so
+usr/include/infiniband/cm.h
+usr/include/infiniband/cm_abi.h
diff --git a/debian/libibcm1.install b/debian/libibcm1.install
new file mode 100644
index 000000000000..6f270b7f3bfa
--- /dev/null
+++ b/debian/libibcm1.install
@@ -0,0 +1 @@
+usr/lib/*/libibcm*.so.*
diff --git a/debian/libibcm1.symbols b/debian/libibcm1.symbols
new file mode 100644
index 000000000000..1ce04b06096c
--- /dev/null
+++ b/debian/libibcm1.symbols
@@ -0,0 +1,23 @@
+libibcm.so.1 libibcm1 #MINVER#
+ IBCM_1.0@IBCM_1.0 1.0.11
+ ib_cm_ack_event@IBCM_1.0 1.0.11
+ ib_cm_attr_id@IBCM_1.0 1.0.11
+ ib_cm_close_device@IBCM_1.0 1.0.11
+ ib_cm_create_id@IBCM_1.0 1.0.11
+ ib_cm_destroy_id@IBCM_1.0 1.0.11
+ ib_cm_get_event@IBCM_1.0 1.0.11
+ ib_cm_init_qp_attr@IBCM_1.0 1.0.11
+ ib_cm_listen@IBCM_1.0 1.0.11
+ ib_cm_notify@IBCM_1.0 1.0.11
+ ib_cm_open_device@IBCM_1.0 1.0.11
+ ib_cm_send_apr@IBCM_1.0 1.0.11
+ ib_cm_send_drep@IBCM_1.0 1.0.11
+ ib_cm_send_dreq@IBCM_1.0 1.0.11
+ ib_cm_send_lap@IBCM_1.0 1.0.11
+ ib_cm_send_mra@IBCM_1.0 1.0.11
+ ib_cm_send_rej@IBCM_1.0 1.0.11
+ ib_cm_send_rep@IBCM_1.0 1.0.11
+ ib_cm_send_req@IBCM_1.0 1.0.11
+ ib_cm_send_rtu@IBCM_1.0 1.0.11
+ ib_cm_send_sidr_rep@IBCM_1.0 1.0.11
+ ib_cm_send_sidr_req@IBCM_1.0 1.0.11
diff --git a/debian/libibumad-dev.install b/debian/libibumad-dev.install
new file mode 100644
index 000000000000..a05a65c993ee
--- /dev/null
+++ b/debian/libibumad-dev.install
@@ -0,0 +1,3 @@
+usr/lib/*/libibumad*.so
+usr/include/infiniband/umad*.h
+usr/share/man/man3/umad_*
diff --git a/debian/libibumad3.install b/debian/libibumad3.install
new file mode 100644
index 000000000000..94f2e44d38ac
--- /dev/null
+++ b/debian/libibumad3.install
@@ -0,0 +1,2 @@
+usr/lib/*/libibumad*.so.*
+
diff --git a/debian/libibumad3.symbols b/debian/libibumad3.symbols
new file mode 100644
index 000000000000..267ded36857f
--- /dev/null
+++ b/debian/libibumad3.symbols
@@ -0,0 +1,38 @@
+libibumad.so.3 libibumad3 #MINVER#
+ IBUMAD_1.0@IBUMAD_1.0 1.3.9
+ umad_addr_dump@IBUMAD_1.0 1.3.9
+ umad_attribute_str@IBUMAD_1.0 1.3.10.2
+ umad_class_str@IBUMAD_1.0 1.3.10.2
+ umad_close_port@IBUMAD_1.0 1.3.9
+ umad_common_mad_status_str@IBUMAD_1.0 1.3.10.2
+ umad_debug@IBUMAD_1.0 1.3.9
+ umad_done@IBUMAD_1.0 1.3.9
+ umad_dump@IBUMAD_1.0 1.3.9
+ umad_get_ca@IBUMAD_1.0 1.3.9
+ umad_get_ca_portguids@IBUMAD_1.0 1.3.9
+ umad_get_cas_names@IBUMAD_1.0 1.3.9
+ umad_get_fd@IBUMAD_1.0 1.3.9
+ umad_get_issm_path@IBUMAD_1.0 1.3.9
+ umad_get_mad@IBUMAD_1.0 1.3.9
+ umad_get_mad_addr@IBUMAD_1.0 1.3.9
+ umad_get_pkey@IBUMAD_1.0 1.3.9
+ umad_get_port@IBUMAD_1.0 1.3.9
+ umad_init@IBUMAD_1.0 1.3.9
+ umad_method_str@IBUMAD_1.0 1.3.10.2
+ umad_open_port@IBUMAD_1.0 1.3.9
+ umad_poll@IBUMAD_1.0 1.3.9
+ umad_recv@IBUMAD_1.0 1.3.9
+ umad_register2@IBUMAD_1.0 1.3.10.2
+ umad_register@IBUMAD_1.0 1.3.9
+ umad_register_oui@IBUMAD_1.0 1.3.9
+ umad_release_ca@IBUMAD_1.0 1.3.9
+ umad_release_port@IBUMAD_1.0 1.3.9
+ umad_sa_mad_status_str@IBUMAD_1.0 1.3.10.2
+ umad_send@IBUMAD_1.0 1.3.9
+ umad_set_addr@IBUMAD_1.0 1.3.9
+ umad_set_addr_net@IBUMAD_1.0 1.3.9
+ umad_set_grh@IBUMAD_1.0 1.3.9
+ umad_set_pkey@IBUMAD_1.0 1.3.9
+ umad_size@IBUMAD_1.0 1.3.9
+ umad_status@IBUMAD_1.0 1.3.9
+ umad_unregister@IBUMAD_1.0 1.3.9
diff --git a/debian/libibverbs-dev.install b/debian/libibverbs-dev.install
new file mode 100644
index 000000000000..2dbac6fe5887
--- /dev/null
+++ b/debian/libibverbs-dev.install
@@ -0,0 +1,12 @@
+usr/lib/*/libibverbs*.so
+usr/share/man/man3/ibv_*
+usr/include/infiniband/arch.h
+usr/include/infiniband/driver.h
+usr/include/infiniband/kern-abi.h
+usr/include/infiniband/marshall.h
+usr/include/infiniband/opcode.h
+usr/include/infiniband/sa.h
+usr/include/infiniband/sa-kern-abi.h
+usr/include/infiniband/verbs.h
+usr/share/man/man3/mbps_to_ibv_rate.3
+usr/share/man/man3/mult_to_ibv_rate.3
diff --git a/debian/libibverbs1.install b/debian/libibverbs1.install
new file mode 100644
index 000000000000..78a7f76d39c3
--- /dev/null
+++ b/debian/libibverbs1.install
@@ -0,0 +1 @@
+usr/lib/*/libibverbs*.so.*
diff --git a/debian/libibverbs1.postinst b/debian/libibverbs1.postinst
new file mode 100644
index 000000000000..784458a6e0b5
--- /dev/null
+++ b/debian/libibverbs1.postinst
@@ -0,0 +1,10 @@
+#!/bin/sh
+# postinst script for libibverbs1
+
+set -e
+
+if [ "$1" = configure ]; then
+    getent group rdma > /dev/null 2>&1 || addgroup --system --quiet rdma
+fi
+
+#DEBHELPER#
diff --git a/debian/libibverbs1.symbols b/debian/libibverbs1.symbols
new file mode 100644
index 000000000000..b9c12f6b87ee
--- /dev/null
+++ b/debian/libibverbs1.symbols
@@ -0,0 +1,134 @@
+libibverbs.so.1 libibverbs1 #MINVER#
+ IBVERBS_1.0@IBVERBS_1.0 1.1.6
+ IBVERBS_1.1@IBVERBS_1.1 1.1.6
+ ibv_ack_async_event@IBVERBS_1.0 1.1.6
+ ibv_ack_async_event@IBVERBS_1.1 1.1.6
+ ibv_ack_cq_events@IBVERBS_1.0 1.1.6
+ ibv_ack_cq_events@IBVERBS_1.1 1.1.6
+ ibv_alloc_pd@IBVERBS_1.0 1.1.6
+ ibv_alloc_pd@IBVERBS_1.1 1.1.6
+ ibv_attach_mcast@IBVERBS_1.0 1.1.6
+ ibv_attach_mcast@IBVERBS_1.1 1.1.6
+ ibv_close_device@IBVERBS_1.0 1.1.6
+ ibv_close_device@IBVERBS_1.1 1.1.6
+ ibv_cmd_alloc_mw@IBVERBS_1.1 1.2.1
+ ibv_cmd_alloc_pd@IBVERBS_1.0 1.1.6
+ ibv_cmd_attach_mcast@IBVERBS_1.0 1.1.6
+ ibv_cmd_close_xrcd@IBVERBS_1.1 1.1.8
+ ibv_cmd_create_ah@IBVERBS_1.0 1.1.6
+ ibv_cmd_create_cq@IBVERBS_1.0 1.1.6
+ ibv_cmd_create_cq_ex@IBVERBS_1.0 1.2.1
+ ibv_cmd_create_flow@IBVERBS_1.0 1.1.8
+ ibv_cmd_create_qp@IBVERBS_1.0 1.1.6
+ ibv_cmd_create_qp_ex2@IBVERBS_1.1 1.2.1
+ ibv_cmd_create_qp_ex@IBVERBS_1.1 1.1.8
+ ibv_cmd_create_srq@IBVERBS_1.0 1.1.6
+ ibv_cmd_create_srq_ex@IBVERBS_1.1 1.1.8
+ ibv_cmd_dealloc_mw@IBVERBS_1.1 1.2.1
+ ibv_cmd_dealloc_pd@IBVERBS_1.0 1.1.6
+ ibv_cmd_dereg_mr@IBVERBS_1.0 1.1.6
+ ibv_cmd_destroy_ah@IBVERBS_1.0 1.1.6
+ ibv_cmd_destroy_cq@IBVERBS_1.0 1.1.6
+ ibv_cmd_destroy_flow@IBVERBS_1.0 1.1.8
+ ibv_cmd_destroy_qp@IBVERBS_1.0 1.1.6
+ ibv_cmd_destroy_srq@IBVERBS_1.0 1.1.6
+ ibv_cmd_detach_mcast@IBVERBS_1.0 1.1.6
+ ibv_cmd_get_context@IBVERBS_1.0 1.1.6
+ ibv_cmd_modify_qp@IBVERBS_1.0 1.1.6
+ ibv_cmd_modify_srq@IBVERBS_1.0 1.1.6
+ ibv_cmd_open_qp@IBVERBS_1.1 1.1.8
+ ibv_cmd_open_xrcd@IBVERBS_1.1 1.1.8
+ ibv_cmd_poll_cq@IBVERBS_1.0 1.1.6
+ ibv_cmd_post_recv@IBVERBS_1.0 1.1.6
+ ibv_cmd_post_send@IBVERBS_1.0 1.1.6
+ ibv_cmd_post_srq_recv@IBVERBS_1.0 1.1.6
+ ibv_cmd_query_device@IBVERBS_1.0 1.1.6
+ ibv_cmd_query_device_ex@IBVERBS_1.0 1.2.0
+ ibv_cmd_query_port@IBVERBS_1.0 1.1.6
+ ibv_cmd_query_qp@IBVERBS_1.0 1.1.6
+ ibv_cmd_query_srq@IBVERBS_1.0 1.1.6
+ ibv_cmd_reg_mr@IBVERBS_1.0 1.1.6
+ ibv_cmd_req_notify_cq@IBVERBS_1.0 1.1.6
+ ibv_cmd_rereg_mr@IBVERBS_1.1 1.2.1
+ ibv_cmd_resize_cq@IBVERBS_1.0 1.1.6
+ ibv_copy_ah_attr_from_kern@IBVERBS_1.1 1.1.6
+ ibv_copy_path_rec_from_kern@IBVERBS_1.0 1.1.6
+ ibv_copy_path_rec_to_kern@IBVERBS_1.0 1.1.6
+ ibv_copy_qp_attr_from_kern@IBVERBS_1.0 1.1.6
+ ibv_create_ah@IBVERBS_1.0 1.1.6
+ ibv_create_ah@IBVERBS_1.1 1.1.6
+ ibv_create_ah_from_wc@IBVERBS_1.1 1.1.6
+ ibv_create_comp_channel@IBVERBS_1.0 1.1.6
+ ibv_create_cq@IBVERBS_1.0 1.1.6
+ ibv_create_cq@IBVERBS_1.1 1.1.6
+ ibv_create_qp@IBVERBS_1.0 1.1.6
+ ibv_create_qp@IBVERBS_1.1 1.1.6
+ ibv_create_srq@IBVERBS_1.0 1.1.6
+ ibv_create_srq@IBVERBS_1.1 1.1.6
+ ibv_dealloc_pd@IBVERBS_1.0 1.1.6
+ ibv_dealloc_pd@IBVERBS_1.1 1.1.6
+ ibv_dereg_mr@IBVERBS_1.0 1.1.6
+ ibv_dereg_mr@IBVERBS_1.1 1.1.6
+ ibv_destroy_ah@IBVERBS_1.0 1.1.6
+ ibv_destroy_ah@IBVERBS_1.1 1.1.6
+ ibv_destroy_comp_channel@IBVERBS_1.0 1.1.6
+ ibv_destroy_cq@IBVERBS_1.0 1.1.6
+ ibv_destroy_cq@IBVERBS_1.1 1.1.6
+ ibv_destroy_qp@IBVERBS_1.0 1.1.6
+ ibv_destroy_qp@IBVERBS_1.1 1.1.6
+ ibv_destroy_srq@IBVERBS_1.0 1.1.6
+ ibv_destroy_srq@IBVERBS_1.1 1.1.6
+ ibv_detach_mcast@IBVERBS_1.0 1.1.6
+ ibv_detach_mcast@IBVERBS_1.1 1.1.6
+ ibv_dofork_range@IBVERBS_1.1 1.1.6
+ ibv_dontfork_range@IBVERBS_1.1 1.1.6
+ ibv_event_type_str@IBVERBS_1.1 1.1.6
+ ibv_fork_init@IBVERBS_1.1 1.1.6
+ ibv_free_device_list@IBVERBS_1.0 1.1.6
+ ibv_free_device_list@IBVERBS_1.1 1.1.6
+ ibv_get_async_event@IBVERBS_1.0 1.1.6
+ ibv_get_async_event@IBVERBS_1.1 1.1.6
+ ibv_get_cq_event@IBVERBS_1.0 1.1.6
+ ibv_get_cq_event@IBVERBS_1.1 1.1.6
+ ibv_get_device_guid@IBVERBS_1.0 1.1.6
+ ibv_get_device_guid@IBVERBS_1.1 1.1.6
+ ibv_get_device_list@IBVERBS_1.0 1.1.6
+ ibv_get_device_list@IBVERBS_1.1 1.1.6
+ ibv_get_device_name@IBVERBS_1.0 1.1.6
+ ibv_get_device_name@IBVERBS_1.1 1.1.6
+ ibv_get_sysfs_path@IBVERBS_1.0 1.1.6
+ ibv_init_ah_from_wc@IBVERBS_1.1 1.1.6
+ ibv_modify_qp@IBVERBS_1.0 1.1.6
+ ibv_modify_qp@IBVERBS_1.1 1.1.6
+ ibv_modify_srq@IBVERBS_1.0 1.1.6
+ ibv_modify_srq@IBVERBS_1.1 1.1.6
+ ibv_node_type_str@IBVERBS_1.1 1.1.6
+ ibv_open_device@IBVERBS_1.0 1.1.6
+ ibv_open_device@IBVERBS_1.1 1.1.6
+ ibv_port_state_str@IBVERBS_1.1 1.1.6
+ ibv_query_device@IBVERBS_1.0 1.1.6
+ ibv_query_device@IBVERBS_1.1 1.1.6
+ ibv_query_gid@IBVERBS_1.0 1.1.6
+ ibv_query_gid@IBVERBS_1.1 1.1.6
+ ibv_query_pkey@IBVERBS_1.0 1.1.6
+ ibv_query_pkey@IBVERBS_1.1 1.1.6
+ ibv_query_port@IBVERBS_1.0 1.1.6
+ ibv_query_port@IBVERBS_1.1 1.1.6
+ ibv_query_qp@IBVERBS_1.0 1.1.6
+ ibv_query_qp@IBVERBS_1.1 1.1.6
+ ibv_query_srq@IBVERBS_1.0 1.1.6
+ ibv_query_srq@IBVERBS_1.1 1.1.6
+ ibv_rate_to_mbps@IBVERBS_1.1 1.1.8
+ ibv_rate_to_mult@IBVERBS_1.0 1.1.6
+ ibv_read_sysfs_file@IBVERBS_1.0 1.1.6
+ ibv_reg_mr@IBVERBS_1.0 1.1.6
+ ibv_reg_mr@IBVERBS_1.1 1.1.6
+ ibv_register_driver@IBVERBS_1.1 1.1.6
+ ibv_rereg_mr@IBVERBS_1.1 1.2.1
+ ibv_resize_cq@IBVERBS_1.0 1.1.6
+ ibv_resize_cq@IBVERBS_1.1 1.1.6
+ ibv_resolve_eth_l2_from_gid@IBVERBS_1.1 1.2.0
+ ibv_wc_status_str@IBVERBS_1.1 1.1.6
+ mbps_to_ibv_rate@IBVERBS_1.1 1.1.8
+ mult_to_ibv_rate@IBVERBS_1.0 1.1.6
+ verbs_register_driver@IBVERBS_1.1 1.1.8
diff --git a/debian/librdmacm-dev.install b/debian/librdmacm-dev.install
new file mode 100644
index 000000000000..d42d1da5f652
--- /dev/null
+++ b/debian/librdmacm-dev.install
@@ -0,0 +1,57 @@
+usr/lib/*/librdmacm*.so
+usr/include/rdma/rdma_cma.h
+usr/include/rdma/rdma_cma_abi.h
+usr/include/rdma/rdma_verbs.h
+usr/include/rdma/rsocket.h
+usr/include/infiniband/ib.h
+usr/share/man/man3/rdma_accept.3
+usr/share/man/man3/rdma_ack_cm_event.3
+usr/share/man/man3/rdma_bind_addr.3
+usr/share/man/man3/rdma_connect.3
+usr/share/man/man3/rdma_create_ep.3
+usr/share/man/man3/rdma_create_event_channel.3
+usr/share/man/man3/rdma_create_id.3
+usr/share/man/man3/rdma_create_qp.3
+usr/share/man/man3/rdma_create_srq.3
+usr/share/man/man3/rdma_dereg_mr.3
+usr/share/man/man3/rdma_destroy_ep.3
+usr/share/man/man3/rdma_destroy_event_channel.3
+usr/share/man/man3/rdma_destroy_id.3
+usr/share/man/man3/rdma_destroy_qp.3
+usr/share/man/man3/rdma_destroy_srq.3
+usr/share/man/man3/rdma_disconnect.3
+usr/share/man/man3/rdma_event_str.3
+usr/share/man/man3/rdma_free_devices.3
+usr/share/man/man3/rdma_get_cm_event.3
+usr/share/man/man3/rdma_get_devices.3
+usr/share/man/man3/rdma_get_dst_port.3
+usr/share/man/man3/rdma_get_local_addr.3
+usr/share/man/man3/rdma_get_peer_addr.3
+usr/share/man/man3/rdma_get_recv_comp.3
+usr/share/man/man3/rdma_get_request.3
+usr/share/man/man3/rdma_get_send_comp.3
+usr/share/man/man3/rdma_get_src_port.3
+usr/share/man/man3/rdma_getaddrinfo.3
+usr/share/man/man3/rdma_join_multicast.3
+usr/share/man/man3/rdma_leave_multicast.3
+usr/share/man/man3/rdma_listen.3
+usr/share/man/man3/rdma_migrate_id.3
+usr/share/man/man3/rdma_notify.3
+usr/share/man/man3/rdma_post_read.3
+usr/share/man/man3/rdma_post_readv.3
+usr/share/man/man3/rdma_post_recv.3
+usr/share/man/man3/rdma_post_recvv.3
+usr/share/man/man3/rdma_post_send.3
+usr/share/man/man3/rdma_post_sendv.3
+usr/share/man/man3/rdma_post_ud_send.3
+usr/share/man/man3/rdma_post_write.3
+usr/share/man/man3/rdma_post_writev.3
+usr/share/man/man3/rdma_reg_msgs.3
+usr/share/man/man3/rdma_reg_read.3
+usr/share/man/man3/rdma_reg_write.3
+usr/share/man/man3/rdma_reject.3
+usr/share/man/man3/rdma_resolve_addr.3
+usr/share/man/man3/rdma_resolve_route.3
+usr/share/man/man3/rdma_set_option.3
+usr/share/man/man7/rdma_cm.7
+usr/share/man/man7/rsocket.7
diff --git a/debian/librdmacm1.install b/debian/librdmacm1.install
new file mode 100644
index 000000000000..c17048e6e463
--- /dev/null
+++ b/debian/librdmacm1.install
@@ -0,0 +1,2 @@
+usr/lib/*/librdmacm*.so.*
+usr/lib/*/rsocket/librspreload*.so*
diff --git a/debian/librdmacm1.symbols b/debian/librdmacm1.symbols
new file mode 100644
index 000000000000..7cec5c6b1746
--- /dev/null
+++ b/debian/librdmacm1.symbols
@@ -0,0 +1,64 @@
+librdmacm.so.1 librdmacm1 #MINVER#
+ RDMACM_1.0@RDMACM_1.0 1.0.15
+ raccept@RDMACM_1.0 1.0.16
+ rbind@RDMACM_1.0 1.0.16
+ rclose@RDMACM_1.0 1.0.16
+ rconnect@RDMACM_1.0 1.0.16
+ rdma_accept@RDMACM_1.0 1.0.15
+ rdma_ack_cm_event@RDMACM_1.0 1.0.15
+ rdma_bind_addr@RDMACM_1.0 1.0.15
+ rdma_connect@RDMACM_1.0 1.0.15
+ rdma_create_ep@RDMACM_1.0 1.0.15
+ rdma_create_event_channel@RDMACM_1.0 1.0.15
+ rdma_create_id@RDMACM_1.0 1.0.15
+ rdma_create_qp@RDMACM_1.0 1.0.15
+ rdma_create_qp_ex@RDMACM_1.0 1.0.19
+ rdma_create_srq@RDMACM_1.0 1.0.15
+ rdma_create_srq_ex@RDMACM_1.0 1.0.19
+ rdma_destroy_ep@RDMACM_1.0 1.0.15
+ rdma_destroy_event_channel@RDMACM_1.0 1.0.15
+ rdma_destroy_id@RDMACM_1.0 1.0.15
+ rdma_destroy_qp@RDMACM_1.0 1.0.15
+ rdma_destroy_srq@RDMACM_1.0 1.0.15
+ rdma_disconnect@RDMACM_1.0 1.0.15
+ rdma_event_str@RDMACM_1.0 1.0.15
+ rdma_free_devices@RDMACM_1.0 1.0.15
+ rdma_freeaddrinfo@RDMACM_1.0 1.0.15
+ rdma_get_cm_event@RDMACM_1.0 1.0.15
+ rdma_get_devices@RDMACM_1.0 1.0.15
+ rdma_get_dst_port@RDMACM_1.0 1.0.19
+ rdma_get_request@RDMACM_1.0 1.0.15
+ rdma_get_src_port@RDMACM_1.0 1.0.19
+ rdma_getaddrinfo@RDMACM_1.0 1.0.15
+ rdma_join_multicast@RDMACM_1.0 1.0.15
+ rdma_leave_multicast@RDMACM_1.0 1.0.15
+ rdma_listen@RDMACM_1.0 1.0.15
+ rdma_migrate_id@RDMACM_1.0 1.0.15
+ rdma_notify@RDMACM_1.0 1.0.15
+ rdma_reject@RDMACM_1.0 1.0.15
+ rdma_resolve_addr@RDMACM_1.0 1.0.15
+ rdma_resolve_route@RDMACM_1.0 1.0.15
+ rdma_set_option@RDMACM_1.0 1.0.15
+ rfcntl@RDMACM_1.0 1.0.16
+ rgetpeername@RDMACM_1.0 1.0.16
+ rgetsockname@RDMACM_1.0 1.0.16
+ rgetsockopt@RDMACM_1.0 1.0.16
+ riomap@RDMACM_1.0 1.0.19
+ riounmap@RDMACM_1.0 1.0.19
+ riowrite@RDMACM_1.0 1.0.19
+ rlisten@RDMACM_1.0 1.0.16
+ rpoll@RDMACM_1.0 1.0.16
+ rread@RDMACM_1.0 1.0.16
+ rreadv@RDMACM_1.0 1.0.16
+ rrecv@RDMACM_1.0 1.0.16
+ rrecvfrom@RDMACM_1.0 1.0.16
+ rrecvmsg@RDMACM_1.0 1.0.16
+ rselect@RDMACM_1.0 1.0.16
+ rsend@RDMACM_1.0 1.0.16
+ rsendmsg@RDMACM_1.0 1.0.16
+ rsendto@RDMACM_1.0 1.0.16
+ rsetsockopt@RDMACM_1.0 1.0.16
+ rshutdown@RDMACM_1.0 1.0.16
+ rsocket@RDMACM_1.0 1.0.16
+ rwrite@RDMACM_1.0 1.0.16
+ rwritev@RDMACM_1.0 1.0.16
diff --git a/debian/rdmacm-utils.install b/debian/rdmacm-utils.install
new file mode 100644
index 000000000000..49e63a255b85
--- /dev/null
+++ b/debian/rdmacm-utils.install
@@ -0,0 +1,24 @@
+usr/bin/cmtime
+usr/bin/mckey
+usr/bin/rcopy
+usr/bin/rdma_client
+usr/bin/rdma_server
+usr/bin/rdma_xclient
+usr/bin/rdma_xserver
+usr/bin/riostream
+usr/bin/rping
+usr/bin/rstream
+usr/bin/ucmatose
+usr/bin/udaddy
+usr/bin/udpong
+usr/share/man/man1/mckey.1
+usr/share/man/man1/rcopy.1
+usr/share/man/man1/rdma_client.1
+usr/share/man/man1/rdma_server.1
+usr/share/man/man1/rdma_xclient.1
+usr/share/man/man1/rdma_xserver.1
+usr/share/man/man1/riostream.1
+usr/share/man/man1/rping.1
+usr/share/man/man1/rstream.1
+usr/share/man/man1/ucmatose.1
+usr/share/man/man1/udaddy.1
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 000000000000..e6ec8c824f8a
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,99 @@
+#!/usr/bin/make -f
+
+
+DH_OPTS := --builddirectory=build-deb
+our_version = $(shell dpkg-parsechangelog -S version)
+debian_version = -$(lastword $(subst -, ,$(our_version)))
+
+# For aesthetic reasons we want to use the shared libary ABI version as the
+# Debian package version, not the overall source package version. See
+# Documentation/versioning.md
+get_lib_version = $(patsubst build-deb/lib/$(1).so.%,%,$(wildcard build-deb/lib/$(1).so.*.*))
+libibcm_version = $(call get_lib_version,libibcm)
+libibumad_version = $(call get_lib_version,libibumad)
+libibverbs_version = $(call get_lib_version,libibverbs)
+librdmacm_version = $(call get_lib_version,librdmacm)
+
+# Upstream wishes to use CMAKE_BUILD_TYPE=Release, and ensures that has a
+# sensible basis of options (eg no -O3, including -g). Debian specific options
+# come from CFLAGS as usual.
+
+# Upstream encourages the use of Ninja to build the source, convince dh to use
+# it until someone writes native support for dh+cmake+ninja.
+override_dh_auto_configure:
+	dh_auto_configure $(DH_OPTS) -- -GNinja \
+			-DDISTRO_FLAVOUR=Debian \
+			-DCMAKE_BUILD_TYPE=Release \
+			-DCMAKE_INSTALL_SYSCONFDIR:PATH=/etc \
+			-DCMAKE_INSTALL_SYSTEMD_SERVICEDIR:PATH=/lib/systemd/system \
+			-DCMAKE_INSTALL_INITDDIR:PATH=/etc/init.d \
+			-DCMAKE_INSTALL_LIBEXECDIR:PATH=/usr/lib
+	cp buildlib/ninja-wrapper build-deb/Makefile
+
+# The following files are not used on Debian
+# FIXME: should they be?
+INST_EXCLUDE := "etc/rsyslog.d/srp_daemon.conf" \
+		"usr/sbin/run_srp_daemon" \
+		"usr/sbin/srp_daemon.sh"
+INST_EXCLUDE := $(addprefix -X,$(INST_EXCLUDE))
+override_dh_install:
+	dh_install --fail-missing $(INST_EXCLUDE)
+
+# cmake installs the correct init scripts in the correct place, just setup the
+# pre-postrms
+override_dh_installinit:
+	dh_installinit -pibacm --onlyscripts
+	dh_installinit -piwpmd --onlyscripts
+	dh_installinit -psrptools --onlyscripts
+	dh_installinit --remaining-packages
+
+# Provider plugin libaries are not shared libraries and do not belong in the
+# shlibs file.
+# librspreload is a LD_PRELOAD library and does not belong in the shlib files
+SHLIBS_EXCLUDE = "/libibverbs/" "librspreload"
+SHLIBS_EXCLUDE := $(addprefix --exclude=,$(SHLIBS_EXCLUDE))
+override_dh_makeshlibs:
+	dh_makeshlibs -plibibcm1 $(SHLIBS_EXCLUDE) -- -v$(libibcm_version)$(debian_version)
+	dh_makeshlibs -plibibverbs1 $(SHLIBS_EXCLUDE) -- -v$(libibverbs_version)$(debian_version)
+	dh_makeshlibs -plibrdmacm1 $(SHLIBS_EXCLUDE) -- -v$(librdmacm_version)$(debian_version)
+	dh_makeshlibs -plibibumad3 $(SHLIBS_EXCLUDE) -- -v$(libibumad_version)$(debian_version)
+
+	dh_makeshlibs --remaining-packages $(SHLIBS_EXCLUDE)
+
+# Inject the version numbers that are different from the source version
+override_dh_gencontrol:
+	dh_gencontrol -plibibcm1 -- -v$(libibcm_version)$(debian_version)
+	dh_gencontrol -plibibumad3 -- -v$(libibumad_version)$(debian_version)
+	dh_gencontrol -plibibverbs1 -- -v$(libibverbs_version)$(debian_version)
+	dh_gencontrol -plibrdmacm1 -- -v$(librdmacm_version)$(debian_version)
+
+	dh_gencontrol -plibibcm1-dbg -- -v$(libibcm_version)$(debian_version)
+	dh_gencontrol -plibibumad3-dbg -- -v$(libibumad_version)$(debian_version)
+	dh_gencontrol -plibibverbs1-dbg -- -v$(libibverbs_version)$(debian_version)
+	dh_gencontrol -plibrdmacm1-dbg -- -v$(librdmacm_version)$(debian_version)
+
+	dh_gencontrol -plibibcm-dev -- -v$(libibcm_version)$(debian_version)
+	dh_gencontrol -plibibumad-dev -- -v$(libibumad_version)$(debian_version)
+	dh_gencontrol -plibibverbs-dev -- -v$(libibverbs_version)$(debian_version)
+	dh_gencontrol -plibrdmacm-dev -- -v$(librdmacm_version)$(debian_version)
+
+	dh_gencontrol --remaining-packages
+
+# Create dbg packages.
+# FIXME: should we just have a rdma-core-dbg package ?
+override_dh_strip:
+	dh_strip -plibibcm1 --dbg-package=libibcm1-dbg
+	dh_strip -plibibumad3 --dbg-package=libibumad3-dbg
+	dh_strip -plibibverbs1 --dbg-package=libibverbs1-dbg
+	dh_strip -plibrdmacm1 --dbg-package=librdmacm1-dbg
+
+	dh_strip --remaining-packages
+
+# Upstream encourages the use of 'build' as the developer build output
+# directory, allow that directory to be present and still allow dh to work.
+.PHONY: build
+build:
+	dh $@ --with systemd $(DH_OPTS)
+
+%:
+	dh $@ --with systemd $(DH_OPTS)
diff --git a/debian/srptools.install b/debian/srptools.install
new file mode 100644
index 000000000000..17b909d721a9
--- /dev/null
+++ b/debian/srptools.install
@@ -0,0 +1,8 @@
+etc/default/srptools
+etc/init.d/srptools
+etc/logrotate.d/srp_daemon
+etc/srp_daemon.conf
+usr/sbin/ibsrpdm
+usr/sbin/srp_daemon
+usr/share/man/man1/ibsrpdm.1
+usr/share/man/man1/srp_daemon.1
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* RE: [PATCH] MAINTAINERS: Update Intel RDMA RNIC driver maintainers
From: Steve Wise @ 2016-10-06 21:26 UTC (permalink / raw)
  To: 'Nikolova, Tatyana E', 'Jason Gunthorpe',
	'Latif, Faisal'
  Cc: 'Orosco, Henry', dledford-H+wXaHxf7aLQT0dZR+AlfA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	e1000-rdma-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <13AA599688F47243B14FCFCCC2C803BB10A8C79D-96pTJSsuoYQ64kNsxIetb7fspsVTdybXVpNB7YpNyf8@public.gmane.org>

> 
> Hi Jason,
> 
> I will continue to maintain libnes, libi40iw and libiwpm in rdma-core.  Steve
Wise
> has significantly contributed to libiwpm which is iWarp related service and he
may
> be interested in co-maintaining it.

Sure.


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCH] i40iw: Add Quality of Service support
From: Henry Orosco @ 2016-10-06 21:26 UTC (permalink / raw)
  To: Leon Romanovsky
  Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	e1000-rdma-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <20161006160016.GQ9282-2ukJVAZIZ/Y@public.gmane.org>

On Thu, Oct 06, 2016 at 07:00:16PM +0300, Leon Romanovsky wrote:
> On Thu, Oct 06, 2016 at 10:21:28AM -0500, Henry Orosco wrote:
> > Add support for QoS on QPs. Upon device initialization,
> > a map is created from user priority to queue set
> > handles. On QP creation, use ToS to look up the queue
> > set handle for use with the QP.
> >
> > Signed-off-by: Faisal Latif <faisal.latif-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > Signed-off-by: Shiraz Saleem <shiraz.saleem-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > Signed-off-by: Henry Orosco <henry.orosco-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > ---
> >  drivers/infiniband/hw/i40iw/i40iw.h       |   9 ++
> >  drivers/infiniband/hw/i40iw/i40iw_cm.c    |  30 +++++-
> >  drivers/infiniband/hw/i40iw/i40iw_cm.h    |   2 +-
> >  drivers/infiniband/hw/i40iw/i40iw_ctrl.c  | 151 +++++++++++++++++++++++++++++-
> >  drivers/infiniband/hw/i40iw/i40iw_d.h     |   2 +
> >  drivers/infiniband/hw/i40iw/i40iw_hw.c    |  25 ++---
> >  drivers/infiniband/hw/i40iw/i40iw_main.c  |  64 +++++++++++--
> >  drivers/infiniband/hw/i40iw/i40iw_osdep.h |   2 +
> >  drivers/infiniband/hw/i40iw/i40iw_p.h     |   2 +
> >  drivers/infiniband/hw/i40iw/i40iw_puda.c  |   3 +-
> >  drivers/infiniband/hw/i40iw/i40iw_type.h  |  18 +++-
> >  drivers/infiniband/hw/i40iw/i40iw_utils.c |  45 +++++++++
> >  drivers/infiniband/hw/i40iw/i40iw_verbs.c |   6 +-
> >  13 files changed, 323 insertions(+), 36 deletions(-)
> 
> I believe that it can be split to series.

As all this code is a logical unit for QoS support, we thought
it best to submit as a single patch.

Doug, what is your preference?
> 
> >  mode change 100644 => 100755 drivers/infiniband/hw/i40iw/i40iw_cm.c
> >  mode change 100644 => 100755 drivers/infiniband/hw/i40iw/i40iw_ctrl.c
> 
> Why did you change file's mode from 644 to 755?

Nice catch! Will send out another version with this fixed.

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* RE: [PATCH rdma-core 02/17] Update COPYING to reflect recent cxgb4 merge
From: Steve Wise @ 2016-10-06 21:31 UTC (permalink / raw)
  To: 'Jason Gunthorpe', linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1475787103-13283-3-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

Acked-by: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* RE: [PATCH rdma-core 03/17] Update comment in cxbg* drivers
From: Steve Wise @ 2016-10-06 21:31 UTC (permalink / raw)
  To: 'Jason Gunthorpe', linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1475787103-13283-4-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

> 
> The swap is correct on most arches we support, the note should be
> to move this stuff to common code.
> 
> Fixes: 1df0888f6a73 ("Remove most checks of __BYTE_ORDER")
> Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

This looks good.

Reviewed-by: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* RE: [PATCH rdma-core 08/17] Move providers into providers/
From: Steve Wise @ 2016-10-06 21:33 UTC (permalink / raw)
  To: 'Jason Gunthorpe', linux-rdma-u79uwXL29TY76Z2rM5mHXA
  Cc: 'Mike Marciniszyn', 'Dennis Dalessandro',
	'Moni Shoua',
	'open list:IPATH/QIB USERSPACE PROVIDER (for ib_qib.ko)'
In-Reply-To: <1475787103-13283-9-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

For the cxgb* parts:

Acked-by: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* RE: [PATCH rdma-core 09/17] iwpmd: Flatten iwpmd/src into iwpmd/
From: Steve Wise @ 2016-10-06 21:33 UTC (permalink / raw)
  To: 'Jason Gunthorpe', linux-rdma-u79uwXL29TY76Z2rM5mHXA
  Cc: 'Tatyana Nikolova'
In-Reply-To: <1475787103-13283-10-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

Acked-by: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCH] MAINTAINERS: Update Intel RDMA RNIC driver maintainers
From: Jason Gunthorpe @ 2016-10-06 21:36 UTC (permalink / raw)
  To: Steve Wise
  Cc: 'Nikolova, Tatyana E', 'Latif, Faisal',
	'Orosco, Henry', dledford-H+wXaHxf7aLQT0dZR+AlfA,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA,
	e1000-rdma-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f
In-Reply-To: <02e701d22018$5d7ca740$1875f5c0$@opengridcomputing.com>

On Thu, Oct 06, 2016 at 04:26:56PM -0500, Steve Wise wrote:
> > 
> > Hi Jason,
> > 
> > I will continue to maintain libnes, libi40iw and libiwpm in rdma-core.  Steve
> Wise
> > has significantly contributed to libiwpm which is iWarp related service and he
> may
> > be interested in co-maintaining it.
> 
> Sure.

Great, added to my pull request:

>From d8aca8da1cb51bb9ec43284a3060145ccddca69a Mon Sep 17 00:00:00 2001
From: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
Date: Thu, 6 Oct 2016 15:35:22 -0600
Subject: [PATCH] iwpmd: Add Steve Wise as a MAINTAINER

Acked-by: Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
Acked-by: Tatyana Nikolova <Tatyana.E.Nikolova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Signed-off-by: Jason Gunthorpe <jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>
---
 MAINTAINERS | 1 +
 1 file changed, 1 insertion(+)

diff --git a/MAINTAINERS b/MAINTAINERS
index e4f3554ea46a..49413a6544df 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -76,6 +76,7 @@ F:	providers/ipathverbs/
 
 IWARP PORT MAPPER DAEMON (for iwarp kernel providers)
 M:	Tatyana Nikolova <Tatyana.E.Nikolova-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
+M:	Steve Wise <swise-7bPotxP6k4+P2YhJcF5u+vpXobYPEAuW@public.gmane.org>
 H:	Robert Sharp <robert.o.sharp-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
 S:	Supported
 F:	iwpmd/
-- 
2.7.4

--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply related

* Re: RDMA developer gatherings around Kernel Summit and Linux Plumbers in Santa Fe
From: Coulter, Susan K @ 2016-10-06 22:34 UTC (permalink / raw)
  To: Bart Van Assche; +Cc: Coulter, Susan K, Linux RDMA Mailing List
In-Reply-To: <e6b8a6e9-19cd-dbe0-e885-995b91c55137-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset="utf-8", Size: 2566 bytes --]


> On Oct 6, 2016, at 2:19 PM, Bart Van Assche <bart.vanassche@sandisk.com> wrote:
> 
> On 10/06/2016 11:33 AM, Coulter, Susan K wrote:
>> The OFA’s position is that we have some member companies that require
> > dual license in order to offer products and solutions that repackage
> > OFS software on non-Linux OSs.  We are in the process of finding out
> > from those members what bits are critical to that re-packaging.  We
> > also believe, contrary to your understanding, that we cannot force dual
> > license on the entire RDMA kernel subsystem.
> 
> Hello Susan,
> 
> Thank you for having clarified the position of the OFA.
> 
> What is not clear to me is what are these products and who are these companies?
> And why do these companies think that they need a BSD license? If the Linux RDMA code that is repackaged is built as a separate module then they don't need the BSD license. GPL should be fine. Run-time loading of kernel modules creates what is considered as a collective work under copyright law. The "viral" property of GPL only applies to derivative works. A collective work is not the same as a derivative work. This is explained in detail by several authors. E.g. Lawrence Rosen explains this in his book "Open Source Licensing", Software Freedom and Intellectual Property Law, Prentice Hall, 2004 (http://www.rosenlaw.com/oslbook.htm).

The OFA is currently trying to figure out exactly which of our member companies care about and have a need for dual license.
Until we finish pulling that thread, I cannot answer the question.
The dual license requirement has existed a long time, but it is >possible< it may no longer be needed in many instances.
So far, one company has suggested LGPL would be just fine.

It is my belief (and hope) that when pushed to explain their need, they may find out they don’t need it.
It could be historical precedent and overly cautious management.

Thank you for the book reference - I just bought it.  

> 
> Please note that the above is my own opinion and has not been reviewed by the corporate legal team.

Me too.  :)

> 
> Bart.

==================================================
Susan Coulter / HPC-DES
Network Capability Lead
(505) 667-8425
“Once in a while you get shown the light
    In the strangest of places if you look at it right”  Robert Hunter
==================================================







N‹§²æìr¸›yúèšØb²X¬¶Ç§vØ^–)Þº{.nÇ+‰·¥Š{±­ÙšŠ{ayº\x1dʇڙë,j\a­¢f£¢·hš‹»öì\x17/oSc¾™Ú³9˜uÀ¦æå‰È&jw¨®\x03(­éšŽŠÝ¢j"ú\x1a¶^[m§ÿïêäz¹Þ–Šàþf£¢·hšˆ§~ˆmš

^ permalink raw reply

* [Bug 176901] New: Running ib_rdma_bw over rxe loopback triggers a kernel oops
From: bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r @ 2016-10-06 23:23 UTC (permalink / raw)
  To: linux-rdma-u79uwXL29TY76Z2rM5mHXA

https://bugzilla.kernel.org/show_bug.cgi?id=176901

            Bug ID: 176901
           Summary: Running ib_rdma_bw over rxe loopback triggers a kernel
                    oops
           Product: Drivers
           Version: 2.5
    Kernel Version: v4.8.0
          Hardware: All
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Infiniband/RDMA
          Assignee: drivers_infiniband-rdma-ztI5WcYan/vQLgFONoPN62D2FQJk+8+b@public.gmane.org
          Reporter: bvanassche-HInyCGIudOg@public.gmane.org
        Regression: No

After I ran the following commands in a virtual machine:

modprobe rdma_rxe
rxe_cfg add eth0
modprobe ib_uverbs
ib_send_bw &
ib_send_bw 192.168.123.238

the following output appeared on the system console:

BUG: unable to handle kernel NULL pointer dereference at           (null)
IP: [<ffffffff81023060>] check_addr+0x30/0x60
PGD 39751067 PUD 30689067 PMD 0 
Oops: 0000 [#1] SMP
Modules linked in: ib_uverbs ib_srp(O) scsi_transport_srp(O) scst_local(O)
iscsi_scst(O) ib_srpt(O) scst_vdisk(O) scst(O) libcrc32c dlm configfs rdma_rxe
ip6_udp_tunnel udp_tunnel crct10dif_pclmul crc32_pclmul ghash_clmulni_intel
aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd
virtio_console virtio_balloon serio_raw virtio_rng i2c_piix4 acpi_cpufreq
button iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ext4 jbd2 mbcache
virtio_net virtio_blk psmouse drm_kms_helper syscopyarea sysfillrect sysimgblt
fb_sys_fops ttm virtio_pci drm floppy [last unloaded: scsi_transport_srp]
CPU: 3 PID: 2941 Comm: ib_send_bw Tainted: G           O    4.8.0-debug+ #2
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
rel-1.9.1-0-gb3ef39f-prebuilt.qemu-project.org 04/01/2014
task: ffff8800388fa7c0 task.stack: ffff88002cdd8000
RIP: 0010:[<ffffffff81023060>]  [<ffffffff81023060>] check_addr+0x30/0x60
RSP: 0018:ffff88002cddbb78  EFLAGS: 00010246
RAX: 0000000000000000 RBX: 0000000087654321 RCX: 0000000000001000
RDX: 00000000042a1000 RSI: ffff88003294cac8 RDI: ffffffff819b7189
RBP: ffff88002cddbba8 R08: 0000000000000000 R09: ffff88003294cac8
R10: 0000000000000001 R11: 0000000000000020 R12: 0000000000000000
R13: 0000000000000020 R14: ffff88003294cac8 R15: ffff8800393e6fc8
FS:  00007fea71eaf740(0000) GS:ffff88003fd80000(0000) knlGS:0000000000000000
CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
CR2: 0000000000000000 CR3: 000000003bc65000 CR4: 00000000001406e0
Stack:
 ffffffff81023188 ffff880039a34050 ffff88003941f188 ffff880033b2f000
 ffffffff81c222a0 0000000000000000 ffff88002cddbc20 ffffffff814f5fca
 ffff88003294cac8 ffff8800393e6fc8 ffff880000000020 0000000000000020
Call Trace:
 [<ffffffff81023188>] ? nommu_map_sg+0x88/0xf0
 [<ffffffff814f5fca>] ib_umem_get+0x4ea/0x520
 [<ffffffffa02418e1>] rxe_mem_init_user+0x41/0x2d0 [rdma_rxe]
 [<ffffffff810acabd>] ? trace_hardirqs_on+0xd/0x10
 [<ffffffffa023eb2c>] rxe_reg_user_mr+0x9c/0x150 [rdma_rxe]
 [<ffffffffa03463b6>] ib_uverbs_reg_mr+0x146/0x330 [ib_uverbs]
 [<ffffffffa03414fd>] ib_uverbs_write+0x1fd/0x460 [ib_uverbs]
 [<ffffffffa03413b0>] ? ib_uverbs_write+0xb0/0x460 [ib_uverbs]
 [<ffffffff81647f42>] ? _raw_spin_unlock+0x22/0x30
 [<ffffffff8115630a>] ? handle_mm_fault+0x61a/0x12e0
 [<ffffffff811ab823>] __vfs_write+0x23/0x120
 [<ffffffff811ac6f9>] ? rw_verify_area+0x49/0xb0
 [<ffffffff811ac943>] vfs_write+0xb3/0x1b0
 [<ffffffff810aca28>] ? trace_hardirqs_on_caller+0x128/0x1b0
 [<ffffffff811adc54>] SyS_write+0x44/0xa0
 [<ffffffff816486c0>] entry_SYSCALL_64_fastpath+0x23/0xc1
Code: 48 8b 86 38 03 00 00 48 85 c0 74 1f 4c 8b 00 48 8d 74 0a ff b8 01 00 00
00 4c 39 c6 76 33 b8 fe ff ff ff 49 39 c0 77 13 31 c0 c3 <4c> 8b 04 25 00 00 00
00 eb e9 b8 01 00 00 00 c3 55 48 89 fe 48 
RIP  [<ffffffff81023060>] check_addr+0x30/0x60
 RSP <ffff88002cddbb78>
CR2: 0000000000000000

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [Bug 176901] New: Running ib_rdma_bw over rxe loopback triggers a kernel oops
From: Parav Pandit @ 2016-10-07  3:28 UTC (permalink / raw)
  To: bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <bug-176901-11804-3bo0kxnWaOQUvHkbgXJLS5sdmw4N0Rt+2LY78lusg7I@public.gmane.org/>

This bug is fixed with my patch [1] and Doug ack also about merging fix.

[1] https://patchwork.kernel.org/patch/9354863/

On Fri, Oct 7, 2016 at 4:53 AM,  <bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r@public.gmane.org> wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=176901
>
>             Bug ID: 176901
>            Summary: Running ib_rdma_bw over rxe loopback triggers a kernel
>                     oops
>            Product: Drivers
>            Version: 2.5
>     Kernel Version: v4.8.0
>           Hardware: All
>                 OS: Linux
>               Tree: Mainline
>             Status: NEW
>           Severity: normal
>           Priority: P1
>          Component: Infiniband/RDMA
>           Assignee: drivers_infiniband-rdma-ztI5WcYan/vQLgFONoPN62D2FQJk+8+b@public.gmane.org
>           Reporter: bvanassche-HInyCGIudOg@public.gmane.org
>         Regression: No
>
> After I ran the following commands in a virtual machine:
>
> modprobe rdma_rxe
> rxe_cfg add eth0
> modprobe ib_uverbs
> ib_send_bw &
> ib_send_bw 192.168.123.238
>
> the following output appeared on the system console:
>
> BUG: unable to handle kernel NULL pointer dereference at           (null)
> IP: [<ffffffff81023060>] check_addr+0x30/0x60
> PGD 39751067 PUD 30689067 PMD 0
> Oops: 0000 [#1] SMP
> Modules linked in: ib_uverbs ib_srp(O) scsi_transport_srp(O) scst_local(O)
> iscsi_scst(O) ib_srpt(O) scst_vdisk(O) scst(O) libcrc32c dlm configfs rdma_rxe
> ip6_udp_tunnel udp_tunnel crct10dif_pclmul crc32_pclmul ghash_clmulni_intel
> aesni_intel aes_x86_64 glue_helper lrw gf128mul ablk_helper cryptd
> virtio_console virtio_balloon serio_raw virtio_rng i2c_piix4 acpi_cpufreq
> button iscsi_tcp libiscsi_tcp libiscsi scsi_transport_iscsi ext4 jbd2 mbcache
> virtio_net virtio_blk psmouse drm_kms_helper syscopyarea sysfillrect sysimgblt
> fb_sys_fops ttm virtio_pci drm floppy [last unloaded: scsi_transport_srp]
> CPU: 3 PID: 2941 Comm: ib_send_bw Tainted: G           O    4.8.0-debug+ #2
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS
> rel-1.9.1-0-gb3ef39f-prebuilt.qemu-project.org 04/01/2014
> task: ffff8800388fa7c0 task.stack: ffff88002cdd8000
> RIP: 0010:[<ffffffff81023060>]  [<ffffffff81023060>] check_addr+0x30/0x60
> RSP: 0018:ffff88002cddbb78  EFLAGS: 00010246
> RAX: 0000000000000000 RBX: 0000000087654321 RCX: 0000000000001000
> RDX: 00000000042a1000 RSI: ffff88003294cac8 RDI: ffffffff819b7189
> RBP: ffff88002cddbba8 R08: 0000000000000000 R09: ffff88003294cac8
> R10: 0000000000000001 R11: 0000000000000020 R12: 0000000000000000
> R13: 0000000000000020 R14: ffff88003294cac8 R15: ffff8800393e6fc8
> FS:  00007fea71eaf740(0000) GS:ffff88003fd80000(0000) knlGS:0000000000000000
> CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000000000000000 CR3: 000000003bc65000 CR4: 00000000001406e0
> Stack:
>  ffffffff81023188 ffff880039a34050 ffff88003941f188 ffff880033b2f000
>  ffffffff81c222a0 0000000000000000 ffff88002cddbc20 ffffffff814f5fca
>  ffff88003294cac8 ffff8800393e6fc8 ffff880000000020 0000000000000020
> Call Trace:
>  [<ffffffff81023188>] ? nommu_map_sg+0x88/0xf0
>  [<ffffffff814f5fca>] ib_umem_get+0x4ea/0x520
>  [<ffffffffa02418e1>] rxe_mem_init_user+0x41/0x2d0 [rdma_rxe]
>  [<ffffffff810acabd>] ? trace_hardirqs_on+0xd/0x10
>  [<ffffffffa023eb2c>] rxe_reg_user_mr+0x9c/0x150 [rdma_rxe]
>  [<ffffffffa03463b6>] ib_uverbs_reg_mr+0x146/0x330 [ib_uverbs]
>  [<ffffffffa03414fd>] ib_uverbs_write+0x1fd/0x460 [ib_uverbs]
>  [<ffffffffa03413b0>] ? ib_uverbs_write+0xb0/0x460 [ib_uverbs]
>  [<ffffffff81647f42>] ? _raw_spin_unlock+0x22/0x30
>  [<ffffffff8115630a>] ? handle_mm_fault+0x61a/0x12e0
>  [<ffffffff811ab823>] __vfs_write+0x23/0x120
>  [<ffffffff811ac6f9>] ? rw_verify_area+0x49/0xb0
>  [<ffffffff811ac943>] vfs_write+0xb3/0x1b0
>  [<ffffffff810aca28>] ? trace_hardirqs_on_caller+0x128/0x1b0
>  [<ffffffff811adc54>] SyS_write+0x44/0xa0
>  [<ffffffff816486c0>] entry_SYSCALL_64_fastpath+0x23/0xc1
> Code: 48 8b 86 38 03 00 00 48 85 c0 74 1f 4c 8b 00 48 8d 74 0a ff b8 01 00 00
> 00 4c 39 c6 76 33 b8 fe ff ff ff 49 39 c0 77 13 31 c0 c3 <4c> 8b 04 25 00 00 00
> 00 eb e9 b8 01 00 00 00 c3 55 48 89 fe 48
> RIP  [<ffffffff81023060>] check_addr+0x30/0x60
>  RSP <ffff88002cddbb78>
> CR2: 0000000000000000
>
> --
> You are receiving this mail because:
> You are watching the assignee of the bug.
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* RE: [PATCH qedr 04/10] qedr: Add support for PD,PKEY and CQ verbs
From: Elior, Ariel @ 2016-10-07 10:47 UTC (permalink / raw)
  To: Leon Romanovsky, dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
  Cc: Elior, Ariel, Kalderon, Michal, Mintz, Yuval, Borundia, Rajesh,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Amrani, Ram
In-Reply-To: <20161006133357.GP9282-2ukJVAZIZ/Y@public.gmane.org>

> > @@ -66,6 +85,12 @@ struct rdma_cqe_common {
> >     struct regpair qp_handle;
> >     __le16 reserved1[7];
> >     u8 flags;
> > +#define RDMA_CQE_COMMON_TOGGLE_BIT_MASK  0x1
> > +#define RDMA_CQE_COMMON_TOGGLE_BIT_SHIFT 0
> > +#define RDMA_CQE_COMMON_TYPE_MASK        0x3
> > +#define RDMA_CQE_COMMON_TYPE_SHIFT       1
> > +#define RDMA_CQE_COMMON_RESERVED2_MASK   0x1F
> > +#define RDMA_CQE_COMMON_RESERVED2_SHIFT  3
> >     u8 status;
>
> It is VERY uncommon to mix defines and structs together.
> Please don't do it, it confuses a lot and doesn't help to
> readability/debug.

Hi Leon,
Firstly, thanks for investing your time in reviewing our driver.
As for mixed defines and structures, far from being very uncommon, they are
actually ubiquitous throughout the kernel and are used by the foremost
developers (Dave Miller, Linus, Jeff Kirsher).

In infiniband tree alone, at least three drivers employ this:
drivers/infiniband/hw/ocrdma/ocrdma_sli.h line 1900
drivers/infiniband/hw/mthca/mthca_user.h line 68
drivers/infiniband/hw/cxgb3/cxio_hal.h line 116

In the net subsystem, it is even more widely used (~14k places), including
mellanox and intel drivers, as well as our bnx2x and qed* drivers and many
others. A few examples can be seen under:
drivers/net/ethernet/mellanox/mlx4/en_port.h line 94
drivers/net/ethernet/mellanox/mlx4/mlx4_en.h line 345
drivers/net/ethernet/mellanox/mlx4/fw.c line 2759
drivers/net/ethernet/intel/ixgbe/ixgbe.h line 623 (Jeff Kirsher)
drivers/net/ethernet/broadcom/tg3.h line 2540 (Dave Miller)
ixgbe.h uses this exactly like we do in the code you cited.

In other kernel cornerstones:
fs/ext4/ext4.h line 1287 (Linus)
include/net/sock.h line 312 (Dave)

I don't think there are grounds for objecting to this style. We'll take care
of the rest of your comments.

Thanks,
Ariel
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCH rdma-core 01/17] Update Intel lists in MAINTAINERS
From: Dalessandro, Dennis @ 2016-10-07 11:42 UTC (permalink / raw)
  To: jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
In-Reply-To: <1475787103-13283-2-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

On Thu, 2016-10-06 at 14:51 -0600, Jason Gunthorpe wrote:
> Try again to get this information right.
> 
> Signed-off-by: Jason Gunthorpe <jgunthorpe@obsidianresearch.com>
> ---

Acked-by: Dennis Dalessandro <dennis.dalessandro@intel.com>

^ permalink raw reply

* Re: [PATCH rdma-core 00/17] Fixes, flattening and packaging
From: Leon Romanovsky @ 2016-10-07 14:05 UTC (permalink / raw)
  To: Jason Gunthorpe; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1475787103-13283-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 28205 bytes --]

On Thu, Oct 06, 2016 at 02:51:26PM -0600, Jason Gunthorpe wrote:
> This is mostly a grab bag of the finished work left in my tree:
>
>  - Missed items for the last merge
>  - Fix a few mistakes in the earlier patches and build system
>  - Final rename of directories to make the tree shallower (eg eliminate src/, add providers/)
>  - RPM and DEB packaging

Jason,
Can you please add all patches from ML too to this pull request, so they
apply cleanly?

Thanks.

>
> See
>
> https://github.com/linux-rdma/rdma-core/pull/13
>
> Jason Gunthorpe (17):
>   Update Intel lists in MAINTAINERS
>   Update COPYING to reflect recent cxgb4 merge
>   Update comment in cxbg* drivers
>   Remove missed auto* related files
>   rdmacm: Drop SONAME in rspreload
>   umad: Use symlinks instead of a NROFF .so directive
>   verbs: Remove -fno-strict-aliasing
>   Move providers into providers/
>   iwpmd: Flatten iwpmd/src into iwpmd/
>   srp_deamon: Flatten srp_daemon/src,etc into srp_daemon/
>   ibcm: Flatten libibcm/src,include into libibcm/
>   umad: Flatten libibumad/src,include into libibumad/
>   verbs: Flatten libibverbs/src,include into libibverbs/
>   rdmacm: Flatten librdmacm/src,include into librdmacm/
>   Combined RPM Spec file
>   srp_daemon: Add the debian initscripts as an option
>   Debian Packaging
>
>  CMakeLists.txt                                     |  41 ++-
>  COPYING.md                                         |   7 +-
>  Documentation/versioning.md                        |  20 ++
>  MAINTAINERS                                        |  26 +-
>  buildlib/ninja-wrapper                             |  16 ++
>  debian/changelog                                   |   5 +
>  debian/compat                                      |   1 +
>  debian/control                                     | 299 +++++++++++++++++++++
>  debian/ibacm.install                               |  10 +
>  debian/ibverbs-providers.install                   |   7 +
>  debian/ibverbs-utils.install                       |  16 ++
>  debian/iwpmd.install                               |   7 +
>  debian/libibcm-dev.install                         |   3 +
>  debian/libibcm1.install                            |   1 +
>  debian/libibcm1.symbols                            |  23 ++
>  debian/libibumad-dev.install                       |   3 +
>  debian/libibumad3.install                          |   2 +
>  debian/libibumad3.symbols                          |  38 +++
>  debian/libibverbs-dev.install                      |  12 +
>  debian/libibverbs1.install                         |   1 +
>  debian/libibverbs1.postinst                        |  10 +
>  debian/libibverbs1.symbols                         | 134 +++++++++
>  debian/librdmacm-dev.install                       |  57 ++++
>  debian/librdmacm1.install                          |   2 +
>  debian/librdmacm1.symbols                          |  64 +++++
>  debian/rdmacm-utils.install                        |  24 ++
>  debian/rules                                       |  99 +++++++
>  debian/srptools.default                            |  14 +
>  debian/srptools.init                               |  89 ++++++
>  debian/srptools.install                            |   8 +
>  iwpmd/CMakeLists.txt                               |  17 ++
>  iwpmd/{src => }/iwarp_pm.h                         |   0
>  iwpmd/{src => }/iwarp_pm_common.c                  |   0
>  iwpmd/{src => }/iwarp_pm_helper.c                  |   0
>  iwpmd/{src => }/iwarp_pm_server.c                  |   0
>  iwpmd/{src => }/iwpm_netlink.h                     |   0
>  iwpmd/src/.dirstamp                                |   0
>  iwpmd/src/CMakeLists.txt                           |  16 --
>  libcxgb4/COPYING                                   |  29 --
>  libibcm/{src => }/CMakeLists.txt                   |   4 +-
>  libibcm/{src => }/cm.c                             |   0
>  libibcm/{include/infiniband => }/cm.h              |   0
>  libibcm/{include/infiniband => }/cm_abi.h          |   0
>  libibcm/{src => }/libibcm.map                      |   0
>  libibumad/CMakeLists.txt                           |  16 ++
>  libibumad/gen_chlog.sh                             |  67 -----
>  libibumad/{src => }/libibumad.map                  |   0
>  libibumad/libibumad.ver                            |   9 -
>  libibumad/man/CMakeLists.txt                       |   8 +-
>  libibumad/man/umad_attribute_str.3                 |   3 -
>  libibumad/man/umad_mad_status_str.3                |   3 -
>  libibumad/man/umad_method_str.3                    |   3 -
>  libibumad/src/CMakeLists.txt                       |  16 --
>  libibumad/{src => }/sysfs.c                        |   0
>  libibumad/{src => }/umad.c                         |   0
>  libibumad/{include/infiniband => }/umad.h          |   0
>  libibumad/{include/infiniband => }/umad_cm.h       |   0
>  libibumad/{include/infiniband => }/umad_sa.h       |   0
>  libibumad/{include/infiniband => }/umad_sm.h       |   0
>  libibumad/{src => }/umad_str.c                     |   0
>  libibumad/{include/infiniband => }/umad_str.h      |   0
>  libibumad/{include/infiniband => }/umad_types.h    |   0
>  libibverbs/{src => }/CMakeLists.txt                |  18 +-
>  libibverbs/{include/infiniband => }/arch.h         |   0
>  libibverbs/{src => }/cmd.c                         |   0
>  libibverbs/{src => }/compat-1_0.c                  |   0
>  libibverbs/{src => }/device.c                      |   0
>  libibverbs/{include/infiniband => }/driver.h       |   0
>  libibverbs/{src => }/enum_strs.c                   |   0
>  libibverbs/examples/CMakeLists.txt                 |   2 -
>  libibverbs/examples/pingpong.c                     |   9 +-
>  libibverbs/{src => }/ibverbs.h                     |   0
>  libibverbs/{src => }/init.c                        |   0
>  libibverbs/{include/infiniband => }/kern-abi.h     |   0
>  libibverbs/{src => }/libibverbs.map                |   0
>  libibverbs/{src => }/marshall.c                    |   0
>  libibverbs/{include/infiniband => }/marshall.h     |   0
>  libibverbs/{src => }/memory.c                      |   0
>  libibverbs/{src => }/neigh.c                       |   0
>  libibverbs/{src => }/neigh.h                       |   0
>  libibverbs/{src => }/nl1_compat.h                  |   0
>  libibverbs/{include/infiniband => }/opcode.h       |   0
>  libibverbs/{include/infiniband => }/sa-kern-abi.h  |   0
>  libibverbs/{include/infiniband => }/sa.h           |   0
>  libibverbs/{src => }/sysfs.c                       |   0
>  libibverbs/{src => }/verbs.c                       |   0
>  libibverbs/{include/infiniband => }/verbs.h        |   0
>  libipathverbs/src/CMakeLists.txt                   |   4 -
>  librdmacm/{src => }/CMakeLists.txt                 |  14 +-
>  librdmacm/{src => }/acm.c                          |   0
>  librdmacm/{src => }/addrinfo.c                     |   0
>  librdmacm/{src => }/cma.c                          |   0
>  librdmacm/{src => }/cma.h                          |   0
>  librdmacm/{include/infiniband => }/ib.h            |   0
>  librdmacm/{src => }/indexer.c                      |   0
>  librdmacm/{src => }/indexer.h                      |   0
>  librdmacm/{src => }/librdmacm.map                  |   0
>  librdmacm/{src => }/librspreload.map               |   0
>  librdmacm/{src => }/preload.c                      |   0
>  librdmacm/{include/rdma => }/rdma_cma.h            |   0
>  librdmacm/{include/rdma => }/rdma_cma_abi.h        |   0
>  librdmacm/{include/rdma => }/rdma_verbs.h          |   0
>  librdmacm/{src => }/rsocket.c                      |   0
>  librdmacm/{include/rdma => }/rsocket.h             |   0
>  librxe/src/CMakeLists.txt                          |   3 -
>  {libcxgb3/src => providers/cxgb3}/CMakeLists.txt   |   0
>  {libcxgb3/src => providers/cxgb3}/cq.c             |   0
>  {libcxgb3/src => providers/cxgb3}/cxio_wr.h        |   3 +-
>  .../src => providers/cxgb3}/firmware_exports.h     |   0
>  {libcxgb3/src => providers/cxgb3}/iwch-abi.h       |   0
>  {libcxgb3/src => providers/cxgb3}/iwch.c           |   0
>  {libcxgb3/src => providers/cxgb3}/iwch.h           |   0
>  {libcxgb3/src => providers/cxgb3}/qp.c             |   0
>  {libcxgb3/src => providers/cxgb3}/verbs.c          |   0
>  {libcxgb4/src => providers/cxgb4}/CMakeLists.txt   |   0
>  {libcxgb4/src => providers/cxgb4}/cq.c             |   0
>  {libcxgb4/src => providers/cxgb4}/cxgb4-abi.h      |   0
>  {libcxgb4/src => providers/cxgb4}/dev.c            |   0
>  {libcxgb4/src => providers/cxgb4}/libcxgb4.h       |   0
>  {libcxgb4/src => providers/cxgb4}/qp.c             |   0
>  {libcxgb4/src => providers/cxgb4}/t4.h             |   3 +-
>  {libcxgb4/src => providers/cxgb4}/t4_chip_type.h   |   0
>  {libcxgb4/src => providers/cxgb4}/t4_pci_id_tbl.h  |   0
>  {libcxgb4/src => providers/cxgb4}/t4_regs.h        |   0
>  {libcxgb4/src => providers/cxgb4}/t4fw_api.h       |   0
>  {libcxgb4/src => providers/cxgb4}/t4fw_ri_api.h    |   0
>  {libcxgb4/src => providers/cxgb4}/verbs.c          |   0
>  .../src => providers/hfi1verbs}/CMakeLists.txt     |   0
>  .../src => providers/hfi1verbs}/hfi-abi.h          |   0
>  .../src => providers/hfi1verbs}/hfiverbs.c         |   0
>  .../src => providers/hfi1verbs}/hfiverbs.h         |   0
>  {libhfi1verbs/src => providers/hfi1verbs}/verbs.c  |   0
>  {libi40iw/src => providers/i40iw}/CMakeLists.txt   |   0
>  {libi40iw/src => providers/i40iw}/i40e_devids.h    |   0
>  {libi40iw/src => providers/i40iw}/i40iw-abi.h      |   0
>  {libi40iw/src => providers/i40iw}/i40iw_d.h        |   0
>  {libi40iw/src => providers/i40iw}/i40iw_osdep.h    |   0
>  {libi40iw/src => providers/i40iw}/i40iw_register.h |   0
>  {libi40iw/src => providers/i40iw}/i40iw_status.h   |   0
>  {libi40iw/src => providers/i40iw}/i40iw_uk.c       |   0
>  {libi40iw/src => providers/i40iw}/i40iw_umain.c    |   0
>  {libi40iw/src => providers/i40iw}/i40iw_umain.h    |   0
>  {libi40iw/src => providers/i40iw}/i40iw_user.h     |   0
>  {libi40iw/src => providers/i40iw}/i40iw_uverbs.c   |   0
>  .../ipathverbs}/CMakeLists.txt                     |   5 +
>  {libipathverbs => providers/ipathverbs}/COPYING    |   0
>  .../ipathverbs}/dracut_check                       |   0
>  .../ipathverbs}/dracut_install                     |   0
>  .../ipathverbs}/dracut_kmod                        |   0
>  .../src => providers/ipathverbs}/ipath-abi.h       |   0
>  .../src => providers/ipathverbs}/ipathverbs.c      |   0
>  .../src => providers/ipathverbs}/ipathverbs.h      |   0
>  .../ipathverbs}/truescale-serdes.cmds              |   0
>  .../ipathverbs}/truescale.conf.in                  |   0
>  .../src => providers/ipathverbs}/verbs.c           |   0
>  {libmlx4/src => providers/mlx4}/CMakeLists.txt     |   0
>  {libmlx4 => providers/mlx4}/COPYING                |   0
>  {libmlx4/src => providers/mlx4}/buf.c              |   0
>  {libmlx4/src => providers/mlx4}/cq.c               |   0
>  {libmlx4/src => providers/mlx4}/dbrec.c            |   0
>  {libmlx4/src => providers/mlx4}/doorbell.h         |   0
>  {libmlx4/src => providers/mlx4}/mlx4-abi.h         |   0
>  {libmlx4/src => providers/mlx4}/mlx4.c             |   0
>  {libmlx4/src => providers/mlx4}/mlx4.h             |   0
>  {libmlx4/src => providers/mlx4}/mmio.h             |   0
>  {libmlx4/src => providers/mlx4}/qp.c               |   0
>  {libmlx4/src => providers/mlx4}/srq.c              |   0
>  {libmlx4/src => providers/mlx4}/verbs.c            |   0
>  {libmlx4/src => providers/mlx4}/wqe.h              |   0
>  {libmlx5/src => providers/mlx5}/CMakeLists.txt     |   0
>  {libmlx5/src => providers/mlx5}/bitmap.h           |   0
>  {libmlx5/src => providers/mlx5}/buf.c              |   0
>  {libmlx5/src => providers/mlx5}/cq.c               |   0
>  {libmlx5/src => providers/mlx5}/dbrec.c            |   0
>  {libmlx5/src => providers/mlx5}/doorbell.h         |   0
>  {libmlx5/src => providers/mlx5}/mlx5-abi.h         |   0
>  {libmlx5/src => providers/mlx5}/mlx5.c             |   0
>  {libmlx5/src => providers/mlx5}/mlx5.h             |   0
>  {libmlx5/src => providers/mlx5}/qp.c               |   0
>  {libmlx5/src => providers/mlx5}/srq.c              |   0
>  {libmlx5/src => providers/mlx5}/verbs.c            |   0
>  {libmlx5/src => providers/mlx5}/wqe.h              |   0
>  {libmthca/src => providers/mthca}/CMakeLists.txt   |   0
>  {libmthca/src => providers/mthca}/ah.c             |   0
>  {libmthca/src => providers/mthca}/buf.c            |   0
>  {libmthca/src => providers/mthca}/cq.c             |   0
>  {libmthca/src => providers/mthca}/doorbell.h       |   0
>  {libmthca/src => providers/mthca}/memfree.c        |   0
>  {libmthca/src => providers/mthca}/mthca-abi.h      |   0
>  {libmthca/src => providers/mthca}/mthca.c          |   0
>  {libmthca/src => providers/mthca}/mthca.h          |   0
>  {libmthca/src => providers/mthca}/qp.c             |   0
>  {libmthca/src => providers/mthca}/srq.c            |   0
>  {libmthca/src => providers/mthca}/verbs.c          |   0
>  {libmthca/src => providers/mthca}/wqe.h            |   0
>  {libnes/src => providers/nes}/CMakeLists.txt       |   0
>  {libnes/src => providers/nes}/nes-abi.h            |   0
>  {libnes/src => providers/nes}/nes_umain.c          |   0
>  {libnes/src => providers/nes}/nes_umain.h          |   0
>  {libnes/src => providers/nes}/nes_uverbs.c         |   0
>  {libocrdma/src => providers/ocrdma}/CMakeLists.txt |   0
>  {libocrdma => providers/ocrdma}/Changelog          |   0
>  {libocrdma/src => providers/ocrdma}/ocrdma_abi.h   |   0
>  {libocrdma/src => providers/ocrdma}/ocrdma_main.c  |   0
>  {libocrdma/src => providers/ocrdma}/ocrdma_main.h  |   0
>  {libocrdma/src => providers/ocrdma}/ocrdma_verbs.c |   0
>  {librxe => providers/rxe}/CMakeLists.txt           |   3 +
>  {librxe => providers/rxe}/man/CMakeLists.txt       |   0
>  {librxe => providers/rxe}/man/rxe.7                |   0
>  {librxe => providers/rxe}/man/rxe_cfg.8            |   0
>  {librxe/src => providers/rxe}/rxe-abi.h            |   0
>  {librxe/src => providers/rxe}/rxe.c                |   0
>  {librxe/src => providers/rxe}/rxe.h                |   0
>  {librxe => providers/rxe}/rxe_cfg                  |   0
>  {librxe/src => providers/rxe}/rxe_queue.h          |   0
>  rdma-core.spec                                     | 123 +++++++++
>  srp_daemon/CMakeLists.txt                          |  50 ++++
>  srp_daemon/{man => }/ibsrpdm.1                     |   0
>  srp_daemon/{srp_daemon => }/logrotate-srp_daemon   |   0
>  srp_daemon/man/CMakeLists.txt                      |   4 -
>  .../{srp_daemon => }/rsyslog-srp_daemon.conf       |   0
>  srp_daemon/{man => }/srp_daemon.1.in               |   0
>  srp_daemon/{srp_daemon => }/srp_daemon.c           |   0
>  srp_daemon/{srp_daemon => }/srp_daemon.conf        |   0
>  srp_daemon/{srp_daemon => }/srp_daemon.h           |   0
>  srp_daemon/{srp_daemon => }/srp_daemon.sh.in       |   0
>  srp_daemon/srp_daemon/CMakeLists.txt               |  34 ---
>  srp_daemon/{srp_daemon => }/srp_handle_traps.c     |   0
>  srp_daemon/{srp_daemon => }/srp_ib_types.h         |   0
>  srp_daemon/{srp_daemon => }/srp_sync.c             |   0
>  srp_daemon/{srp_daemon => }/srpd.in                |   0
>  231 files changed, 1243 insertions(+), 262 deletions(-)
>  create mode 100644 buildlib/ninja-wrapper
>  create mode 100644 debian/changelog
>  create mode 100644 debian/compat
>  create mode 100644 debian/control
>  create mode 100644 debian/ibacm.install
>  create mode 100644 debian/ibverbs-providers.install
>  create mode 100644 debian/ibverbs-utils.install
>  create mode 100644 debian/iwpmd.install
>  create mode 100644 debian/libibcm-dev.install
>  create mode 100644 debian/libibcm1.install
>  create mode 100644 debian/libibcm1.symbols
>  create mode 100644 debian/libibumad-dev.install
>  create mode 100644 debian/libibumad3.install
>  create mode 100644 debian/libibumad3.symbols
>  create mode 100644 debian/libibverbs-dev.install
>  create mode 100644 debian/libibverbs1.install
>  create mode 100644 debian/libibverbs1.postinst
>  create mode 100644 debian/libibverbs1.symbols
>  create mode 100644 debian/librdmacm-dev.install
>  create mode 100644 debian/librdmacm1.install
>  create mode 100644 debian/librdmacm1.symbols
>  create mode 100644 debian/rdmacm-utils.install
>  create mode 100755 debian/rules
>  create mode 100644 debian/srptools.default
>  create mode 100644 debian/srptools.init
>  create mode 100644 debian/srptools.install
>  rename iwpmd/{src => }/iwarp_pm.h (100%)
>  rename iwpmd/{src => }/iwarp_pm_common.c (100%)
>  rename iwpmd/{src => }/iwarp_pm_helper.c (100%)
>  rename iwpmd/{src => }/iwarp_pm_server.c (100%)
>  rename iwpmd/{src => }/iwpm_netlink.h (100%)
>  delete mode 100644 iwpmd/src/.dirstamp
>  delete mode 100644 iwpmd/src/CMakeLists.txt
>  delete mode 100644 libcxgb4/COPYING
>  rename libibcm/{src => }/CMakeLists.txt (74%)
>  rename libibcm/{src => }/cm.c (100%)
>  rename libibcm/{include/infiniband => }/cm.h (100%)
>  rename libibcm/{include/infiniband => }/cm_abi.h (100%)
>  rename libibcm/{src => }/libibcm.map (100%)
>  create mode 100644 libibumad/CMakeLists.txt
>  delete mode 100755 libibumad/gen_chlog.sh
>  rename libibumad/{src => }/libibumad.map (100%)
>  delete mode 100644 libibumad/libibumad.ver
>  delete mode 100644 libibumad/man/umad_attribute_str.3
>  delete mode 100644 libibumad/man/umad_mad_status_str.3
>  delete mode 100644 libibumad/man/umad_method_str.3
>  delete mode 100644 libibumad/src/CMakeLists.txt
>  rename libibumad/{src => }/sysfs.c (100%)
>  rename libibumad/{src => }/umad.c (100%)
>  rename libibumad/{include/infiniband => }/umad.h (100%)
>  rename libibumad/{include/infiniband => }/umad_cm.h (100%)
>  rename libibumad/{include/infiniband => }/umad_sa.h (100%)
>  rename libibumad/{include/infiniband => }/umad_sm.h (100%)
>  rename libibumad/{src => }/umad_str.c (100%)
>  rename libibumad/{include/infiniband => }/umad_str.h (100%)
>  rename libibumad/{include/infiniband => }/umad_types.h (100%)
>  rename libibverbs/{src => }/CMakeLists.txt (56%)
>  rename libibverbs/{include/infiniband => }/arch.h (100%)
>  rename libibverbs/{src => }/cmd.c (100%)
>  rename libibverbs/{src => }/compat-1_0.c (100%)
>  rename libibverbs/{src => }/device.c (100%)
>  rename libibverbs/{include/infiniband => }/driver.h (100%)
>  rename libibverbs/{src => }/enum_strs.c (100%)
>  rename libibverbs/{src => }/ibverbs.h (100%)
>  rename libibverbs/{src => }/init.c (100%)
>  rename libibverbs/{include/infiniband => }/kern-abi.h (100%)
>  rename libibverbs/{src => }/libibverbs.map (100%)
>  rename libibverbs/{src => }/marshall.c (100%)
>  rename libibverbs/{include/infiniband => }/marshall.h (100%)
>  rename libibverbs/{src => }/memory.c (100%)
>  rename libibverbs/{src => }/neigh.c (100%)
>  rename libibverbs/{src => }/neigh.h (100%)
>  rename libibverbs/{src => }/nl1_compat.h (100%)
>  rename libibverbs/{include/infiniband => }/opcode.h (100%)
>  rename libibverbs/{include/infiniband => }/sa-kern-abi.h (100%)
>  rename libibverbs/{include/infiniband => }/sa.h (100%)
>  rename libibverbs/{src => }/sysfs.c (100%)
>  rename libibverbs/{src => }/verbs.c (100%)
>  rename libibverbs/{include/infiniband => }/verbs.h (100%)
>  delete mode 100644 libipathverbs/src/CMakeLists.txt
>  rename librdmacm/{src => }/CMakeLists.txt (81%)
>  rename librdmacm/{src => }/acm.c (100%)
>  rename librdmacm/{src => }/addrinfo.c (100%)
>  rename librdmacm/{src => }/cma.c (100%)
>  rename librdmacm/{src => }/cma.h (100%)
>  rename librdmacm/{include/infiniband => }/ib.h (100%)
>  rename librdmacm/{src => }/indexer.c (100%)
>  rename librdmacm/{src => }/indexer.h (100%)
>  rename librdmacm/{src => }/librdmacm.map (100%)
>  rename librdmacm/{src => }/librspreload.map (100%)
>  rename librdmacm/{src => }/preload.c (100%)
>  rename librdmacm/{include/rdma => }/rdma_cma.h (100%)
>  rename librdmacm/{include/rdma => }/rdma_cma_abi.h (100%)
>  rename librdmacm/{include/rdma => }/rdma_verbs.h (100%)
>  rename librdmacm/{src => }/rsocket.c (100%)
>  rename librdmacm/{include/rdma => }/rsocket.h (100%)
>  delete mode 100644 librxe/src/CMakeLists.txt
>  rename {libcxgb3/src => providers/cxgb3}/CMakeLists.txt (100%)
>  rename {libcxgb3/src => providers/cxgb3}/cq.c (100%)
>  rename {libcxgb3/src => providers/cxgb3}/cxio_wr.h (99%)
>  rename {libcxgb3/src => providers/cxgb3}/firmware_exports.h (100%)
>  rename {libcxgb3/src => providers/cxgb3}/iwch-abi.h (100%)
>  rename {libcxgb3/src => providers/cxgb3}/iwch.c (100%)
>  rename {libcxgb3/src => providers/cxgb3}/iwch.h (100%)
>  rename {libcxgb3/src => providers/cxgb3}/qp.c (100%)
>  rename {libcxgb3/src => providers/cxgb3}/verbs.c (100%)
>  rename {libcxgb4/src => providers/cxgb4}/CMakeLists.txt (100%)
>  rename {libcxgb4/src => providers/cxgb4}/cq.c (100%)
>  rename {libcxgb4/src => providers/cxgb4}/cxgb4-abi.h (100%)
>  rename {libcxgb4/src => providers/cxgb4}/dev.c (100%)
>  rename {libcxgb4/src => providers/cxgb4}/libcxgb4.h (100%)
>  rename {libcxgb4/src => providers/cxgb4}/qp.c (100%)
>  rename {libcxgb4/src => providers/cxgb4}/t4.h (99%)
>  rename {libcxgb4/src => providers/cxgb4}/t4_chip_type.h (100%)
>  rename {libcxgb4/src => providers/cxgb4}/t4_pci_id_tbl.h (100%)
>  rename {libcxgb4/src => providers/cxgb4}/t4_regs.h (100%)
>  rename {libcxgb4/src => providers/cxgb4}/t4fw_api.h (100%)
>  rename {libcxgb4/src => providers/cxgb4}/t4fw_ri_api.h (100%)
>  rename {libcxgb4/src => providers/cxgb4}/verbs.c (100%)
>  rename {libhfi1verbs/src => providers/hfi1verbs}/CMakeLists.txt (100%)
>  rename {libhfi1verbs/src => providers/hfi1verbs}/hfi-abi.h (100%)
>  rename {libhfi1verbs/src => providers/hfi1verbs}/hfiverbs.c (100%)
>  rename {libhfi1verbs/src => providers/hfi1verbs}/hfiverbs.h (100%)
>  rename {libhfi1verbs/src => providers/hfi1verbs}/verbs.c (100%)
>  rename {libi40iw/src => providers/i40iw}/CMakeLists.txt (100%)
>  rename {libi40iw/src => providers/i40iw}/i40e_devids.h (100%)
>  rename {libi40iw/src => providers/i40iw}/i40iw-abi.h (100%)
>  rename {libi40iw/src => providers/i40iw}/i40iw_d.h (100%)
>  rename {libi40iw/src => providers/i40iw}/i40iw_osdep.h (100%)
>  rename {libi40iw/src => providers/i40iw}/i40iw_register.h (100%)
>  rename {libi40iw/src => providers/i40iw}/i40iw_status.h (100%)
>  rename {libi40iw/src => providers/i40iw}/i40iw_uk.c (100%)
>  rename {libi40iw/src => providers/i40iw}/i40iw_umain.c (100%)
>  rename {libi40iw/src => providers/i40iw}/i40iw_umain.h (100%)
>  rename {libi40iw/src => providers/i40iw}/i40iw_user.h (100%)
>  rename {libi40iw/src => providers/i40iw}/i40iw_uverbs.c (100%)
>  rename {libipathverbs => providers/ipathverbs}/CMakeLists.txt (84%)
>  rename {libipathverbs => providers/ipathverbs}/COPYING (100%)
>  rename {libipathverbs => providers/ipathverbs}/dracut_check (100%)
>  rename {libipathverbs => providers/ipathverbs}/dracut_install (100%)
>  rename {libipathverbs => providers/ipathverbs}/dracut_kmod (100%)
>  rename {libipathverbs/src => providers/ipathverbs}/ipath-abi.h (100%)
>  rename {libipathverbs/src => providers/ipathverbs}/ipathverbs.c (100%)
>  rename {libipathverbs/src => providers/ipathverbs}/ipathverbs.h (100%)
>  rename {libipathverbs => providers/ipathverbs}/truescale-serdes.cmds (100%)
>  rename {libipathverbs => providers/ipathverbs}/truescale.conf.in (100%)
>  rename {libipathverbs/src => providers/ipathverbs}/verbs.c (100%)
>  rename {libmlx4/src => providers/mlx4}/CMakeLists.txt (100%)
>  rename {libmlx4 => providers/mlx4}/COPYING (100%)
>  rename {libmlx4/src => providers/mlx4}/buf.c (100%)
>  rename {libmlx4/src => providers/mlx4}/cq.c (100%)
>  rename {libmlx4/src => providers/mlx4}/dbrec.c (100%)
>  rename {libmlx4/src => providers/mlx4}/doorbell.h (100%)
>  rename {libmlx4/src => providers/mlx4}/mlx4-abi.h (100%)
>  rename {libmlx4/src => providers/mlx4}/mlx4.c (100%)
>  rename {libmlx4/src => providers/mlx4}/mlx4.h (100%)
>  rename {libmlx4/src => providers/mlx4}/mmio.h (100%)
>  rename {libmlx4/src => providers/mlx4}/qp.c (100%)
>  rename {libmlx4/src => providers/mlx4}/srq.c (100%)
>  rename {libmlx4/src => providers/mlx4}/verbs.c (100%)
>  rename {libmlx4/src => providers/mlx4}/wqe.h (100%)
>  rename {libmlx5/src => providers/mlx5}/CMakeLists.txt (100%)
>  rename {libmlx5/src => providers/mlx5}/bitmap.h (100%)
>  rename {libmlx5/src => providers/mlx5}/buf.c (100%)
>  rename {libmlx5/src => providers/mlx5}/cq.c (100%)
>  rename {libmlx5/src => providers/mlx5}/dbrec.c (100%)
>  rename {libmlx5/src => providers/mlx5}/doorbell.h (100%)
>  rename {libmlx5/src => providers/mlx5}/mlx5-abi.h (100%)
>  rename {libmlx5/src => providers/mlx5}/mlx5.c (100%)
>  rename {libmlx5/src => providers/mlx5}/mlx5.h (100%)
>  rename {libmlx5/src => providers/mlx5}/qp.c (100%)
>  rename {libmlx5/src => providers/mlx5}/srq.c (100%)
>  rename {libmlx5/src => providers/mlx5}/verbs.c (100%)
>  rename {libmlx5/src => providers/mlx5}/wqe.h (100%)
>  rename {libmthca/src => providers/mthca}/CMakeLists.txt (100%)
>  rename {libmthca/src => providers/mthca}/ah.c (100%)
>  rename {libmthca/src => providers/mthca}/buf.c (100%)
>  rename {libmthca/src => providers/mthca}/cq.c (100%)
>  rename {libmthca/src => providers/mthca}/doorbell.h (100%)
>  rename {libmthca/src => providers/mthca}/memfree.c (100%)
>  rename {libmthca/src => providers/mthca}/mthca-abi.h (100%)
>  rename {libmthca/src => providers/mthca}/mthca.c (100%)
>  rename {libmthca/src => providers/mthca}/mthca.h (100%)
>  rename {libmthca/src => providers/mthca}/qp.c (100%)
>  rename {libmthca/src => providers/mthca}/srq.c (100%)
>  rename {libmthca/src => providers/mthca}/verbs.c (100%)
>  rename {libmthca/src => providers/mthca}/wqe.h (100%)
>  rename {libnes/src => providers/nes}/CMakeLists.txt (100%)
>  rename {libnes/src => providers/nes}/nes-abi.h (100%)
>  rename {libnes/src => providers/nes}/nes_umain.c (100%)
>  rename {libnes/src => providers/nes}/nes_umain.h (100%)
>  rename {libnes/src => providers/nes}/nes_uverbs.c (100%)
>  rename {libocrdma/src => providers/ocrdma}/CMakeLists.txt (100%)
>  rename {libocrdma => providers/ocrdma}/Changelog (100%)
>  rename {libocrdma/src => providers/ocrdma}/ocrdma_abi.h (100%)
>  rename {libocrdma/src => providers/ocrdma}/ocrdma_main.c (100%)
>  rename {libocrdma/src => providers/ocrdma}/ocrdma_main.h (100%)
>  rename {libocrdma/src => providers/ocrdma}/ocrdma_verbs.c (100%)
>  rename {librxe => providers/rxe}/CMakeLists.txt (84%)
>  rename {librxe => providers/rxe}/man/CMakeLists.txt (100%)
>  rename {librxe => providers/rxe}/man/rxe.7 (100%)
>  rename {librxe => providers/rxe}/man/rxe_cfg.8 (100%)
>  rename {librxe/src => providers/rxe}/rxe-abi.h (100%)
>  rename {librxe/src => providers/rxe}/rxe.c (100%)
>  rename {librxe/src => providers/rxe}/rxe.h (100%)
>  rename {librxe => providers/rxe}/rxe_cfg (100%)
>  rename {librxe/src => providers/rxe}/rxe_queue.h (100%)
>  create mode 100644 rdma-core.spec
>  create mode 100644 srp_daemon/CMakeLists.txt
>  rename srp_daemon/{man => }/ibsrpdm.1 (100%)
>  rename srp_daemon/{srp_daemon => }/logrotate-srp_daemon (100%)
>  delete mode 100644 srp_daemon/man/CMakeLists.txt
>  rename srp_daemon/{srp_daemon => }/rsyslog-srp_daemon.conf (100%)
>  rename srp_daemon/{man => }/srp_daemon.1.in (100%)
>  rename srp_daemon/{srp_daemon => }/srp_daemon.c (100%)
>  rename srp_daemon/{srp_daemon => }/srp_daemon.conf (100%)
>  rename srp_daemon/{srp_daemon => }/srp_daemon.h (100%)
>  rename srp_daemon/{srp_daemon => }/srp_daemon.sh.in (100%)
>  delete mode 100644 srp_daemon/srp_daemon/CMakeLists.txt
>  rename srp_daemon/{srp_daemon => }/srp_handle_traps.c (100%)
>  rename srp_daemon/{srp_daemon => }/srp_ib_types.h (100%)
>  rename srp_daemon/{srp_daemon => }/srp_sync.c (100%)
>  rename srp_daemon/{srp_daemon => }/srpd.in (100%)
>
> --
> 2.1.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply

* Re: [PATCH qedr 04/10] qedr: Add support for PD,PKEY and CQ verbs
From: Leon Romanovsky @ 2016-10-07 14:24 UTC (permalink / raw)
  To: Elior, Ariel
  Cc: dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org,
	Kalderon, Michal, Mintz, Yuval, Borundia, Rajesh,
	linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Amrani, Ram
In-Reply-To: <CY1PR0701MB1337AC7B933E917765C3EBC990C60-UpKza+2NMNLi6bjPjkn3FE5OhdzP3rhOnBOFsp37pqbUKgpGm//BTAC/G2K4zDHf@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 2577 bytes --]

On Fri, Oct 07, 2016 at 10:47:18AM +0000, Elior, Ariel wrote:
> > > @@ -66,6 +85,12 @@ struct rdma_cqe_common {
> > >     struct regpair qp_handle;
> > >     __le16 reserved1[7];
> > >     u8 flags;
> > > +#define RDMA_CQE_COMMON_TOGGLE_BIT_MASK  0x1
> > > +#define RDMA_CQE_COMMON_TOGGLE_BIT_SHIFT 0
> > > +#define RDMA_CQE_COMMON_TYPE_MASK        0x3
> > > +#define RDMA_CQE_COMMON_TYPE_SHIFT       1
> > > +#define RDMA_CQE_COMMON_RESERVED2_MASK   0x1F
> > > +#define RDMA_CQE_COMMON_RESERVED2_SHIFT  3
> > >     u8 status;
> >
> > It is VERY uncommon to mix defines and structs together.
> > Please don't do it, it confuses a lot and doesn't help to
> > readability/debug.
>
> Hi Leon,
> Firstly, thanks for investing your time in reviewing our driver.
> As for mixed defines and structures, far from being very uncommon, they are
> actually ubiquitous throughout the kernel and are used by the foremost
> developers (Dave Miller, Linus, Jeff Kirsher).

Net subsystem is very different from other kernel community.
For example, this article from LWN [1] - "Coding-style exceptionalism"
talks about it.

>
> In infiniband tree alone, at least three drivers employ this:
> drivers/infiniband/hw/ocrdma/ocrdma_sli.h line 1900
> drivers/infiniband/hw/mthca/mthca_user.h line 68
> drivers/infiniband/hw/cxgb3/cxio_hal.h line 116

All of them are copy-paste from pre-historic era.

>
> In the net subsystem, it is even more widely used (~14k places), including
> mellanox and intel drivers, as well as our bnx2x and qed* drivers and many
> others. A few examples can be seen under:
> drivers/net/ethernet/mellanox/mlx4/en_port.h line 94
> drivers/net/ethernet/mellanox/mlx4/mlx4_en.h line 345
> drivers/net/ethernet/mellanox/mlx4/fw.c line 2759

Thanks for pointing it.
We will fix it.

> drivers/net/ethernet/intel/ixgbe/ixgbe.h line 623 (Jeff Kirsher)
> drivers/net/ethernet/broadcom/tg3.h line 2540 (Dave Miller)
> ixgbe.h uses this exactly like we do in the code you cited.
>
> In other kernel cornerstones:
> fs/ext4/ext4.h line 1287 (Linus)

1. From git blame, this define was added in 2010 !!!!
2. It has totally different meaning from your code - to mark the
position in the structure.

> include/net/sock.h line 312 (Dave)

Net is a bad example.

>
> I don't think there are grounds for objecting to this style. We'll take care
> of the rest of your comments.

As you wish, at the end it will be Doug's decision, if he wants to see
driver submitted in 2016 in different coding style from rest of the subsystem.

[1] https://lwn.net/Articles/694755/

>
> Thanks,
> Ariel

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply

* Re: [PATCH rdma-next 00/10] Hardware tag matching support
From: Leon Romanovsky @ 2016-10-07 14:56 UTC (permalink / raw)
  To: dledford-H+wXaHxf7aLQT0dZR+AlfA; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1472382050-25908-1-git-send-email-leon-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 5872 bytes --]

On Sun, Aug 28, 2016 at 02:00:40PM +0300, Leon Romanovsky wrote:
> Message Passing Interface (MPI) is a communication protocol that is
> widely used for exchange of messages among processes in high-performance
> computing (HPC) systems. Messages sent from a sending process to a
> destination process are marked with an identifying label, referred to as
> a tag. Destination processes post buffers in local memory that are
> similarly marked with tags. When a message is received by the receiver
> (i.e., the host computer on which the destination process is running),
> the message is stored in a buffer whose tag matches the message tag. The
> process of finding a buffer with a matching tag for the received packet
> is called tag matching.
>
> There are two protocols that are generally used to send messages over
> MPI: The "Eager Protocol" is best suited to small messages that are
> simply sent to the destination process and received in an appropriate
> matching buffer. The "Rendezvous Protocol" is better suited to large
> messages. In Rendezvous, when the sender process has a large message to
> send, it first sends a small message to the destination process
> announcing its intention to send the large message. This small message
> is referred to as an RTS (ready to send) message. The RTS includes the
> message tag and buffer address in the sender. The destination process
> matches the RTS to a posted receive buffer, or posts such a buffer if
> one does not already exist. Once a matching receive buffer has been
> posted at the destination process side, the receiver initiates a remote
> direct memory access (RDMA) read request to read the data from the
> buffer address listed by the sender in the RTS message.
>
> MPI tag matching, when performed in software by a host processor, can
> consume substantial host resources, thus detracting from the performance
> of the actual software applications that are using MPI for
> communications. One possible solution is to offload the entire tag
> matching process to a peripheral hardware device, such as a network
> interface controller (NIC). In this case, the software application using
> MPI will post a set of buffers in a memory of the host processor and
> will pass the entire list of tags associated with the buffers to the
> NIC. In large-scale networks, however, the NIC may be required to
> simultaneously support many communicating processes and contexts
> (referred to in MPI parlance as "ranks" and "communicators,"
> respectively). NIC access to and matching of the large lists of tags
> involved in such a scenario can itself become a bottleneck. The NIC must
> also be able to handle "unexpected" traffic, for which buffers and tags
> have not yet been posted, which may also degrade performance.
>
> When the NIC receives a message over the network from one of the peer
> processes, and the message contains a label in accordance with the
> protocol, the NIC compares the label to the labels in the part of the
> list that was pushed to the NIC. Upon finding a match to the label, the
> NIC writes data conveyed in the message to the buffer in the memory that
> is associated with this label and submits a notification to the software
> process. The notification serves two purposes: both to indicate to the
> software process that the label has been consumed, so that the process
> will update the list of the labels posted to the NIC; and to inform the
> software process that the data are available in the buffer. In some
> cases (such as when the NIC retrieves the data from the remote node by
> RDMA), the NIC may submit two notifications, in the form of completion
> reports, of which the first informs the software process of the
> consumption of the label and the second announces availability of the
> data.
>
> This patch series adds to Mellanox ConnectX HCA driver support of
> tag matching. It introduces new hardware object eXtended shared Receive
> Queue (XRQ), which follows SRQ semantics with addition of extended
> receive buffers topologies and offloads. This series adds tag matching
> topology and rendezvouz offload.
>
> Available in the "topic/xrq" topic branch of this git repo:
> git://git.kernel.org/pub/scm/linux/kernel/git/leon/linux-rdma.git
>
> Or for browsing:
> https://git.kernel.org/cgit/linux/kernel/git/leon/linux-rdma.git/log/?h=topic/xrq

Hi Doug,

For any reasons, I don't see this patch set in your tree. Did I miss it?

Thanks

>
> Thanks,
>   Artemy & Leon
>
> Artemy Kovalyov (10):
>   IB/core: Add XRQ capabilities
>   IB/core: Make CQ separate part of SRQ context
>   IB/core: Add new SRQ type IB_SRQT_TAG_MATCHING
>   IB/uverbs: Expose tag matching capabilties to UAPI
>   IB/uverbs: Expose XRQ capabilities
>   IB/uverbs: Add XRQ creation parameter to UAPI
>   IB/uverbs: Add new SRQ type IB_SRQT_TAG_MATCHING
>   IB/mlx5: Fill XRQ capabilities
>   net/mlx5: Add XRQ support
>   IB/mlx5: Support IB_SRQT_TAG_MATCHING
>
>  drivers/infiniband/core/uverbs_cmd.c          |  31 +++++-
>  drivers/infiniband/core/verbs.c               |  16 +--
>  drivers/infiniband/hw/mlx5/main.c             |  21 +++-
>  drivers/infiniband/hw/mlx5/mlx5_ib.h          |   6 ++
>  drivers/infiniband/hw/mlx5/srq.c              |  15 ++-
>  drivers/net/ethernet/mellanox/mlx5/core/srq.c | 150 ++++++++++++++++++++++++--
>  include/linux/mlx5/driver.h                   |   1 +
>  include/linux/mlx5/srq.h                      |   5 +
>  include/rdma/ib_verbs.h                       |  61 +++++++++--
>  include/uapi/rdma/ib_user_verbs.h             |  36 ++++++-
>  10 files changed, 307 insertions(+), 35 deletions(-)
>
> --
> 2.7.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

^ permalink raw reply

* RE: [PATCH rdma-next 00/10] Hardware tag matching support
From: Hefty, Sean @ 2016-10-07 16:47 UTC (permalink / raw)
  To: Leon Romanovsky, dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
In-Reply-To: <20161007145620.GV9282-2ukJVAZIZ/Y@public.gmane.org>

> For any reasons, I don't see this patch set in your tree. Did I miss
> it?
> 
> Thanks
> 
> >
> > Thanks,
> >   Artemy & Leon
> >
> > Artemy Kovalyov (10):
> >   IB/core: Add XRQ capabilities
> >   IB/core: Make CQ separate part of SRQ context
> >   IB/core: Add new SRQ type IB_SRQT_TAG_MATCHING
> >   IB/uverbs: Expose tag matching capabilties to UAPI
> >   IB/uverbs: Expose XRQ capabilities
> >   IB/uverbs: Add XRQ creation parameter to UAPI
> >   IB/uverbs: Add new SRQ type IB_SRQT_TAG_MATCHING
> >   IB/mlx5: Fill XRQ capabilities
> >   net/mlx5: Add XRQ support
> >   IB/mlx5: Support IB_SRQT_TAG_MATCHING

I was out when these were submitted, so this may have been answered.  These patches change the uABI.  Have the changes been vetted out by the IBTA or some other standards (I'm using that term loosely) organization?
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [Bug 176901] New: Running ib_rdma_bw over rxe loopback triggers a kernel oops
From: Bart Van Assche @ 2016-10-07 16:49 UTC (permalink / raw)
  To: Parav Pandit; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <CAG53R5X-=b1RFR87ieL4e=ANTV0JfjO6qm8_AdXWeudQQ17oSA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>

On 10/06/16 20:28, Parav Pandit wrote:
> On Fri, Oct 7, 2016 at 4:53 AM,  <bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r@public.gmane.org> wrote:
>> https://bugzilla.kernel.org/show_bug.cgi?id=176901
> This bug is fixed with my patch [1] and Doug ack also about merging fix.
>
> [1] https://patchwork.kernel.org/patch/9354863/

Hello Parav,

Thank you for the feedback. Do you perhaps know which branch Doug will 
send to Linus? I haven't found any post-v4.8 rxe changes in Doug's 
for-4.9-good branch:

$ git log --format=oneline v4.8..dledford/k.o/for-4.9-good 
drivers/infiniband/sw include/uapi/rdma/*rxe*
60747ef4d173c2747bf7f0377fb22846cb422195 Merge 
git://git.kernel.org/pub/scm/linux/kernel/git/davem/net

Something else I was wondering about is whether or not the rdma_rxe 
driver should allow being attached to a bridge interface? Apparently the 
rdma_rxe driver allows attaching to both the non-bridged and the bridged 
interfaces, resulting in duplicate GIDs:

# modprobe rdma_rxe
# brctl addbr virbr0
# brctl addif virbr0 eth1
# rxe_cfg add eth1
# rxe_cfg add virbr0
# rxe_cfg
   Name    Link  Driver      Speed  NMTU  IPv4_addr      RDEV  RMTU
   eth0    yes   virtio_net         1500  192.168.1.123
   eth1    no    virtio_net         1500                 rxe0
   virbr0  no    bridge             1500                 rxe1
# (cd /sys/class/infiniband && grep -aH '' */ports/*/gids/0)
rxe0/ports/1/gids/0:fe80:0000:0000:0000:5054:00ff:fefd:2e4e
rxe1/ports/1/gids/0:fe80:0000:0000:0000:5054:00ff:fefd:2e4e

Should it ever be allowed that two different ports have the same GID?

Thanks,

Bart.


--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply

* Re: [PATCH rdma-core 00/17] Fixes, flattening and packaging
From: Doug Ledford @ 2016-10-07 17:07 UTC (permalink / raw)
  To: Jason Gunthorpe, linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <1475787103-13283-1-git-send-email-jgunthorpe-ePGOBjL8dl3ta4EC/59zMFaTQe2KTcn/@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 1431 bytes --]

On 10/6/2016 4:51 PM, Jason Gunthorpe wrote:
> This is mostly a grab bag of the finished work left in my tree:
> 
>  - Missed items for the last merge
>  - Fix a few mistakes in the earlier patches and build system
>  - Final rename of directories to make the tree shallower (eg eliminate src/, add providers/)
>  - RPM and DEB packaging
> 
> See
> 
> https://github.com/linux-rdma/rdma-core/pull/13
> 
> Jason Gunthorpe (17):
>   Update Intel lists in MAINTAINERS
>   Update COPYING to reflect recent cxgb4 merge
>   Update comment in cxbg* drivers
>   Remove missed auto* related files
>   rdmacm: Drop SONAME in rspreload
>   umad: Use symlinks instead of a NROFF .so directive
>   verbs: Remove -fno-strict-aliasing
>   Move providers into providers/
>   iwpmd: Flatten iwpmd/src into iwpmd/
>   srp_deamon: Flatten srp_daemon/src,etc into srp_daemon/
>   ibcm: Flatten libibcm/src,include into libibcm/
>   umad: Flatten libibumad/src,include into libibumad/
>   verbs: Flatten libibverbs/src,include into libibverbs/
>   rdmacm: Flatten librdmacm/src,include into librdmacm/
>   Combined RPM Spec file
>   srp_daemon: Add the debian initscripts as an option
>   Debian Packaging

Thanks Jason, series (including the addition of adding Steve Wise to the
Maintainers file for iwpmd) applied.


-- 
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
    GPG Key ID: 0E572FDD


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]

^ permalink raw reply

* Re: [Bug 176901] New: Running ib_rdma_bw over rxe loopback triggers a kernel oops
From: Doug Ledford @ 2016-10-07 17:12 UTC (permalink / raw)
  To: Bart Van Assche, Parav Pandit; +Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA
In-Reply-To: <9822c558-91d0-8d6a-8f64-07949d9fdaf7-XdAiOPVOjttBDgjK7y7TUQ@public.gmane.org>


[-- Attachment #1.1: Type: text/plain, Size: 2755 bytes --]

On 10/7/2016 12:49 PM, Bart Van Assche wrote:
> On 10/06/16 20:28, Parav Pandit wrote:
>> On Fri, Oct 7, 2016 at 4:53 AM,  <bugzilla-daemon-590EEB7GvNiWaY/ihj7yzEB+6BGkLq7r@public.gmane.org>
>> wrote:
>>> https://bugzilla.kernel.org/show_bug.cgi?id=176901
>> This bug is fixed with my patch [1] and Doug ack also about merging fix.
>>
>> [1] https://patchwork.kernel.org/patch/9354863/
> 
> Hello Parav,
> 
> Thank you for the feedback. Do you perhaps know which branch Doug will
> send to Linus? I haven't found any post-v4.8 rxe changes in Doug's
> for-4.9-good branch:

I had to rebase my k.o/for-4.9 branch.  So, k.o/for-4.9 became
k.o/for-4.9-bad (which has Parav's patches in it), and I made a new
k.o/for-4.9-good that does not have Parav's patches in it.  I then had
to add Parav's patches to my k.o/for-4.9-hfi1 branch (I know, that makes
no sense, but bear with me).  The issue is that the k.o/for-4.9-hfi1
branch needed a very late 4.7-rc base (4.7-rc7 I think) in order for the
hfi1 patches to apply cleanly.  I put Parav's patches into my for-4.9
branch originally, but when I did a merge test with Linus tree, I found
that one of them in particular conflicts with patches that were also
late in the 4.7-rc cycle.  By putting Parav's patches into the hfi1
branch, I can resolve that conflict myself and will be able to send a
clean pull request of just the rxe patches to Linus.  So, long story
short, pull my k.o/for-4.9-hfi1 branch and test against it.

> $ git log --format=oneline v4.8..dledford/k.o/for-4.9-good
> drivers/infiniband/sw include/uapi/rdma/*rxe*
> 60747ef4d173c2747bf7f0377fb22846cb422195 Merge
> git://git.kernel.org/pub/scm/linux/kernel/git/davem/net
> 
> Something else I was wondering about is whether or not the rdma_rxe
> driver should allow being attached to a bridge interface? Apparently the
> rdma_rxe driver allows attaching to both the non-bridged and the bridged
> interfaces, resulting in duplicate GIDs:
> 
> # modprobe rdma_rxe
> # brctl addbr virbr0
> # brctl addif virbr0 eth1
> # rxe_cfg add eth1
> # rxe_cfg add virbr0
> # rxe_cfg
>   Name    Link  Driver      Speed  NMTU  IPv4_addr      RDEV  RMTU
>   eth0    yes   virtio_net         1500  192.168.1.123
>   eth1    no    virtio_net         1500                 rxe0
>   virbr0  no    bridge             1500                 rxe1
> # (cd /sys/class/infiniband && grep -aH '' */ports/*/gids/0)
> rxe0/ports/1/gids/0:fe80:0000:0000:0000:5054:00ff:fefd:2e4e
> rxe1/ports/1/gids/0:fe80:0000:0000:0000:5054:00ff:fefd:2e4e
> 
> Should it ever be allowed that two different ports have the same GID?



-- 
Doug Ledford <dledford-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>
    GPG Key ID: 0E572FDD


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 884 bytes --]

^ permalink raw reply

* Re: [PATCH rdma-core 00/17] Fixes, flattening and packaging
From: Jason Gunthorpe @ 2016-10-07 18:05 UTC (permalink / raw)
  To: Leon Romanovsky
  Cc: linux-rdma-u79uwXL29TY76Z2rM5mHXA, Christoph Hellwig, Sean Hefty
In-Reply-To: <20161007140551.GT9282-2ukJVAZIZ/Y@public.gmane.org>

On Fri, Oct 07, 2016 at 05:05:51PM +0300, Leon Romanovsky wrote:

> Can you please add all patches from ML too to this pull request, so they
> apply cleanly?

git am -3 had no problem with the patches.

https://github.com/linux-rdma/rdma-core/pull/15

Someone will have to update patchworks, when will you have access to
handle the list patches?

Jason
--
To unsubscribe from this list: send the line "unsubscribe linux-rdma" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

^ permalink raw reply


This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox