Hello community,

here is the log from the commit of package rdma-core for openSUSE:Factory 
checked in at 2018-12-27 00:23:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/rdma-core (Old)
 and      /work/SRC/openSUSE:Factory/.rdma-core.new.28833 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "rdma-core"

Thu Dec 27 00:23:42 2018 rev:26 rq:657867 version:21

Changes:
--------
--- /work/SRC/openSUSE:Factory/rdma-core/rdma-core.changes      2018-11-06 
14:13:20.814745678 +0100
+++ /work/SRC/openSUSE:Factory/.rdma-core.new.28833/rdma-core.changes   
2018-12-27 00:23:43.819940610 +0100
@@ -1,0 +2,6 @@
+Fri Nov 30 06:54:33 UTC 2018 - [email protected]
+
+- Update to rdma-core v21 (fate#325939, fate#326991)
+  * No release notes available
+
+-------------------------------------------------------------------

Old:
----
  rdma-core-20.1.0.222fa83a789c.tar.gz

New:
----
  rdma-core-21.0.a4b744d2cd6e.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ rdma-core.spec ++++++
--- /var/tmp/diff_new_pack.RnAG15/_old  2018-12-27 00:23:44.399940137 +0100
+++ /var/tmp/diff_new_pack.RnAG15/_new  2018-12-27 00:23:44.399940137 +0100
@@ -17,9 +17,12 @@
 
 
 %bcond_without  systemd
-%define         git_ver .0.222fa83a789c
+# Do not build static libs by default.
+%define with_static %{?_with_static: 1} %{?!_with_static: 0}
+
+%define         git_ver .0.a4b744d2cd6e
 Name:           rdma-core
-Version:        20.1
+Version:        21
 Release:        0
 Summary:        RDMA core userspace libraries and daemons
 License:        GPL-2.0-only OR BSD-2-Clause
@@ -144,6 +147,13 @@
 #Requires:       ibacm = %%{version}-%%{release}
 Provides:       ibacm-devel = %{version}-%{release}
 Obsoletes:      ibacm-devel < %{version}-%{release}
+%if %{with_static}
+# Since our pkg-config files include private references to these packages they
+# need to have their .pc files installed too, even for dynamic linking, or
+# pkg-config breaks.
+BuildRequires:  pkgconfig(libnl-3.0)
+BuildRequires:  pkgconfig(libnl-route-3.0)
+%endif
 
 %description devel
 RDMA core development libraries and headers.
@@ -351,6 +361,9 @@
          -DCMAKE_INSTALL_RUNDIR:PATH=%{_rundir} \
          -DCMAKE_INSTALL_DOCDIR:PATH=%{_docdir}/%{name}-%{version} \
          -DCMAKE_INSTALL_UDEV_RULESDIR:PATH=%{_udevrulesdir} \
+%if %{with_static}
+         -DENABLE_STATIC=1 \
+%endif
          %{EXTRA_CMAKE_FLAGS}
 %make_jobs
 
@@ -529,6 +542,9 @@
 %dir %{_includedir}/rdma
 %{_includedir}/infiniband/*
 %{_includedir}/rdma/*
+%if %{with_static}
+%{_libdir}/lib*.a
+%endif
 %{_libdir}/lib*.so
 %{_libdir}/pkgconfig/*.pc
 %{_mandir}/man3/ibv_*

++++++ _service ++++++
--- /var/tmp/diff_new_pack.RnAG15/_old  2018-12-27 00:23:44.427940113 +0100
+++ /var/tmp/diff_new_pack.RnAG15/_new  2018-12-27 00:23:44.427940113 +0100
@@ -8,7 +8,7 @@
     <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@.%h</param>
     <param name="versionrewrite-pattern">v(.*)</param>
     <param name="versionrewrite-replacement">\1</param>
-    <param name="revision">222fa83a789cd24a1e0900389587d47812fba086</param>
+    <param name="revision">a4b744d2cd6e5ccb0c9e60ebaf681184dadb6da0</param>
        <param name="extract">suse/rdma-core.spec</param>
   </service>
   <service name="recompress" mode="disabled">

++++++ prebuilt-pandoc.tgz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/0113b8e7282fb498b6027aebc1cf2148def1e1c6 
new/pandoc-prebuilt/0113b8e7282fb498b6027aebc1cf2148def1e1c6
--- old/pandoc-prebuilt/0113b8e7282fb498b6027aebc1cf2148def1e1c6        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/0113b8e7282fb498b6027aebc1cf2148def1e1c6        
2018-12-13 17:08:13.760673762 +0100
@@ -0,0 +1,101 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "mlx5dv_create_qp" "3" "2018\-9\-1" "mlx5" "mlx5 Programmer\[aq]s Manual"
+.hy
+.SH NAME
+.PP
+mlx5dv_create_qp \- creates a queue pair (QP)
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/mlx5dv.h>
+
+struct\ ibv_qp\ *mlx5dv_create_qp(struct\ ibv_context\ \ \ \ \ \ \ \ \ 
*context,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ 
ibv_qp_init_attr_ex\ *qp_attr,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ 
mlx5dv_qp_init_attr\ *mlx5_qp_attr)
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+\f[B]mlx5dv_create_qp()\f[] creates a queue pair (QP) with specific
+driver properties.
+.SH ARGUMENTS
+.PP
+Please see \f[I]ibv_create_qp_ex(3)\f[] man page for \f[I]context\f[]
+and \f[I]qp_attr\f[].
+.SS mlx5_qp_attr
+.IP
+.nf
+\f[C]
+struct\ mlx5dv_qp_init_attr\ {
+\ \ \ \ uint64_t\ comp_mask;
+\ \ \ \ uint32_t\ create_flags;
+\ \ \ \ struct\ mlx5dv_dc_init_attr\ \ dc_init_attr;
+};
+\f[]
+.fi
+.TP
+.B \f[I]comp_mask\f[]
+Bitmask specifying what fields in the structure are valid:
+MLX5DV_QP_INIT_ATTR_MASK_QP_CREATE_FLAGS: valid values in
+\f[I]create_flags\f[] MLX5DV_QP_INIT_ATTR_MASK_DC: valid values in
+\f[I]dc_init_attr\f[]
+.RS
+.RE
+.TP
+.B \f[I]create_flags\f[]
+A bitwise OR of the various values described below.
+.RS
+.PP
+MLX5DV_QP_CREATE_TUNNEL_OFFLOADS: Enable offloading such as checksum and
+LRO for incoming tunneling traffic.
+.PP
+MLX5DV_QP_CREATE_TIR_ALLOW_SELF_LOOPBACK_UC: Allow receiving loopback
+unicast traffic.
+.PP
+MLX5DV_QP_CREATE_TIR_ALLOW_SELF_LOOPBACK_MC: Allow receiving loopback
+multicast traffic.
+.PP
+MLX5DV_QP_CREATE_DISABLE_SCATTER_TO_CQE: Disable scatter to CQE feature
+which is enabled by default.
+.PP
+MLX5DV_QP_CREATE_ALLOW_SCATTER_TO_CQE: Allow scatter to CQE for
+requester even if the qp was not configured to signal all WRs.
+.RE
+.TP
+.B \f[I]dc_init_attr\f[]
+DC init attributes.
+.RS
+.RE
+.SS \f[I]dc_init_attr\f[]
+.IP
+.nf
+\f[C]
+struct\ mlx5dv_dc_init_attr\ {
+\ \ \ \ enum\ mlx5dv_dc_type\ dc_type;
+\ \ \ \ uint64_t\ dct_access_key;
+};
+\f[]
+.fi
+.TP
+.B \f[I]dc_type\f[]
+MLX5DV_DCTYPE_DCT QP type: Target DC.
+MLX5DV_DCTYPE_DCI QP type: Initiator DC.
+.RS
+.RE
+.TP
+.B \f[I]dct_access_key\f[]
+used to create a DCT QP.
+.RS
+.RE
+.SH RETURN VALUE
+.PP
+\f[B]mlx5dv_create_qp()\f[] returns a pointer to the created QP, on
+error NULL will be returned and errno will be set.
+.SH SEE ALSO
+.PP
+\f[B]ibv_query_device_ex\f[](3), \f[B]ibv_create_qp_ex\f[](3),
+.SH AUTHOR
+.PP
+Yonatan Cohen <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/23660644c7d16519530ca5d9fe12f0f800e1f1c0 
new/pandoc-prebuilt/23660644c7d16519530ca5d9fe12f0f800e1f1c0
--- old/pandoc-prebuilt/23660644c7d16519530ca5d9fe12f0f800e1f1c0        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/23660644c7d16519530ca5d9fe12f0f800e1f1c0        
2018-12-13 17:08:14.396678152 +0100
@@ -0,0 +1,69 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "mlx5dv_open_device" "3" "" "" ""
+.hy
+.SH NAME
+.PP
+mlx5dv_open_device \- Open an RDMA device context for the mlx5 provider
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/mlx5dv.h>
+
+struct\ ibv_context\ *
+mlx5dv_open_device(struct\ ibv_device\ *device,\ struct\ mlx5dv_context_attr\ 
*attr);
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+Open an RDMA device context with specific mlx5 provider attributes.
+.SH ARGUMENTS
+.TP
+.B \f[I]device\f[]
+RDMA device to open.
+.RS
+.RE
+.SS \f[I]attr\f[] argument
+.IP
+.nf
+\f[C]
+struct\ mlx5dv_context_attr\ {
+\ \ \ \ \ \ \ \ uint32_t\ flags;
+\ \ \ \ \ \ \ \ uint64_t\ comp_mask;
+};
+\f[]
+.fi
+.TP
+.B \f[I]flags\f[]
+.IP
+.nf
+\f[C]
+A\ bitwise\ OR\ of\ the\ various\ values\ described\ below.
+
+*MLX5DV_CONTEXT_FLAGS_DEVX*:
+Allocate\ a\ DEVX\ context
+\f[]
+.fi
+.RS
+.RE
+.TP
+.B \f[I]comp_mask\f[]
+.IP
+.nf
+\f[C]
+Bitmask\ specifying\ what\ fields\ in\ the\ structure\ are\ valid
+\f[]
+.fi
+.RS
+.RE
+.SH RETURN VALUE
+.PP
+Returns a pointer to the allocated device context, or NULL if the
+request fails.
+.SH SEE ALSO
+.PP
+\f[I]ibv_open_device(3)\f[]
+.SH AUTHOR
+.PP
+Yishai Hadas <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/30d9cd1dec073db27c4661daf57bb6df7e42aec1 
new/pandoc-prebuilt/30d9cd1dec073db27c4661daf57bb6df7e42aec1
--- old/pandoc-prebuilt/30d9cd1dec073db27c4661daf57bb6df7e42aec1        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/30d9cd1dec073db27c4661daf57bb6df7e42aec1        
2018-12-13 17:08:13.508672021 +0100
@@ -0,0 +1,59 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "mlx5dv_create_flow_action_modify_header" "3" "" "" ""
+.hy
+.SH NAME
+.PP
+mlx5dv_create_flow_action_modify_header \- Flow action modify header for
+mlx5 provider
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/mlx5dv.h>
+
+struct\ ibv_flow_action\ *
+mlx5dv_create_flow_action_modify_header(struct\ ibv_context\ *ctx,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ size_t\ actions_sz,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint64_t\ actions[],
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ enum\ mlx5dv_flow_table_type\ ft_type)
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+Create a modify header flow steering action, it allows to mutate a
+packet header.
+.SH ARGUMENTS
+.TP
+.B \f[I]ctx\f[]
+RDMA device context to create the action on.
+.RS
+.RE
+.TP
+.B \f[I]actions_sz\f[]
+The size of \f[I]actions\f[] buffer in bytes.
+.RS
+.RE
+.TP
+.B \f[I]actions\f[]
+A buffer which contains modify actions provided in device spec format.
+.RS
+.RE
+.TP
+.B \f[I]ft_type\f[]
+Defines the flow table type to which the modify header action will be
+attached.
+.RS
+.PP
+MLX5DV_FLOW_TABLE_TYPE_NIC_RX: RX FLOW TABLE
+.PP
+MLX5DV_FLOW_TABLE_TYPE_NIC_TX: TX FLOW TABLE
+.RE
+.SH RETURN VALUE
+.PP
+Upon success \f[I]mlx5dv_create_flow_action_modify_header\f[] will
+return a new \f[I]struct ibv_flow_action\f[] object, on error NULL will
+be returned and errno will be set.
+.SH SEE ALSO
+.PP
+\f[I]ibv_create_flow(3)\f[], \f[I]ibv_create_flow_action(3)\f[]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/41a00e0ef76c440627f23d42860b02ee6aba1e75 
new/pandoc-prebuilt/41a00e0ef76c440627f23d42860b02ee6aba1e75
--- old/pandoc-prebuilt/41a00e0ef76c440627f23d42860b02ee6aba1e75        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/41a00e0ef76c440627f23d42860b02ee6aba1e75        
2018-12-13 17:08:14.016675528 +0100
@@ -0,0 +1,85 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "mlx5dv_devx_alloc_uar / mlx5dv_devx_free_uar" "3" "" "" ""
+.hy
+.SH NAME
+.PP
+mlx5dv_devx_alloc_uar \- Allocates a DEVX UAR
+.PP
+mlx5dv_devx_free_uar \- Frees a DEVX UAR
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/mlx5dv.h>
+
+struct\ mlx5dv_devx_uar\ *mlx5dv_devx_alloc_uar(struct\ ibv_context\ *context,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ 
\ \ \ \ \ \ \ uint32_t\ flags);
+
+void\ mlx5dv_devx_free_uar(struct\ mlx5dv_devx_uar\ *devx_uar);
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+Create / free a DEVX UAR which is needed for other device commands over
+the DEVX interface.
+.PP
+The DEVX API enables direct access from the user space area to the mlx5
+device driver, the UAR information is needed for few commands as of QP
+creation.
+.SH ARGUMENTS
+.TP
+.B \f[I]context\f[]
+RDMA device context to work on.
+.RS
+.RE
+.TP
+.B \f[I]flags\f[]
+Allocation flags for the UAR.
+.RS
+.RE
+.SS devx_uar
+.IP
+.nf
+\f[C]
+struct\ mlx5dv_devx_uar\ {
+\ \ \ \ void\ *reg_addr;
+\ \ \ \ void\ *base_addr;
+\ \ \ \ uint32_t\ page_id;
+\ \ \ \ off_t\ mmap_off;
+\ \ \ \ uint64_t\ comp_mask;
+};
+\f[]
+.fi
+.TP
+.B \f[I]reg_addr\f[]
+The write address of DB/BF.
+.RS
+.RE
+.TP
+.B \f[I]base_addr\f[]
+The base address of the UAR.
+.RS
+.RE
+.TP
+.B \f[I]page_id\f[]
+The device page id to be used.
+.RS
+.RE
+.TP
+.B \f[I]mmap_off\f[]
+The mmap offset parameter to be used for re\-mapping, to be used by a
+secondary process.
+.RS
+.RE
+.SH RETURN VALUE
+.PP
+Upon success \f[I]mlx5dv_devx_alloc_uar\f[] will return a new
+\f[I]struct mlx5dv_devx_uar\f[], on error NULL will be returned and
+errno will be set.
+.SH SEE ALSO
+.PP
+\f[B]mlx5dv_open_device\f[], \f[B]mlx5dv_devx_obj_create\f[]
+.SH AUTHOR
+.PP
+Yishai Hadas <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/68e20aac6935f699d0003079337cb40c23d1b827 
new/pandoc-prebuilt/68e20aac6935f699d0003079337cb40c23d1b827
--- old/pandoc-prebuilt/68e20aac6935f699d0003079337cb40c23d1b827        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/68e20aac6935f699d0003079337cb40c23d1b827        
2018-12-13 17:08:13.636672905 +0100
@@ -0,0 +1,126 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "mlx5dv_devx_obj_create / destroy / modify /query / general" "3" "" "" ""
+.hy
+.SH NAME
+.PP
+mlx5dv_devx_obj_create \- Creates a devx object
+.PP
+mlx5dv_devx_obj_destroy \- Destroys a devx object
+.PP
+mlx5dv_devx_obj_modify \- Modifies a devx object
+.PP
+mlx5dv_devx_obj_query \- Queries a devx object
+.PP
+mlx5dv_devx_general_cmd \- Issues a general command over the devx
+interface
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/mlx5dv.h>
+
+struct\ mlx5dv_devx_obj\ *
+mlx5dv_devx_obj_create(struct\ ibv_context\ *context,\ const\ void\ *in,\ 
size_t\ inlen,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
+int\ mlx5dv_devx_obj_query(struct\ mlx5dv_devx_obj\ *obj,\ const\ void\ *in,\ 
size_t\ inlen,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
+int\ mlx5dv_devx_obj_modify(struct\ mlx5dv_devx_obj\ *obj,\ const\ void\ *in,\ 
size_t\ inlen,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
+int\ mlx5dv_devx_obj_destroy(struct\ mlx5dv_devx_obj\ *obj);
+int\ mlx5dv_devx_general_cmd(struct\ ibv_context\ *context,\ const\ void\ 
*in,\ size_t\ inlen,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen);
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+Create / destroy / modify / query a devx object, issue a general command
+over the devx interface.
+.PP
+The DEVX API enables direct access from the user space area to the mlx5
+device driver by using the KABI mechanism.
+The main purpose is to make the user space driver as independent as
+possible from the kernel so that future device functionality and
+commands can be activated with minimal to none kernel changes.
+.PP
+A DEVX object represents some underlay firmware object, the input
+command to create it is some raw data given by the user application
+which should match the device specification.
+Upon successful creation the output buffer includes the raw data from
+the device according to its specification, this data can be used as part
+of related firmware commands to this object.
+.PP
+Once the DEVX object is created it can be queried/modified/destroyed by
+the matching mlx5dv_devx_obj_xxx() API.
+Both the input and the output for those APIs need to match the device
+specification as well.
+.PP
+The mlx5dv_devx_general_cmd() API enables issuing some general command
+which is not related to an object such as query device capabilities.
+.PP
+An application can gradually migrate to use DEVX according to its needs,
+it is not all or nothing.
+For example it can create an ibv_cq via ibv_create_cq() verb and then
+use the returned cqn to create a DEVX QP object by the
+mlx5dv_devx_obj_create() API which needs that cqn.
+.PP
+The above example can enable an application to create a QP with some
+driver specific attributes that are not exposed in the ibv_create_qp()
+API, in that case no user or kernel change may be needed at all as the
+command input reaches directly to the firmware.
+.PP
+The expected users for the DEVX APIs are application that use the mlx5
+DV APIs and are familiar with the device specification in both control
+and data path.
+.PP
+To successfully create a DEVX object and work on, a DEVX context must be
+created, this is done by the mlx5dv_open_device() API with the
+\f[I]MLX5DV_CONTEXT_FLAGS_DEVX\f[] flag.
+.SH ARGUMENTS
+.TP
+.B \f[I]context\f[]
+RDMA device context to create the action on.
+.RS
+.RE
+.TP
+.B \f[I]in\f[]
+A buffer which contains the command\[aq]s input data provided in a
+device specification format.
+.RS
+.RE
+.TP
+.B \f[I]inlen\f[]
+The size of \f[I]in\f[] buffer in bytes.
+.RS
+.RE
+.TP
+.B \f[I]out\f[]
+A buffer which contains the command\[aq]s output data according to the
+device specification format.
+.RS
+.RE
+.TP
+.B \f[I]outlen\f[]
+The size of \f[I]out\f[] buffer in bytes.
+.RS
+.RE
+.TP
+.B \f[I]obj\f[]
+For query, modify, destroy: the devx object to work on.
+.RS
+.RE
+.SH RETURN VALUE
+.PP
+Upon success \f[I]mlx5dv_devx_create_obj\f[] will return a new
+\f[I]struct mlx5dv_devx_obj\f[] on error NULL will be returned and errno
+will be set.
+.PP
+Upon success query, modify, destroy, general commands, 0 is returned or
+the value of errno on a failure.
+.SH SEE ALSO
+.PP
+\f[B]mlx5dv_open_device\f[]
+.PP
+AUTHOR
+.PP
+Yishai Hadas <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/77e091fce9252614b7c6136f15917606746eac44 
new/pandoc-prebuilt/77e091fce9252614b7c6136f15917606746eac44
--- old/pandoc-prebuilt/77e091fce9252614b7c6136f15917606746eac44        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/77e091fce9252614b7c6136f15917606746eac44        
2018-12-13 17:08:14.272677296 +0100
@@ -0,0 +1,51 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "mlx5dv_devx_query_eqn" "3" "" "" ""
+.hy
+.SH NAME
+.PP
+mlx5dv_devx_query_eqn \- Query EQN for a given vector id.
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/mlx5dv.h>
+
+int\ mlx5dv_devx_query_eqn(struct\ ibv_context\ *context,\ uint32_t\ vector,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ uint32_t\ *eqn);
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+Query EQN for a given input vector, the EQN is needed for other device
+commands over the DEVX interface.
+.PP
+The DEVX API enables direct access from the user space area to the mlx5
+device driver, the EQN information is needed for few commands such as CQ
+creation.
+.SH ARGUMENTS
+.TP
+.B \f[I]context\f[]
+RDMA device context to work on.
+.RS
+.RE
+.TP
+.B \f[I]vector\f[]
+Completion vector number.
+.RS
+.RE
+.TP
+.B \f[I]eqn\f[]
+The device EQ number which relates to the given input vector.
+.RS
+.RE
+.SH RETURN VALUE
+.PP
+returns 0 on success, or the value of errno on failure (which indicates
+the failure reason).
+.SH SEE ALSO
+.PP
+\f[B]mlx5dv_open_device\f[], \f[B]mlx5dv_devx_obj_create\f[]
+.SH AUTHOR
+.PP
+Yishai Hadas <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/7d5e462c408c439a395f9d4413bad29e7d20379b 
new/pandoc-prebuilt/7d5e462c408c439a395f9d4413bad29e7d20379b
--- old/pandoc-prebuilt/7d5e462c408c439a395f9d4413bad29e7d20379b        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/7d5e462c408c439a395f9d4413bad29e7d20379b        
2018-12-13 17:08:13.252670255 +0100
@@ -0,0 +1,101 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "mlx5dv_create_flow_action_packet_reformat" "3" "" "" ""
+.hy
+.SH NAME
+.PP
+mlx5dv_create_flow_action_packet_reformat \- Flow action reformat packet
+for mlx5 provider
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/mlx5dv.h>
+
+struct\ ibv_flow_action\ *
+mlx5dv_create_flow_action_packet_reformat(struct\ ibv_context\ *ctx,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ size_t\ data_sz,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *data,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ enum\ 
mlx5dv_flow_action_packet_reformat_type\ reformat_type,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ enum\ mlx5dv_flow_table_type\ 
ft_type)
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+Create a packet reformat flow steering action.
+It allows to add/remove packet headers.
+.SH ARGUMENTS
+.TP
+.B \f[I]ctx\f[]
+.IP
+.nf
+\f[C]
+RDMA\ device\ context\ to\ create\ the\ action\ on.
+\f[]
+.fi
+.RS
+.RE
+.TP
+.B \f[I]data_sz\f[]
+.IP
+.nf
+\f[C]
+The\ size\ of\ *data*\ buffer.
+\f[]
+.fi
+.RS
+.RE
+.TP
+.B \f[I]data\f[]
+.IP
+.nf
+\f[C]
+A\ buffer\ which\ contains\ headers\ in\ case\ the\ actions\ requires\ them.
+\f[]
+.fi
+.RS
+.RE
+.TP
+.B \f[I]reformat_type\f[]
+.IP
+.nf
+\f[C]
+The\ reformat\ type\ to\ be\ create.\ Use\ enum\ 
mlx5dv_flow_action_packet_reformat_type.
+\f[]
+.fi
+.RS
+.PP
+MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TUNNEL_TO_L2: Decap a generic
+L2 tunneled packet upto inner L2.
+.PP
+MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L2_TUNNEL: Generic encap,
+\f[I]data\f[] should contain the encapsulating headers.
+.PP
+MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L3_TUNNEL_TO_L2: Will do decap
+where the inner packet starts from L3.
+\f[I]data\f[] should be MAC or MAC + vlan (14 or 18 bytes) to be
+appended to the packet after the decap action.
+.PP
+MLX5DV_FLOW_ACTION_PACKET_REFORMAT_TYPE_L2_TO_L3_TUNNEL: Will do encap
+where is L2 of the original packet will not be included.
+\f[I]data\f[] should be the encapsulating header.
+.RE
+.TP
+.B \f[I]ft_type\f[]
+.IP
+.nf
+\f[C]
+It\ defines\ the\ flow\ table\ type\ to\ which\ the\ packet\ reformat\ action
+\f[]
+.fi
+.RS
+will be attached.
+.RE
+.SH RETURN VALUE
+.PP
+Upon success \f[I]mlx5dv_create_flow_action_packet_reformat\f[] will
+return a new \f[I]struct ibv_flow_action\f[] object, on error NULL will
+be returned and errno will be set.
+.SH SEE ALSO
+.PP
+\f[I]ibv_create_flow(3)\f[], \f[I]ibv_create_flow_action(3)\f[]
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/9fcf3f165ed59609a3e94199a5b963ba461c423a 
new/pandoc-prebuilt/9fcf3f165ed59609a3e94199a5b963ba461c423a
--- old/pandoc-prebuilt/9fcf3f165ed59609a3e94199a5b963ba461c423a        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/9fcf3f165ed59609a3e94199a5b963ba461c423a        
2018-12-13 17:08:11.556658546 +0100
@@ -0,0 +1,91 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "IBV_GET_DEVICE_LIST" "3" "2006\-10\-31" "libibverbs" "Libibverbs 
Programmer\[aq]s Manual"
+.hy
+.SH NAME
+.PP
+ibv_get_device_list, ibv_free_device_list \- get and release list of
+available RDMA devices
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/verbs.h>
+
+struct\ ibv_device\ **ibv_get_device_list(int\ *num_devices);
+
+void\ ibv_free_device_list(struct\ ibv_device\ **list);
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+\f[B]ibv_get_device_list()\f[] returns a NULL\-terminated array of RDMA
+devices currently available.
+The argument \f[I]num_devices\f[] is optional; if not NULL, it is set to
+the number of devices returned in the array.
+.PP
+\f[B]ibv_free_device_list()\f[] frees the array of devices \f[I]list\f[]
+returned by \f[B]ibv_get_device_list()\f[].
+.SH RETURN VALUE
+.PP
+\f[B]ibv_get_device_list()\f[] returns the array of available RDMA
+devices, or sets \f[I]errno\f[] and returns NULL if the request fails.
+If no devices are found then \f[I]num_devices\f[] is set to 0, and
+non\-NULL is returned.
+.PP
+\f[B]ibv_free_device_list()\f[] returns no value.
+.SH ERRORS
+.TP
+.B \f[B]EPERM\f[]
+Permission denied.
+.RS
+.RE
+.TP
+.B \f[B]ENOSYS\f[]
+No kernel support for RDMA.
+.RS
+.RE
+.TP
+.B \f[B]ENOMEM\f[]
+Insufficient memory to complete the operation.
+.RS
+.RE
+.SH NOTES
+.PP
+Client code should open all the devices it intends to use with
+\f[B]ibv_open_device()\f[] before calling
+\f[B]ibv_free_device_list()\f[].
+Once it frees the array with \f[B]ibv_free_device_list()\f[], it will be
+able to use only the open devices; pointers to unopened devices will no
+longer be valid.
+.PP
+Setting the environment variable \f[B]IBV_SHOW_WARNINGS\f[] will cause
+warnings to be emitted to stderr if a kernel verbs device is discovered,
+but no corresponding userspace driver can be found for it.
+.SH STATIC LINKING
+.PP
+If \f[B]libibverbs\f[] is statically linked to the application then all
+provider drivers must also be statically linked.
+The library will not load dynamic providers when static linking is used.
+.PP
+To link the providers set the \f[B]RDMA_STATIC_PROVIDERS\f[] define to
+the comma separated list of desired providers when compiling the
+application.
+The special keyword \[aq]all\[aq] will statically link all supported
+\f[B]libibverbs\f[] providers.
+.PP
+This is intended to be used along with \f[B]pkg\-config(1)\f[] to setup
+the proper flags for \f[B]libibverbs\f[] linking.
+.PP
+If this is not done then \f[B]ibv_get_device_list\f[] will always return
+an empty list.
+.PP
+Using only dynamic linking for \f[B]libibverbs\f[] applications is
+strongly recommended.
+.SH SEE ALSO
+.PP
+\f[B]ibv_fork_init\f[](3), \f[B]ibv_get_device_guid\f[](3),
+\f[B]ibv_get_device_name\f[](3), \f[B]ibv_open_device\f[](3)
+.SH AUTHOR
+.PP
+Dotan Barak <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/b43db7d0f792e732b32d21f1de3da3d59d06bcfd 
new/pandoc-prebuilt/b43db7d0f792e732b32d21f1de3da3d59d06bcfd
--- old/pandoc-prebuilt/b43db7d0f792e732b32d21f1de3da3d59d06bcfd        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/b43db7d0f792e732b32d21f1de3da3d59d06bcfd        
2018-12-13 17:08:13.888674645 +0100
@@ -0,0 +1,91 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "mlx5dv_create_flow" "3" "2018\-9\-19" "mlx5" "mlx5 Programmer\[aq]s 
Manual"
+.hy
+.SH NAME
+.PP
+mlx5dv_create_flow \- creates a steering flow rule
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/mlx5dv.h>
+
+struct\ ibv_flow\ *
+mlx5dv_create_flow(struct\ mlx5dv_flow_matcher\ *flow_matcher,
+\ \ \ \ \ \ \ \ \ \ \ struct\ mlx5dv_flow_match_parameters\ *match_value,
+\ \ \ \ \ \ \ \ \ \ \ size_t\ num_actions,
+\ \ \ \ \ \ \ \ \ \ \ struct\ mlx5dv_flow_action_attr\ actions_attr[])
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+\f[B]mlx5dv_create_flow()\f[] creates a steering flow rule with the
+ability to specify specific driver properties.
+.SH ARGUMENTS
+.PP
+Please see \f[I]mlx5dv_create_flow_matcher(3)\f[] for
+\f[I]flow_matcher\f[] and \f[I]match_value\f[].
+.TP
+.B \f[I]num_actions\f[]
+Specifies how many actions are passed in \f[I]actions_attr\f[]
+.RS
+.RE
+.SS \f[I]actions_attr\f[]
+.IP
+.nf
+\f[C]
+struct\ mlx5dv_flow_action_attr\ {
+\ \ \ \ enum\ mlx5dv_flow_action_type\ type;
+\ \ \ \ union\ {
+\ \ \ \ \ \ \ \ struct\ ibv_qp\ *qp;
+\ \ \ \ \ \ \ \ struct\ ibv_counters\ *counter;
+\ \ \ \ \ \ \ \ struct\ ibv_flow_action\ *action;
+\ \ \ \ \ \ \ \ uint32_t\ tag_value;
+\ \ \ \ };
+};
+\f[]
+.fi
+.TP
+.B \f[I]type\f[]
+MLX5DV_FLOW_ACTION_DEST_IBV_QP The QP passed will receive the matched
+packets.
+MLX5DV_FLOW_ACTION_IBV_FLOW_ACTION The flow action to be applied.
+MLX5DV_FLOW_ACTION_TAG Flow tag to be provided in work completion.
+.RS
+.RE
+.TP
+.B \f[I]qp\f[]
+QP passed, to be used with \f[I]type\f[]
+\f[I]MLX5DV_FLOW_ACTION_DEST_IBV_QP\f[].
+.RS
+.RE
+.TP
+.B \f[I]action\f[]
+Flow action, to be used with \f[I]type\f[]
+\f[I]MLX5DV_FLOW_ACTION_IBV_FLOW_ACTION\f[] see
+\f[I]mlx5dv_create_flow_action_modify_header(3)\f[] and
+\f[I]mlx5dv_create_flow_action_packet_reformat(3)\f[].
+.RS
+.RE
+.TP
+.B \f[I]tag_value\f[]
+tag value to be passed in the work completion, to be used with
+\f[I]type\f[] \f[I]MLX5DV_FLOW_ACTION_TAG\f[] see
+\f[I]ibv_create_cq_ex(3)\f[].
+.RS
+.RE
+.SH RETURN VALUE
+.PP
+\f[B]mlx5dv_create_flow\f[] returns a pointer to the created flow rule,
+on error NULL will be returned and errno will be set.
+.SH SEE ALSO
+.PP
+\f[I]mlx5dv_create_flow_action_modify_header(3)\f[],
+\f[I]mlx5dv_create_flow_action_packet_reformat(3)\f[],
+\f[I]mlx5dv_create_flow_matcher(3)\f[], \f[I]mlx5dv_create_qp(3)\f[],
+\f[I]ibv_create_qp_ex(3)\f[] \f[I]ibv_create_cq_ex(3)\f[]
+\f[I]ibv_create_counters(3)\f[]
+.SH AUTHOR
+.PP
+Mark Bloch <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/c5799cc135c1891b06d6842bfccdb0855b0d0fac 
new/pandoc-prebuilt/c5799cc135c1891b06d6842bfccdb0855b0d0fac
--- old/pandoc-prebuilt/c5799cc135c1891b06d6842bfccdb0855b0d0fac        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/c5799cc135c1891b06d6842bfccdb0855b0d0fac        
2018-12-13 17:08:14.144676412 +0100
@@ -0,0 +1,96 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "mlx5dv_create_flow_matcher" "3" "2018\-9\-19" "mlx5" "mlx5 
Programmer\[aq]s Manual"
+.hy
+.SH NAME
+.PP
+mlx5dv_create_flow_matcher \- creates a matcher to be used with
+\f[I]mlx5dv_create_flow(3)\f[]
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/mlx5dv.h>
+
+struct\ mlx5dv_flow_matcher\ *
+mlx5dv_create_flow_matcher(struct\ ibv_context\ *context,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ mlx5dv_flow_matcher_attr\ *attr)
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+\f[B]mlx5dv_create_flow_matcher()\f[] creates a flow matcher (mask) to
+be used with \f[I]mlx5dv_create_flow(3)\f[].
+.SH ARGUMENTS
+.PP
+Please see \f[I]ibv_open_device(3)\f[] for \f[I]context\f[].
+.SS \f[I]attr\f[]
+.IP
+.nf
+\f[C]
+struct\ mlx5dv_flow_matcher_attr\ {
+\ \ \ \ enum\ ibv_flow_attr_type\ type;
+\ \ \ \ uint32_t\ flags;\ /*\ From\ enum\ ibv_flow_flags\ */
+\ \ \ \ uint16_t\ priority;
+\ \ \ \ uint8_t\ match_criteria_enable;\ /*\ Device\ spec\ format\ */
+\ \ \ \ struct\ mlx5dv_flow_match_parameters\ *match_mask;
+\ \ \ \ uint64_t\ comp_mask;
+};
+\f[]
+.fi
+.TP
+.B \f[I]type\f[]
+Type of matcher to be created: IBV_FLOW_ATTR_NORMAL: Normal rule
+according to specification.
+.RS
+.RE
+.TP
+.B \f[I]flags\f[]
+special flags to control rule: 0: Nothing or zero value means matcher
+will store ingress flow rules.
+IBV_FLOW_ATTR_FLAGS_EGRESS: Specified this matcher will store egress
+flow rules.
+.RS
+.RE
+.TP
+.B \f[I]priority\f[]
+See \f[I]ibv_create_flow(3)\f[].
+.RS
+.RE
+.TP
+.B \f[I]match_criteria_enable\f[]
+What match criteria is configured in \f[I]match_mask\f[], passed in
+device spec format.
+.RS
+.RE
+.SS \f[I]match_mask\f[]
+.IP
+.nf
+\f[C]
+struct\ mlx5dv_flow_match_parameters\ {
+\ \ \ \ size_t\ match_sz;
+\ \ \ \ uint64_t\ match_buf[];\ /*\ Device\ spec\ format\ */
+};
+\f[]
+.fi
+.TP
+.B \f[I]match_sz\f[]
+Size in bytes of \f[I]match_buf\f[].
+.RS
+.RE
+.TP
+.B \f[I]match_buf\f[]
+Set which mask to be used, passed in device spec format.
+.RS
+.RE
+.SH RETURN VALUE
+.PP
+\f[B]mlx5dv_create_flow_matcher\f[] returns a pointer to
+\f[I]mlx5dv_flow_matcher\f[], on error NULL will be returned and errno
+will be set.
+.SH SEE ALSO
+.PP
+\f[I]ibv_open_device(3)\f[], \f[I]ibv_create_flow(3)\f[]
+.SH AUTHOR
+.PP
+Mark Bloch <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/cf4e4cd11a7895e2b33c4b3e1625393ebf105452 
new/pandoc-prebuilt/cf4e4cd11a7895e2b33c4b3e1625393ebf105452
--- old/pandoc-prebuilt/cf4e4cd11a7895e2b33c4b3e1625393ebf105452        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/cf4e4cd11a7895e2b33c4b3e1625393ebf105452        
2018-12-13 17:08:13.376671110 +0100
@@ -0,0 +1,85 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "mlx5dv_create_cq" "3" "2018\-9\-1" "mlx5" "mlx5 Programmer\[aq]s Manual"
+.hy
+.SH NAME
+.PP
+mlx5dv_create_cq \- creates a completion queue (CQ)
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/mlx5dv.h>
+
+struct\ ibv_cq_ex\ *mlx5dv_create_cq(struct\ ibv_context\ *context,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ ibv_cq_init_attr_ex\ *cq_attr,
+\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ struct\ mlx5dv_cq_init_attr\ 
*mlx5_cq_attr);
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+\f[B]mlx5dv_create_cq()\f[] creates a completion queue (CQ) with
+specific driver properties.
+.SH ARGUMENTS
+.PP
+Please see \f[B]ibv_create_cq_ex(3)\f[] man page for \f[B]context\f[]
+and \f[B]cq_attr\f[]
+.SS mlx5_cq_attr
+.IP
+.nf
+\f[C]
+struct\ mlx5dv_cq_init_attr\ {
+\ \ \ \ uint64_t\ comp_mask;
+\ \ \ \ uint8_t\ \ cqe_comp_res_format;
+\ \ \ \ uint32_t\ flags;
+\ \ \ \ uint16_t\ cqe_size;
+};
+\f[]
+.fi
+.TP
+.B \f[I]comp_mask\f[]
+Bitmask specifying what fields in the structure are valid:
+.RS
+.PP
+MLX5DV_CQ_INIT_ATTR_MASK_COMPRESSED_CQE enables creating a CQ in a mode
+that few CQEs may be compressed into a single CQE, valid values in
+\f[I]cqe_comp_res_format\f[]
+.PP
+MLX5DV_CQ_INIT_ATTR_MASK_FLAGS valid values in \f[I]flags\f[]
+.PP
+MLX5DV_CQ_INIT_ATTR_MASK_CQE_SIZE valid values in \f[I]cqe_size\f[]
+.RE
+.TP
+.B \f[I]cqe_comp_res_format\f[]
+A bitwise OR of the various CQE response formats of the responder side:
+.RS
+.PP
+MLX5DV_CQE_RES_FORMAT_HASH CQE compression with hash
+.PP
+MLX5DV_CQE_RES_FORMAT_CSUM CQE compression with RX checksum
+.PP
+MLX5DV_CQE_RES_FORMAT_CSUM_STRIDX CQE compression with stride index
+.RE
+.TP
+.B \f[I]flags\f[]
+A bitwise OR of the various values described below:
+.RS
+.PP
+MLX5DV_CQ_INIT_ATTR_FLAGS_CQE_PAD create a padded 128B CQE
+.RE
+.TP
+.B \f[I]cqe_size\f[]
+configure the CQE size to be 64 or 128 bytes other values will fail
+mlx5dv_create_cq.
+.RS
+.RE
+.SH RETURN VALUE
+.PP
+\f[B]mlx5dv_create_cq()\f[] returns a pointer to the created CQ, or NULL
+if the request fails and errno will be set.
+.SH SEE ALSO
+.PP
+\f[B]ibv_create_cq_ex\f[](3),
+.SH AUTHOR
+.PP
+Yonatan Cohen <[email protected]>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/pandoc-prebuilt/fa29d88a48409a61841ea15857c81feb01fd166d 
new/pandoc-prebuilt/fa29d88a48409a61841ea15857c81feb01fd166d
--- old/pandoc-prebuilt/fa29d88a48409a61841ea15857c81feb01fd166d        
1970-01-01 01:00:00.000000000 +0100
+++ new/pandoc-prebuilt/fa29d88a48409a61841ea15857c81feb01fd166d        
2018-12-13 17:08:10.288649791 +0100
@@ -0,0 +1,88 @@
+.\" Automatically generated by Pandoc 1.19.2.1
+.\"
+.TH "mlx5dv_devx_umem_reg, mlx5dv_devx_umem_dereg" "3" "" "" ""
+.hy
+.SH NAME
+.PP
+mlx5dv_devx_umem_reg \- Register a user memory to be used by the devx
+interface
+.PP
+mlx5dv_devx_umem_dereg \- Deregister a devx umem object
+.SH SYNOPSIS
+.IP
+.nf
+\f[C]
+#include\ <infiniband/mlx5dv.h>
+
+struct\ mlx5dv_devx_umem\ {
+\ \ \ \ uint32_t\ umem_id;
+};
+
+struct\ mlx5dv_devx_umem\ *
+mlx5dv_devx_umem_reg(struct\ ibv_context\ *context,\ void\ *addr,\ size_t\ 
size,
+\ \ \ \ \ \ \ \ \ \ \ \ \ uint32_t\ access)
+
+int\ mlx5dv_devx_umem_dereg(struct\ mlx5dv_devx_umem\ *dv_devx_umem)
+\f[]
+.fi
+.SH DESCRIPTION
+.PP
+Register or deregister a user memory to be used by the devx interface.
+.PP
+The register verb exposes a UMEM DEVX object for user memory
+registration for DMA.
+The API to register the user memory gets as input the user address,
+length and access flags, and provides to the user as output an object
+which holds the UMEM ID returned by the firmware to this registered
+memory.
+.PP
+The user will use that UMEM ID in device direct commands that use this
+memory instead of the physical addresses list, for example upon
+\f[I]mlx5dv_devx_obj_create\f[] to create a QP.
+.SH ARGUMENTS
+.TP
+.B \f[I]context\f[]
+.IP
+.nf
+\f[C]
+RDMA\ device\ context\ to\ create\ the\ action\ on.
+\f[]
+.fi
+.RS
+.RE
+.TP
+.B \f[I]addr\f[]
+The memory start address to register.
+.RS
+.RE
+.TP
+.B \f[I]size\f[]
+.IP
+.nf
+\f[C]
+The\ size\ of\ *addr*\ buffer.
+\f[]
+.fi
+.RS
+.RE
+.TP
+.B \f[I]access\f[]
+The desired memory protection attributes; it is either 0 or the bitwise
+OR of one or more of \f[I]enum ibv_access_flags\f[].
+.RS
+.RE
+.SH RETURN VALUE
+.PP
+Upon success \f[I]mlx5dv_devx_umem_reg\f[] will return a new \f[I]struct
+mlx5dv_devx_umem\f[] object, on error NULL will be returned and errno
+will be set.
+.PP
+\f[I]mlx5dv_devx_umem_dereg\f[] returns 0 on success, or the value of
+errno on failure (which indicates the failure reason).
+.SH SEE ALSO
+.PP
+\f[I]mlx5dv_open_device(3)\f[], \f[I]ibv_reg_mr(3)\f[],
+\f[I]mlx5dv_devx_obj_create(3)\f[]
+.SH AUTHOR
+.PP
+Yishai Hadas <[email protected]>

++++++ rdma-core-20.1.0.222fa83a789c.tar.gz -> 
rdma-core-21.0.a4b744d2cd6e.tar.gz ++++++
++++ 39322 lines of diff (skipped)


Reply via email to