Hi, all
Are there any other comments?
Thanks
Xavier
On 2020/8/19 18:56, Wei Hu (Xavier) wrote:
This series updates CPU flags for arm64 platform.
Wei Hu (Xavier) (2):
eal/arm64: update CPU flags
test/cpuflag: add new flags for ARM64 platform
app/test/test_cpuflags.c
> -Original Message-
> From: Yan, Zhirun
> Sent: Monday, September 14, 2020 11:05 AM
> To: Zhang, Qi Z ; dev@dpdk.org
> Cc: Cao, Yahui ; Wang, Xiao W
> ; Su, Simei ; Guo, Junfeng
> ; Yan, Zhirun
> Subject: [PATCH v1 0/2] refactor and clean FDIR
>
> V2:
> Simplified code.
>
> Zhirun Y
>
> On 9/11/20 8:23 PM, Honnappa Nagarahalli wrote:
> >
> > +Jerin, Hemant, Dharmik
> >
> >
> > Hi Vimal,
> > Few comments inline.
> >
> >>
> >> Add meson build configuration for Graviton2 platform with 64-bit ARM
> >> Neoverse N1 cores. This patch makes the following changes to generic
>
> When using memcmp function to check data, the third param should be the
> size of all elements, rather than the number of the elements.
>
> Furthermore, do code clean up by moving repeated code inside
> 'test_ring_mem_cmp' function to validate data and print information of
> enqueue/dequeue
>
> The ring capacity is (RING_SIZE - 1), thus only (RING_SIZE - 1) number of
> elements can be enqueued into the ring.
>
> Fixes: af75078fece3 ("first public release")
> Cc: sta...@dpdk.org
>
> Signed-off-by: Feifei Wang
> Reviewed-by: Ruifeng Wang
> Reviewed-by: Phil Yang
Looks good
Revie
>
> Validate the return value of single element enqueue/dequeue operation in
> the test.
>
> Suggested-by: Honnappa Nagarahalli
> Signed-off-by: Feifei Wang
> Reviewed-by: Phil Yang
Reviewed-by: Honnappa Nagarahalli
> ---
> app/test/test_ring.c | 26 ++
> 1 file ch
>
> When enqueue one element to ring in the performance test, a pointer should
> be passed to rte_ring_[sp|mp]enqueue APIs, not the pointer to a table of
> void *pointers.
>
> Fixes: a9fe152363e2 ("test/ring: add custom element size functional tests")
> Cc: honnappa.nagaraha...@arm.com
> Cc: st
>
> Add check in test_ring_basic_ex and test_ring_with_exact_size for single
> element enqueue and dequeue operations to validate the dequeued objects.
>
> Signed-off-by: Feifei Wang
> Reviewed-by: Ruifeng Wang
> Reviewed-by: Phil Yang
> Reviewed-by: Dharmik Thakkar
Looks good.
Reviewed-by:
Replies are inline.
BTW, you need to update the programmer guide
doc/guides/prog_guide/generic_receive_offload_lib.rst and
release note doc/guides/rel_notes/release_20_11.rst.
Thanks,
Jiayu
On Mon, Sep 14, 2020 at 10:13:44AM +0800, yang_y_yi wrote:
> Jiayu, thank you so much, please check my rep
Hi Ferruy:
Resent the patch.
This patch is to support both MMIO and PIO bar for legacy virtio. We use MMIO
bar for legacy virtio on x86 because we create lots of virtio devices as PIO
resource is very limited.
virtio is the only PMD which might use PIO. kernel virtio-pci driver supports
both P
Signed-off-by: huawei.xhw
---
drivers/bus/pci/linux/pci.c | 71 --
drivers/bus/pci/linux/pci_uio.c | 154 +++-
2 files changed, 106 insertions(+), 119 deletions(-)
diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.c
For tunnel and non-tunnel packets, it can share the same seg_tun info.
seg_tun[1] can be used for supporting inner fields with tunnel flow rule
or for non-tunnel packets, seg_tun[0] only used for tunnel outer part.
Add outer_input_set to distinguish inner/outer input set. So we can
identify differe
V2:
Simplified code.
Zhirun Yan (2):
net/ice: refactor FDIR set conf function
net/ice: merge inner/outer flow seg info for FDIR
drivers/net/ice/ice_ethdev.h | 1 +
drivers/net/ice/ice_fdir_filter.c | 93 +--
2 files changed, 52 insertions(+), 42 deletions(-)
The original set conf function in FDIR was very long. Refactor to
increase readability to make it clearer and allow for more convenient
further changes.
No functional change here.
Signed-off-by: Zhirun Yan
---
drivers/net/ice/ice_fdir_filter.c | 54 ++-
1 file change
As you may notice, I have included a slightly modified version
of this patch in my series in order to cover the full picture:
https://patches.dpdk.org/patch/77566/
Feel free to continue improving your patch in this thread or the other,
as you prefer, as long as the secondary process issue
As you may notice, I have included a slightly modified version
of this patch in my series in order to cover the full picture:
https://patches.dpdk.org/patch/77559/
Feel free to continue improving your patch in this thread or the other,
as you prefer, as long as the secondary process issue
Signed-off-by: huawei.xhw
---
drivers/bus/pci/linux/pci.c | 71 --
drivers/bus/pci/linux/pci_uio.c | 154 +++-
2 files changed, 106 insertions(+), 119 deletions(-)
diff --git a/drivers/bus/pci/linux/pci.c b/drivers/bus/pci/linux/pci.
Hi Ferruh:
This patch is to support both MMIO and PIO bar for legacy virtio. We use MM bar
for legacy virtio on x86 because we create lots of virtio devices as PIO
resource is very limited.
virtio on x86 is the only PMD which might use PIO. kernel virtio-pci driver
supports both PIO bar and MMI
The patches for removing RTE_ETH_DEV_CLOSE_REMOVE are sent:
https://patches.dpdk.org/project/dpdk/list/?series=12173
11 drivers are not supporting the new behaviour correctly:
bnx2x, cxgbe, dpaa, dpaa2, enetc, ionic,
ipn3ke, liquidio, nfp, pfe, qede
If you are the maintain
The device operation .dev_close was returning void.
This driver interface is changed to return an int.
Note that the API rte_eth_dev_close() is still returning void,
although a deprecation notice is pending to change it as well.
Signed-off-by: Thomas Monjalon
---
app/test/virtual_pmd.c
The ports can be closed (i.e. completely released)
before removing the whole device.
Such case was wrongly considered an error by some drivers.
If the device supports only one port, there is nothing much
to free after the port is closed.
Signed-off-by: Thomas Monjalon
---
drivers/net/ipn3ke/ipn
The temporary flag RTE_ETH_DEV_CLOSE_REMOVE is removed.
It was introduced in DPDK 18.11 in order to give time for PMDs to migrate.
The old behaviour was to free only queues when closing a port.
The new behaviour is calling rte_eth_dev_release_port() which does
three more tasks:
- trigger e
A port can be closed in multiple situations:
- close command calling close_port() -> rte_eth_dev_close()
- exit calling close_port() -> rte_eth_dev_close()
- hotplug calling close_port() -> rte_eth_dev_close()
- hotplug calling detach_device() -> rte_dev_remove()
The MAC addresses array is already freed by rte_eth_dev_release_port().
The redundant freeing can be removed from the PMD port closing functions.
Signed-off-by: Thomas Monjalon
---
drivers/net/ark/ark_ethdev.c| 3 ---
drivers/net/hinic/hinic_pmd_ethdev.c| 3 ---
drivers/net/ice/i
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Freeing of private port resources is moved
from the ".remove(device)" to the ".dev_close(port)" operation.
Signed-off-by: Thomas Monjalon
---
drivers/net/softnic/rte_eth_softnic.c | 63 ++
Since rte_eth_dev_release_port() is called on all port close operations,
the event RTE_ETH_EVENT_DESTROY can be reliably used for resetting
the port status on the application side.
The intermediate state RTE_PORT_HANDLING is removed in close_port()
because a port can also be closed by a PMD in a d
From: Yunjian Wang
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Freeing of private port resources is moved
from the ".remove(device)" to the ".dev_close(port)" operation.
Signed-off-by: Yunjian Wang
---
[Thomas] Note: freeing in secondary
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Freeing of private port resources is moved
from the ".remove(device)" to the ".dev_close(port)" operation.
Signed-off-by: Thomas Monjalon
---
drivers/net/ring/rte_eth_ring.c | 51
From: Steve Yang
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Freeing of private port resources is moved
from the ".remove(device)" to the ".dev_close(port)" operation.
Signed-off-by: Steve Yang
---
[Thomas] Note: freeing in secondary proc
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
The callback ".dev_close(port)" is called also
from the ".remove(device)" operation.
Signed-off-by: Thomas Monjalon
---
drivers/net/octeontx/octeontx_ethdev.c | 11 +++
1 file changed, 3
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Signed-off-by: Thomas Monjalon
---
drivers/net/mlx4/mlx4.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/mlx4/mlx4.c b/drivers/net/mlx4/mlx4.c
index df59314b66..ad7c805d67 100
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Freeing of private port resources is moved
from the ".remove(device)" to the ".dev_close(port)" operation.
Signed-off-by: Thomas Monjalon
---
drivers/net/pcap/rte_eth_pcap.c | 29 ++--
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Signed-off-by: Thomas Monjalon
---
drivers/net/null/rte_eth_null.c | 24
1 file changed, 16 insertions(+), 8 deletions(-)
diff --git a/drivers/net/null/rte_eth_null.c b/d
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Freeing of private port resources is moved
from the ".remove(device)" to the ".dev_close(port)" operation.
Signed-off-by: Thomas Monjalon
---
drivers/net/failsafe/failsafe.c | 25 ++--
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Freeing of private port resources is moved
from the ".remove(device)" to the ".dev_close(port)" operation.
Signed-off-by: Thomas Monjalon
---
drivers/net/bonding/rte_eth_bond_pmd.c | 34 +
This is the end of a process started two years ago,
to have a close which reliably releases an ethdev port
without the need of removing the device (which can have more ports).
Unfortunately, some drivers might be broken because did not follow
the migration recommendations. We cannot wait more,
thi
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Freeing of private port resources is moved
from the ".remove(device)" to the ".dev_close(port)" operation.
The ".dev_close" callback is also called as part of the ".remove" one.
Signed-off-by: Thom
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Freeing of private port resources is moved
from the ".remove(device)" to the ".dev_close(port)" operation.
Signed-off-by: Thomas Monjalon
---
drivers/net/atlantic/atl_ethdev.c | 62 --
The pointers .device and .intr_handle were already reset by the helper
rte_eth_dev_pci_generic_remove().
It is now made part of rte_eth_dev_release_port().
It makes rte_eth_dev_pci_release() meaningless,
so it is replaced with a call to rte_eth_dev_release_port().
Signed-off-by: Thomas Monjalon
The flag RTE_ETH_DEV_CLOSE_REMOVE is set so all port resources
can be freed by rte_eth_dev_close().
Freeing of private port resources is moved
from the ".remove(device)" to the ".dev_close(port)" operation.
Signed-off-by: Thomas Monjalon
---
drivers/net/af_packet/rte_eth_af_packet.c | 56 ++
On Wed, 9 Sep 2020 11:53:53 -0700, Narcisa Ana Maria Vasile wrote:
> On Mon, Aug 24, 2020 at 11:53:44PM +0300, Dmitry Kozlyuk wrote:
> > On Thu, 20 Aug 2020 15:23:55 -0700, Narcisa Ana Maria Vasile wrote:
[snip]
> > > +ClassName = "Windows UIO"
> > > +DiskName = "DPDK netUIO Installation Disk"
>
On Wed, 9 Sep 2020 11:41:23 -0700, Narcisa Ana Maria Vasile wrote:
> From: Narcisa Vasile
Thanks for the hard work! A few comments inline worth checking, but this
version improved much anyway.
> The Windows netuio kernel driver provides the DPDK userspace application
> with direct access to har
>This commit adds a new rte_prefetch0_write() variant, suggests to the
>compiler to use a prefetch instruction with intention to write. As a
>compiler builtin, the compiler can choose based on compilation target
>what the best implementation for this instruction is.
Why not have the other varian
mlx5 PMDs use the mlx5_dev_to_pci_addr() routine to convert
Infiniband device name to the Bus-Device-Function location
on the PCI bus. The routine returned success even in case of
not found identification string. On caller side it likely
caused the wrong match with the BDF of previous device
result
The Rx queue start/stop feature is not supported if vectorized
rx_burst routine is engaged. There was a routine address typo
and rx_burst type check was wrong.
Fixes: 161d103b231c ("net/mlx5: add queue start and stop")
Signed-off-by: Viacheslav Ovsiienko
---
drivers/net/mlx5/mlx5_rxq.c | 2 +-
There are 2 creators for Rx objects, DevX and Verbs.
There are supported DR versions when a DevX destination TIR flow action
creation cannot be supported, using this versions the TIR object should
be created by Verbs, what forces all the Rx objects to be created by
Verbs.
The selection of the Rx o
The PMD supports hairpin only if DevX is supported and DV flow is enable.
When destination DevX TIR is not supported, the PMD tries to create TIR
action, and fails.
Avoid supporting hairpin when destination DevX TIR is not supported.
Fixes: b6b3bf86bd1a ("net/mlx5: get hairpin capabilities")
Cc:
> Subject: [PATCH] bus/pci: netuio interface for windows
>
> This patch adds implementations to probe PCI devices bound to netuio with
> the help of "netuio" class device changes.
> Now Windows will support both "netuio" and "net" device class and can set
> kernel driver type based on the device c
Hairpin functionality only supports one single port mode (e.g testpmd
application) in the current implementation. It means that the traffic
will be sent out from the same port it comes. There is no such
restriction for some NICs, and strong demand to support two ports
hairpin mode in real-life case
In the testpmd command line for flow creation, add the keyword
'tx_queue' in the pattern scope so the item transmit queue ID
could be specified during the flow creation.
The index of the transmit queue should be in the range
[0, nb_tx_queue - 1] supplied to rte_eth_dev_configure() during
initializa
To support two ports hairpin mode and keep the backward compatibility
for application, two new attribute members of hairpin queue config
structure are added.
`tx_explicit` means if PMD or application itself will insert the TX
part flow rules.
`manual_bind` means if the hairpin TX queue and peer RX
In single port hairpin mode, all the hairpin TX and RX queues belong
to the same device. After the queues are set up properly, there is
no other dependency between the TX queue and its RX peer queue. The
binding process that connected the TX and RX queues together from
hardware level will be done a
New rte_flow_item_tx_queue is introduced to support matching on the
traffic from a specific transmit queue. This is only for the egress
direction. For ingress, the receive queue index will be part of the
actions with ACTION QUEUE or RSS and there is no needs to match.
By adding this flow item, it
> Subject: Re: [PATCH] bus/pci: support segment value as address domain on
> Windows
>
> On Thu, 10 Sep 2020 07:30:39 +, Tal Shnaiderman wrote:
> > Right, it can happen in virtualization setups when several virtual functions
> can have the same BDF, e.g.:
> >
> > PS > Get-NetAdapterHardwareIn
> Subject: Re: [PATCH] bus/pci: support segment value as address domain on
> Windows
>
> Thanks for the explanation, Tal.
>
> I had always been curious how Windows stores the PCIe segment (domain)
> number.
>
> On VMs hosted on Hyper-V, the VF segment numbers are always in the high
> 16-bit valu
13/09/2020 14:12, Ori Kam:
> Hi Ferruh,
> Can we proceed with this patch?
Below, you said "first thing to do it update the rte_flow doc".
So I am expecting a patch on the doc to start this discussion.
This testpmd patch is on hold in my understanding.
> From: Ori Kam
> > From: Ferruh Yigit
> >
Hi Ferruh,
Can we proceed with this patch?
Thanks,
Ori
> -Original Message-
> From: Ori Kam
>
> Hi Ferruh,
>
> > -Original Message-
> > From: Ferruh Yigit
> >
> > On 8/20/2020 9:40 AM, Gregory Etelson wrote:
> > > Hello,
> > >
> > > Is this patch scheduled for merge with dpdk.or
Hi,
28/08/2020 14:37, wangyunjian:
> @@ -1078,6 +1085,23 @@ tap_dev_close(struct rte_eth_dev *dev)
> +
> + /* mac_addrs must not be freed alone because part of dev_private */
> + dev->data->mac_addrs = NULL;
> +
> + internals = dev->data->dev_private;
> + TAP_LOG(DEBUG, "Closing %s
Hi,
SteveX Yang wrote:
> Set RTE_ETH_DEV_CLOSE_REMOVE upon probe so all the private resources
> for the port can be freed by rte_eth_dev_close().
>
> Signed-off-by: SteveX Yang
I guess the X is not part of your name.
[...]
> -static int
> -iavf_dev_uninit(struct rte_eth_dev *dev)
> -{
> -
59 matches
Mail list logo