The free process of mask table has problem, should use
'rte_hash_free()' rather than 'rte_free()'.
Fixes: ac09376096 ("net/nfp: add structures and functions for flow offload")
Signed-off-by: Chaoyong He <chaoyong.he@corigine.com>
Reviewed-by: Niklas Söderlund <niklas.soderlund@corigine.com>
This patch clarifies the handling of following cases
in the ethdev API docs:
- If rte_eth_dev_start() returns (-EAGAIN) for some port,
it cannot be started right now and start operation
must be retried.
- If rte_eth_dev_stop() returns (-EBUSY) for some port,
it cannot be stopped in the current state.
When stopping the port in testpmd fails,
port's state is switched back to STARTED
to allow users to manually retry stopping the port.
No additional changes in testpmd are required to handle
failures to start the port.
If rte_eth_dev_start() fails, port's state is switched to STOPPED
and users are allowed to retry the operation.
Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
Acked-by: Ferruh Yigit <ferruh.yigit@amd.com>
This patch adds the following limitations to the mlx5 PMD guide:
- With HW Steering and E-Switch enabled, transfer proxy port must
be started before any port representor.
- With HW Steering and E-Switch enabled, all representors
must be stopped before transfer proxy port is stopped.
Documentation of mlx5 PMD's implementations of
rte_eth_dev_start() and rte_eth_dev_stop() is updated accordingly:
- rte_eth_dev_start() returns (-EAGAIN) when transfer proxy port
cannot be started.
- rte_eth_dev_stop() returns (-EBUSY) when port representor
cannot be stopped.
Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
This patch increases log level for error reporting when stopping
the transfer proxy port failed. Stopping can fail with EBUSY when
related representor ports are still running.
Fixes: 483181f7b6 ("net/mlx5: support device control of representor matching")
Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Add to release notes:
Flags field in pre-configuration structure and strict-queue flag.
Fixes: dcc9a80c20 ("ethdev: add strict queue to pre-configuration flow hints")
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
Add to 22.11 release notes the NVIDIA mlx5 HWS aging support.
Fixes: 04a4de756e ("net/mlx5: support flow age action with HWS")
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
The NVIDIA mlx5 driver inside 22.11 release notes, lists all features
support for queue-based async HW steering.
Before the list, miss a blank line causing it to look regular text line.
This patch adds the blank line.
Fixes: 0f4aa72b99 ("net/mlx5: support flow modify field with HWS")
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
In flow syntax documentation, there is example for create pattern
template.
Before the example, miss a blank line causing it to look regular bold
text.
In addition, inside the example, it uses tab instead of spaces which
expand the indentation in one line.
This patch adds the blank line and replaces tab with spaces.
Fixes: 04cc665fab ("app/testpmd: add flow template management")
Cc: stable@dpdk.org
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Yuying Zhang <yuying.zhang@intel.com>
In testpmd documentation, for listing aged-out flow rules there is some
boxes of examples.
In Sphinx syntax, those boxes are achieved by "::" before. However,
in two places it uses ":" instead and the example looks like a regular
text.
This patch replace the ":" with "::" to get code box.
Fixes: 0e459ffa08 ("app/testpmd: support flow aging")
Cc: stable@dpdk.org
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
In testpmd documentation, there are two underlines which do not
match the length of the text above.
This patch update them to be align with the guideline [1].
[1]
https://doc.dpdk.org/guides/contributing/documentation.html#section-headers
Fixes: a69c335d56 ("doc: add flow dump command in testpmd guide")
Fixes: 0e459ffa08 ("app/testpmd: support flow aging")
Cc: stable@dpdk.org
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Reviewed-by: Thomas Monjalon <thomas@monjalon.net>
Acked-by: Yuying Zhang <yuying.zhang@intel.com>
The event core is mlx5 vDPA driver devarg that selects the CPU core for
the internal timer thread used to manage data-path events into the
driver.
Emphasize that this CPU should be isolated for vDPA mlx5 devices only in
order to save the performance and latency of the device.
Signed-off-by: Matan Azrad <matan@nvidia.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
This adds the Bluefield-3 device ID to the list of
supported NVIDIA devices that run the MLX5 compress PMD.
The device is still in development stage.
Signed-off-by: Raslan Darawsheh <rasland@nvidia.com>
The shared IB device (sh) has per port data updated in port creation.
In port closing this port data is updated even when the SH still exist.
However, this updating is happened after SH has been released and for
last port it actually accesses to freed memory.
This patch updates the port data before SH releasing.
Fixes: 13c5c09390 ("net/mlx5: fix port event cleaning order")
Cc: stable@dpdk.org
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
This patch removes the following checks from validation
of modify field action:
- rejection of ADD operation,
- offsets should be aligned to 4 bytes.
These limitations were removed in
commit 0f4aa72b99 ("net/mlx5: support flow modify field with HWS"),
but non-HWS validation was not updated.
Notes about these limitations are removed from mlx5 PMD docs.
On top of that, the current offsetting behavior in modify field action
is clarified in the mlx5 docs.
Fixes: 0f4aa72b99 ("net/mlx5: support flow modify field with HWS")
Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Maximal LRO message size must be multiply of 256.
Otherwise, TCP payload may not fit into a single WQE.
Fixes: 1c7e57f9bd ("net/mlx5: set maximum LRO packet size")
Cc: stable@dpdk.org
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
The PMD analyzes each Rx queue maximal LRO size and selects one that
fits all queues to configure TIR LRO attribute.
TIR LRO attribute is number of 256 bytes chunks that match the
selected maximal LRO size.
PMD used `priv->max_lro_msg_size` for selected maximal LRO size and
number of TIR chunks.
Fixes: b9f1f4c239 ("net/mlx5: fix port initialization with small LRO")
Cc: stable@dpdk.org
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
Before this patch, during translation of OF_PUSH_VLAN actions iterator
was moved forward to the position of OF_SET_VLAN_VID or
OF_SET_VLAN_PCP, but masks iterator was not updated.
As a result, the following actions were incorrectly translated,
because iterators were not aligned.
This patch fixes this behavior by properly adjusting masks iterator
alognside actions iterator.
Fixes: 773ca0e91b ("net/mlx5: support VLAN push/pop/modify with HWS")
Signed-off-by: Dariusz Sosnowski <dsosnowski@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
The item translation split causes GENEVE TLV option resource register
function flow_dev_geneve_tlv_option_resource_register() to be called
twice incorrectly both in spec and mask translation.
In SWS mode the refcnt will only be decreased by 1 in flow release.
The refcnt will never be 0 again, it causes the resource be leaked.
In HWS mode the resource is allocated as global, the refcnt should
not be increased after the resource be allocated. And the resource
should be released during PMD exists.
This commit fixes GENEVE resource management.
Fixes: 75a00812b1 ("net/mlx5: add hardware steering item translation")
Fixes: cd4ab74206 ("net/mlx5: split flow item matcher and value translation")
Signed-off-by: Suanming Mou <suanmingm@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
The flow_hw_async_flow_destroy() function fills the error structure in
case of failure.
The error log reported by function is "fail to create rte flow" while
the correct failure is in destruction.
This patch changes the error log to report "fail to destroy rte flow".
Fixes: c40c061a02 ("net/mlx5: add basic flow queue operation")
Cc: stable@dpdk.org
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
There's core dump when launching l3fwd with 1 queue 1 core. It's
because NULL pointer is used if fail to configure device.
This patch removes incorrect check during device configuration,
and checks NULL pointer when executing VIRTCHNL2_OP_DEALLOC_VECTORS.
Fixes: 549343c25d ("net/idpf: support device initialization")
Fixes: 70675bcc3a ("net/idpf: support RSS")
Fixes: 37291a68fd ("net/idpf: support write back based on ITR expire")
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
Port can't start successfully if stopping port and starting port
again.
This patch fixes port start by initialization.
Fixes: e9ff6df15b ("net/idpf: stop before closing device")
Signed-off-by: Beilei Xing <beilei.xing@intel.com>
Acked-by: Qi Zhang <qi.z.zhang@intel.com>
The configuration of allmulti and promiscuous modes conflicts
together. For instance, if we enable promiscuous mode, then enable and
disable allmulti, then the promiscuous mode is wrongly disabled.
Fix this behavior by:
- doing nothing when we set/unset allmulti if promiscuous mode is on
- restorting the proper mode (none or allmulti) when we disable
promiscuous mode
Fixes: 1f4564ed76 ("net/ixgbevf: enable promiscuous mode")
Cc: stable@dpdk.org
Signed-off-by: Olivier Matz <olivier.matz@6wind.com>
Acked-by: Wenjun Wu <wenjun1.wu@intel.com>
Add support for Vxlan-GPE tunnel packet checksum offloading by adding
the VXLAN_GPE flag during processing of Tx context descriptor.
Signed-off-by: Zhichao Zeng <zhichaox.zeng@intel.com>
Tested-by: Ke Xu <ke1.xu@intel.com>
This local variable hides the more global one.
The original intent was probably to use the global one.
Fixes: 0cc67a96e4 ("test/member: add functional and perf tests")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
This local variable hides the more global one.
The original intent was probably to use the global one.
Fixes: 0e925aef27 ("app/test: add EFD functional and perf tests")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
This variable is not used and has been copy/pasted in a lot of other
code.
Fixes: 938a184a18 ("app/testpmd: implement basic support for flow API")
Fixes: 55509e3a49 ("app/testpmd: support shared flow action")
Fixes: 04cc665fab ("app/testpmd: add flow template management")
Fixes: c4b3887334 ("app/testpmd: add flow table management")
Fixes: ecdc927b99 ("app/testpmd: add async flow create/destroy operations")
Fixes: d906fff518 ("app/testpmd: add async indirect actions operations")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
This variable is used to create some artificial load.
Fixes: 3c156061b9 ("app/testpmd: add noisy neighbour forwarding mode")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
This variable is not used.
Fixes: 0d8d7bd720 ("net/ice: support DDP dump switch rule binary")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
This variable is not used.
Fixes: abeb865255 ("vhost: remove copy threshold for async path")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
This variable is not used.
Bugzilla ID: 1130
Fixes: 21698354c8 ("service: introduce service cores concept")
Cc: stable@dpdk.org
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Harry van Haaren <harry.van.haaren@intel.com>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Stop and return the error code when update_datapath fails.
update_datapath prepares resources for the vdpa device.
The driver should not perform any further actions
if update_datapath returns an error.
Fixes: a3f8150eac ("net/ifcvf: add ifcvf vDPA driver")
Cc: stable@dpdk.org
Signed-off-by: Taekyung Kim <kim.tae.kyung@navercorp.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com>
Acked-by: Andy Pei <andy.pei@intel.com>
Some ifc hardware require synchronization between disabling a queue and
saving queue-state from LM registers. When queue is disabled from vDPA
driver, ifc device stops executing new virtio-cmds and then updates LM
registers with used/avail index. Before saving the queue-state, vDPA
driver should wait until the queue is disabled from backend.
Fixes: 5d75517bef ("vdpa/ifc/base: access block device registers")
Cc: stable@dpdk.org
Signed-off-by: Abhishek Maheshwari <abhishek.maheshwari@intel.com>
Reviewed-by: Chenbo Xia <chenbo.xia@intel.com>
Acked-by: Andy Pei <andy.pei@intel.com>
Reviewed-by: Mandal Purna Chandra <purna.chandra.mandal@intel.com>
version.map are now optional for drivers if no symbol is exported.
Having no symbol exported from a library does not make sense.
Catch all empty maps and warn about them.
Example:
$ ./devtools/check-symbol-maps.sh
Found empty maps:
drivers/crypto/uadk/version.map
drivers/net/gve/version.map
drivers/net/idpf/version.map
Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Ferruh Yigit <ferruh.yigit@amd.com>
The watermark support was removed from rte_ring since version
17.02 but there is leftover in comments.
Fixes: 77dd306427 ("ring: remove watermark support")
Cc: stable@dpdk.org
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
The index description isn't right,
correct it as the Programmer's guide said.
Also correct the guide's figure description about 'Dequeue First Step'.
Fixes: 4a22e6ee3d ("doc: refactor figure numbers into references")
Fixes: af75078fec ("first public release")
Cc: stable@dpdk.org
Signed-off-by: Haiyue Wang <haiyue.wang@intel.com>
The DPDK is not designed to be used from a signal handler.
Add a notice in the documentation describing this limitation,
similar to Linux signal-safety manual page.
Bugzilla ID: 1030
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
Acked-by: Tyler Retzlaff <roretzla@linux.microsoft.com>
Acked-by: Chengwen Feng <fengchengwen@huawei.com>
Same issue was fixed in ABI policy in ec5c0f8,
but more of this misuse persist in comments and docs.
'depreciated' means diminish in value over a period of time.
It should not appear here.
Signed-off-by: Stephen Coleman <omegacoleman@gmail.com>
Acked-by: Ray Kinsella <mdr@ashroe.eu>
Update Linux core isolation guide to include isolation from
timers, RCU processing and IRQs.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@marvell.com>
Acked-by: Jerin Jacob <jerinj@marvell.com>