On 2024-05-02 07:57, Mattias Rönnblom wrote:
Add atomic bit test/set/clear/assign/flip and
test-and-set/clear/assign/flip functions.
All atomic bit functions allow (and indeed, require) the caller to
specify a memory order.
RFC v6:
* Have rte_bit_atomic_test() accept const-marked bitsets.
RF
DPDK defines cmdline input buffer size to 512 characters.
That buffer size can be too small for long application input.
For example, the following flow template API testpmd command is 444
bytes long:
```
flow queue 0 create 0 template_table 1000 \
pattern_template 0 actions_template 0 postpone no
On Thu, 2 May 2024 18:44:20 +0100
Daniel Gregory wrote:
> On Thu, May 02, 2024 at 09:20:45AM -0700, Stephen Hemminger wrote:
> > Why not:
> > diff --git a/lib/eal/arm/include/rte_pause_64.h
> > b/lib/eal/arm/include/rte_pause_64.h
> > index 5cb8b59056..81987de771 100644
> > --- a/lib/eal/arm/inc
The driver support of flows has changed and the wording in
the guide was awkward.
Drop references to DPDK pktgen in this documentation since
it is not required and confusing.
Signed-off-by: Stephen Hemminger
---
doc/guides/nics/tap.rst| 274 +++--
doc/guides/
If tap device in kernel returns EAGAIN that means it is full.
That is not an error.
Signed-off-by: Stephen Hemminger
---
drivers/net/tap/rte_eth_tap.c | 13 -
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
i
Some log messages contained extra newlines.
Signed-off-by: Stephen Hemminger
---
drivers/net/tap/rte_eth_tap.c | 17 -
1 file changed, 8 insertions(+), 9 deletions(-)
diff --git a/drivers/net/tap/rte_eth_tap.c b/drivers/net/tap/rte_eth_tap.c
index 3614aaf1dc..2484a82ccb 100644
-
The names of Linux network devices are IFNAMSIZ(16) not the
same as DPDK which has up to 64 characters. Don't need to
hold onto the whole ifreq to save the remote interface flags.
Make sure packet and byte counters are read once, so that global
and per-queue values add up. No need for separate rx_
The BPF api was replaced by use of libbpf.
And the BPF instruction header was replaced by the skeleton.
Signed-off-by: Stephen Hemminger
---
drivers/net/tap/tap_bpf_api.c | 196
drivers/net/tap/tap_bpf_insns.h | 1741 ---
2 files changed, 1937 deletions(-)
de
There were multiple issues in the RSS queue support in the TAP
driver. This required extensive rework of the BPF support.
Change the BPF loading to use bpftool to
create a skeleton header file, and load with libbpf.
The BPF is always compiled from source so less chance that
source and instructions
Rewrite of the BPF program used to do queue based RSS.
Important changes:
- uses newer BPF map format BTF
- accepts key as parameter rather than constant default
- can do L3 or L4 hashing
- supports IPv4 options
- supports IPv6 extension headers
- re
The proper place for finding bpf structures and functions is
in linux/bpf.h. The original version was trying to workaround the
case where the build environment was running on old pre BPF
version of Glibc, but the target environment had BPF.
Having own private (and divergent) version headers leads
The flow RSS support via BPF was not using the key, or
hash type parameters. Which is good because they were never
properly setup.
Fix the setup and validate the flow parameters, the BPF
side gets fixed later.
Signed-off-by: Stephen Hemminger
---
drivers/net/tap/tap_flow.c | 65
The driver doesn't support these other hash types, and there
is no reason to implement these in future. The rss_flows list
was set but never used.
Signed-off-by: Stephen Hemminger
---
drivers/net/tap/rte_eth_tap.h | 4 +---
drivers/net/tap/tap_flow.c| 1 -
drivers/net/tap/tap_rss.h | 6 -
The TAP device can use same file descriptor for both rx and tx queues.
This allows up to 8 queues (versus 4) to be used with secondary process.
Bugzilla ID: 1381
Signed-off-by: Stephen Hemminger
---
drivers/net/tap/rte_eth_tap.c | 192 ++
drivers/net/tap/rte_eth_t
The check for receive queue fd in flow_isolate is incorrect.
If queue has not been setup then fd will be -1 not 0.
Signed-off-by: Stephen Hemminger
---
drivers/net/tap/tap_flow.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/tap/tap_flow.c b/drivers/net/tap/tap_
The support of doing RSS for rte_flow_action was a cool idea
but it has been broken for several releases of DPDK as the
kernel and BPF infrastructure changed.
This series cleans up the BPF program, implements several
features that were never completed in the original code
and changes to use the cu
On 2024-05-02 20:26, Stephen Hemminger wrote:
On Thu, 2 May 2024 19:37:28 +0200
Mattias Rönnblom wrote:
Do we need to declare count as '_Atomic', I wasn't planning to make
variable _Atomic. This way assignment won't introduce any memory barrier.
To use atomics in DPDK, the current requi
https://bugs.dpdk.org/show_bug.cgi?id=1435
Bug ID: 1435
Summary: tap: device harmless warnings when setting remote
iface
Product: DPDK
Version: 24.03
Hardware: All
OS: All
Status: UNCONFIRMED
Hi Dmitry,
Yes. I will look into
The VM gives the following:
[root@vSTREAMO9-234 bin]# prlimit -v
RESOURCE DESCRIPTION SOFT HARD UNITS
AS address space limit unlimited unlimitedbytes
I saw these optional configurations in my googl
Remove dead code for error and update description of one error print.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 19 +--
1 file changed, 1 insertion(+), 18 deletions(-)
diff --git a/drivers/baseband/acc/rte_acc100_pmd.c
Minor cosmetic log change.
No functional impact.
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/baseband/acc/rte_acc100_pmd.c
HARQ pruning is not an ACC100 feature. Removing in effect dead code.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 33 +--
1 file changed, 6 insertions(+), 27 deletions(-)
diff --git a/drivers/baseband/acc/rte_acc1
Remove dead code and unused function in ACC100 driver.
Signed-off-by: Hernan Vargas
Reviewed-by: Maxime Coquelin
---
drivers/baseband/acc/rte_acc100_pmd.c | 213 --
1 file changed, 68 insertions(+), 145 deletions(-)
diff --git a/drivers/baseband/acc/rte_acc100_pmd.c
b/
Moving memory barrier so that dequeue thread can be in sync with enqueue
thread.
Fixes: 32e8b7ea35dd ("baseband/acc100: refactor to segregate common code")
Cc: sta...@dpdk.org
Signed-off-by: Hernan Vargas
---
drivers/baseband/acc/acc_common.h | 5 +++--
1 file changed, 3 insertions(+), 2 deleti
v2: Label memory barrier change as a fix.
v1: This series targeting 24.07 removes unused/dead code, memory barrier
improvements, cosmetic log changes.
Hernan Vargas (5):
baseband/acc: fix memory barrier
baseband/acc: remove ACC100 unused code
baseband/acc: remove ACC100 HARQ pruning
baseb
Hello Ali & Patrick.
Please use v3 of this patch to see if it fixes the "deque" spell check issue
that you folks were helping me & Wathsala with. I have removed Gerrit change-id
from this patch.
Thank you,
Aditya Ambadipudi
From: Aditya Ambadipudi
Sent: Thursda
Add unit test cases that test all of the enqueue/dequeue functions.
Both normal enqueue/dequeue functions and the zerocopy API functions.
Signed-off-by: Aditya Ambadipudi
---
v3:
* Fixed a few casts that were causing compiler warnings.
v2:
* Addressed the spell check warning issue with the wo
From: Honnappa Nagarahalli
Add a multi-thread unsafe double ended queue data structure. This
library provides a simple and efficient alternative to multi-thread
safe ring when multi-thread safety is not required.
Signed-off-by: Aditya Ambadipudi
Signed-off-by: Honnappa Nagarahalli
---
v3:
*
As previously discussed in the mailing list [1] we are sending out this
patch that provides the implementation and unit test cases for the
RTE_DEQUE library. This includes functions for creating a RTE_DEQUE
object. Allocating memory to it. Deleting that object and free'ing the
memory associated wi
Hi Ed,
I presume it's a revival of this thread:
http://inbox.dpdk.org/users/ch3pr01mb8470c9675763e14954d6e3b88f...@ch3pr01mb8470.prod.exchangelabs.com/
2024-05-02 19:05 (UTC+), Lombardo, Ed:
[...]
> My situation is as follows:
> We were on DPDK 17.11.6 and upgraded to DPDK22.11.2 to
Hi,
I have exhausted all my options and want to reach out to the dpdk developers
for guidance.
My situation is as follows:
We were on DPDK 17.11.6 and upgraded to DPDK22.11.2 to support the Intel E810.
Also upgraded from CentOS7 to Oracle 91.
In DPDK 22.11.2 the VIRT memory has skyrocketed and
On Mon, 15 Apr 2024 13:03:53 -0700
Tyler Retzlaff wrote:
> Move location of __rte_aligned(a) to new conventional location. The new
> placement between {struct,union} and the tag allows the desired
> alignment to be imparted on the type regardless of the toolchain being
> used for both C and C++.
On Thu, 2 May 2024 18:44:20 +0100
Daniel Gregory wrote:
> What toolchain are you using? With your change I still get errors about
> the expression not being constant:
>
> In file included from ../lib/eal/arm/include/rte_pause.h:13,
> from ../lib/eal/include/generic/rte_spinlock.
On Thu, 2 May 2024 19:37:28 +0200
Mattias Rönnblom wrote:
> >
> > Do we need to declare count as '_Atomic', I wasn't planning to make
> > variable _Atomic. This way assignment won't introduce any memory barrier.
> >
>
> To use atomics in DPDK, the current requirements seems to be to use
> R
On 5/2/2024 4:59 PM, Stephen Hemminger wrote:
> On Thu, 2 May 2024 15:22:35 +0100
> Ferruh Yigit wrote:
>
>>>
>>> It's not going to be completely MT safe, since you can't have two
>>> threads calling the reset function in parallel.
>>>
>>
>> This is what I meant with "MT-safe reset", so multip
On 2024-05-02 18:16, Stephen Hemminger wrote:
On Thu, 2 May 2024 15:12:43 +0100
Ferruh Yigit wrote:
I am not referring multiple core sharing a queue, this is wrong for DPDK.
For single core case, if a variable doesn't have 'volatile' qualifier
and load/stores are not atomic, as compiler is no
On Thu, May 02, 2024 at 09:20:45AM -0700, Stephen Hemminger wrote:
> Why not:
> diff --git a/lib/eal/arm/include/rte_pause_64.h
> b/lib/eal/arm/include/rte_pause_64.h
> index 5cb8b59056..81987de771 100644
> --- a/lib/eal/arm/include/rte_pause_64.h
> +++ b/lib/eal/arm/include/rte_pause_64.h
> @@ -1
On 2024-05-02 16:22, Ferruh Yigit wrote:
On 5/2/2024 6:51 AM, Mattias Rönnblom wrote:
On 2024-05-01 18:19, Ferruh Yigit wrote:
On 4/28/2024 4:11 PM, Mattias Rönnblom wrote:
On 2024-04-26 16:38, Ferruh Yigit wrote:
For stats reset, use an offset instead of zeroing out actual stats
values,
get_
Hi DPDK Developers,
I wanted to announce to the mailing lists that the UNH Community Lab
recently rolled out a new page on our dashboard where you can find
code coverage reports for DPDK unit tests.
https://lab.dpdk.org/results/dashboard/code-coverage
It provides some unit test code coverage rep
#
May 2, 2024
Attendees
1. Patrick Robb
2. Juraj Linkeš
3. Aaron Conole
4. Paul Szczepanek
5. Luca Vizzarro
#
Minutes
===
On Thu, 2 May 2024 15:51:43 +0100
Ferruh Yigit wrote:
> I agree on the fix, only I don't think it belongs to this patch.
>
> As far as I can see 'rxq_fds' was already initialized to '-1' and
> original code was already wrong.
>
> This patch merges 'rxq_fds' & 'txq_fds' to 'fds', but this patch
On Thu, 2 May 2024 15:21:16 +0100
Daniel Gregory wrote:
> The ARM implementation of rte_pause uses RTE_BUILD_BUG_ON to check
> memorder, which is not constant. This causes compile errors when it is
> enabled with RTE_ARM_USE_WFE. eg.
>
> ../lib/eal/arm/include/rte_pause_64.h: In function ‘rte_w
On Thu, 2 May 2024 15:12:43 +0100
Ferruh Yigit wrote:
> I am not referring multiple core sharing a queue, this is wrong for DPDK.
>
> For single core case, if a variable doesn't have 'volatile' qualifier
> and load/stores are not atomic, as compiler is not aware that there may
> be other threads
On Thu, 2 May 2024 15:22:35 +0100
Ferruh Yigit wrote:
> >
> > It's not going to be completely MT safe, since you can't have two
> > threads calling the reset function in parallel.
> >
>
> This is what I meant with "MT-safe reset", so multiple threads not
> allowed to call stats reset in para
>+Hi Abdullah,
>+Couple of small asks/tips when sending new versions of a patchset:
>+1) When sending v2, v3, v4 using git-send-email, include
>+ "--in-reply-to " in the command. This will
>+ ensure all copies of the patches get put in the same email thread, rather
>+than having different vers
On 4/22/24 17:40, Hernan Vargas wrote:
Minor cosmetic log change.
No functional impact.
Signed-off-by: Hernan Vargas
---
drivers/baseband/acc/rte_acc100_pmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Reviewed-by: Maxime Coquelin
Thanks,
Maxime
On 4/22/24 17:40, Hernan Vargas wrote:
Remove dead code for error and update description of one error print.
Signed-off-by: Hernan Vargas
---
drivers/baseband/acc/rte_acc100_pmd.c | 19 +--
1 file changed, 1 insertion(+), 18 deletions(-)
Reviewed-by: Maxime Coquelin
Th
On 4/22/24 17:40, Hernan Vargas wrote:
Moving memory barrier so that dequeue thread can be in sync with enqueue
thread.
It is a fix, so please pass Fixes tag and Cc stable ML.
Signed-off-by: Hernan Vargas
---
drivers/baseband/acc/acc_common.h | 5 +++--
1 file changed, 3 insertions(+)
From: Konstantin Ananyev
In ACL mode l3fwd first do classify() and send() for ipv4 packets,
then the same procedure for ipv6.
That might cause packets reordering within one ingress queue.
Probably not a big deal, as order within each flow are still preserved,
but better to be avoided anyway.
Spec
From: Konstantin Ananyev
When running l3fwd in ACL mode, if we'll have mix of IPv4/IPv6 packets in
the same burst, it will most likely cause a crash.
The reason for that is that we split our burst of packets into 2 arrays -
one for ipv4, another for ipv6 for classify().
But then we try to send al
From: Konstantin Ananyev
Konstantin Ananyev (2):
examples/l3fwd: fix crash in ACL mode for mixed traffic
examples/l3fwd: avoid packets reordering in ACL mode
examples/l3fwd/l3fwd_acl.c| 125 +++---
examples/l3fwd/l3fwd_acl_scalar.h | 71 +
2
On 4/22/24 17:40, Hernan Vargas wrote:
HARQ pruning is not an ACC100 feature. Removing in effect dead code.
Signed-off-by: Hernan Vargas
---
drivers/baseband/acc/rte_acc100_pmd.c | 33 +--
1 file changed, 6 insertions(+), 27 deletions(-)
Reviewed-by: Maxime Coqu
On 4/22/24 17:40, Hernan Vargas wrote:
Remove dead code and unused function in ACC100 driver.
Signed-off-by: Hernan Vargas
---
drivers/baseband/acc/rte_acc100_pmd.c | 213 --
1 file changed, 68 insertions(+), 145 deletions(-)
Reviewed-by: Maxime Coquelin
Than
On 5/2/2024 12:53 AM, Stephen Hemminger wrote:
> On Wed, 1 May 2024 12:13:45 +0100
> Ferruh Yigit wrote:
>
>>> diff --git a/drivers/net/tap/tap_flow.c b/drivers/net/tap/tap_flow.c
>>> index fa50fe45d7..a78fd50cd4 100644
>>> --- a/drivers/net/tap/tap_flow.c
>>> +++ b/drivers/net/tap/tap_flow.c
>>>
Add support to the contigmem module on FreeBSD for multiple concurrent
files, this enables running multiple dpdk instances with the nic_uio
driver.
Add relevant parts in dpdk to support this.
Signed-off-by: Tom Jones
---
config/rte_config.h | 2 +
kernel/freebsd/contigmem/con
The zawrs extension adds a pair of instructions that stall a core until
a memory location is written to. This patch uses one of them to
implement RISCV-specific versions of the rte_wait_until_equal_*
functions. This is potentially more energy efficient than the default
implementation that uses rte_
On 5/2/2024 6:51 AM, Mattias Rönnblom wrote:
> On 2024-05-01 18:19, Ferruh Yigit wrote:
>> On 4/28/2024 4:11 PM, Mattias Rönnblom wrote:
>>> On 2024-04-26 16:38, Ferruh Yigit wrote:
For stats reset, use an offset instead of zeroing out actual stats
values,
get_stats() displays diff b
The ARM implementation of rte_pause uses RTE_BUILD_BUG_ON to check
memorder, which is not constant. This causes compile errors when it is
enabled with RTE_ARM_USE_WFE. eg.
../lib/eal/arm/include/rte_pause_64.h: In function ‘rte_wait_until_equal_16’:
../lib/eal/include/rte_common.h:530:56: error: e
https://bugs.dpdk.org/show_bug.cgi?id=1434
Bug ID: 1434
Summary: l3fwd: crashes in ACL mode for mixed traffic
Product: DPDK
Version: 24.03
Hardware: All
OS: All
Status: UNCONFIRMED
Severity: normal
On 5/1/2024 5:43 PM, Stephen Hemminger wrote:
> On Wed, 1 May 2024 17:25:59 +0100
> Ferruh Yigit wrote:
>
>>> - Do not mark statistics as volatile.
>>>Instead, READ_ONCE() where necessary.
>>>
>>
>> I did similar [1], and Mattias has some comments on it.
>> Issue is not in the reader (sta
On 5/1/2024 5:42 PM, Stephen Hemminger wrote:
> On Wed, 1 May 2024 17:25:59 +0100
> Ferruh Yigit wrote:
>
>> On 4/30/2024 4:39 PM, Stephen Hemminger wrote:
>>> The statistics in af_packet driver do not follow the standard
>>> practice of other drivers:
>>>
>>> - Statistics should be maintained a
On 5/1/2024 7:18 PM, Morten Brørup wrote:
>> From: Stephen Hemminger [mailto:step...@networkplumber.org]
>> Sent: Wednesday, 1 May 2024 18.45
>>
>> On Wed, 1 May 2024 17:25:59 +0100
>> Ferruh Yigit wrote:
>>
- Remove the tx_error counter since it was not correct.
When transmit ring i
Reviewed-by: Luca Vizzarro
On Tue, Apr 30, 2024 at 8:47 PM Nicholas Pratte wrote:
>
> The term 'amount' is used for uncountable nouns. Since total hugepages
> is a discrete value (i.e. countable), the declaration of the 'amount'
> key value pair should be changes to a different term in both the config
> and the rest of the
On Tue, Apr 30, 2024 at 8:47 PM Nicholas Pratte wrote:
>
> The previous implementation configures and allocates hugepage sizes
> based on a system default. This can lead to two problems: overallocation of
> hugepages (which may crash the remote host), and configuration of hugepage
> sizes that are
Reviewed-by: Luca Vizzarro
On Wed, May 01, 2024 at 02:46:17PM -0500, Abdullah Sevincer wrote:
> This patchset addresses DLB enhancements in the DLB driver.
>
> Abdullah Sevincer (3):
> event/dlb2: add support for HW delayed token
> event/dlb2: add support for dynamic HL entries
> event/dlb2: enhance DLB credit handli
On Wed, May 01, 2024 at 08:26:54PM +0200, Morten Brørup wrote:
> +CC: Bruce, Stephen
>
> > From: Gregory Etelson [mailto:getel...@nvidia.com]
> > Sent: Wednesday, 1 May 2024 19.18
> >
> > DPDK defines cmdline input buffer size to 512 characters.
> > That buffer size can be too small for long appl
68 matches
Mail list logo