Hi,
From: Bing Zhao
Sent: Tuesday, November 26, 2024 11:25 AM
To: Dariusz Sosnowski; Slava Ovsiienko; dev@dpdk.org; Raslan Darawsheh
Cc: Ori Kam; Suanming Mou; Matan Azrad; Maayan Kashani
Subject: [PATCH] net/mlx5: fix the unneeded stub table allocation
The HWS non-template flow API is reusing s
Hi,
From: Bing Zhao
Sent: Tuesday, November 26, 2024 10:34 AM
To: Dariusz Sosnowski; Slava Ovsiienko; dev@dpdk.org; Raslan Darawsheh
Cc: Ori Kam; Suanming Mou; Matan Azrad; Maayan Kashani
Subject: [PATCH v2] net/mlx5: fix the leak of action data list
In the actions construction for HWS non-templa
On 2025/1/21 3:06, Stephen Hemminger wrote:
> On Mon, 20 Jan 2025 19:14:44 +0800
> "WanRenyong" wrote:
>
>> +static int
>> +xsc_ethdev_init_representors(struct rte_eth_dev *eth_dev)
>> +{
>> +struct xsc_ethdev_priv *priv = TO_XSC_ETHDEV_PRIV(eth_dev);
>> +struct rte_eth_devargs eth_da = {
provided dev simple rx implementations.
Signed-off-by: Junlong Wang
---
doc/guides/nics/features/zxdh.ini | 1 +
doc/guides/nics/zxdh.rst | 1 +
drivers/net/zxdh/zxdh_ethdev.c| 1 +
drivers/net/zxdh/zxdh_rxtx.c | 313 ++
drivers/net/zxdh/zxdh_r
provided promiscuous/allmulticast ops.
Signed-off-by: Junlong Wang
---
doc/guides/nics/features/zxdh.ini | 2 +
doc/guides/nics/zxdh.rst | 2 +
drivers/net/zxdh/zxdh_ethdev.c | 21 ++-
drivers/net/zxdh/zxdh_ethdev.h | 2 +
drivers/net/zxdh/zxdh_ethdev_ops.c | 128 ++
dev start/stop implementations, start/stop the rx/tx queues.
Signed-off-by: Junlong Wang
---
doc/guides/nics/features/zxdh.ini | 2 +
doc/guides/nics/zxdh.rst | 2 +
drivers/net/zxdh/zxdh_ethdev.c| 71
drivers/net/zxdh/zxdh_pci.c | 21 +++
driver
rx/tx queue setup and intr enable implementations.
Signed-off-by: Junlong Wang
---
drivers/net/zxdh/zxdh_ethdev.c | 4 +
drivers/net/zxdh/zxdh_queue.c | 149 +
drivers/net/zxdh/zxdh_queue.h | 33
3 files changed, 186 insertions(+)
diff --git a/drive
provided mac set/add/remove ops.
Signed-off-by: Junlong Wang
---
doc/guides/nics/features/zxdh.ini | 2 +
doc/guides/nics/zxdh.rst | 2 +
drivers/net/zxdh/zxdh_common.c | 24 +++
drivers/net/zxdh/zxdh_common.h | 1 +
drivers/net/zxdh/zxdh_ethdev.c | 33 -
drive
provided vlan filter, vlan offload ops.
Signed-off-by: Junlong Wang
---
doc/guides/nics/features/zxdh.ini | 3 +
doc/guides/nics/zxdh.rst | 3 +
drivers/net/zxdh/zxdh_ethdev.c | 40 +-
drivers/net/zxdh/zxdh_ethdev_ops.c | 223 +
drivers/net/zxd
provided link info update, set link up /down,
and link intr.
Signed-off-by: Junlong Wang
---
doc/guides/nics/features/zxdh.ini | 2 +
doc/guides/nics/zxdh.rst | 3 +
drivers/net/zxdh/meson.build | 1 +
drivers/net/zxdh/zxdh_ethdev.c | 21
drivers/net/zxdh/zxdh_et
provided rss hash config/update, reta update/get ops.
Signed-off-by: Junlong Wang
---
doc/guides/nics/features/zxdh.ini | 3 +
doc/guides/nics/zxdh.rst | 1 +
drivers/net/zxdh/zxdh_ethdev.c | 52
drivers/net/zxdh/zxdh_ethdev.h | 3 +
drivers/net/zxdh/zxdh_ethdev_op
delete port tables in host.
Signed-off-by: Junlong Wang
---
drivers/net/zxdh/zxdh_ethdev.c | 18 ++
drivers/net/zxdh/zxdh_msg.h| 1 +
drivers/net/zxdh/zxdh_np.c | 103 +
drivers/net/zxdh/zxdh_np.h | 9 +++
drivers/net/zxdh/zxdh_tables.c | 33
provided dev simple tx implementations.
Signed-off-by: Junlong Wang
---
drivers/net/zxdh/meson.build | 1 +
drivers/net/zxdh/zxdh_ethdev.c | 22 ++
drivers/net/zxdh/zxdh_queue.h | 26 ++-
drivers/net/zxdh/zxdh_rxtx.c | 396 +
drivers/net/zxdh/zxdh_rxtx.h
(np)network processor release resources in host.
Signed-off-by: Junlong Wang
---
drivers/net/zxdh/zxdh_ethdev.c | 48
drivers/net/zxdh/zxdh_np.c | 470 +
drivers/net/zxdh/zxdh_np.h | 107
3 files changed, 625 insertions(+)
diff --git a/driv
V9:
- Remove unnecessary __rte_packed* in stats structure.
V8:
- using __rte_packed_begin/__rte_packed_end replace __rte_packed.
V7:
- resolved warning '-Waddress-of-packed-member'
in function 'zxdh_dev_rss_reta_update'.
V6:
- Remove unnecessary __rte_packed in the virtqueue structur
On 2025/1/21 2:24, Stephen Hemminger wrote:
> On Mon, 20 Jan 2025 19:14:42 +0800
> "WanRenyong" wrote:
>
>> +int
>> +xsc_dev_create_ipat(struct xsc_dev *xdev, uint16_t logic_in_port, uint16_t
>> dst_info)
>> +{
>> +struct xsc_np_ipat add;
>> +
>> +memset(&add, 0, sizeof(add));
>> +add
On 2025/1/21 2:16, Stephen Hemminger wrote:
> On Mon, 20 Jan 2025 19:14:48 +0800
> "WanRenyong" wrote:
>
>> +struct __rte_packed_begin xsc_send_wqe_ctrl_seg {
>> +rte_le32_t msg_opcode:8;
>> +rte_le32_t with_immdt:1;
>> +rte_le32_t csum_en:2;
>> +rte_le32_t ds_d
On 2025/1/21 2:19, Stephen Hemminger wrote:
> On Mon, 20 Jan 2025 19:14:37 +0800
> "WanRenyong" wrote:
>
>> +static struct xsc_cmdq_req_msg *
>> +xsc_cmdq_req_msg_alloc(struct xsc_dev *xdev, int len)
>> +{
>> +struct xsc_cmdq_req_msg *msg;
>> +struct xsc_cmdq_mbox *head = NULL;
>> +int
On 2025/1/21 2:18, Stephen Hemminger wrote:
> On Mon, 20 Jan 2025 19:14:37 +0800
> "WanRenyong" wrote:
>
>> +static void
>> +xsc_cmdq_mbox_free(struct xsc_dev *xdev, struct xsc_cmdq_mbox *mbox)
>> +{
>> +struct xsc_cmdq_mbox *next, *head;
>> +struct xsc_vfio_priv *priv = (struct xsc_vfio_p
Sorry. There is no error with this series.
The error is caused by the CI doesn't apply any changes with doc/*.
Community decided to exclude doc/*, as doc/* change frequently, especially the
release notes, cause a lot of conflict with main tree.
Thanks,
Tingting
F
On Mon, 20 Jan 2025 11:47:22 +0800
Junlong Wang wrote:
>
> +struct __rte_packed_begin zxdh_hw_mac_stats {
> + uint64_t rx_total;
> + uint64_t rx_pause;
> + uint64_t rx_unicast;
> + uint64_t rx_multicast;
> + uint64_t rx_broadcast;
> + uint64_t rx_vlan;
> + uint64_t r
Gcc 15 no longer allows initialization of arrays with strings
because the null character is dropped. Resolve by using an
array initializer.
../examples/flow_filtering/snippets/snippet_match_mpls.c: In function
‘snippet_mpls_create_pattern_template’:
../examples/flow_filtering/snippets/snippet_mat
Gcc 15 now produces warning with the base code of Thunderx driver.
The issue is that Gcc now defaults to C23 mode, and the standards
gods have decided that the result of partial initialization of a union
is not defined for other fields.
The fix is to use an empty initializer which forces full init
GCC 15 produces warnings about uninitaialized variables.
In file included from ../lib/mbuf/rte_mbuf.h:36,
from ../lib/cryptodev/rte_crypto.h:15,
from ../lib/cryptodev/rte_cryptodev.h:19,
from ../drivers/crypto/cnxk/cn9k_cryptodev_ops.c:5:
In funct
Three fixes need to make current main branch build cleanly with
current pre-release of Gcc 15.
Stephen Hemminger (3):
crypto/cnxk: fix gcc 15 warning
net/thunderx/base: fix build with Gcc 15
examples/flow_filtering: fix gcc 15 overflow warning
drivers/crypto/cnxk/cnxk_se.h
On Mon, 20 Jan 2025 19:14:44 +0800
"WanRenyong" wrote:
> +static int
> +xsc_ethdev_init_representors(struct rte_eth_dev *eth_dev)
> +{
> + struct xsc_ethdev_priv *priv = TO_XSC_ETHDEV_PRIV(eth_dev);
> + struct rte_eth_devargs eth_da = { .nb_representor_ports = 0 };
> + struct rte_devi
On Mon, Jan 20, 2025 at 10:03:32AM -0800, Stephen Hemminger wrote:
> Use function attributes to catch cases where telemetry data
> is allocated but not freed correctly.
>
> Signed-off-by: Stephen Hemminger
> ---
> lib/telemetry/rte_telemetry.h | 21 +++--
> 1 file changed, 11 ins
On Mon, Jan 20, 2025 at 10:03:18AM -0800, Stephen Hemminger wrote:
> This patch series builds on the allocation function attributes
> added in 24.11 release. These annotations will allow for compiler
> to flag cases where a pointer is allocated with one function
> but incorrectly passed to a differ
On Mon, 20 Jan 2025 19:14:48 +0800
"WanRenyong" wrote:
> +struct __rte_packed_begin xsc_send_wqe_ctrl_seg {
> + rte_le32_t msg_opcode:8;
> + rte_le32_t with_immdt:1;
> + rte_le32_t csum_en:2;
> + rte_le32_t ds_data_num:5;
> + rte_le32_t wqe_id:16;
> +
On Mon, 20 Jan 2025 19:14:37 +0800
"WanRenyong" wrote:
> +static struct xsc_cmdq_req_msg *
> +xsc_cmdq_req_msg_alloc(struct xsc_dev *xdev, int len)
> +{
> + struct xsc_cmdq_req_msg *msg;
> + struct xsc_cmdq_mbox *head = NULL;
> + int cmd_len, nb_mbox;
> +
> + msg = (struct xsc_cmd
On Mon, 20 Jan 2025 19:14:37 +0800
"WanRenyong" wrote:
> +static void
> +xsc_cmdq_mbox_free(struct xsc_dev *xdev, struct xsc_cmdq_mbox *mbox)
> +{
> + struct xsc_cmdq_mbox *next, *head;
> + struct xsc_vfio_priv *priv = (struct xsc_vfio_priv *)xdev->dev_priv;
Since dev_priv is void *, the
>> >> >>> This RFC introduces a new API,
>> >> >>> rte_event_eth_rx_adapter_queues_add(),
>> >> >>> designed to enhance the flexibility of configuring multiple Rx
>> >> >>> queues in eventdev Rx adapter.
>> >> >>>
>> >> >>> The existing rte_event_eth_rx_adapter_queue_add() API supports
>> >> >>> ad
This patch series builds on the allocation function attributes
added in 24.11 release. These annotations will allow for compiler
to flag cases where a pointer is allocated with one function
but incorrectly passed to a different free function.
Checkpatch perl script falsely complains in a couple pa
Use function attributes to catch cases where sched port config
is allocated but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/sched/rte_sched.h | 23 +--
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/lib/sched/rte_sched.h b/lib/sched/rte_sche
Use function attributes to catch cases where compressdev is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/compressdev/rte_comp.h | 28 +++-
1 file changed, 15 insertions(+), 13 deletions(-)
diff --git a/lib/compressdev/rte_comp.h b/lib/compr
Use function attributes to catch cases where reorder table is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/reorder/rte_reorder.h | 23 ---
1 file changed, 12 insertions(+), 11 deletions(-)
diff --git a/lib/reorder/rte_reorder.h b/lib/reorder/rt
Use function attributes to catch cases where telemetry data
is allocated but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/telemetry/rte_telemetry.h | 21 +++--
1 file changed, 11 insertions(+), 10 deletions(-)
diff --git a/lib/telemetry/rte_telemetry.h b/lib/tel
Use function attributes to catch cases where ring is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/ring/rte_ring.h | 22 --
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/lib/ring/rte_ring.h b/lib/ring/rte_ring.h
index 63a71d5871
Use function attributes to catch cases where eventdev is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/eventdev/rte_event_ring.h | 27 ++-
1 file changed, 14 insertions(+), 13 deletions(-)
diff --git a/lib/eventdev/rte_event_ring.h b/lib/eve
Use function attributes to catch cases where mempool is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/mempool/rte_mempool.h | 37 -
1 file changed, 20 insertions(+), 17 deletions(-)
diff --git a/lib/mempool/rte_mempool.h b/lib/me
Use function attributes to catch cases where member table is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/member/rte_member.h | 24
1 file changed, 12 insertions(+), 12 deletions(-)
diff --git a/lib/member/rte_member.h b/lib/member/rte_mem
Use function attributes to catch cases where bitratestats is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/bitratestats/rte_bitrate.h | 20 ++--
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/lib/bitratestats/rte_bitrate.h b/lib/bitr
Use function attributes to catch cases where pipeline is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/pipeline/rte_port_in_action.h | 55 ---
lib/pipeline/rte_table_action.h | 53 +++--
2 files changed, 56 inser
Use function attributes to catch cases where acl table is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/acl/rte_acl.h | 26 +++---
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/lib/acl/rte_acl.h b/lib/acl/rte_acl.h
index ca75a6f
Use function attributes to catch cases where hash table is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/hash/rte_fbk_hash.h | 24 +---
lib/hash/rte_hash.h | 21 +++--
2 files changed, 24 insertions(+), 21 deletions(-)
diff -
Use function attributes to catch cases where lpm table is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/lpm/rte_lpm.h | 23 ---
lib/lpm/rte_lpm6.h | 23 ---
2 files changed, 24 insertions(+), 22 deletions(-)
diff --git a/lib
Add function attributes to catch cases where rib is allocated
and not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/rib/rte_rib.h | 24 +---
lib/rib/rte_rib6.h | 24 +---
2 files changed, 26 insertions(+), 22 deletions(-)
diff --git a/lib/rib
Use function attributes to catch cases where fib table is allocated
but not freed correctly.
Signed-off-by: Stephen Hemminger
---
lib/fib/rte_fib.h | 26 +++---
lib/fib/rte_fib6.h | 24 +---
lib/fib/trie.h | 7 ---
3 files changed, 32 insertions(
On Mon, Jan 20, 2025 at 03:01:47PM +, Medvedkin, Vladimir wrote:
> On 13/12/2024 14:33, Bruce Richardson wrote:
> > The iavf driver only contains a single Tx prepare function, so when
> > selecting the Tx path, there is no need to reset and reassign the
> > function pointer in the ethdev struct
This allows us to control the algorithm used to spread traffic between
sockets, adding more fine grained control. If the user does not
specify a fanout mode, the PMD driver will default to
PACKET_FANOUT_HASH.
Signed-off-by: Tudor Cornea
---
v3:
* Removed PACKET_FANOUT ifdef. The feature has exis
On 16/01/2025 17:51, Ariel Otilibili wrote:
Both legs of the loop share the same logic: either to go out of the
function, or to fall through to the next instructions.
Depends-on: patch-1 ("net/af_xdp: fix use after free in af_xdp_tx_zc()")
Bugzilla ID: 1440
Signed-off-by: Ariel Otilibili
---
On Tue, Jan 14, 2025 at 06:10:10PM +0800, Yuan Wang wrote:
> Update the ixgbe driver to the lastest version of the snapshot.
>
> Dan Nowlin (1):
> net/ixgbe/base: add missing buffer copy
>
> Dawid Zielinski (2):
> net/ixgbe/base: add interface for LED control on E610
> net/ixgbe/base: Add c
I'll try updating it, thank you.
On Tue, Jan 14, 2025 at 06:10:19PM +0800, Yuan Wang wrote:
> From: Dan Nowlin
>
> Add missing buffer copy in ixgbe_aci_send_cmd_sc().
>
> In ixgbe_aci_send_cmd_sc() there is code to retry aq commands for
> certain commands. To achieve this the function makes a copy of the
> original ixgbe_aci_de
On 13/12/2024 14:33, Bruce Richardson wrote:
The iavf driver only contains a single Tx prepare function, so when
selecting the Tx path, there is no need to reset and reassign the
function pointer in the ethdev structure. This fixes an issue where the
pointer was reset to NULL, but never assigned
20/01/2025 15:36, Huichao Cai:
> Hi, Thomas
> I tested(See below) this patch locally and it can suppress this error(github
> build: failed).
> Is the difference in CI results from patchwork due to different versions of
> abidiff?
> My abidiff version:
> [root@localhost dpdk.chc1]# abidiff --versi
On 16/01/2025 17:51, Ariel Otilibili wrote:
tx_bytes is computed after both legs are tested. This might
produce a use after memory free.
The computation is now moved into each leg.
Bugzilla ID: 1440
Fixes: d8a210774e1d ("net/af_xdp: support unaligned umem chunks")
Signed-off-by: Ariel Otilibi
Hi, Thomas
I tested(See below) this patch locally and it can suppress this error(github
build: failed).
Is the difference in CI results from patchwork due to different versions of
abidiff?
My abidiff version:
[root@localhost dpdk.chc1]# abidiff --version
abidiff: 1.6.0
There is currently no versi
On Mon, Jan 13, 2025 at 08:30:01AM -0800, Stephen Hemminger wrote:
> On Mon, 13 Jan 2025 08:54:04 +
> Praveen Shetty wrote:
>
> > Heap use after free error is detected in AddressSanitizer while quitting
> > the testpmd application.Issue is due to accessing the empty control
> > queue in the i
On Wed, Jan 08, 2025 at 05:47:57PM +0530, Shaiq Wani wrote:
> In case some CPUs don't support AVX512. Enable AVX2 for them to
> get better per-core performance.
>
> Signed-off-by: Shaiq Wani
> ---
Hi,
some review comments inline below.
/Bruce
> doc/guides/rel_notes/release_25_03.rst |
On Wed, Jan 08, 2025 at 05:47:56PM +0530, Shaiq Wani wrote:
> In case some CPUs don't support AVX512. Enable AVX2 for them to
> get better per-core performance.
>
> Signed-off-by: Shaiq Wani
Hi,
some review comments inline below.
/Bruce
> ---
> drivers/common/idpf/idpf_common_device.h|
On some kernels (Debian 6.6, 6.9 and 6.10 tested),
there is a missing option for "TC recirculation"
that prevents MLX5 driver to include CONFIG_MLX5_CLS_ACT
in the compilation, thus preventing PF1
from properly working in multiport-eswitch mode.
Signed-off-by: Jaromír Smrček <4pla...@gmail.com>
--
On Mon, Dec 02, 2024 at 06:21:44PM +, Vladimir Medvedkin wrote:
> Currently flow engine is missing a new mac type E610 in the check for
> fdir support.
> This patch adds this mac type to the check.
>
> Fixes: 316637762a5f ("net/ixgbe/base: enable E610 device")
> Cc: sta...@dpdk.org
>
> Signed
Reviewed-by: Luca Vizzarro
For properly setting rte_errno, and exiting rte_mempool_create_empty()
from a single place.
Bugzilla ID: 1559
Signed-off-by: Ariel Otilibili
---
lib/mempool/rte_mempool.c | 27 +++
1 file changed, 15 insertions(+), 12 deletions(-)
diff --git a/lib/mempool/rte_mempool.c b
When returning from rte_mempool_set_ops_byname(), rte_errno is not set
for error exits.
The API requires rte_errno to be set in that case.
Bugzilla ID: 1559
Fixes: c2c6b2f41305 ("mempool: fix default ops for an empty mempool")
Link:
https://doc.dpdk.org/api/rte__mempool_8h.html#a82e301ee33ed7a26
From: Ariel Otilibili https://inbox.dpdk.org/dev/20250119174643.2162110-1-ariel.otilib...@6wind.com/)
Ariel Otilibili (2):
mempool: fix rte_errno in rte_mempool_create_empty
mempool: make rte_mempool_create_empty a single-exit
lib/mempool/rte_mempool.c | 31 ++-
1
While some drivers have specific criteria for when a vector driver can
be enabled on the Rx path, there are a number of basic criteria which
apply across all drivers. Centralize those in the intel/common folder,
and then update drivers to use the common conditional checks. This adds
some additional
Across a number of drivers, the same code is used for initializing the
"mbuf_initializer" value inside the rx queue structure for use with the
vector drivers. Since the rx queue structures are (currently) different
across the drivers, we cannot just move a single copy of the function to
a common lo
Remove the custom vector Tx backlog entry function and use the standard
intel_common one, now that all vector drivers are using the same,
smaller ring structure.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/ixgbe/ixgbe_rxtx_vec_common.h | 10 --
drivers/net/intel/ixgbe/ixgbe_rxt
With all drivers using the common Tx structure updated so that their
vector paths all use the simplified Tx mbuf ring format, it's no longer
necessary to have a separate flag for the ring format and for use of a
vector driver.
Remove the former flag and base all decisions off the vector flag. With
The AVX-512 code path used a smaller SW ring structure only containing
the mbuf pointer, but no other fields. The other fields are only used in
the scalar code path, so update all vector driver code paths (AVX2, SSE)
to use the smaller, faster structure.
Signed-off-by: Bruce Richardson
---
drive
The AVX-512 code path used a smaller SW ring structure only containing
the mbuf pointer, but no other fields. The other fields are only used in
the scalar code path, so update all vector driver code paths (AVX2, SSE,
Neon, Altivec) to use the smaller, faster structure.
Signed-off-by: Bruce Richard
The AVX-512 code path used a smaller SW ring structure only containing
the mbuf pointer, but no other fields. The other fields are only used in
the scalar code path, so update all vector driver code paths to use the
smaller, faster structure.
Signed-off-by: Bruce Richardson
---
drivers/net/intel
Adjust iavf driver to also use the common mbuf freeing functions on Tx
queue release/cleanup. The implementation is complicated a little by the
need to integrate the additional "has_ctx" parameter for the iavf code,
but changes in other drivers are minimal - just a constant "false"
parameter.
Sign
Update driver to use the common cleanup function.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/ixgbe/ixgbe_rxtx.c | 22 ++-
drivers/net/intel/ixgbe/ixgbe_rxtx.h | 1 -
.../net/intel/ixgbe/ixgbe_rxtx_vec_common.h | 28 ++-
drivers/net/inte
Update driver to be similar to the "ice" driver and use the common mbuf
ring cleanup code on shutdown of a Tx queue.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/i40e/i40e_ethdev.h | 4 +-
drivers/net/intel/i40e/i40e_rxtx.c | 70 +++-
drivers/net/intel/i40e/i4
The functions to loop over the Tx queue and clean up all the mbufs on
it, e.g. for queue shutdown, is not device specific and so can move into
the common_intel headers. Only complication is ensuring that the
correct ring format, either minimal vector or full structure, is used.
Ice driver currently
Switch the iavf driver to use the common Tx free function. This requires
one additional parameter to that function, since iavf sometimes uses
context descriptors which means that we have double the descriptors per
SW ring slot.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/common/tx.h
AVX-512 code paths for ice and i40e drivers are common, and differ from
the regular post-Tx free function in that the SW ring from which the
buffers are freed does not contain anything other than the mbuf pointer.
Merge these into a common function in intel_common to reduce
duplication.
Signed-off
The actions taken for post-Tx buffer free for the SSE and AVX drivers
for i40e, iavf and ice drivers are all common, so centralize those in
common/intel_eth driver.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/common/tx.h | 71 ++
drivers/net/intel/i40e/i
Move some fields about to better pack the Tx queue structure and make
sure all data used by the vector codepaths is on the first cacheline of
the structure. Checking with "pahole" on 64-bit build, only one 6-byte
hole is left in the structure - on second cacheline - after this patch.
As part of th
Rather than having a two element array of context cache values inside
the Tx queue structure, convert it to a pointer to a cache at the end of
the structure. This makes future merging of the structure easier as we
don't need the "ixgbe_advctx_info" struct defined when defining a
combined queue stru
Merge in additional fields used by the ixgbe driver and then convert it
over to using the common Tx queue structure.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/common/tx.h | 14 +++-
drivers/net/intel/ixgbe/ixgbe_ethdev.c| 4 +-
.../ixgbe/ixgbe_recycle_mbufs_v
Merge in the few additional fields used by iavf driver and convert it to
using the common Tx queue structure also.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/common/tx.h | 15 +-
drivers/net/intel/iavf/iavf.h | 2 +-
drivers/net/intel/iavf/iavf_eth
The queue structures of i40e and ice drivers are virtually identical, so
merge them into a common struct. This should allow easier function
merging in future using that common struct.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/common/tx.h | 55 +
driver
In preparation for merging the Tx structs for multiple drivers into a
single struct, rename the driver-specific pointers in each struct to
have a prefix on it, to avoid conflicts.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/i40e/i40e_fdir.c| 6 +--
.../i40e/i40e_recycle_mb
Across the various Intel drivers sometimes different names are given to
fields in the Tx queue structure which have the same function. Do some
renaming in some drivers to align things better for future merging.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/i40e/i40e_rxtx.c|
Move the short function used to place mbufs on the SW Tx ring to common
code to avoid duplication.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/common/tx.h | 7 +++
drivers/net/intel/i40e/i40e_rxtx_vec_altivec.c | 4 ++--
drivers/net/intel/i40e/i40e_rxtx_vec_avx2.
The Tx entry structures, both vector and scalar, are common across Intel
drivers, so provide a single definition to be used everywhere.
Signed-off-by: Bruce Richardson
---
drivers/net/intel/common/tx.h | 27 +++
.../i40e/i40e_recycle_mbufs_vec_common.c | 2 +
The code for reassembling a single, multi-mbuf packet from multiple
buffers received from the NIC is duplicated across many drivers. Rather
than having multiple copies of this function, we can create an
"intel/common" directory to hold such functions and consolidate
multiple functions down to a sin
Consolidate all Intel HW NIC drivers into a driver/net/intel This
matches the layout used for drivers in the kernel, and potentially
enabling easier sharing among drivers.
Signed-off-by: Bruce Richardson
---
MAINTAINERS | 20 +--
devtools/check-
This patchset attempts to reduce the amount of code duplication across a
number of Intel NIC drivers, specifically: ixgbe, i40e, iavf, and ice.
As part of this process of deduplication, and in preparation for further
cleanup work, it moves all existing Intel drivers to a net/intel
directory, with a
When executes the check_packed_attributes function in checkpatch,
if __rte_packed_begin or __rte_packed_end appear in the context
of a patch file, there may be a situation where the counts of
__rte_packed_begin and __rte_packed_end do not match, causing
checkpatch to return a failure.
This patch fi
Implement xsc ethdev link and MTU ops.
Signed-off-by: WanRenyong
---
doc/guides/nics/features/xsc.ini | 1 +
drivers/net/xsc/xsc_dev.c| 33 ++
drivers/net/xsc/xsc_dev.h| 4 +++
drivers/net/xsc/xsc_ethdev.c | 60
4 files chang
Implement xsc ethdev information get ops.
Signed-off-by: WanRenyong
---
drivers/net/xsc/xsc_ethdev.c | 61
1 file changed, 61 insertions(+)
diff --git a/drivers/net/xsc/xsc_ethdev.c b/drivers/net/xsc/xsc_ethdev.c
index 63c64ce547..5d548adb2d 100644
--- a/dri
This xsc PMD (**librte_net_xsc**) provides poll mode driver for
Yunsilicon metaScale serials NICs.
Features:
-
- MTU update
- TSO
- RSS hash
- RSS key update
- RSS reta update
- L3 checksum offload
- L4 checksum offload
- Inner L3 checksum
- Inner L4 checksum
- Basic stats
Support NICs:
Implement xsc ethdev basic statatics ops.
Signed-off-by: WanRenyong
---
v6:
* Remove unnecessary paren.
* Add the feature of stats per queue in xsc.ini.
---
doc/guides/nics/features/xsc.ini | 2 +
drivers/net/xsc/xsc_ethdev.c | 75
2 files changed, 77 inse
Implement xsc ethdev close and stop functions.
Signed-off-by: WanRenyong
---
drivers/net/xsc/xsc_dev.c| 12
drivers/net/xsc/xsc_dev.h| 2 +
drivers/net/xsc/xsc_ethdev.c | 108 +++
drivers/net/xsc/xsc_rx.c | 47 +++
drivers/net/xsc/
Implement xsc ethdev Tx burst function.
Signed-off-by: WanRenyong
Signed-off-by: Dongwei Xu
---
doc/guides/nics/features/xsc.ini | 4 +
drivers/net/xsc/xsc_ethdev.c | 1 +
drivers/net/xsc/xsc_tx.c | 228 +++
drivers/net/xsc/xsc_tx.h | 1 +
4
1 - 100 of 131 matches
Mail list logo