Hi Vipin Varghese,
Thank you for your feedback!
Yes we need graceful exit, directly calling eal_cleanup from secondary was not
working, we can do the following workaround to use `eal_cleanup`.
diff --git a/app/test-pmd/testpmd.c b/app/test-pmd/testpmd.c
index b7affa6da9..5ef6008a3c 100644
---
From: Pravin M Bathija
header definition to configure memory slots/regions
Signed-off-by: Pravin M Bathija
---
lib/vhost/rte_vhost.h | 4
1 file changed, 4 insertions(+)
diff --git a/lib/vhost/rte_vhost.h b/lib/vhost/rte_vhost.h
index 2f7c4c0080..a7f9700538 100644
--- a/lib/vhost/rte_vho
From: Pravin M Bathija
add new user to mailmap
Signed-off-by: Pravin M Bathija
---
.mailmap | 1 +
1 file changed, 1 insertion(+)
diff --git a/.mailmap b/.mailmap
index 34a99f93a1..6b24ee3a30 100644
--- a/.mailmap
+++ b/.mailmap
@@ -1262,6 +1262,7 @@ Prathisna Padmasanan
Praveen Kaligineedi
From: Pravin M Bathija
- modify data structures and add functions to support
add and remove memory regions/slots
- define VHOST_MEMORY_MAX_NREGIONS & modify function
vhost_user_set_mem_table accordingly
- dynamically add new memory slots via vhost_user_add_mem_reg
- remove unused memory slots
add protocol feature support add and removal of memory
regions/slots dynamically.
this patch set has been tested with multiple instances of fio
connected via libblkio to spdk target backed unix domain socket.
please apply this this patch-set to dpdk mainline as well as
version 25.03.0.
Pravin M Ba
[Public]
Since somehow the email are split it is difficult to see the indexing
>
> Caution: This message originated from an External Source. Use proper caution
> when opening attachments, clicking links, or responding.
>
>
> Hi Stephen,
>
> Many thanks for diving deeper into the issue and sharing
[AMD Official Use Only - AMD Internal Distribution Only]
Hi Khadem,
Snipped
>
>
> Hi Stephen,
>
> Many thanks for the fix and for the suggestion that the secondary should exit
> immediately without attempting any cleanups once it detects the primary has
> exited.
Can you please explain why cle
[AMD Official Use Only - AMD Internal Distribution Only]
Hi Khadem,
Thank you for sharing, please find my comment below
Snipped
>
> Some memory locations will be written with incorrect values, possibly
> corrupting
> data structures or data integrity.
> Size of destination buffer is smaller th
[AMD Official Use Only - AMD Internal Distribution Only]
Hi Khadem,
Thank you for sharing but few thoughts here
> -Original Message-
> From: Khadem Ullah <14pwcse1...@uetpeshawar.edu.pk>
> Sent: Monday, August 4, 2025 5:03 PM
> To: step...@networkplumber.org; tho...@monjalon.net; Yigit,
On Fri, Jul 25, 2025 at 11:15 AM Luca Vizzarro
wrote:
> Merge the RemoteSession class with SSHSession as there is no current use
> of a separate channel other than SSH.
>
> Signed-off-by: Luca Vizzarro
> Reviewed-by: Paul Szczepanek
> ---
> doc/api/dts/framework.remote_session.rst | 1 -
In order to allow use of BPF in the mirror code in ethdev.
Need to switch so that ethdev library depends on BPF library.
Since meson doesn't allow co-dependency, move the BPF ethdev
callback portion into the ethdev lib. And cleanup usage
of VLA in that code.
Signed-off-by: Stephen Hemminger
---
> >
> > 10/07/2025 16:37, Andre Muezerie:
> > > On Tue, Jul 01, 2025 at 04:17:20PM +0200, Thomas Monjalon wrote:
> > > > 23/05/2025 01:37, Andre Muezerie:
> > > > > The functions rte_rcu_qsbr_dq_create and rte_rcu_qsbr_dq_reclaim
> > > > > establish no limit on the size of each element in the defer
The ice driver expects the first, or outer, VLAN tag in a packet to be
written to the L2TAG1 field of the descriptor, as configured by the
l2tsel field when configuring the queue context initially for the
device. However, when configuring the actual VLAN or QinQ strip
behaviour, that l2tsel field w
On Thu, Aug 07, 2025 at 03:31:11PM +0100, Loftus, Ciara wrote:
> >
> > The specific placement of outer/inner VLAN tags in NIC descriptors
> > is configurable. Therefore, remove the assumption that if the L2Tag2
> > field is filled in, that the L2Tag1 must also be. Instead, check the
> > existing m
Add new commands to enable testing of port mirror functionality.
Signed-off-by: Stephen Hemminger
---
app/test-pmd/cmdline.c | 13 ++
app/test-pmd/cmdline_mirror.c | 194
app/test-pmd/cmdline_mirror.h | 13 ++
app/test-pmd/m
On Mon, 4 Aug 2025 13:50:24 -0700
Joshua Washington wrote:
> When starting RX and TX queues in the DQ queue format, the driver was
> erroneously writing GVE_IRQ_MASK to the IRQ doorbell. GQ and DQ have
> different interrupt register layouts, so writing this bit is incorrect.
> Update the registe
When using BPF in cases like port mirroring, need to be
able to put BPF code into a buffer shared between primary
and secondary process. Separate the allocation of the
buffer from the export step.
Minor code refactoring to breakup the steps for how load
happens.
Add test for the new function.
Si
This is a rework of how packet capture is done in DPDK.
The existing mechanism using callbacks has a number of problems:
- can't work when packets are sent and received in secondary process
because callbacks only function in the primary process
- requires "opt-in" from application
The new
Hi Gavin, I'm just flagging that this patch has a failure for the
dynamic_config testsuite's test_disable_promisc_multicast testcase.
It's a testpmd testcase which disables allmulticast on the port and then
verifies that a multicast packet sent to the DUT is dropped, then enables
allmulticast and
Add ethdev port mirror to documentation.
Signed-off-by: Stephen Hemminger
---
doc/guides/prog_guide/bpf_lib.rst| 2 +
doc/guides/prog_guide/ethdev/index.rst | 1 +
doc/guides/prog_guide/ethdev/port_mirror.rst | 68
doc/guides/rel_notes/deprecation.rst
The queue field is optional in pcapng received packet.
Use UINT16_MAX as flag value.
Signed-off-by: Stephen Hemminger
---
lib/pcapng/rte_pcapng.c | 7 ---
lib/pcapng/rte_pcapng.h | 4 ++--
2 files changed, 6 insertions(+), 5 deletions(-)
diff --git a/lib/pcapng/rte_pcapng.c b/lib/pcapng/rte
Use the new port mirror API instead of pdump.
This makes a new temporary ring PMD port and redirects
packets to that vdev.
Signed-off-by: Stephen Hemminger
---
app/dumpcap/main.c | 392
app/dumpcap/meson.build | 3 +-
2 files changed, 318 insertion
In new model, the packet was already copied, only need
to wrap it in pcapng format.
Signed-off-by: Stephen Hemminger
---
lib/pcapng/rte_pcapng.c | 178 +---
lib/pcapng/rte_pcapng.h | 27 +-
2 files changed, 120 insertions(+), 85 deletions(-)
diff --git a
This adds new feature port mirroring to the ethdev layer.
And standalone tests for those features.
Signed-off-by: Stephen Hemminger
---
app/test/meson.build | 1 +
app/test/test_ethdev_mirror.c| 325
config/rte_config.h | 1 +
lib/ethdev/ethd
Need ability to allow process like dumpcap to make a ring ethdev
with a pre-existing ring. Do this via devargs so it can work
with hotplug.
It looked like the API rte_eth_from_ring() would work for this,
but it doesn't do the right thing. That API makes new vdev but
names the ring based on the par
Add names for new port mirror fields.
Signed-off-by: Stephen Hemminger
---
lib/mbuf/rte_mbuf_dyn.h | 9 +
1 file changed, 9 insertions(+)
diff --git a/lib/mbuf/rte_mbuf_dyn.h b/lib/mbuf/rte_mbuf_dyn.h
index 865c90f579..72a31b22b3 100644
--- a/lib/mbuf/rte_mbuf_dyn.h
+++ b/lib/mbuf/rte_m
Need to be able have multiple threads all using same
transmit queue when using SPAN.
Signed-off-by: Stephen Hemminger
---
drivers/net/ring/rte_eth_ring.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/drivers/net/ring/rte_eth_ring.c b/drivers/net/ring/rte_eth_ring.c
index
Use null device to exercise ethdev start/stop in secondary process.
Signed-off-by: Stephen Hemminger
---
app/test/meson.build | 2 +-
app/test/test_mp_secondary.c | 50 +---
2 files changed, 48 insertions(+), 4 deletions(-)
diff --git a/app/test/meson.bu
Best not to depend on other EAL headers to include stuff.
Some of the later changes had build failures on some platforms.
Signed-off-by: Stephen Hemminger
---
lib/ethdev/ethdev_private.c | 9 +
1 file changed, 9 insertions(+)
diff --git a/lib/ethdev/ethdev_private.c b/lib/ethdev/ethdev_
Before this patch if secondary process called start/stop
it would only impact the secondary process, the ethdev on the
primary process was not started.
With this patch, when start/stop is called from secondary,
it calls the primary and does the operation there. The design
is generic, and we can la
https://bugs.dpdk.org/show_bug.cgi?id=1765
Bug ID: 1765
Summary: Add vlan_tci/vlan_tci_outer tracking to testpmd/DTS
Product: DPDK
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: n
Looks good to me.
Reviewed-by: Patrick Robb
Reviewed-by: Patrick Robb
In the current implementation of Checksum Offload, the variables
is_L4 and is_IP are not initialized outside of the loop that
checks the received packet, so if the packet is dropped these
variables cause a NameError in the verification steps.
Add a line that sets these variables to None prior to th
Current test suite docstring for checksum offload suite
says there are 6 test cases when it should say 7.
Fixes: 8c9a7471a0e6 ("dts: add checksum offload test suite")
Signed-off-by: Dean Marx
---
dts/tests/TestSuite_checksum_offload.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff
Acked-by: Patrick Robb
The standard for test case docstrings in DTS requires each
case to have a Steps and Verify section to outline
each respective step of the test. Add these sections
to existing suites that are not formatted this way.
Bugzilla ID: 1599
Signed-off-by: Dean Marx
---
dts/tests/TestSuite_blocklist.py
Add a section to the dts rst under How to Write a Test Suite
which provides an example for how to write a test case
docstring, including a steps and verify section.
Signed-off-by: Dean Marx
---
doc/guides/tools/dts.rst | 16
1 file changed, 16 insertions(+)
diff --git a/doc/gui
On Fri, Jul 18, 2025 at 04:53:35PM +0800, Yuan Wang wrote:
> E610 supports SCTP port in FDIR filter, so add it to the support list.
>
> Fixes: 86e19565f5e2 (net/ixgbe: fix SCTP port support)
When this commit was made back in 2017, there was no E610 to support, so
therefore it wasn't the broken co
>
> The specific placement of outer/inner VLAN tags in NIC descriptors
> is configurable. Therefore, remove the assumption that if the L2Tag2
> field is filled in, that the L2Tag1 must also be. Instead, check the
> existing mbuf VLAN flags, and move tags and set flags as appropriate.
> This fixes
The MAINTAINERS file was only updated to replace Paul with Luca for the
next-dts tree only. This commit adds Luca as a maintainer for the dts
folder on the main tree as well.
Signed-off-by: Luca Vizzarro
---
MAINTAINERS | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/MAINTAIN
On 2025/8/1 21:23, Ivan Malov wrote:
> Hi,
>
> On Fri, 1 Aug 2025, Khadem Ullah wrote:
>
>> Hi Andrew,
>>
>> Thanks for your feedback.
>>
>> Please check mbuf packet types and the following test case:
>> https://doc.dpdk.org/dts-20.02/test_plans/uni_pkt_test_plan.html#test-case-vxlan-tunnel-pac
On Thu, Aug 07, 2025 at 01:42:54PM +0100, Loftus, Ciara wrote:
> >
> > The vector PMD datapaths for ice do not support QinQ, so we need to
> > update the vector offload flags to not use the general RX_OFFLOAD_VLAN
> > flag (which sets all vlan-related options) and replace it with the
> > individua
Currently the default topology for test suites when not specified
is two link, which causes all one link test runs to skip.
This makes writing test suites less flexible for a user
who doesn't add a topology requirement, so changing this
to one link reduces barriers to getting a test suite
running q
Some of the DTS test suites require two link topologies
in order to run, but not all truly require two links
for proper testing. Rewrite the topology requirements
on these test suites to reflect the actual
requirements.
Bugzilla ID: 1755
Signed-off-by: Dean Marx
---
dts/tests/TestSuite_blocklis
Use the new function for determining the maximum simd bitwidth in
the i40e driver.
Signed-off-by: Ciara Loftus
---
drivers/net/intel/i40e/i40e_ethdev.h | 5 +-
drivers/net/intel/i40e/i40e_rxtx.c | 57 --
drivers/net/intel/i40e/i40e_rxtx.h | 1 +
driver
On Thu, Jun 19, 2025 at 01:36:56PM +, Ciara Loftus wrote:
> Enable Tx QINQ offload if the VF reports support for inserting both an
> outer and inner VLAN tag. The VF capabilities report the locations for
> placing each of the tags - either L2TAG1 in the tx descriptor or L2TAG2
> in the context
On Thu, Aug 07, 2025 at 02:12:37PM +0100, Loftus, Ciara wrote:
> >
> > The ice driver expects the first, or outer, VLAN tag in a packet to be
> > written to the L2TAG1 field of the descriptor, as configured by the
> > l2tsel field when configuring the queue context initially for the
> > device. Ho
>
> The ice driver expects the first, or outer, VLAN tag in a packet to be
> written to the L2TAG1 field of the descriptor, as configured by the
> l2tsel field when configuring the queue context initially for the
> device. However, when configuring the actual VLAN or QinQ strip
> behaviour, that l
In the interest of simplicity, let the primary process select the Rx
path to be used by all processes using the given device.
The many logs which report individual Rx path selections have been
consolidated into one single log.
Signed-off-by: Ciara Loftus
Acked-by: Bruce Richardson
---
v2:
* reo
The offload RTE_ETH_RX_OFFLOAD_SCTP_CKSUM is not supported in the ice
driver so remove the one erronous use of it.
Signed-off-by: Ciara Loftus
Acked-by: Bruce Richardson
---
drivers/net/intel/ice/ice_rxtx_vec_common.h | 1 -
1 file changed, 1 deletion(-)
diff --git a/drivers/net/intel/ice/ice_
>
> The vector PMD datapaths for ice do not support QinQ, so we need to
> update the vector offload flags to not use the general RX_OFFLOAD_VLAN
> flag (which sets all vlan-related options) and replace it with the
> individually supported VLAN options.
>
> Fixes: 808a17b3c1e6 ("net/ice: add Rx AV
Replace the existing complicated logic with the use of the common function.
Signed-off-by: Ciara Loftus
---
drivers/net/intel/i40e/i40e_rxtx.c| 148 +-
drivers/net/intel/i40e/i40e_rxtx.h| 15 ++
.../net/intel/i40e/i40e_rxtx_vec_altivec.c| 6 +
drive
Replace the existing complicated logic with the use of the common
function.
Signed-off-by: Ciara Loftus
---
v2:
* use the new names for the renamed structs and functions
---
drivers/net/intel/ice/ice_ethdev.h | 1 -
drivers/net/intel/ice/ice_rxtx.c| 162 +--
Replace the existing complicated logic with the use of the common
function.
Signed-off-by: Ciara Loftus
---
v2:
* use the new names for the renamed structs and functions
---
drivers/net/intel/iavf/iavf_rxtx.c| 293 +++---
drivers/net/intel/iavf/iavf_rxtx.h| 5
The code for determining which Rx path to select during initialisation
has become complicated in many intel drivers due to the amount of
different paths and features available within each path. This commit
aims to simplify and genericize the path selection logic.
The following information about ea
The variable rx_vec_allowed was only used in one function, so
it's not necessary to have it part of the iavf_adapater structure.
Signed-off-by: Ciara Loftus
Acked-by: Bruce Richardson
---
drivers/net/intel/iavf/iavf.h| 1 -
drivers/net/intel/iavf/iavf_ethdev.c | 1 -
drivers/net/intel/i
Order the elements in the enum of Rx function types starting from
smallest SIMD width to largest, similar to the order in the i40e and
ice drivers.
Signed-off-by: Ciara Loftus
---
drivers/net/intel/iavf/iavf.h | 22 +++---
1 file changed, 11 insertions(+), 11 deletions(-)
diff -
Use the new function for determining the maximum simd bitwidth in
the iavf driver.
Signed-off-by: Ciara Loftus
---
drivers/net/intel/iavf/iavf_rxtx.c | 27 +-
drivers/net/intel/iavf/iavf_rxtx.h | 1 +
drivers/net/intel/iavf/iavf_rxtx_vec_sse.c | 6 +
3 f
Use the new function for determining the maximum simd bitwidth in
the ice driver.
Signed-off-by: Ciara Loftus
---
drivers/net/intel/ice/ice_ethdev.h | 5 +--
drivers/net/intel/ice/ice_rxtx.c | 52 ++--
drivers/net/intel/ice/ice_rxtx.h | 1 +
drivers/ne
From: Bruce Richardson
A common need within the drivers is to select between SSE, AVX2 and
AVX-512 code paths. Provide a common function which helps with this
decision making, that returns the max simd bandwidth based on any
user configured maximums and available CPU flags.
Signed-off-by: Bruce
In the interest of simplicity, let the primary process select the Rx
path to be used by all processes using the given device.
The many logs which report individual Rx path selections have been
consolidated into one single log
Signed-off-by: Ciara Loftus
Acked-by: Bruce Richardson
---
v2:
* reor
In the interest of simplicity, let the primary process select the Rx
path to be used by all processes using the given device.
The many logs which report individual Rx path selections have been
consolidated into one single log
Signed-off-by: Ciara Loftus
Acked-by: Bruce Richardson
---
drivers/n
Rename variables from burst_type to func_type to better reflect
the information the variables are storing.
Signed-off-by: Ciara Loftus
Acked-by: Bruce Richardson
---
drivers/net/intel/iavf/iavf.h | 8 +-
drivers/net/intel/iavf/iavf_rxtx.c | 114 ++---
2 files chan
This series aims to simplify the process of selecting an Rx burst
function for the i40e, iavf and ice drivers. Three main simplifications
are made:
1. enforcing the same rx burst function for both primary and secondary
processes.
2. using a common function for determining the maximum SIMD width bas
This series introduces an initial implementation of DCB and PFC to the ICE PMD.
This includes adding support for TCs in ice_aq_set_mac_cfg() and asymmetric
DCB/PFC configuration in base code.
Current implementation relies on current API and has a number of limitation and
assumptions such as:
-
This patch add support for Priority Flow Control (PFC)
Signed-off-by: Vladimir Medvedkin
---
drivers/net/intel/ice/ice_ethdev.c | 125 -
1 file changed, 124 insertions(+), 1 deletion(-)
diff --git a/drivers/net/intel/ice/ice_ethdev.c
b/drivers/net/intel/ice/ice_ethd
Expose PFC statistics in xstats.
Signed-off-by: Vladimir Medvedkin
---
drivers/net/intel/ice/ice_ethdev.c | 63 ++
1 file changed, 63 insertions(+)
diff --git a/drivers/net/intel/ice/ice_ethdev.c
b/drivers/net/intel/ice/ice_ethdev.c
index b3be2e7c7e..7ac1c0872a 1006
This patch adds support for Data Center Bridging (DCB)
Signed-off-by: Vladimir Medvedkin
---
drivers/net/intel/ice/ice_ethdev.c | 182 +
drivers/net/intel/ice/ice_rxtx.c | 21
2 files changed, 203 insertions(+)
diff --git a/drivers/net/intel/ice/ice_ethdev.c
Current implementation supports only symmetric PFC configuration.
In this patch two bitmasks for asymmetric PFC were added to the
struct ice_dcb_pfc_cfg.
Signed-off-by: Vladimir Medvedkin
---
drivers/net/intel/ice/base/ice_dcb.c | 96 ++-
drivers/net/intel/ice/base/ice_d
Current implementation of the ice_aq_set_mac_cfg() sets Flow Control (FC)
settings such as quanta and threshold only for LFC. This patch makes this
function Traffic Class (TC) aware, so it can configure FC for each TC
individually.
Signed-off-by: Vladimir Medvedkin
---
drivers/net/intel/ice/base
Add the following function related to DCB:
* Get number of Congestion Domains per port
* Resolve Traffic Class(TC) by 802.1p VLAN User Priority(UP)
* Get absolute index of the Congestion Domain by the TC
Signed-off-by: Vladimir Medvedkin
---
drivers/net/intel/ice/base/ice_common.c | 27
Rules for multicast MAC addresses are intended to filter multicast traffic
and are managed through multicast MAC add/remove APIs. In mlx5_dev_spawn
function, devices (PF, VFs, and SFs) retrieve the netdev-configured MAC
addresses via netlink and store them in the PMD device data, which
includes mul
On Thu, 7 Aug 2025, Maayan Kashani wrote:
When dv_flow_en=2, the port ID action is not supported.
Although a rule can be created successfully in non-template mode,
the specified action will be silently ignored and not applied.
To prevent this ambiguous behavior, explicitly return an error
when
The vector PMD datapaths for ice do not support QinQ, so we need to
update the vector offload flags to not use the general RX_OFFLOAD_VLAN
flag (which sets all vlan-related options) and replace it with the
individually supported VLAN options.
Fixes: 808a17b3c1e6 ("net/ice: add Rx AVX512 offload pa
Some memory locations will be written with incorrect values,
possibly corrupting data structures or data integrity.
Size of destination buffer is smaller than the size
argument specified.
Coverity issue: 415430
Fixes: 3850cb06ab9c ('app/graph: add ethdev commands')
Cc: sta...@dpdk.org
Signed-off-
Avoid calling flow_hw_unregister_matcher twice when rule creation
fails due to insufficient memory, which previously caused
a use-after-free error detected by ASan.
As a preventative measure, clear released pointers in
flow_hw_destroy to avoid potential double-free issues.
Fixes: b2845d51c748 ("n
When dv_flow_en=2, the port ID action is not supported.
Although a rule can be created successfully in non-template mode,
the specified action will be silently ignored and not applied.
To prevent this ambiguous behavior, explicitly return an error
when a port ID action is used with dv_flow_en=2,
a
Update IPv6 5-tuple matching limitation,
in newer HW, IPv6 5-tuple matching is
supported.
Signed-off-by: Maayan Kashani
Acked-by: Bing Zhao
---
doc/guides/nics/mlx5.rst | 10 +++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/doc/guides/nics/mlx5.rst b/doc/guides/nics/mlx5
79 matches
Mail list logo