Hello community, here is the log from the commit of package rdma-core for openSUSE:Factory checked in at 2019-02-08 13:47:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rdma-core (Old) and /work/SRC/openSUSE:Factory/.rdma-core.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rdma-core" Fri Feb 8 13:47:59 2019 rev:27 rq:672084 version:22.1 Changes: -------- --- /work/SRC/openSUSE:Factory/rdma-core/rdma-core.changes 2018-12-27 00:23:43.819940610 +0100 +++ /work/SRC/openSUSE:Factory/.rdma-core.new.28833/rdma-core.changes 2019-02-08 13:48:00.614786564 +0100 @@ -1,0 +2,6 @@ +Wed Feb 6 08:37:03 UTC 2019 - [email protected] + +- Update to rdma-core v22.1 (bsc#1104280) + * No release notes available + +------------------------------------------------------------------- Old: ---- rdma-core-21.0.a4b744d2cd6e.tar.gz New: ---- rdma-core-22.1.0.2b42a75b60aa.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rdma-core.spec ++++++ --- /var/tmp/diff_new_pack.xDE5at/_old 2019-02-08 13:48:01.126786405 +0100 +++ /var/tmp/diff_new_pack.xDE5at/_new 2019-02-08 13:48:01.130786403 +0100 @@ -1,7 +1,7 @@ # # spec file for package rdma-core # -# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,10 +19,11 @@ %bcond_without systemd # Do not build static libs by default. %define with_static %{?_with_static: 1} %{?!_with_static: 0} +%define with_pyverbs %{?_with_pyverbs: 1} %{?!_with_pyverbs: 0} -%define git_ver .0.a4b744d2cd6e +%define git_ver .0.2b42a75b60aa Name: rdma-core -Version: 21 +Version: 22.1 Release: 0 Summary: RDMA core userspace libraries and daemons License: GPL-2.0-only OR BSD-2-Clause @@ -62,6 +63,10 @@ BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(systemd) BuildRequires: pkgconfig(udev) +%if %{with_pyverbs} +BuildRequires: python3-Cython +BuildRequires: python3-devel +%endif %ifnarch s390 s390x BuildRequires: valgrind-devel %endif @@ -326,6 +331,14 @@ hostname changes and updates the Node Description of the rdma devices based on those changes. +%package -n python3-pyverbs +Summary: Python3 API over IB verbs +Group: Development/Languages/Python + +%description -n python3-pyverbs +Pyverbs is a Cython-based Python API over libibverbs, providing an +easy, object-oriented access to IB verbs. + %prep %setup -q -n %{name}-%{version}%{git_ver} #Extract prebuilt pandoc file in the buildlib directory @@ -364,7 +377,16 @@ %if %{with_static} -DENABLE_STATIC=1 \ %endif - %{EXTRA_CMAKE_FLAGS} + %{EXTRA_CMAKE_FLAGS} \ +%if %{defined __python3} + -DPYTHON_EXECUTABLE:PATH=%{__python3} \ + -DCMAKE_INSTALL_PYTHON_ARCH_LIB:PATH=%{python3_sitearch} \ +%endif +%if %{with_pyverbs} + -DNO_PYVERBS=0 +%else + -DNO_PYVERBS=1 +%endif %make_jobs %install @@ -694,4 +716,9 @@ %{_mandir}/man8/rdma-ndd.8* %{_libexecdir}/udev/rules.d/60-rdma-ndd.rules +%if %{with_pyverbs} +%files -n python3-pyverbs +%{python3_sitearch}/pyverbs +%endif + %changelog ++++++ _service ++++++ --- /var/tmp/diff_new_pack.xDE5at/_old 2019-02-08 13:48:01.154786396 +0100 +++ /var/tmp/diff_new_pack.xDE5at/_new 2019-02-08 13:48:01.154786396 +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">a4b744d2cd6e5ccb0c9e60ebaf681184dadb6da0</param> + <param name="revision">2b42a75b60aacd6773d7198b4ef4f0e4aa0ceb86</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 2018-12-13 17:08:13.760673762 +0100 +++ new/pandoc-prebuilt/0113b8e7282fb498b6027aebc1cf2148def1e1c6 1970-01-01 01:00:00.000000000 +0100 @@ -1,101 +0,0 @@ -.\" 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/0ac7ce8cf9db88f5ac3aa4e5afdeae555017e1fc new/pandoc-prebuilt/0ac7ce8cf9db88f5ac3aa4e5afdeae555017e1fc --- old/pandoc-prebuilt/0ac7ce8cf9db88f5ac3aa4e5afdeae555017e1fc 1970-01-01 01:00:00.000000000 +0100 +++ new/pandoc-prebuilt/0ac7ce8cf9db88f5ac3aa4e5afdeae555017e1fc 2019-02-06 09:36:56.690236650 +0100 @@ -0,0 +1,108 @@ +.\" Automatically generated by Pandoc 1.19.2.1 +.\" +.TH "mlx5dv_devx_qp[/cq/srq/wq/ind_tbl]_modify / query" "3" "" "" "" +.hy +.SH NAME +.PP +mlx5dv_devx_qp_modify \- Modifies a verbs QP via DEVX +.PP +mlx5dv_devx_qp_query \- Queries a verbs QP via DEVX +.PP +mlx5dv_devx_cq_modify \- Modifies a verbs CQ via DEVX +.PP +mlx5dv_devx_cq_query \- Queries a verbs CQ via DEVX +.PP +mlx5dv_devx_srq_modify \- Modifies a verbs SRQ via DEVX +.PP +mlx5dv_devx_srq_query \- Queries a verbs SRQ via DEVX +.PP +mlx5dv_devx_wq_modify \- Modifies a verbs WQ via DEVX +.PP +mlx5dv_devx_wq_query \- Queries a verbs WQ via DEVX +.PP +mlx5dv_devx_ind_tbl_modify \- Modifies a verbs indirection table via +DEVX +.PP +mlx5dv_devx_ind_tbl_query \- Queries a verbs indirection table via DEVX +.SH SYNOPSIS +.IP +.nf +\f[C] +#include\ <infiniband/mlx5dv.h> +int\ mlx5dv_devx_qp_modify(struct\ ibv_qp\ *qp,\ const\ void\ *in,\ size_t\ inlen, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen); +int\ mlx5dv_devx_qp_query(struct\ ibv_qp\ *qp,\ const\ void\ *in,\ size_t\ inlen, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen); +int\ mlx5dv_devx_cq_modify(struct\ ibv_cq\ *cq,\ const\ void\ *in,\ size_t\ inlen, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen); +int\ mlx5dv_devx_cq_query(struct\ ibv_cq\ *cq,\ const\ void\ *in,\ size_t\ inlen, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen); +int\ mlx5dv_devx_srq_modify(struct\ ibv_srq\ *srq,\ const\ void\ *in,\ size_t\ inlen, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen); +int\ mlx5dv_devx_srq_query(struct\ ibv_srq\ *srq,\ const\ void\ *in,\ size_t\ inlen, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen); +int\ mlx5dv_devx_wq_modify(struct\ ibv_wq\ *wq,\ const\ void\ *in,\ size_t\ inlen, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen); +int\ mlx5dv_devx_wq_query(struct\ ibv_wq\ *wq,\ const\ void\ *in,\ size_t\ inlen, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen); +int\ mlx5dv_devx_ind_tbl_modify(struct\ ibv_rwq_ind_table\ *ind_tbl, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ const\ void\ *in,\ size_t\ inlen, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen); +int\ mlx5dv_devx_ind_tbl_query(struct\ ibv_rwq_ind_table\ *ind_tbl, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ const\ void\ *in,\ size_t\ inlen, +\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ void\ *out,\ size_t\ outlen); +\f[] +.fi +.SH DESCRIPTION +.PP +Modify / query a verb object 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 +The above APIs enables modifying/querying a verb object via the DEVX +interface. +This enables interoperability between verbs and DEVX. +As such an application can use the create method from verbs (e.g. +ibv_create_qp) and modify and query the created object via DEVX (e.g. +mlx5dv_devx_qp_modify). +.SH ARGUMENTS +.TP +.B \f[I]qp/cq/wq/srq/ind_tbl\f[] +The ibv_xxx object to issue 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 +.SH RETURN VALUE +.PP +Upon success 0 is returned or the value of errno on a failure. +.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/0c13daaf909e3d36b30c5b3c3d9af967554d63c8 new/pandoc-prebuilt/0c13daaf909e3d36b30c5b3c3d9af967554d63c8 --- old/pandoc-prebuilt/0c13daaf909e3d36b30c5b3c3d9af967554d63c8 1970-01-01 01:00:00.000000000 +0100 +++ new/pandoc-prebuilt/0c13daaf909e3d36b30c5b3c3d9af967554d63c8 2019-02-06 09:36:54.514222373 +0100 @@ -0,0 +1,137 @@ +.\" Automatically generated by Pandoc 1.19.2.1 +.\" +.TH "IBV_ADVISE_MR" "3" "2018\-10\-19" "libibverbs" "Libibverbs Programmer\[aq]s Manual" +.hy +.SH NAME +.PP +ibv_advise_mr \- Gives advice or directions to the kernel about an +address range belongs to a memory region (MR). +.SH SYNOPSIS +.IP +.nf +\f[C] +#include\ <infiniband/verbs.h> + +int\ ibv_advise_mr(struct\ ibv_pd\ *pd, +\ \ \ \ \ \ \ \ \ \ enum\ ibv_advise_mr_advice\ advice, +\ \ \ \ \ \ \ \ \ \ uint32_t\ flags, +\ \ \ \ \ \ \ \ \ \ struct\ ibv_sge\ *sg_list, +\ \ \ \ \ \ \ \ \ \ uint32_t\ num_sge) +\f[] +.fi +.SH DESCRIPTION +.PP +\f[B]ibv_advise_mr()\f[] Give advice or directions to the kernel about +an address range belonging to a memory region (MR). +Applications that are aware of future access patterns can use this verb +in order to leverage this knowledge to improve system or application +performance. +.PP +\f[B]Conventional advice values\f[] +.TP +.B \f[I]IBV_ADVISE_MR_ADVICE_PREFETCH\f[] +Pre\-fetch a range of an on\-demand paging MR. +Make pages present with read\-only permission before the actual IO is +conducted. +This would provide a way to reduce latency by overlapping paging\-in and +either compute time or IO to other ranges. +.RS +.RE +.TP +.B \f[I]IBV_ADVISE_MR_ADVICE_PREFETCH_WRITE\f[] +Like IBV_ADVISE_MR_ADVICE_PREFETCH but with read\-access and +write\-access permission to the fetched memory. +.RS +.RE +.SH ARGUMENTS +.TP +.B \f[I]pd\f[] +The protection domain (PD) associated with the MR. +.RS +.RE +.TP +.B \f[I]advice\f[] +The requested advise value (as listed above). +.RS +.RE +.TP +.B \f[I]flags\f[] +Describes the properties of the advise operation \f[B]Conventional +advice values\f[] \f[I]IBV_ADVISE_MR_FLAG_FLUSH\f[] : Request to be a +synchronized operation. +Return to the caller after the operation is completed. +.RS +.RE +.TP +.B \f[I]sg_list\f[] +Pointer to the s/g array When using IBV_ADVISE_OP_PREFETCH advise value, +all the lkeys of all the scatter gather elements (SGEs) must be +associated with ODP MRs (MRs that were registered with +IBV_ACCESS_ON_DEMAND). +.RS +.RE +.TP +.B \f[I]num_sge\f[] +Number of elements in the s/g array +.RS +.RE +.SH RETURN VALUE +.PP +\f[B]ibv_advise_mr()\f[] returns 0 when the call was successful, or the +value of errno on failure (which indicates the failure reason). +.TP +.B \f[I]ENOSYS\f[] +libibverbs or provider driver doesn\[aq]t support the ibv_advise_mr() +verb. +.RS +.RE +.TP +.B \f[I]ENOTSUP\f[] +The advise operation isn\[aq]t supported. +.RS +.RE +.TP +.B \f[I]EFAULT\f[] +In one of the following: o When the range requested is out of the MR +bounds, or when parts of it are not part of the process address space. +o One of the lkeys provided in the scatter gather list is invalid or +with wrong write access. +.RS +.RE +.TP +.B \f[I]EINVAL\f[] +In one of the following: o The PD is invalid. +o The flags are invalid. +.RS +.RE +.SH NOTES +.PP +An application may pre\-fetch any address range within an ODP MR when +using the \f[B]IBV_ADVISE_MR_ADVICE_PREFETCH\f[] or +\f[B]IBV_ADVISE_MR_ADVICE_PREFETCH_WRITE\f[] advice. +Semantically, this operation is best\-effort. +That means the kernel does not guarantee that underlying pages are +updated in the HCA or the pre\-fetched pages would remain resident. +.PP +When using \f[B]IBV_ADVISE_MR_ADVICE_PREFETCH\f[] or +\f[B]IBV_ADVISE_MR_ADVICE_PREFETCH_WRITE\f[] advice, the operation will +be done in the following stages: o Page in the user pages to memory +(pages aren\[aq]t pinned). +o Get the dma mapping of these user pages. +o Post the underlying page translations to the HCA. +.PP +If \f[B]IBV_ADVISE_MR_FLAG_FLUSH\f[] is specified then the underlying +pages are guaranteed to be updated in the HCA before returning SUCCESS. +Otherwise the driver can choose to postpone the posting of the new +translations to the HCA. +When performing a local RDMA access operation it is recommended to use +IBV_ADVISE_MR_FLAG_FLUSH flag with one of the pre\-fetch advices to +increase probability that the pages translations are valid in the HCA +and avoid future page faults. +.SH SEE ALSO +.PP +\f[B]ibv_reg_mr\f[](3), \f[B]ibv_rereg_mr\f[](3), +\f[B]ibv_dereg_mr\f[](3) +.SH AUTHOR +.PP +Aviad Yehezkel <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pandoc-prebuilt/30d9cd1dec073db27c4661daf57bb6df7e42aec1 new/pandoc-prebuilt/30d9cd1dec073db27c4661daf57bb6df7e42aec1 --- old/pandoc-prebuilt/30d9cd1dec073db27c4661daf57bb6df7e42aec1 2018-12-13 17:08:13.508672021 +0100 +++ new/pandoc-prebuilt/30d9cd1dec073db27c4661daf57bb6df7e42aec1 1970-01-01 01:00:00.000000000 +0100 @@ -1,59 +0,0 @@ -.\" 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/4aefe6ec699efe9cbeab3f78569c8ed5da970a2e new/pandoc-prebuilt/4aefe6ec699efe9cbeab3f78569c8ed5da970a2e --- old/pandoc-prebuilt/4aefe6ec699efe9cbeab3f78569c8ed5da970a2e 1970-01-01 01:00:00.000000000 +0100 +++ new/pandoc-prebuilt/4aefe6ec699efe9cbeab3f78569c8ed5da970a2e 2019-02-06 09:36:56.002232136 +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 adding/removing 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 up to 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/4c131186395bc5abd8dae77341e6a5fecc2aa827 new/pandoc-prebuilt/4c131186395bc5abd8dae77341e6a5fecc2aa827 --- old/pandoc-prebuilt/4c131186395bc5abd8dae77341e6a5fecc2aa827 1970-01-01 01:00:00.000000000 +0100 +++ new/pandoc-prebuilt/4c131186395bc5abd8dae77341e6a5fecc2aa827 2019-02-06 09:36:56.818237489 +0100 @@ -0,0 +1,103 @@ +.\" 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; +\ \ \ \ \ \ \ \ struct\ mlx5dv_devx_obj\ *obj; +\ \ \ \ }; +}; +\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. +MLX5DV_FLOW_ACTION_DEST_DEVX The DEVX destination object for the matched +packets. +MLX5DV_FLOW_ACTION_COUNTERS_DEVX The DEVX counter object for the matched +packets. +.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 +.TP +.B \f[I]obj\f[] +DEVX object, to be used with \f[I]type\f[] +\f[I]MLX5DV_FLOW_ACTION_DEST_DEVX\f[] or by +\f[I]MLX5DV_FLOW_ACTION_COUNTERS_DEVX\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/624de381c4dd90a5061dfb899e33d1aff4f8af1c new/pandoc-prebuilt/624de381c4dd90a5061dfb899e33d1aff4f8af1c --- old/pandoc-prebuilt/624de381c4dd90a5061dfb899e33d1aff4f8af1c 1970-01-01 01:00:00.000000000 +0100 +++ new/pandoc-prebuilt/624de381c4dd90a5061dfb899e33d1aff4f8af1c 2019-02-06 09:36:57.446241611 +0100 @@ -0,0 +1,36 @@ +.\" Automatically generated by Pandoc 1.19.2.1 +.\" +.TH "mlx5dv_is_supported" "3" "" "" "" +.hy +.SH NAME +.PP +mlx5dv_is_supported \- Check whether an RDMA device implemented by the +mlx5 provider +.SH SYNOPSIS +.IP +.nf +\f[C] +#include\ <infiniband/mlx5dv.h> + +bool\ mlx5dv_is_supported(struct\ ibv_device\ *device); +\f[] +.fi +.SH DESCRIPTION +.PP +mlx5dv functions may be called only if this function returns true for +the RDMA device. +.SH ARGUMENTS +.TP +.B \f[I]device\f[] +RDMA device to check. +.RS +.RE +.SH RETURN VALUE +.PP +Returns true if device is implemented by mlx5 provider. +.SH SEE ALSO +.PP +\f[I]mlx5dv(7)\f[] +.SH AUTHOR +.PP +Artemy Kovalyov <[email protected]> diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/pandoc-prebuilt/6e655d58ac518ead5c152004f553e93ffded66b7 new/pandoc-prebuilt/6e655d58ac518ead5c152004f553e93ffded66b7 --- old/pandoc-prebuilt/6e655d58ac518ead5c152004f553e93ffded66b7 1970-01-01 01:00:00.000000000 +0100 +++ new/pandoc-prebuilt/6e655d58ac518ead5c152004f553e93ffded66b7 2019-02-06 09:36:56.282233974 +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 mutating 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/7d5e462c408c439a395f9d4413bad29e7d20379b new/pandoc-prebuilt/7d5e462c408c439a395f9d4413bad29e7d20379b --- old/pandoc-prebuilt/7d5e462c408c439a395f9d4413bad29e7d20379b 2018-12-13 17:08:13.252670255 +0100 +++ new/pandoc-prebuilt/7d5e462c408c439a395f9d4413bad29e7d20379b 1970-01-01 01:00:00.000000000 +0100 @@ -1,101 +0,0 @@ -.\" 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/985764b9aa9b747fb8a32d67fd2647deef3f79f7 new/pandoc-prebuilt/985764b9aa9b747fb8a32d67fd2647deef3f79f7 --- old/pandoc-prebuilt/985764b9aa9b747fb8a32d67fd2647deef3f79f7 1970-01-01 01:00:00.000000000 +0100 +++ new/pandoc-prebuilt/985764b9aa9b747fb8a32d67fd2647deef3f79f7 2019-02-06 09:36:56.558235783 +0100 @@ -0,0 +1,111 @@ +.\" 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. +.PP +MLX5DV_QP_CREATE_PACKET_BASED_CREDIT_MODE: Set QP to work in +end\-to\-end packet\-based credit, instead of the default message\-based +credits (IB spec. +section 9.7.7.2). +.PD 0 +.P +.PD +It is the applications responsibility to make sure that the peer QP is +configured with same mode. +.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/b43db7d0f792e732b32d21f1de3da3d59d06bcfd new/pandoc-prebuilt/b43db7d0f792e732b32d21f1de3da3d59d06bcfd --- old/pandoc-prebuilt/b43db7d0f792e732b32d21f1de3da3d59d06bcfd 2018-12-13 17:08:13.888674645 +0100 +++ new/pandoc-prebuilt/b43db7d0f792e732b32d21f1de3da3d59d06bcfd 1970-01-01 01:00:00.000000000 +0100 @@ -1,91 +0,0 @@ -.\" 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]>
