To delete all the queues of a ethernet device associated with
adapter instance the queue_id can be passed as -1 to the queue
delete API.
When a subset of queues of a ethernet device are associated,
the queue delete logic is exiting without deleting the queues
in some cases (higher numbered associa
On 10/21/22 08:18, Junfeng Guo wrote:
Introduce common library for IDPF (Infrastructure Data Path Function)
PMD.
Also add OS specific implementation about some MACRO definitions and
small functions which are specific for DPDK.
Common drivers are required when different class drivers need
to sh
From: Peng Zhang
When MTU is bigger than hw->flbufsz, it can't work. hw->flbufsz is set in
the nfp_net_rx_queue_setup().
At first, in the nfp_net_configure(), the hw->flbufsz isn't set the value,
it just judge the initialized value and MTU, it is unreasonable.
Now, it just check the MTU can't b
> -Original Message-
> From: Ferruh Yigit
> Sent: Thursday, October 20, 2022 19:20
> To: Guo, Junfeng ; Zhang, Qi Z
> ; Wu, Jingjing
> Cc: ferruh.yi...@xilinx.com; dev@dpdk.org; Li, Xiaoyun
> ; awogbem...@google.com; Richardson, Bruce
> ; Lin, Xueqin
> Subject: Re: [PATCH v5 6/8] net/g
Add support for timestamp offload.
Signed-off-by: Wenjing Qiao
Signed-off-by: Junfeng Guo
---
doc/guides/nics/features/idpf.ini | 1 +
drivers/net/idpf/idpf_ethdev.c| 5 +-
drivers/net/idpf/idpf_ethdev.h| 3 ++
drivers/net/idpf/idpf_rxtx.c | 57
drivers/net/
Add support of AVX512 vector data path for single queue model.
Signed-off-by: Wenjun Wu
Signed-off-by: Junfeng Guo
---
doc/guides/nics/idpf.rst| 20 +
drivers/net/idpf/idpf_ethdev.h | 5 +
drivers/net/idpf/idpf_rxtx.c| 146
drivers/net/idpf/idpf_rxtx
Force write-backs by setting WB_ON_ITR bit in DYN_CTL register,
so that the packets can be received once at a time.
Signed-off-by: Beilei Xing
Signed-off-by: Junfeng Guo
---
drivers/net/idpf/idpf_ethdev.c | 119 +
drivers/net/idpf/idpf_ethdev.h | 8 +++
drivers
Add dev ops mtu_set.
Signed-off-by: Beilei Xing
Signed-off-by: Junfeng Guo
---
doc/guides/nics/features/idpf.ini | 1 +
drivers/net/idpf/idpf_ethdev.c| 24
2 files changed, 25 insertions(+)
diff --git a/doc/guides/nics/features/idpf.ini
b/doc/guides/nics/features
Add RSS support.
Signed-off-by: Beilei Xing
Signed-off-by: Junfeng Guo
---
drivers/net/idpf/idpf_ethdev.c | 123 -
drivers/net/idpf/idpf_ethdev.h | 26 +++
drivers/net/idpf/idpf_rxtx.c | 27
drivers/net/idpf/idpf_vchnl.c | 96 ++
Add Rx/Tx offloading support, including TSO and CHKSUM.
Signed-off-by: Beilei Xing
Signed-off-by: Xiaoyun Li
Signed-off-by: Junfeng Guo
---
doc/guides/nics/features/idpf.ini | 3 +
drivers/net/idpf/idpf_ethdev.c| 10 ++
drivers/net/idpf/idpf_rxtx.c | 212 +++
Add basic Rx & Tx support in split queue mode and single queue mode.
Split queue mode is selected by default.
Signed-off-by: Beilei Xing
Signed-off-by: Xiaoyun Li
Signed-off-by: Junfeng Guo
---
drivers/net/idpf/idpf_ethdev.c | 8 +-
drivers/net/idpf/idpf_rxtx.c | 667 ++
Add dev ops dev_supported_ptypes_get.
Signed-off-by: Wenjun Wu
Signed-off-by: Junfeng Guo
---
doc/guides/nics/features/idpf.ini | 1 +
drivers/net/idpf/idpf_ethdev.c| 7 +
drivers/net/idpf/idpf_ethdev.h| 2 +
drivers/net/idpf/idpf_rxtx.c | 19 +++
drivers/net/idpf/idpf_rxtx.
Add dev ops dev_infos_get.
Signed-off-by: Beilei Xing
Signed-off-by: Junfeng Guo
---
drivers/net/idpf/idpf_ethdev.c | 50 ++
1 file changed, 50 insertions(+)
diff --git a/drivers/net/idpf/idpf_ethdev.c b/drivers/net/idpf/idpf_ethdev.c
index c25f222c5e..d1b6797d4
Add support for queue operations:
- rx_queue_start
- rx_queue_stop
- tx_queue_start
- tx_queue_stop
Signed-off-by: Beilei Xing
Signed-off-by: Xiaoyun Li
Signed-off-by: Junfeng Guo
---
doc/guides/nics/features/idpf.ini | 1 +
drivers/net/idpf/idpf_ethdev.c| 46 +
drivers/net/idpf
Add support for queue operations in split queue model:
- rx_queue_setup
- rx_queue_release
- tx_queue_setup
- tx_queue_release
In the split queue model, "RX buffer queues" are used to pass
descriptor buffers from SW to HW while Rx queues are used only to
pass the descriptor completions, that i
Add support for queue operations in single queue model:
- rx_queue_setup
- rx_queue_release
- tx_queue_setup
- tx_queue_release
In the single queue model, the same descriptor queue is used by SW to
post buffer descriptors to HW and by HW to post completed descriptors
to SW.
Signed-off-by: Bei
Support device init and add the following dev ops skeleton:
- dev_configure
- dev_start
- dev_stop
- dev_close
Signed-off-by: Beilei Xing
Signed-off-by: Xiaoyun Li
Signed-off-by: Xiao Wang
Signed-off-by: Junfeng Guo
---
MAINTAINERS| 9 +
doc/guides/nics/featu
This patchset introduced the idpf (Infrastructure Data Path Function)
PMD in DPDK for Intel® IPU E2000 (Device ID: 0x1452).
The Intel® IPU E2000 targets to deliver high performance under real
workloads with security and isolation.
Please refer to
https://www.intel.com/content/www/us/en/products/net
PMD tx path does not support VXLAN_GPE tunnel offload. Because it does not
process RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE flag in mbuf, and then the "L4TUNT"
field will not be set in Tx context descriptor.
This patch is to add the RTE_MBUF_F_TX_TUNNEL_VXLAN_GPE flag to
support Tx VXLAN_GPE offload under t
> -Original Message-
> From: Ferruh Yigit
> Sent: Thursday, October 20, 2022 19:16
> To: Guo, Junfeng ; Li, Xiaoyun
> ; Zhang, Qi Z ; Wu, Jingjing
>
> Cc: ferruh.yi...@xilinx.com; dev@dpdk.org; awogbem...@google.com;
> Richardson, Bruce ; Lin, Xueqin
> ; Wang, Haiyue
> Subject: Re: [PA
> >> -Original Message-
> >> From: Kevin Traynor
> >> Sent: Wednesday, October 19, 2022 4:53 PM
> >> To: Zhou, YidingX ; dev@dpdk.org
> >> Subject: Re: [PATCH v2] net/iavf: revert fix VLAN insertion
> >>
> >> On 19/10/2022 08:54, Yiding Zhou wrote:
> >>> When the kernel driver tells to u
When receiving tunnel packets, the testpmd terminal output log shows
'ol_flags' value always as 'RTE_MBUF_F_RX_OUTER_L4_CKSUM_UNKNOWN',
but what we expected should be 'RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD'
or 'RTE_MBUF_F_RX_OUTER_L4_CKSUM_BAD'.
Adding 'RTE_MBUF_F_RX_OUTER_L4_CKSUM_GOOD' and
'RTE_MBUF
As the secondary process needs queue-pair to be configured by
the primary process before use. This patch adds an IPC register function
to allow secondary process to setup cryptodev queue-pair via IPC messages
during the runtime. A new "qp_in_used_pid" param stores the PID to provide
the ownership o
At end of program there is call to rte_free() which is passing
a bogus value. There is no "bpf_filter" defined in this application;
it ends up being a text address inside pcap library.
Fixes: cbb44143be74 ("app/dumpcap: add new packet capture application")
Signed-off-by: Stephen Hemminger
---
ap
Acked-by: Kai Ji
> -Original Message-
> From: Kusztal, ArkadiuszX
> Sent: Thursday, October 20, 2022 4:10 PM
> To: dev@dpdk.org
> Cc: gak...@marvell.com; Ji, Kai ; Kusztal, ArkadiuszX
>
> Subject: [PATCH v2 2/4] crypto/qat: improve freeing of asym cookies
>
> Improve the way that cooki
Acked-by: Kai Ji
> -Original Message-
> From: Kusztal, ArkadiuszX
> Sent: Thursday, October 20, 2022 4:10 PM
> To: dev@dpdk.org
> Cc: gak...@marvell.com; Ji, Kai ; Kusztal, ArkadiuszX
>
> Subject: [PATCH v2 1/4] crypto/qat: make immutable parameters constant
>
> All pointers passed to
Enable performance monitor control registers.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/acc100_pmd.h | 4
1 file changed, 4 insertions(+)
diff --git a/drivers/baseband/acc/acc100_pmd.h
b/drivers/baseband/acc/acc100_pmd.h
index eb6349c85a..8c0aec5e
Add function to support de-ratematch pre-processing for SW corner cases.
Some specific 5GUL FEC corner cases may cause unintended back pressure
and in some cases potential stability issue on the ACC100.
To be able to avoid completly such potential issue, the PMD can preempt
such code block configur
Store the virtual address of companion ring as part of queue
information. Use this address to calculate the op address.
Signed-off-by: Hernan Vargas
---
drivers/baseband/acc/rte_acc100_pmd.c | 179 +-
1 file changed, 116 insertions(+), 63 deletions(-)
diff --git a/driver
Remove unused capabilities, use dummy operation as start count for
number of queues.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/baseband/acc/rte_acc100_pmd.c
Store the descriptor from the first code block from a transport block.
Copy the LDPC FCW from the first descriptor into the rest of the CBs in
that TB.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 3 +++
1 file changed, 3 insertions(+)
d
Add extra values for some log messages. No functional impact.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 9 ++---
1 file changed, 6 insertions(+), 3 deletions(-)
diff --git a/drivers/baseband/acc/rte_acc100_pmd.c
b/drivers/baseban
Implement new feature to stop queue operation.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 60 +++
1 file changed, 60 insertions(+)
diff --git a/drivers/baseband/acc/rte_acc100_pmd.c
b/drivers/baseband/acc/rte_a
Use the FCW E parameter for rate matching as the code block input
length.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/baseband/acc/rte_acc100_pmd.c
b/drivers/base
Implement new feature to make queue depth configurable based on decode
or encode mode.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 12 +---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/baseband/acc/rte_ac
Added LDPC enqueue functions to handle transport blocks.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 164 +-
1 file changed, 163 insertions(+), 1 deletion(-)
diff --git a/drivers/baseband/acc/rte_acc100_pmd.c
b/
Update validate functions to check for valid LDPC parameters to avoid
any HW issues.
Adding protection for null corner case and for HARQ inbound size out
of range.
HARQ input size from application may be invalid and causing HW issue.
Add checks to ensure that if HARQ is invalid, set to some valid s
Add flag to support scatter-gather for the mbuf
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 38 ++-
1 file changed, 25 insertions(+), 13 deletions(-)
diff --git a/drivers/baseband/acc/rte_acc100_pmd.c
b/drivers/
Enable validation functions by default and provide a new flag
RTE_LIBRTE_SKIP_VALIDATE if the user wants to run without
validating input to save cycles.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
doc/guides/bbdevs/acc100.rst | 7 +
drivers/baseband/acc/rte_acc10
Refactor code to use the HARQ index helper function and make harq_idx
uint32.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 36 +--
1 file changed, 17 insertions(+), 19 deletions(-)
diff --git a/drivers/baseband/ac
Add enqueue status as part of rte_bbdev_queue_data.
This is a new feature to update queue status and indicate the reason why
a previous enqueue may or may not have consumed all requested operations.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pm
Set local pointer to NULL after rte_free.
This needs to be set explicitly since logic may check for null pointers.
Fixes: 060e7672930 ("baseband/acc100: add queue configuration")
Cc: sta...@dpdk.org
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_p
Print full size of FCW LDPC structure on debug messages.
This is just a cosmetic fix, no need to fix on previous code base.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dri
It is possible to cause an invalid HW operation in case the user
provides the BBDEV API and HARQ operation with input enabled and zero
input. Adding protection for that case.
Fixes: 5ad5060f8f7 ("baseband/acc100: add LDPC processing functions")
Cc: sta...@dpdk.org
Signed-off-by: Hernan Vargas
Re
Historical mistakes, there should be no 64B alignment requirement for
the buffer being processed. Any 1B alignment is sufficient.
Fixes: 9200ffa5cd5 ("baseband/acc100: add info get function")
Cc: sta...@dpdk.org
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc
Clearing of PF info ring outside of handler may cause interrupt to be
missed.
A condition in the ACC100 PMD implementation may cause an interrupt
functional handler call to be missed due to related bit being cleared
when checking PF info ring status.
Fixes: 06531464151 ("baseband/acc100: support i
Input length should be reduced only for CRC24B.
Fixes: 5ad5060f8f7 ("baseband/acc100: add LDPC processing functions")
Cc: sta...@dpdk.org
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
Enforce additional check on Frame Control Word validity and add stronger
alignment for decompression mode.
Fixes: 5ad5060f8f7 ("baseband/acc100: add LDPC processing functions")
Cc: sta...@dpdk.org
Signed-off-by: Hernan Vargas
---
drivers/baseband/acc/acc100_pmd.h | 1 +
drivers/baseband/ac
Allocate info ring, tail pointers and HARQ layout memory for a device
only if it hasn't already been allocated.
Fixes: 06531464151 ("baseband/acc100: support interrupt")
Cc: sta...@dpdk.org
Signed-off-by: Hernan Vargas
---
drivers/baseband/acc/rte_acc100_pmd.c | 30 ++-
Add unlikely checks for NULL operation values.
Fixes: f404dfe35cc ("baseband/acc100: support 4G processing")
Cc: sta...@dpdk.org
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 10 ++
1 file changed, 10 insertions(+)
diff --git a/d
Add NULL check for the turbo decoder and encoder input length.
Fixes: 3bfc5f60403 ("baseband/acc100: add debug function to validate input")
Cc: sta...@dpdk.org
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 23 ++-
1 fi
Move check for undefined device before allocating queue data structure.
Coverity issue: 375803, 375813, 375819, 375827, 375831
Fixes: 060e7672930 ("baseband/acc100: add queue configuration")
Cc: sta...@dpdk.org
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/
LDPC Encoder input may need to be padded to avoid small beat for ACC100.
Padding 5GDL input buffer length (BLEN) to avoid case (BLEN % 64) <= 8.
Adding protection for corner case to avoid for 5GDL occurrence of last
beat within the ACC100 fabric with <= 8B which might trigger a fabric
corner case h
It is possible for some corner case to run more batch enqueue than
supported. A protection is required to avoid that corner case.
Enhance all ACC100 enqueue operations with check to see if there is room
in the atomic queue for enqueueing batches into the queue manager
Check room in AQ for the enque
Refactor of the queue availability computation to prevent the
application to dequeue more than what may have been enqueued.
Fixes: 5ad5060f8f7 ("baseband/acc100: add LDPC processing functions")
Cc: sta...@dpdk.org
Signed-off-by: Hernan Vargas
---
drivers/baseband/acc/rte_acc100_pmd.c | 25 +
v5: Fix compilation error and squash documentation changes.
v4: Rebased code to use the latest ACC common API and implemented review
comment changes.
v3: Code refactor based on comments and grouping fixes at beginning of series.
v2: Rebased code to use ACC common API.
v1: Upstreaming ACC100 change
11/10/2022 09:56, Feifei Wang:
> David Marchand
> > > On 25/08/2022 07:42, Feifei Wang wrote:
> > > > --- a/examples/l3fwd-power/main.c
> > > > +++ b/examples/l3fwd-power/main.c
> > > > @@ -432,8 +432,16 @@ static void
> > > > signal_exit_now(int sigtype)
> > > > {
> > > >
> > > > - if (si
On Thu, 2022-10-20 at 08:36 -0700, Stephen Hemminger wrote:
> On Thu, 20 Oct 2022 13:20:40 +0200
> David Marchand wrote:
>
> > On Fri, Oct 14, 2022 at 9:54 AM Markus Theil
> > wrote:
> > >
> > > From: Michael Pfeiffer
> > >
> > > Also expose the pthread id of each lcore, in
> > > order to all
On Thu, 20 Oct 2022 22:18:27 +0300
Dmitry Kozlyuk wrote:
> >
> > I will send out a v6 if the above solution is fine.
> >
> > >
> > >
> > > >
> > > > 1. /sysmem/sys_heap_list
> > > > The commands displays the arenas currently in use.
> > > > Example:
> > > > --> /sysmem/sys_heap_list
2022-10-11 07:10 (UTC+), Amit Prakash Shukla:
> Thanks David for the feedback. Please find the proposed fixed inline.
>
> > -Original Message-
> > From: David Marchand
> > Sent: Saturday, October 8, 2022 1:17 AM
> > To: Amit Prakash Shukla ; Thomas Monjalon
> > ; Anatoly Burakov ;
> >
Assume thread T2 is a service lcore that is in the middle of executing
a service function. Also, assume thread T1 concurrently calls
rte_service_lcore_stop(), which will set the "service_active_on_lcore"
state to false. If thread T1 then calls rte_service_may_be_active(),
it can return zero even
From: Kumara Parameshwaran
The patch adds GRO support for TCP/ipv6 packets. This does not
include the support for vxlan, udp ipv6 packets.
Signed-off-by: Kumara Parameshwaran
---
v1:
* Changes to support GRO for TCP/ipv6 packets. This does not include
vxlan changes.
*
From: Kumara Parameshwaran
The patch adds GRO support for TCP/ipv6 packets. This does not
include the support for vxlan, udp ipv6 packets.
Signed-off-by: Kumara Parameshwaran
---
v1:
* Changes to support GRO for TCP/ipv6 packets. This does not include
vxlan changes.
*
This commit fixes allocation of port COS
when application requested port COS exceeds
(e.g. beyond 0-15) the number of LDB ports for
the domain.
We limit application specified ports from a
COS to the max ports allocated for the COS
so that the rest of the of the ports can be
allocated from default(
This commit fixes allocation of port COS
when application requested port COS exceeds
(e.g. beyond 0-15) the number of LDB ports for
the domain.
We limit application specified ports from a
COS to the max ports allocated for the COS
so that the rest of the of the ports can be
allocated from default(
When dumpcap is run with a longer path name such as when
testing, the file prefix would be computed incorrectly.
Also, print out the resulting filename which is what
similar wireshark program does.
Fixes: cbb44143be74 ("app/dumpcap: add new packet capture application")
Signed-off-by: Stephen Hemm
> On Thu, 20 Oct 2022 at 22:46, Akhil Goyal wrote:
> >
> > > Introduce a new crypto PMD for hardware accelerators based on UADK [1].
> > >
> > > UADK is a framework for user applications to access hardware accelerators.
> > > UADK relies on IOMMU SVA (Shared Virtual Address) feature, which share
>
To delete all the queues of a ethernet device associated with
adapter instance the queue_id can be passed as -1 to the queue
delete API.
When a subset of queues of a ethernet device are associated,
the queue delete logic is exiting without deleting the queues
in some cases (higher numbered associa
> diff --git a/app/test/test_cryptodev_security_ipsec.h
> b/app/test/test_cryptodev_security_ipsec.h
> index 9147d1c0d6..b98f4741b2 100644
> --- a/app/test/test_cryptodev_security_ipsec.h
> +++ b/app/test/test_cryptodev_security_ipsec.h
> @@ -196,7 +196,7 @@ static const struct crypto_param auth_li
This commit adds ECDH algorithm to Intel QuickAssist
Technology driver.
Signed-off-by: Arek Kusztal
---
doc/guides/cryptodevs/features/qat.ini | 7 ++-
doc/guides/cryptodevs/qat.rst | 1 +
doc/guides/rel_notes/release_22_11.rst | 4 ++
drivers/crypto/qat/qat_asym.c | 98
This commit adds verification option for elliptic curve
points when used along ECDH algorithm.
Signed-off-by: Arek Kusztal
---
drivers/common/qat/qat_adf/qat_pke.h | 24 +++
drivers/crypto/qat/qat_asym.c| 58 +++-
2 files changed, 81 insertions
Improve the way that cookies are freed and cleared.
Signed-off-by: Arek Kusztal
---
drivers/crypto/qat/qat_asym.c | 73 ---
1 file changed, 34 insertions(+), 39 deletions(-)
diff --git a/drivers/crypto/qat/qat_asym.c b/drivers/crypto/qat/qat_asym.c
index
All pointers passed to functions that are not supposed
to have its data changed should be marked as constant.
Signed-off-by: Arek Kusztal
---
drivers/common/qat/qat_adf/qat_pke.h | 16 +++
drivers/common/qat/qat_device.c | 2 +-
drivers/common/qat/qat_device.h | 4 +-
drivers/cry
This patchset extends Intel QuickAssist Technology asymmetric crypto PMD.
Following features were added:
- ECDH algorithm handling
- EC point verification
Depends-on: series-25284 ("crypto/qat: fix uncleared cookies in asym")
v2:
- resolved compilation issues
- improved code structure
Arek Kuszt
> -Original Message-
> From: Shijith Thotton
> Sent: Monday, October 17, 2022 5:36 PM
> To: Pavan Nikhilesh Bhagavatula ; Jerin Jacob
> Kollanukkaran ; David Christensen
>
> Cc: dev@dpdk.org; Pavan Nikhilesh Bhagavatula
> ; sta...@dpdk.org
> Subject: RE: [EXT] [PATCH v5 1/5] examples/l
Replace stub implenation of HWS with mlx5dr code.
Signed-off-by: Alex Vesker
---
doc/guides/nics/mlx5.rst | 5 +-
doc/guides/rel_notes/release_22_11.rst | 4 +
drivers/common/mlx5/linux/meson.build| 9 +-
drivers/net/mlx5/hws/meson.build | 18
From: Hamdan Igbaria
The debug layer is used to generate a debug CSV file
containing details of the context, table, matcher, rules
and other useful debug information.
Signed-off-by: Hamdan Igbaria
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_debug.c | 462 +++
HWS rule objects reside under the matcher, each rule holds
the configuration for the packet fields to match on and the
set of actions to execute over the packet that has the requested
fields. Rules can be created asynchronously in parallel over multiple
queues to different matchers. Each rule is co
From: Erez Shitrit
Action objects are used for executing different HW actions
over packets. Each action contains the HW resources and parameters
needed for action use over the HW when creating a rule.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_actio
HWS matcher resides under the table object, each table can
have multiple chained matcher with different attributes. Each
matcher represents a combination of match and action templates.
Each matcher can contain multiple configurations based on the
templates. Packets are steered from the table to the
HWS table resides under the context object, each context can
have multiple tables with different steering types RX/TX/FDB.
The table is not only a logical object but it is also represented
in the HW, packets can be steered to the table and from there
to other tables.
Signed-off-by: Erez Shitrit
S
Definers are HW objects that are used for matching, rte items
are translated to definers, each definer holds the fields and
bit-masks used for HW flow matching. The definer layer is used
for finding the most efficient definer for each set of items.
In addition to definer creation we also calculate
Context is the first mlx5dr object created, all sub object:
table, matcher, rule, action are created using the context.
The context holds the capabilities and send queues used for
configuring the offloads to the HW.
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_context.c | 223 +
From: Erez Shitrit
The command layer is used to communicate with the FW,
query capabilities and allocate FW resources needed for HWS.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/mlx5_prm.h| 607 ++-
drivers/net/mlx5/hws/mlx5dr_cmd.c | 948
HWS configures flows to the HW using a QP, each WQE has
the details of the flow we want to offload. The send layer
allocates the resources needed to send the request to the HW
as well as managing the queues, getting completions and
handling failures.
Signed-off-by: Mark Bloch
Signed-off-by: Alex
Add missing glue support for HWS mlx5dr layer. The new glue
functions are needed for mlx5dv create matcher and action,
which are used as the kernel root table as well as for
capabilities query like device name and ports info.
Signed-off-by: Alex Vesker
---
drivers/common/mlx5/linux/mlx5_glue.c |
From: Erez Shitrit
HWS needs to manage different types of device memory in
an efficient and quick way. For this, memory pools are
being used.
Signed-off-by: Erez Shitrit
Signed-off-by: Alex Vesker
---
drivers/net/mlx5/hws/mlx5dr_buddy.c | 200 +
drivers/net/mlx5/hws/mlx5dr_buddy.h |
From: Bing Zhao
In the flow table capabilities, new fields are added to query the
capability to set, add, copy to a REG_C_x.
The set capability are queried and saved for the future usage.
Signed-off-by: Bing Zhao
---
drivers/common/mlx5/mlx5_devx_cmds.c | 30 +++
drivers/commo
From: Bing Zhao
The available tags that can be used by the application are fixed
after startup.
A global array is used to store the information and transfer the TAG
item directly from the ID to the REG_C_x.
Signed-off-by: Bing Zhao
---
drivers/net/mlx5/linux/mlx5_os.c | 2 +
drivers/net/mlx5
From: Suanming Mou
As hardware steering root table flows still work under FW steering
mode. This commit provides shared item tranlsation code for hardware
steering root table flows.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow.c| 10 +--
drivers/net/mlx5/mlx5_flow.h| 52
From: Suanming Mou
As hardware steering mode translates flow matcher and value in two
different stages, split the flow item matcher and value translation
to help reuse the code.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow.h| 32 +
drivers/net/mlx5/mlx5_flow_dv.c | 2314 +++
From: Dariusz Sosnowski
This patch initial version of functions used to:
- convert between ethdev port_id and internal tag/mask value,
- convert between IB context and internal tag/mask value.
Signed-off-by: Dariusz Sosnowski
---
drivers/net/mlx5/linux/mlx5_os.c | 10 +-
drivers/net/mlx5/
From: Suanming Mou
In order to share the item translation code with hardware steering
mode, this commit splits flow item translation code to a dedicate
function.
Signed-off-by: Suanming Mou
---
drivers/net/mlx5/mlx5_flow_dv.c | 1915 ---
1 file changed, 979 insertio
Mellanox ConnetX devices supports packet matching, packet modification and
redirection. These functionalities are also referred to as flow-steering.
To configure a steering rule, the rule is written to the device owned
memory, this memory is accessed and cached by the device when processing
a packe
On Thu, 20 Oct 2022 at 22:46, Akhil Goyal wrote:
>
> > Introduce a new crypto PMD for hardware accelerators based on UADK [1].
> >
> > UADK is a framework for user applications to access hardware accelerators.
> > UADK relies on IOMMU SVA (Shared Virtual Address) feature, which share
> > the same
From: Michael Baum
Add support for AGE action for HW steering.
This patch includes:
1. Add new structures to manage the aging.
2. Initialize all them in configure function.
3. Implement per second aging check using CNT background thread.
4. Enable AGE action in flow create/destroy operations
From: Dariusz Sosnowski
This patch adds creation of control flow rules required to receive
default traffic (based on port configuration) with HWS.
Control flow rules are created on port start and destroyed on port stop.
Handling of destroying these rules was already implemented before that
patch
From: Dariusz Sosnowski
In some E-Switch use cases applications want to receive all traffic
on a single port. Since currently flow API does not provide a way to
match traffic forwarded to any port representor, this patch adds
support for controlling representor matching on ingress flow rules.
Re
From: Gregory Etelson
- Reformat flow integrity item translation for HWS code.
- Support flow integrity bits in HWS group 0.
- Update integrity item translation to match positive semantics only.
Signed-off-by: Gregory Etelson
---
drivers/net/mlx5/mlx5_flow.h| 1 +
drivers/net/mlx5/mlx5_f
From: Gregory Etelson
Add PMD implementation for HW steering VLAN push, pop and modify flow
actions.
HWS VLAN push flow action is triggered by a sequence of mandatory
OF_PUSH_VLAN, OF_SET_VLAN_VID and optional OF_SET_VLAN_PCP
flow actions commands.
The commands must be arranged in the exact orde
1 - 100 of 202 matches
Mail list logo