Hello community,
here is the log from the commit of package rdma-core for openSUSE:Factory checked in at 2017-06-02 10:32:44
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rdma-core (Old)
and /work/SRC/openSUSE:Factory/.rdma-core.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rdma-core"
Fri Jun 2 10:32:44 2017 rev:2 rq:500404 version:14
Changes:
--------
--- /work/SRC/openSUSE:Factory/rdma-core/rdma-core.changes 2017-05-18 20:45:03.998809622 +0200
+++ /work/SRC/openSUSE:Factory/.rdma-core.new/rdma-core.changes 2017-06-02 10:33:21.507683493 +0200
@@ -1,0 +2,28 @@
+Tue May 30 08:36:52 UTC 2017 - nmoreychaisemartin@suse.com
+
+ - Update to v14 (bsc#321907).
+ * Introduction of bnxt_re driver
+ * Rework srp_daemon's systemd integration
+ * Various fixes in qedr, mlx4, mlx5, bnxrt_re and rxe drivers
+ * New supported PCI ID were added to mlx5
+ * Addition of manual pages for cmtime and udpong programs
+ * Multiple fixes of spelling types and documentation clarifications
+ * Sparse fixes
+ * rping gained ability to bind to source IP address
+ * Various improvements in cmake and cbuild infrastructures
+ * Add support for flow tag, CVLAN and VXLAN specifications
+ * Provide ability to pass private data to create CQ
+ * Exposure various device capabilities to user applications
+
+
+-------------------------------------------------------------------
+Mon May 29 14:11:24 UTC 2017 - nmoreychaisemartin@suse.com
+
+- Fix all references to /usr/libexec (bsc#1039999)
+
+-------------------------------------------------------------------
+Tue May 23 14:28:23 CEST 2017 - pth@suse.de
+
+- Fix rdma.service which had /usr/libexec hardcoded (bsc#1039999).
+
+-------------------------------------------------------------------
Old:
----
rdma-core-14-rc1-40-g706fc2af.tar.xz
New:
----
rdma-core-14.tar.xz
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ rdma-core.spec ++++++
--- /var/tmp/diff_new_pack.ziOVOJ/_old 2017-06-02 10:33:22.095600424 +0200
+++ /var/tmp/diff_new_pack.ziOVOJ/_new 2017-06-02 10:33:22.099599858 +0200
@@ -18,7 +18,7 @@
%bcond_without systemd
-%define git_ver -rc1-40-g706fc2af
+%define git_ver %{nil}
Name: rdma-core
Version: 14
@@ -100,10 +100,10 @@
Group: Development/Libraries/C and C++
Requires: %{name}%{?_isa} = %{version}-%{release}
-Requires: %{verbs_lname} = %{version}-%{release}
Requires: %{ibcm_lname} = %{version}-%{release}
-Requires: %{umad_lname} = %{version}-%{release}
Requires: %{rdmacm_lname} = %{version}-%{release}
+Requires: %{umad_lname} = %{version}-%{release}
+Requires: %{verbs_lname} = %{version}-%{release}
%ifnarch s390 s390x armv7hl
Requires: %{mlx5_lname} = %{version}-%{release}
%endif
@@ -341,21 +341,28 @@
mkdir -p %{buildroot}%{_udevrulesdir}
mkdir -p %{buildroot}%{dracutlibdir}/modules.d/05rdma
mkdir -p %{buildroot}%{sysmodprobedir}
+mkdir -p %{buildroot}%{_unitdir}
+#
install -D -m0644 redhat/rdma.conf %{buildroot}/%{_sysconfdir}/rdma/rdma.conf
+sed 's%/usr/libexec%/usr/lib%' redhat/rdma.service > %{buildroot}%{_unitdir}/rdma.service
+chmod 0644 %{buildroot}%{_unitdir}/rdma.service
install -D -m0644 redhat/rdma.sriov-vfs %{buildroot}/%{_sysconfdir}/rdma/sriov-vfs
install -D -m0644 redhat/rdma.mlx4.conf %{buildroot}/%{_sysconfdir}/rdma/mlx4.conf
-install -D -m0644 redhat/rdma.service %{buildroot}%{_unitdir}/rdma.service
install -D -m0644 redhat/rdma.udev-ipoib-naming.rules %{buildroot}%{_udevrulesdir}/70-persistent-ipoib.rules
install -D -m0644 redhat/rdma.mlx4.user.modprobe %{buildroot}%{_sysconfdir}/modprobe.d/50-mlx4.conf
-install -D -m0755 redhat/rdma.modules-setup.sh %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh
+sed 's%/usr/libexec%/usr/lib%g' redhat/rdma.modules-setup.sh > %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh
+chmod 0755 %{buildroot}%{dracutlibdir}/modules.d/05rdma/module-setup.sh
install -D -m0644 redhat/rdma.udev-rules %{buildroot}%{_udevrulesdir}/98-rdma.rules
-install -D -m0644 redhat/rdma.mlx4.sys.modprobe %{buildroot}%{sysmodprobedir}/50-libmlx4.conf
+sed 's%/usr/libexec%/usr/lib%g' redhat/rdma.mlx4.sys.modprobe > %{buildroot}%{sysmodprobedir}/50-libmlx4.conf
+chmod 0644 %{buildroot}%{sysmodprobedir}/50-libmlx4.conf
install -D -m0644 redhat/rdma.cxgb3.sys.modprobe %{buildroot}%{sysmodprobedir}/50-cxgb3.conf
install -D -m0644 redhat/rdma.cxgb4.sys.modprobe %{buildroot}%{sysmodprobedir}/50-cxgb4.conf
-install -D -m0755 redhat/rdma.kernel-init %{buildroot}%{_libexecdir}/rdma-init-kernel
+sed 's%/usr/libexec%/usr/lib%g' redhat/rdma.kernel-init > %{buildroot}%{_libexecdir}/rdma-init-kernel
+chmod 0755 %{buildroot}%{_libexecdir}/rdma-init-kernel
install -D -m0755 redhat/rdma.sriov-init %{buildroot}%{_libexecdir}/rdma-set-sriov-vf
install -D -m0644 redhat/rdma.fixup-mtrr.awk %{buildroot}%{_libexecdir}/rdma-fixup-mtrr.awk
install -D -m0755 redhat/rdma.mlx4-setup.sh %{buildroot}%{_libexecdir}/mlx4-setup.sh
+
mv %{buildroot}%{_sysconfdir}/modprobe.d/truescale.conf %{buildroot}%{_sysconfdir}/modprobe.d/50-truescale.conf
# ibacm
@@ -364,14 +371,14 @@
install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/
install -D -m0644 ../redhat/ibacm.service %{buildroot}%{_unitdir}/
-# srp_daemon
-install -D -m0644 ../redhat/srp_daemon.service %{buildroot}%{_unitdir}/
-
for service in rdma rdma-ndd ibacm iwpmd srp_daemon; do ln -sf %{_sbindir}/service %{buildroot}%{_sbindir}/rc${service}; done
# Delete the package's init.d scripts
rm -rf %{buildroot}/%{_initddir}/
+# Remove former srp_daemon.sh script
+rm %{buildroot}%{_sbindir}/srp_daemon.sh
+
%post -n %verbs_lname -p /sbin/ldconfig
%postun -n %verbs_lname -p /sbin/ldconfig
@@ -451,6 +458,7 @@
%postun -n rdma-ndd
%service_del_postun rdma-ndd.service
+
%files
%defattr(-,root,root)
%dir %{_sysconfdir}/rdma
@@ -463,6 +471,7 @@
%config(noreplace) %{_sysconfdir}/rdma/*
%exclude %{_libexecdir}/udev/rules.d/rdma-ndd.rules
%config(noreplace) %{_libexecdir}/udev/rules.d/*
+%exclude %{_libexecdir}/udev/rules.d/srp_daemon.rules
%config(noreplace) %{_sysconfdir}/modprobe.d/50-mlx4.conf
%config(noreplace) %{_sysconfdir}/modprobe.d/50-truescale.conf
%{_unitdir}/rdma.service
@@ -597,15 +606,21 @@
%files -n srp_daemon
%defattr(-,root,root)
+%dir %{_libexecdir}/srp_daemon
%config(noreplace) %{_sysconfdir}/srp_daemon.conf
+%config(noreplace) %{_libexecdir}/udev/rules.d/srp_daemon.rules
+%{_libexecdir}/srp_daemon/start_on_all_ports
%{_unitdir}/srp_daemon.service
+%{_unitdir}/srp_daemon_port@.service
%{_sbindir}/ibsrpdm
%{_sbindir}/srp_daemon
-%{_sbindir}/srp_daemon.sh
%{_sbindir}/run_srp_daemon
%{_sbindir}/rcsrp_daemon
%{_mandir}/man1/ibsrpdm.1*
%{_mandir}/man1/srp_daemon.1*
+%{_mandir}/man5/srp_daemon.service.5*
+%{_mandir}/man5/srp_daemon_port@.service.5*
+
%doc %{_docdir}/%{name}-%{version}/ibsrpdm.md
%files -n rdma-ndd
++++++ _service ++++++
--- /var/tmp/diff_new_pack.ziOVOJ/_old 2017-06-02 10:33:22.139594207 +0200
+++ /var/tmp/diff_new_pack.ziOVOJ/_new 2017-06-02 10:33:22.143593642 +0200
@@ -5,8 +5,8 @@
<param name="package-meta">no</param>
<param name="exclude">.git</param>
<param name="filename">rdma-core</param>
- <param name="version">14-rc1-40-g706fc2af</param>
- <param name="revision">706fc2af866f750a4aa9b61320c7da36bd8ed37c</param>
+ <param name="version">14</param>
+ <param name="revision">b2f6a3699b2a4bb1478e919b29e9a39307457e48</param>
</service>
<service name="recompress" mode="disabled">
<param name="file">*rdma-core*.tar</param>
++++++ rdma-core-14-rc1-40-g706fc2af.tar.xz -> rdma-core-14.tar.xz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/debian/libibumad3.install new/rdma-core-14/debian/libibumad3.install
--- old/rdma-core-14-rc1-40-g706fc2af/debian/libibumad3.install 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/debian/libibumad3.install 2017-05-30 05:47:40.000000000 +0200
@@ -1 +1,2 @@
usr/lib/*/libibumad*.so.*
+lib/udev/rules.d/libibumad.rules
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/debian/srptools.install new/rdma-core-14/debian/srptools.install
--- old/rdma-core-14-rc1-40-g706fc2af/debian/srptools.install 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/debian/srptools.install 2017-05-30 05:47:40.000000000 +0200
@@ -1,6 +1,12 @@
etc/srp_daemon.conf
+lib/systemd/system/srp_daemon.service
+lib/systemd/system/srp_daemon_port@.service
+lib/udev/rules.d/srp_daemon.rules
+usr/lib/srp_daemon/start_on_all_ports
usr/sbin/ibsrpdm
usr/sbin/srp_daemon
usr/share/doc/rdma-core/ibsrpdm.md usr/share/doc/srptools/
usr/share/man/man1/ibsrpdm.1
usr/share/man/man1/srp_daemon.1
+usr/share/man/man5/srp_daemon.service.5
+usr/share/man/man5/srp_daemon_port@.service.5
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/libibumad/CMakeLists.txt new/rdma-core-14/libibumad/CMakeLists.txt
--- old/rdma-core-14-rc1-40-g706fc2af/libibumad/CMakeLists.txt 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/libibumad/CMakeLists.txt 2017-05-30 05:47:40.000000000 +0200
@@ -14,3 +14,8 @@
umad.c
umad_str.c
)
+
+rdma_subst_install(FILES libibumad.udev-rules
+ RENAME libibumad.rules
+ DESTINATION "${CMAKE_INSTALL_UDEV_RULESDIR}")
+
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/libibumad/libibumad.udev-rules new/rdma-core-14/libibumad/libibumad.udev-rules
--- old/rdma-core-14-rc1-40-g706fc2af/libibumad/libibumad.udev-rules 1970-01-01 01:00:00.000000000 +0100
+++ new/rdma-core-14/libibumad/libibumad.udev-rules 2017-05-30 05:47:40.000000000 +0200
@@ -0,0 +1 @@
+ACTION=="add", SUBSYSTEM=="infiniband_mad", TAG+="systemd", ENV{SYSTEMD_ALIAS}="/dev/infiniband/umad/$attr{ibdev}:$attr{port}"
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/libibumad/umad.h new/rdma-core-14/libibumad/umad.h
--- old/rdma-core-14-rc1-40-g706fc2af/libibumad/umad.h 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/libibumad/umad.h 2017-05-30 05:47:40.000000000 +0200
@@ -247,15 +247,17 @@
free(umad);
}
+/* Users should use the glibc functions directly, not these wrappers */
#ifndef ntohll
-#undef htonll
#undef ntohll
-/* Users should use the glibc functions directly, not these wrappers */
-static inline __attribute__((deprecated)) uint64_t htonll(uint64_t x) { return htobe64(x); }
static inline __attribute__((deprecated)) uint64_t ntohll(uint64_t x) { return be64toh(x); }
-#define htonll htonll
#define ntohll ntohll
#endif
+#ifndef htonll
+#undef htonll
+static inline __attribute__((deprecated)) uint64_t htonll(uint64_t x) { return htobe64(x); }
+#define htonll htonll
+#endif
END_C_DECLS
#endif /* _UMAD_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/librdmacm/examples/rping.c new/rdma-core-14/librdmacm/examples/rping.c
--- old/rdma-core-14-rc1-40-g706fc2af/librdmacm/examples/rping.c 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/librdmacm/examples/rping.c 2017-05-30 05:47:40.000000000 +0200
@@ -141,6 +141,7 @@
sem_t sem;
struct sockaddr_storage sin;
+ struct sockaddr_storage ssource;
__be16 port; /* dst port in NBO */
int verbose; /* verbose logging */
int count; /* ping count */
@@ -1039,7 +1040,12 @@
else
((struct sockaddr_in6 *) &cb->sin)->sin6_port = cb->port;
- ret = rdma_resolve_addr(cb->cm_id, NULL, (struct sockaddr *) &cb->sin, 2000);
+ if (cb->ssource.ss_family)
+ ret = rdma_resolve_addr(cb->cm_id, (struct sockaddr *) &cb->ssource,
+ (struct sockaddr *) &cb->sin, 2000);
+ else
+ ret = rdma_resolve_addr(cb->cm_id, NULL, (struct sockaddr *) &cb->sin, 2000);
+
if (ret) {
perror("rdma_resolve_addr");
return ret;
@@ -1140,9 +1146,10 @@
{
printf("%s -s [-vVd] [-S size] [-C count] [-a addr] [-p port]\n",
basename(name));
- printf("%s -c [-vVd] [-S size] [-C count] -a addr [-p port]\n",
+ printf("%s -c [-vVd] [-S size] [-C count] [-I addr] -a addr [-p port]\n",
basename(name));
printf("\t-c\t\tclient side\n");
+ printf("\t-I\t\tSource address to bind to for client.\n");
printf("\t-s\t\tserver side. To bind to any address with IPv6 use -a ::0\n");
printf("\t-v\t\tdisplay ping data to stdout\n");
printf("\t-V\t\tvalidate ping data\n");
@@ -1174,11 +1181,14 @@
sem_init(&cb->sem, 0, 0);
opterr = 0;
- while ((op=getopt(argc, argv, "a:Pp:C:S:t:scvVd")) != -1) {
+ while ((op=getopt(argc, argv, "a:I:Pp:C:S:t:scvVd")) != -1) {
switch (op) {
case 'a':
ret = get_addr(optarg, (struct sockaddr *) &cb->sin);
break;
+ case 'I':
+ ret = get_addr(optarg, (struct sockaddr *) &cb->ssource);
+ break;
case 'P':
persistent_server = 1;
break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/librdmacm/man/rping.1 new/rdma-core-14/librdmacm/man/rping.1
--- old/rdma-core-14-rc1-40-g706fc2af/librdmacm/man/rping.1 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/librdmacm/man/rping.1 2017-05-30 05:47:40.000000000 +0200
@@ -7,7 +7,7 @@
.nf
\fIrping\fR -s [-v] [-V] [-d] [-P] [-a address] [-p port]
[-C message_count] [-S message_size]
-\fIrping\fR -c [-v] [-V] [-d] -a address [-p port]
+\fIrping\fR -c [-v] [-V] [-d] [-I address] -a address [-p port]
[-C message_count] [-S message_size]
.fi
.SH "DESCRIPTION"
@@ -27,6 +27,10 @@
To bind to any address with IPv6 use -a ::0 .
On the client, specifies the server address to connect to.
.TP
+\-I address
+The address to bind to as the source IP address to use. This is useful
+if you have multiple addresses on the same network or complex routing.
+.TP
\-p
Port number for listening server.
.TP
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/rdma-core.spec new/rdma-core-14/rdma-core.spec
--- old/rdma-core-14-rc1-40-g706fc2af/rdma-core.spec 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/rdma-core.spec 2017-05-30 05:47:40.000000000 +0200
@@ -1,5 +1,5 @@
Name: rdma-core
-Version: 13
+Version: 14
Release: 1%{?dist}
Summary: RDMA core userspace libraries and daemons
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/redhat/rdma-core.spec new/rdma-core-14/redhat/rdma-core.spec
--- old/rdma-core-14-rc1-40-g706fc2af/redhat/rdma-core.spec 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/redhat/rdma-core.spec 2017-05-30 05:47:40.000000000 +0200
@@ -1,5 +1,5 @@
Name: rdma-core
-Version: 13
+Version: 14
Release: 1%{?dist}
Summary: RDMA core userspace libraries and daemons
@@ -273,9 +273,6 @@
install -D -m0644 ibacm_opts.cfg %{buildroot}%{_sysconfdir}/rdma/
install -D -m0644 redhat/ibacm.service %{buildroot}%{_unitdir}/
-# srp_daemon
-install -D -m0644 redhat/srp_daemon.service %{buildroot}%{_unitdir}/
-
# Delete the package's init.d scripts
rm -rf %{buildroot}/%{_initrddir}/
@@ -403,6 +400,7 @@
%files -n libibumad
%{_libdir}/libibumad*.so.*
+%{_udevrulesdir}/libibumad.rules
%files -n librdmacm
%{_libdir}/librdmacm*.so.*
@@ -441,11 +439,15 @@
%files -n srp_daemon
%config(noreplace) %{_sysconfdir}/srp_daemon.conf
+%{_libexecdir}/srp_daemon/start_on_all_ports
%{_unitdir}/srp_daemon.service
+%{_unitdir}/srp_daemon_port@.service
%{_sbindir}/ibsrpdm
%{_sbindir}/srp_daemon
-%{_sbindir}/srp_daemon.sh
%{_sbindir}/run_srp_daemon
+%{_udevrulesdir}/srp_daemon.rules
%{_mandir}/man1/ibsrpdm.1*
%{_mandir}/man1/srp_daemon.1*
+%{_mandir}/man5/srp_daemon.service.5*
+%{_mandir}/man5/srp_daemon_port@.service.5*
%doc %{_docdir}/%{name}-%{version}/ibsrpdm.md
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/redhat/srp_daemon.service new/rdma-core-14/redhat/srp_daemon.service
--- old/rdma-core-14-rc1-40-g706fc2af/redhat/srp_daemon.service 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/redhat/srp_daemon.service 1970-01-01 01:00:00.000000000 +0100
@@ -1,17 +0,0 @@
-[Unit]
-Description=Start or stop the daemon that attaches to SRP devices
-Documentation=man:srp_daemon file:/etc/rdma/rdma.conf file:/etc/srp_daemon.conf
-DefaultDependencies=false
-Conflicts=emergency.target emergency.service
-Requires=rdma.service
-Wants=opensm.service
-After=rdma.service opensm.service
-After=network.target
-Before=remote-fs-pre.target
-
-[Service]
-Type=simple
-ExecStart=/usr/sbin/srp_daemon.sh
-
-[Install]
-WantedBy=remote-fs-pre.target
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/srp_daemon/CMakeLists.txt new/rdma-core-14/srp_daemon/CMakeLists.txt
--- old/rdma-core-14-rc1-40-g706fc2af/srp_daemon/CMakeLists.txt 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/srp_daemon/CMakeLists.txt 2017-05-30 05:47:40.000000000 +0200
@@ -3,6 +3,8 @@
rdma_man_pages(
ibsrpdm.1
srp_daemon.1.in
+ srp_daemon.service.5
+ srp_daemon_port@.service.5
)
rdma_sbin_executable(srp_daemon
@@ -25,8 +27,24 @@
RENAME "srp_daemon.sh"
PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE)
+install(FILES start_on_all_ports
+ DESTINATION "${CMAKE_INSTALL_LIBEXECDIR}/srp_daemon"
+ PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE)
+
+rdma_subst_install(FILES srp_daemon.service.in
+ DESTINATION "${CMAKE_INSTALL_SYSTEMD_SERVICEDIR}"
+ RENAME srp_daemon.service
+ PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
+
+rdma_subst_install(FILES srp_daemon_port@.service.in
+ DESTINATION "${CMAKE_INSTALL_SYSTEMD_SERVICEDIR}"
+ RENAME srp_daemon_port@.service
+ PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ)
+
install(FILES srp_daemon.conf DESTINATION "${CMAKE_INSTALL_SYSCONFDIR}")
+install(FILES srp_daemon.rules DESTINATION "${CMAKE_INSTALL_UDEV_RULESDIR}")
+
# 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.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/srp_daemon/srp_daemon.1.in new/rdma-core-14/srp_daemon/srp_daemon.1.in
--- old/rdma-core-14-rc1-40-g706fc2af/srp_daemon/srp_daemon.1.in 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/srp_daemon/srp_daemon.1.in 2017-05-30 05:47:40.000000000 +0200
@@ -5,18 +5,30 @@
srp_daemon \- Discovers SRP targets in an InfiniBand Fabric
.SH SYNOPSIS
-.B srp_daemon [-vVcaeon] [-d \fIumad-device\fR | -i \fIinfiniband-device\fR [-p \fIport-num\fR]] [-t \fItimeout(ms)\fR] [-r \fIretries\fR] [-R \fIRescan-time\fR] [-f \fIrules-File\fR]
+.B srp_daemon\fR [\fB-vVcaeon\fR] [\fB-d \fIumad-device\fR | \fB-i \fIinfiniband-device\fR [\fB-p \fIport-num\fR] | \fB-j \fIdev:port\fR] [\fB-t \fItimeout(ms)\fR] [\fB-r \fIretries\fR] [\fB-R \fIrescan-time\fR] [\fB-f \fIrules-file\fR]
.SH DESCRIPTION
.PP
Discovers and connects to InfiniBand SCSI RDMA Protocol (SRP) targets in an IB fabric.
-Each srp_daemon instance operates on one local port. Upon boot it performs a full rescan of the fabric then waits for an srp_daemon event. An srp_daemon event can be a join of a new machine to the fabric, a change in the capabilities of a machine, an SA change, or an expiration of a predefined timeout.
-
-When a new machine joins the fabric, srp_daemon checks if it is a target. When there is a change of capabilities, srp_daemon checks if the machine has turned into a target. When there is an SA change or a timeout expiration, srp_daemon performs a full rescan of the fabric.
-
-For each target srp_daemon finds, it checks if it should connect to this target according to its rules (default rules file is @CMAKE_INSTALL_FULL_SYSCONFDIR@/srp_daemon.conf) and if it is already connected to the local port. If it should connect to this target and if it is not connected yet, srp_daemon can either print the target details or connect to it.
+Each srp_daemon instance operates on one local port. Upon boot it performs a
+full rescan of the fabric and then waits for an srp_daemon event. An
+srp_daemon event can be a join of a new machine to the fabric, a change in the
+capabilities of a machine, an SA change, or an expiration of a predefined
+timeout.
+
+When a new machine joins the fabric, srp_daemon checks if it is an SRP
+target. When there is a change of capabilities, srp_daemon checks if the
+machine has turned into an SRP target. When there is an SA change or a timeout
+expiration, srp_daemon performs a full rescan of the fabric.
+
+For each target srp_daemon finds, it checks if it should connect to this
+target according to its rules (the default rules file is
+@CMAKE_INSTALL_FULL_SYSCONFDIR@/srp_daemon.conf) and if it is already
+connected to the local port. If it should connect to this target and if it is
+not connected yet, srp_daemon can either print the target details or connect
+to it.
.SH OPTIONS
@@ -29,37 +41,45 @@
Print even more verbose output (debug mode)
.TP
\fB\-i\fR \fIinfiniband-device\fR
-Work on \fIinfiniband-device\fR. This option should not be used with -d.
+Work on \fIinfiniband-device\fR. This option should not be used with -d nor
+with -j.
.TP
\fB\-p\fR \fIport-num\fR
-Work on port \fIport-num\fR (default 1). This option must be used with -i and should not be used with -d.
+Work on port \fIport-num\fR (default 1). This option must be used with -i and
+should not be used with -d nor with -j.
+.TP
+\fB\-j\fR \fIdev:port\fR
+Work on port number \fIport\fR of InfiniBand device \fIdev\fR. This option
+should not be used with -d, -i nor with -p.
.TP
\fB\-d\fR \fIumad-device\fR
-Use device file \fIumad-device\fR (default /dev/infiniband/umad0) This option should not be used with -i or -p.
+Use device file \fIumad-device\fR (default /dev/infiniband/umad0) This option
+should not be used with -i, -p nor with -j.
.TP
\fB\-c\fR
Generate output suitable for piping directly to a
/sys/class/infiniband_srp/srp\-<device>\-<port>/add_target file.
.TP
\fB\-a\fR
-Prints all the targets in the fabric, not only targets that are not connected through the local port. (The same as ibsrpdm.)
+Prints all the targets in the fabric, not only targets that are not connected
+through the local port. This is the same behavior as that of ibsrpdm.
.TP
\fB\-e\fR
Execute the connection command, i.e., make the connection to the target.
.TP
\fB\-o\fR
-Perform only one rescan and exit. (The same as ibsrpdm.)
+Perform only one rescan and exit just like ibsrpdm.
.TP
-\fB\-R\fR \fIRescan-time\fR
-Force a complete rescan every \fIRescan-time\fR seconds. If -R is not specified, no timeout rescans will be performed.
+\fB\-R\fR \fIrescan-time\fR
+Force a complete rescan every \fIrescan-time\fR seconds. If -R is not specified, no timeout rescans will be performed.
.TP
-\fB\-T\fR \fIretry-Timeout\fR
-Retries to connect to existing target after \fIretry-Timeout\fR seconds. If -R is not specified, uses 5 Seconds timeout. if retry-Timeout is 0, will not try to reconnect. The reason srp_daemon retries to connect to the target is because there may be a rare scnerio in which srp_daemon will try to connect to add a target when the target is about to be removed, but is not removed yet.
+\fB\-T\fR \fIretry-timeout\fR
+Retries to connect to existing target after \fIretry-timeout\fR seconds. If -R is not specified, uses 5 Seconds timeout. if retry-timeout is 0, will not try to reconnect. The reason srp_daemon retries to connect to the target is because there may be a rare scnerio in which srp_daemon will try to connect to add a target when the target is about to be removed, but is not removed yet.
.TP
-\fB\-f\fR \fIrules-File\fR
-Decide to which targets to connect according to the rules in \fIrules-File\fR.
+\fB\-f\fR \fIrules-file\fR
+Decide to which targets to connect according to the rules in \fIrules-file\fR.
If \fB\-f\fR is not specified, uses the default rules file @CMAKE_INSTALL_FULL_SYSCONFDIR@/srp_daemon.conf.
-Each line in the \fIrules-File\fR is a rule which can be either an allow connection or a disallow connection according to
+Each line in the \fIrules-file\fR is a rule which can be either an allow connection or a disallow connection according to
the first character in the line (a or d accordingly). The rest of the line is values for id_ext, ioc_guid, dgid,
service_id. Please take a look at the example section for an example of the file. srp_daemon decide whether to allow or disallow each target according to first rule that match the target. If no rule matches the target, the target is allowed and will be connected. In an allow rule it is possible to set attributes for the connection to the target. Supported attributes are max_cmd_per_lun and max_sect.
.TP
@@ -74,7 +94,7 @@
.SH FILES
@CMAKE_INSTALL_FULL_SYSCONFDIR@/srp_daemon.conf -
-Default rules configuration file that indicates to which targets to connect. Can be overridden using the \fB\-f\fR \fIrules-File\fR option.
+Default rules configuration file that indicates to which targets to connect. Can be overridden using the \fB\-f\fR \fIrules-file\fR option.
Each line in this file is a rule which can be either an allow connection or a disallow connection according to
the first character in the line (a or d accordingly). The rest of the line is values for id_ext, ioc_guid, dgid,
service_id. Please take a look at the example section for an example of the file. srp_daemon decide whether to allow or disallow each target according to first rule that match the target. If no rule matches the target, the target is allowed and will be connected. In an allow rule it is possible to set attributes for the connection to the target. Supported attributes are max_cmd_per_lun and max_sect.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rdma-core-14-rc1-40-g706fc2af/srp_daemon/srp_daemon.c new/rdma-core-14/srp_daemon/srp_daemon.c
--- old/rdma-core-14-rc1-40-g706fc2af/srp_daemon/srp_daemon.c 2017-05-13 12:42:30.000000000 +0200
+++ new/rdma-core-14/srp_daemon/srp_daemon.c 2017-05-30 05:47:40.000000000 +0200
@@ -226,6 +226,7 @@
fprintf(stderr, "-d <umad device> use umad Device \n");
fprintf(stderr, "-i <infiniband device> use InfiniBand device \n");
fprintf(stderr, "-p