May be in rte_gro_reassemble_burst, where no delay is introduced, PUSH packets
can be merged
发件人: kumaraparameshwaran rathinavel
发送时间: 2022年7月26日 14:41
收件人: Jun Qiu
抄送: dev@dpdk.org; jiayu...@intel.com; sta...@dpdk.org
主题: Re: [PATCH] gro: fix gro with tcp push flag
On Tue, Jul 26, 2022 at 1
On Tue, Jul 26, 2022 at 11:48 AM Jun Qiu wrote:
> TCP data packets sometimes carry a PUSH flag. Currently,
> only the packets that do not have PUSH flag can be GROed.
> The packets that have a PUSH flag cannot be GROed, the packets
> that cannot be processed by GRO are placed last.
> In this case
In the following two cases, tcp_hdr + sizeof(*tcp_hdr) == pkt_end,
and the TCP port is not taken into account in calculating the HASH
value of TCP packets. TCP connections with the same source and
destination IP addresses will be hashed to the same slave port,
which may cause load imbalance.
1. TCP
TCP data packets sometimes carry a PUSH flag. Currently,
only the packets that do not have PUSH flag can be GROed.
The packets that have a PUSH flag cannot be GROed, the packets
that cannot be processed by GRO are placed last.
In this case, the received packets may be out of order.
For example, the
Hi Stephen,
Thanks for your work.
On 2022-07-25 20:34:56 -0700, Stephen Hemminger wrote:
> Found by doing duplicate word scan.
>
> Signed-off-by: Stephen Hemminger
Reviewed-by: Niklas Söderlund
> ---
> drivers/net/nfp/nfp_ctrl.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> d
adapter_stop function is stopping the adapter service using
rte_service_runstate_set() api and waiting until
rte_service_may_be_active() api returns stopped state in an
infinite loop.
This results in hang issues if application calls
rte_service_lcore_stop() before adapter stop.
remove the state c
-邮件原件-
发件人: dev-requ...@dpdk.org
发送时间: 2022年7月26日 11:35
收件人: dev@dpdk.org
主题: dev Digest, Vol 414, Issue 16
Send dev mailing list submissions to
dev@dpdk.org
To subscribe or unsubscribe via the World Wide Web, visit
https://mails.dpdk.org/listinfo/dev
or, via email, se
add spinlock protection for tx adapter stop and start APIs
add null check for tx adapter service pointer in adapter start/stop apis.
Fixes: a3bbf2e09756 ("eventdev: add eth Tx adapter implementation")
Cc: sta...@dpdk.org
Signed-off-by: Naga Harish K S V
---
lib/eventdev/rte_event_eth_tx_adapter
During the queue add, service component runstate is set to 1,
when there is minimum one queue associated with the adapter
instance. The same is not updated during queue delete operation.
This patch update service component runstate to 0 when there
are no more queues associated with the adapter ins
When the queue_ops_rsa_enc_dec function is called, the plaintext will
be printed twice instead of both plaintext and ciphertext. When the
create_aead_operation function is called, the contents of iv and aad
will be printed incorrectly. This patch fixes the issues above.
Fixes: 77a217a19bb7 ("test/
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/net/bnx2x/ecore_sp.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bnx2x/ecore_sp.h b/drivers/net/bnx2x/ecore_sp.h
index 1f4d5a3ebe29..c0b4d431c879 100644
--- a/drivers/net/bnx2x/ec
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/net/qede/qede_filter.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/qede/qede_filter.c b/drivers/net/qede/qede_filter.c
index ca3165d97210..24035b64e7a1 100644
--- a/drivers/ne
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
lib/bpf/rte_bpf_ethdev.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/bpf/rte_bpf_ethdev.h b/lib/bpf/rte_bpf_ethdev.h
index 135062c9e13c..1cca2e6c95a2 100644
--- a/lib/bpf/rte_bpf_ethdev.h
+++ b/l
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/net/cxgbe/cxgbe_filter.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/cxgbe/cxgbe_filter.h b/drivers/net/cxgbe/cxgbe_filter.h
index 46ebf833381e..6e099a5c1cfc 100644
--- a/drivers/
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/net/bnx2x/ecore_fw_defs.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bnx2x/ecore_fw_defs.h
b/drivers/net/bnx2x/ecore_fw_defs.h
index 6fc1fce7e29c..ab1abf6b34b3 100644
--- a/driv
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
app/test/test_ipsec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/app/test/test_ipsec.c b/app/test/test_ipsec.c
index 7047e1796091..8d208c526a49 100644
--- a/app/test/test_ipsec.c
+++ b/app/test/test
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
b/drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c
index 8444f1a795
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/net/nfp/nfp_ctrl.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/nfp/nfp_ctrl.h b/drivers/net/nfp/nfp_ctrl.h
index 372d53746243..2327d4eb7646 100644
--- a/drivers/net/nfp/nfp_ctrl.h
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/net/ixgbe/ixgbe_ipsec.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ixgbe/ixgbe_ipsec.c b/drivers/net/ixgbe/ixgbe_ipsec.c
index c353ae33b4f8..3d479011bea1 100644
--- a/drivers/net
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/net/cxgbe/sge.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/cxgbe/sge.c b/drivers/net/cxgbe/sge.c
index 5d91355c9ab1..1a767dabf59c 100644
--- a/drivers/net/cxgbe/sge.c
+++ b/drive
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/net/bnx2x/bnx2x.c | 2 +-
drivers/net/pcap/pcap_ethdev.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/bnx2x/bnx2x.c b/drivers/net/bnx2x/bnx2x.c
index 74e3018eab6f..29c16bb2
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
lib/distributor/rte_distributor.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/distributor/rte_distributor.c
b/lib/distributor/rte_distributor.c
index 3035b7a99925..967e27d35a49 100644
--- a/lib/
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/net/i40e/i40e_fdir.c | 2 +-
drivers/net/igc/base/igc_mac.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/i40e/i40e_fdir.c b/drivers/net/i40e/i40e_fdir.c
index 8caedea14eaa..3b
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
lib/ring/rte_ring.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/ring/rte_ring.c b/lib/ring/rte_ring.c
index cddaf6b2876f..a42767b75d9c 100644
--- a/lib/ring/rte_ring.c
+++ b/lib/ring/rte_ring.c
@
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/common/sfc_efx/base/efx_types.h | 2 +-
drivers/event/sw/sw_evdev.c | 2 +-
drivers/net/hns3/hns3_ethdev.c | 2 +-
drivers/net/mlx5/mlx5_flow.c| 2 +-
drivers/net/sfc/sfc_ef10_tx.c
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/net/bonding/rte_eth_bond_8023ad.h | 2 +-
examples/vm_power_manager/channel_monitor.h | 2 +-
examples/vm_power_manager/oob_monitor.h | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/driv
The word 'same' is duplicated in comment.
Signed-off-by: Stephen Hemminger
Acked-by: Liron Himi
---
drivers/net/mvneta/mvneta_ethdev.c | 2 +-
drivers/net/mvpp2/mrvl_ethdev.c| 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/mvneta/mvneta_ethdev.c
b/drivers/
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
drivers/common/sfc_efx/base/efx_regs_mcdi.h | 2 +-
lib/net/rte_ether.h | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/common/sfc_efx/base/efx_regs_mcdi.h
b/drivers/c
Found by doing duplicate word scan.
Signed-off-by: Stephen Hemminger
---
app/test/test_resource.c | 2 +-
drivers/common/sfc_efx/base/siena_nvram.c | 2 +-
lib/pipeline/rte_swx_ctl.c| 2 +-
lib/power/guest_channel.c | 2 +-
4 files changed, 4 inse
The original comment was redundant and had duplicate word 'of'.
Signed-off-by: Stephen Hemminger
---
lib/ethdev/rte_ethdev.h | 33 +
1 file changed, 5 insertions(+), 28 deletions(-)
diff --git a/lib/ethdev/rte_ethdev.h b/lib/ethdev/rte_ethdev.h
index de9e970d4d11
This is a cleanup of comments and messages. Done by an ugly
pcregrep across sources and skipping lots of false positives
The idea is based of what some maintainers have been doing in netdev.
Series-acked-by: Bruce Richardson
v2
- reword ethdev comment rather than just fix typo
- catch more
At 2022-07-25 23:42:06, "Stephen Hemminger" wrote:
>On Sun, 24 Jul 2022 16:10:03 +0800
>Huichao Cai wrote:
>
>> +
>> +/*
>> + * Formal parameter checking.
>> + */
>> +if (unlikely(pkt_in == NULL) || unlikely(pkts_out == NULL) ||
>> +unlikely(nb_pkts_out
Hi,
Please check the cause of segfaults, null pointer, or? Then you can have some
clues
Thanks,
Chenbo
From: Chinmaya Agarwal
Sent: Monday, July 25, 2022 4:25 PM
To: dev@dpdk.org
Subject: Issue seen in DPDK behavior for virtio driver
Hi,
We are running VPP v22.02 and DPDK v21.11.0 on Centos
A mempool consumes 3 memzones (with the default ring mempool driver).
The default DPDK configuration allows RTE_MAX_MEMZONE (2560) memzones.
Assuming there is no other memzones that means that we can have a
maximum of 853 mempools.
In the vhost library, the IOTLB cache code so far was requesting
Having a back reference to the index of the vq in the dev->virtqueue[]
array makes it possible to unify the internal API, with only passing dev
and vq.
It also allows displaying the vq index in log messages.
Remove virtqueue index checks where unneeded (like in static helpers
called from a loop on
translate_ring_addresses and numa_realloc may change a virtio device and
virtio queue. Callers of those helpers must be extra careful and refresh
any reference to old data.
Change those functions prototype as a way to hint about this issue and
always ask for an indirect pointer.
Besides, when rea
This series aim was initially to solve a scalability issue with the IOTLB
cache code. But along the way, I tried to make the code a bit more robust
by unifying how the device and virtqueue are passed around.
--
David Marchand
David Marchand (4):
vhost: fix vq use after free on numa reallocati
translate_ring_addresses (via numa_realloc) may change a virtio device and
virtio queue.
The virtqueue object must be refreshed before accessing the lock.
Fixes: 04c27cb673b9 ("vhost: fix unsafe vring addresses modifications")
Cc: sta...@dpdk.org
Signed-off-by: David Marchand
---
lib/vhost/vhos
The rte_pcapng_write_packets() function fails when we try to write more
packets than the IOV_MAX limit. The error is caused by the writev()
system call, which is limited by the IOV_MAX limit. The iovcnt argument
is valid if it is greater than 0 and less than or equal to IOV_MAX as
defined in .
To
Hi,
We are running VPP v22.02 and DPDK v21.11.0 on Centos 8 VM. We are facing an
issue where if we configure an SRv6 policy on VPP with sid list having 4 SIDs
we don't see packet coming out of the VPP interface and if we configure 5 SIDs,
again we don't see the packets coming out of the interfa
On Thu, Jul 14, 2022 at 05:42:59PM +0200, Morten Brørup wrote:
> > From: Bruce Richardson [mailto:bruce.richard...@intel.com]
> > Sent: Thursday, 23 June 2022 18.43
> >
> > This RFC shows one possible approach for escaping strings for the json
> > output of telemetry library. For now this RFC supp
The /help telemetry command prints out the help text for the given
command passed in as parameter. However, entering /help without any
parameters does not give any useful information as to the fact that you
need to pass in a command to get help on. Update the command so it
prints its own help text
When preparing the json response to a telemetry socket query, the code
for prefixing the command name, and appending the file "}" on the end of
the response was duplicated for multiple reply types. Taking this code
out of the switch statement reduces the duplication and makes the code
more maintain
Add in some basic unit tests to validate the character escaping being
done on string data values, which tests end-to-end processing of those
values beyond just the json-encoding steps tested by the
"telemetry_json_autotest".
Signed-off-by: Bruce Richardson
---
app/test/test_telemetry_data.c | 30
To help with the writing and maintaining of test cases in this file we
can make the following changes to it:
- rename non-test-case functions i.e. the infrastructure functions, to
not start with "test_", so that each sub-test case can be identified
by starting with that prefix.
- add a comment
Limit the telemetry command characters to the minimum set needed for
current implementations. This prevents issues with invalid json
characters needing to be escaped on replies.
Signed-off-by: Bruce Richardson
---
doc/guides/rel_notes/deprecation.rst | 8
lib/telemetry/telemetry.c
Add a test-case to validate that when adding strings either as the name
or the value of an entry in an object, that all values are escaped
properly.
Signed-off-by: Bruce Richardson
---
app/test/test_telemetry_json.c | 24
1 file changed, 24 insertions(+)
diff --git a/ap
When strings are added to an dict variable, we need to properly escape
the invalid json characters in the strings.
Signed-off-by: Bruce Richardson
---
lib/telemetry/telemetry_json.h | 12
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/lib/telemetry/telemetry_json.h b/
To save issues with encoding the names of values in dicts, we limit the
allowed names to a subset of character values. This list of allowed
characters can be expanded as necessary in future.
Signed-off-by: Bruce Richardson
---
lib/telemetry/rte_telemetry.h | 8
lib/telemetry/telemetry
Add test-case to validate that when adding strings to arrays, the
strings are properly escaped to remove any invalid characters.
Signed-off-by: Bruce Richardson
---
app/test/test_telemetry_json.c | 24
1 file changed, 24 insertions(+)
diff --git a/app/test/test_telemetr
When strings are added to an array variable, we need to properly escape
the invalid json characters in the strings.
Signed-off-by: Bruce Richardson
---
lib/telemetry/telemetry_json.h | 28 +++-
1 file changed, 19 insertions(+), 9 deletions(-)
diff --git a/lib/telemetry/t
Add unit test to validate that when creating a string response in json,
that characters such as \n or quotes are properly escaped.
Signed-off-by: Bruce Richardson
---
app/test/test_telemetry_json.c | 17 +
1 file changed, 17 insertions(+)
diff --git a/app/test/test_telemetry_jso
For string values returned from telemetry, escape any values that cannot
normally appear in a json string. According to the json spec[1], the
characters than need to be handled are control chars (char value < 0x20)
and '"' and '\' characters.
To handle this, we replace the snprintf call with a sep
rather than just printing out success or failure at the end of the test
only, print out "OK" or "ERROR" for each individual test case within the
overall test. As part of this, ensure each case returns 0 on success and
any other value on failure.
Signed-off-by: Bruce Richardson
---
app/test/test_
This patchset contains fixes for the problem of handling characters
returned by telemetry callbacks which require escaping when encoded in
JSON format. It also includes unit tests to validate the correct
encoding in such scenarios and a number of smaller enhancements to
telemetry and telemetry test
On Mon, 25 Jul 2022 17:28:11 +0200
Mário Kuka wrote:
> The rte_pcapng_write_packets() function fails when we try to write more
> packets than the IOV_MAX limit. The error is caused by the writev()
> system call, which is limited by the IOV_MAX limit. The iovcnt argument
> is valid if it is greate
On Mon, 25 Jul 2022 17:28:11 +0200
Mário Kuka wrote:
> The rte_pcapng_write_packets() function fails when we try to write more
> packets than the IOV_MAX limit. The error is caused by the writev()
> system call, which is limited by the IOV_MAX limit. The iovcnt argument
> is valid if it is greate
On Sun, 24 Jul 2022 16:10:03 +0800
Huichao Cai wrote:
> +
> + /*
> + * Formal parameter checking.
> + */
> + if (unlikely(pkt_in == NULL) || unlikely(pkts_out == NULL) ||
> + unlikely(nb_pkts_out == 0) || unlikely(pool_direct == NULL) ||
> + unlikely(mtu_size < R
https://bugs.dpdk.org/show_bug.cgi?id=1060
Bug ID: 1060
Summary: GCC 12 build errors with -Dcpu_instruction_set=nehalem
Product: DPDK
Version: unspecified
Hardware: All
OS: All
Status: UNCONFIRMED
Severity
> -Original Message-
> From: Anoob Joseph
> Sent: Thursday, July 21, 2022 5:59 AM
> To: Akhil Goyal ; Power, Ciara
> ; Zhang, Roy Fan
> Cc: Jerin Jacob ; Hemant Agrawal
> ; Gagandeep Singh ;
> dev@dpdk.org
> Subject: [PATCH] app/crypto-perf: remove redundant function return
>
> Remove re
On Mon, Jul 25, 2022 at 08:22:00PM +0800, Chengwen Feng wrote:
> Currently the example using DMA in asynchronous mode, which are:
> nb_rx = rte_eth_rx_burst();
> if (nb_rx == 0)
> continue;
> ...
> dma_enqueue(); // enqueue the received packets copy request
>
Hi,
This is what we hope to get into the next release.
- Add the support of NFP flower firmware.
- Add the support of representor port in NFP PMD.
- Implement the rte_flow offload framework of NFP cards.
- Implement the offload support of common rte_flow match patterns and
actions for NFP card
https://bugs.dpdk.org/show_bug.cgi?id=1059
Bug ID: 1059
Summary: proc-info -- 0x10 --xstats do not show the correct
statistics
Product: DPDK
Version: 21.11
Hardware: All
OS: All
Status: UNCONFIR
On Mon, Jul 25, 2022 at 04:12:12PM +0800, Chengwen Feng wrote:
> Currently the example using DMA in asynchronous mode, which are:
> nb_rx = rte_eth_rx_burst();
> if (nb_rx == 0)
> continue;
> ...
> dma_enqueue(); // enqueue the received packets copy request
>
Hi Anatoly,
Thank you very much for the helpful information and support!
Regards,
Asaf
-Original Message-
From: Burakov, Anatoly
Sent: Monday, July 25, 2022 12:22
To: Asaf Sinai ; dev@dpdk.org
Subject: Re: DPDK 19.11.3 with multi processes and external physical memory:
unable to recei
On 18-Jul-22 12:58 PM, Asaf Sinai wrote:
Hi Anatoly,
DPDK runs as root, and secondary processes have all the info.
The problem was as follows:
The external memory regions are not managed by the Linux OS (by using
"memmap=x" in 'grub.conf'). Therefore, the kernel cannot supply their
physical
On Fri, Jul 22, 2022 at 02:40:55PM -0700, Stephen Hemminger wrote:
> Reading netdev, noticed lots of places in Linux kernel with bad
> comments being fixed. Use similar kind of scanning to look
> for repeated words in DPDK.
>
> Stephen Hemminger (11):
> remove duplicated 'to to' in messages and
From: Pavan Nikhilesh
Fix stale XAQ depth check pointers in workslot memory after
XAQ pool resize.
Fixes: bd64a963d2fc ("event/cnxk: use common XAQ pool functions")
Cc: sta...@dpdk.org
Signed-off-by: Pavan Nikhilesh
---
drivers/event/cnxk/cn10k_eventdev.c | 21 ---
drivers/eve
A mempool consumes 3 memzones (with the default ring mempool driver).
The default DPDK configuration allows RTE_MAX_MEMZONE (2560) memzones.
Assuming there is no other memzones that means that we can have a
maximum of 853 mempools.
In the vhost library, the IOTLB cache code so far was requesting
Having a back reference to the index of the vq in the dev->virtqueue[]
array makes it possible to unify the internal API, with only passing dev
and vq.
It also allows displaying the vq index in log messages.
Remove virtqueue index checks where unneeded (like in static helpers
called from a loop on
70 matches
Mail list logo