PF driver and VF driver communicated with each other by virtual
channel message. When VF sends message to PF to enable some
offload capability, PF should response if it is successful or not.
VIRTCHNL_OP_ENABLE_VLAN_STRIPPING is a new added message and the
old PF driver doesn’t support that. So no r
> From: Thomas Monjalon [mailto:tho...@monjalon.net]
> Sent: Sunday, July 16, 2017 8:26 PM
> To: Van Haaren, Harry
> Cc: dev@dpdk.org; jerin.ja...@caviumnetworks.com; Wiles, Keith
> ;
> Richardson, Bruce
> Subject: Re: [dpdk-dev] [PATCH v5 0/7] service cores: cover letter
>
> Hi Harry,
>
> I l
Hello Raslan,
So I've compiled your code, and it looks fine.
Just one remark:
When trying to _create_ a rule, the error message keep stating
"overlapping rules".
That was fine before, at it was the main cause of error.
But now it is also likely that the error comes from the kernel not
suppor
APP_MAX_LCORES is hardcoded as 64.
This will cause build err when RTE_MAX_LCORE is less then 64.
"args.c:127:22: error: iteration 8 invokes undefined behavior
[-Werror=aggressive-loop-optimizations]
if (cfg->lcore_role[i] == ROLE_RTE)
~~~^~~
args.c:126:2: note: within
load_balancer app can also work for lower number of cores.
Limit the cores Worker and IO cores to 16 as defined in original
App. Otherwise use the actual number of lcores as MAX.
Signed-off-by: Hemant Agrawal
---
examples/load_balancer/main.h | 10 ++
1 file changed, 6 insertions(+), 4 d
This is not required any more for A72 based dpaa2 systems.
(A57 based platform is not in production anymore)
Signed-off-by: Hemant Agrawal
---
drivers/bus/fslmc/fslmc_vfio.c | 23 ---
drivers/bus/fslmc/fslmc_vfio.h | 5 -
drivers/bus/fslmc/portal/dpaa
Signed-off-by: Hemant Agrawal
---
drivers/net/dpaa2/dpaa2_ethdev.c | 14 +-
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/drivers/net/dpaa2/dpaa2_ethdev.c b/drivers/net/dpaa2/dpaa2_ethdev.c
index d0f8a8f..c662505 100644
--- a/drivers/net/dpaa2/dpaa2_ethdev.c
+++ b/driv
Remove checks of Linux kernel version
in order to support kernel with backported features.
the expected behavior with a kernel that doesn't support flower
and other bits is the following:
-flow validate can return successfully
-flow create using the same rule fails.
Using the "rem
On 7/11/2017 8:56 PM, Stephen Hemminger wrote:
> On Sat, 8 Jul 2017 15:54:25 -0400
> Qi Zhang wrote:
>
>> CRC size on Tx path is not necessary to be excluded.
>>
>> Fixes: 98abce237ba7 ("net/i40e: fix VF statistics")
>> Cc: sta...@dpdk.org
>>
>> Signed-off-by: Qi Zhang
>> ---
>> drivers/net/i4
On 14/07/2017 7:48 AM, Pablo de Lara wrote:
In the unlikely scenario that an application
calls rte_cryptodev_dequeue_burst with nb_ops = 0,
there was a job leak, as a job would be created
but would not be populated, as no operation is passed.
Fixes: 0f548b50a160 ("crypto/aesni_mb: process crypto
> -Original Message-
> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of
> vuon...@viettel.com.vn
> Sent: Monday, July 17, 2017 3:04 AM
> Cc: us...@dpdk.org; dev@dpdk.org
> Subject: [dpdk-dev] Rx Can't receive anymore packet after received 1.5
> billion packet.
>
> Hi DPDK team,
> Sor
On Fri, Jul 14, 2017 at 07:07:07PM +0200, Thomas Monjalon wrote:
> Based on Stephen's idea (originally implemented in a Perl script),
> this is a shell script to find duplicated includes in a file.
> It looks for all the .c and .h files of the git repository.
>
> It is fast enough because automati
17/07/2017 14:50, Neil Horman:
> On Fri, Jul 14, 2017 at 07:07:07PM +0200, Thomas Monjalon wrote:
> > Based on Stephen's idea (originally implemented in a Perl script),
> > this is a shell script to find duplicated includes in a file.
> > It looks for all the .c and .h files of the git repository.
> -Original Message-
> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Nidhia Varghese
> Sent: Wednesday, July 5, 2017 10:44 AM
> To: dev@dpdk.org; us...@dpdk.org
> Subject: [dpdk-dev] Sharing of pipelines in IP_PIPELINE application
>
> Hi,
>
> I want to create a Mac-Learning pipel
Hi,
Looking at the code, it looks like mlx5 keeps a MR cache per TX queue
(each MR registers a rte_mempool).
Once a TX queue is created, mlx5 scans existing mempools and
pre-registers a MR for each mempool it meets (using rte_mempool_walk).
For each MR registration that exceeds the TX queue cach
On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
> Introduce the fail-safe poll mode driver initialization and enable its
> build infrastructure.
>
> This PMD allows for applications to benefit from true hot-plugging
> support without having to implement it.
>
> It intercepts and manages Ethernet device
On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
> Make the rte_eth_dev_count() return the number of available devices even
> after some are detached by the hotplug API or put in a deferred state.
>
> Signed-off-by: Gaetan Rivet
First two patches updates ethdev, I believe to get them via next-net, an
e
Hi, Thomas
Thanks for your expert guidance.
I'll rework out v8 patch set to follow your guide and rebase to master brach.
> -Original Message-
> From: Thomas Monjalon [mailto:tho...@monjalon.net]
> Sent: Monday, July 17, 2017 3:26 AM
> To: Dai, Wei
> Cc: dev@dpdk.org; Lu, Wenzhuo ; Ananye
> -Original Message-
> From: Doherty, Declan
> Sent: Monday, July 17, 2017 11:17 AM
> To: De Lara Guarch, Pablo
> Cc: dev@dpdk.org; sta...@dpdk.org
> Subject: Re: [PATCH] crypto/aesni_mb: fix zero burst dequeue
>
> On 14/07/2017 7:48 AM, Pablo de Lara wrote:
> > In the unlikely scenario
This commit allows the -S (captial 's') to be used to indicate
a corelist for Services. This is a "nice to have" patch, and does
not modify any of the service core functionality.
Suggested-by: Jerin Jacob
Suggested-by: Thomas Monjalon
Signed-off-by: Harry van Haaren
---
lib/librte_eal/common/e
Crypto operation status RTE_CRYPTO_OP_STATUS_ENQUEUED is removed
from rte_crypto.h as it is not needed for crypto operation processing.
This status value is redundant to RTE_CRYPTO_OP_STATUS_NOT_PROCESSED value
and it was not intended to be part of public API.
Signed-off-by: Kirill Rybalchenko
--
s patch set adds a function rte_eth_dev_reset( ) in rte_ethdev layer.
Sometimes a port have to be reset passively. For example a PF is reset,
all its VFs should also be reset by application itself to align with
the PF.
A DPDK application also can call this function to trigger an initative
port res
This patch adds a new eth_dev layer API function rte_eth_dev_reset().
A DPDK application can call this function to reset a NIC and keep
its port id afterwards.
It means that all SW resources allocated in ethdev layer should be
kept and SW and HW resources of the NIC in PMD need to be reset in
simil
When PF is reset, a message will show it and all its
VF need to be reset.
User can run the command "port reset port_id"
to reset the VF port and to keep same port id without
any configuration. Then user can run "port stop port_id"
and "port start port_id" to reconfigure its forwarding
mode and parm
Reset a NIC by calling dev_uninit and then dev_init.
Go through same way in NIC PCI remove without release of
ethdev resource and then NIC PCI probe function without
ethdev resource allocation.
Signed-off-by: Wei Dai
---
drivers/net/ixgbe/ixgbe_ethdev.c | 47 +
Signed-off-by: Wei Dai
---
doc/guides/prog_guide/poll_mode_drv.rst | 40 +
1 file changed, 40 insertions(+)
diff --git a/doc/guides/prog_guide/poll_mode_drv.rst
b/doc/guides/prog_guide/poll_mode_drv.rst
index 4987f70..60518fc 100644
--- a/doc/guides/prog_guide/po
Reset a NIC by calling dev_uninit() and then dev_init().
Go through the same way in NIC PCI remove without release
of ethdev resource and then NIC PCI probe function without
ethdev resource allocation.
Signed-off-by: Wei Dai
---
drivers/net/i40e/i40e_ethdev.c| 28
> On Jul 17, 2017, at 1:14 AM, harshavardhan Reddy
> wrote:
>
> EAL: No free hugepages reported in hugepages-1048576kB
> EAL: No free hugepages reported in hugepages-2048kB
> PANIC in rte_eal_init():
>
> Means you have to allocate hugepages before starting this app.
> http://dpdk.org/doc/guide
On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
> Add the "exec" device type.
> The parameters given to this type of device will be executed in a shell.
> The output of this command is then used as a definition for a device.
>
> That command can be re-interpreted if the related device is not
> plugged-i
Hi Ferruh,
(Thanks for the review by the way, I will answer the other more lengthy
emails in due time)
On Mon, Jul 17, 2017 at 04:45:59PM +0100, Ferruh Yigit wrote:
> On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
> > Add the "exec" device type.
> > The parameters given to this type of device will be
Hi Harry,
> -Original Message-
> From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of Harry van Haaren
> Sent: Monday, July 17, 2017 4:22 PM
> To: dev@dpdk.org
> Cc: tho...@monjalon.net; jerin.ja...@caviumnetworks.com; Van Haaren, Harry
>
> Subject: [dpdk-dev] [PATCH] service: add coreli
> From: Ananyev, Konstantin
> Sent: Monday, July 17, 2017 4:54 PM
> To: Van Haaren, Harry ; dev@dpdk.org
> Cc: tho...@monjalon.net; jerin.ja...@caviumnetworks.com; Van Haaren, Harry
>
> Subject: RE: [dpdk-dev] [PATCH] service: add corelist to EAL arguments
>
> Hi Harry,
>
> > -Original Messa
On Sun, 16 Jul 2017 16:26:06 +0300
Andrew Rybchenko wrote:
> On 07/14/2017 09:30 PM, Stephen Hemminger wrote:
> > Many drivers are all doing copy/paste of the same code to atomicly
> > update the link status. Reduce duplication, and allow for future
> > changes by having common function for this.
On Sun, 16 Jul 2017 15:33:26 +0300
Andrew Rybchenko wrote:
> > + link.link_autoneg = ETH_LINK_SPEED_FIXED;
>
> As I understand link_autoneg is 1 bit field with boolean semantics. I.e.
> 0/false - no autoneg, 1/true - autoneg.
> It looks like it has wrong comment:
> uint16_t link_au
On Sun, 16 Jul 2017 16:48:50 +0300
Andrew Rybchenko wrote:
> On 07/14/2017 09:30 PM, Stephen Hemminger wrote:
> > Use the new API (_rte_eth_link_update) to handle link status update.
> > ALso fixes a bug where this driver was not returning -1 when link status
> > changed.
>
> It is really goo
On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
> Signed-off-by: Gaetan Rivet
> Acked-by: Olga Shern
<...>
> +
> + flow = fs_flow_allocate(attr, patterns, actions);
> + FOREACH_SUBDEV_ST(sdev, i, dev, DEV_ACTIVE) {
> + flow->flows[i] = rte_flow_create(PORT_ID(sdev),
> +
On 7/17/2017 4:52 PM, Gaëtan Rivet wrote:
> Hi Ferruh,
>
> (Thanks for the review by the way, I will answer the other more lengthy
> emails in due time)
>
> On Mon, Jul 17, 2017 at 04:45:59PM +0100, Ferruh Yigit wrote:
>> On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
>>> Add the "exec" device type.
>
This commit fixes the check to use the just reallocated
links_map variable, instead of stale dev->data->links_map.
Later the new variable is written to the dev->data->links_map,
so the stale-ness is only temporary.
Coverity issue: 143456
Fixes: 4f0804bbdfb9 ("eventdev: implement the northbound API
> -Original Message-
> From: Van Haaren, Harry
> Sent: Monday, July 17, 2017 4:58 PM
> To: Ananyev, Konstantin ; dev@dpdk.org
> Cc: tho...@monjalon.net; jerin.ja...@caviumnetworks.com
> Subject: RE: [dpdk-dev] [PATCH] service: add corelist to EAL arguments
>
> > From: Ananyev, Konstantin
On 07/17/2017 06:58 PM, Stephen Hemminger wrote:
On Sun, 16 Jul 2017 16:26:06 +0300
Andrew Rybchenko wrote:
On 07/14/2017 09:30 PM, Stephen Hemminger wrote:
Many drivers are all doing copy/paste of the same code to atomicly
update the link status. Reduce duplication, and allow for future
chan
On 07/17/2017 07:01 PM, Stephen Hemminger wrote:
On Sun, 16 Jul 2017 15:33:26 +0300
Andrew Rybchenko wrote:
+ link.link_autoneg = ETH_LINK_SPEED_FIXED;
As I understand link_autoneg is 1 bit field with boolean semantics. I.e.
0/false - no autoneg, 1/true - autoneg.
It looks like it has
> From: Ananyev, Konstantin
> Sent: Monday, July 17, 2017 5:11 PM
> To: Van Haaren, Harry ; dev@dpdk.org
> Cc: tho...@monjalon.net; jerin.ja...@caviumnetworks.com
> Subject: RE: [dpdk-dev] [PATCH] service: add corelist to EAL arguments
>
>
>
> > -Original Message-
> > From: Van Haaren, H
On Mon, Jul 17, 2017 at 05:03:46PM +0100, Ferruh Yigit wrote:
> On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
> > Signed-off-by: Gaetan Rivet
> > Acked-by: Olga Shern
>
> <...>
>
> > +
> > + flow = fs_flow_allocate(attr, patterns, actions);
> > + FOREACH_SUBDEV_ST(sdev, i, dev, DEV_ACTIVE) {
>
On 07/17/2017 07:02 PM, Stephen Hemminger wrote:
On Sun, 16 Jul 2017 16:48:50 +0300
Andrew Rybchenko wrote:
On 07/14/2017 09:30 PM, Stephen Hemminger wrote:
Use the new API (_rte_eth_link_update) to handle link status update.
ALso fixes a bug where this driver was not returning -1 when link s
On Mon, 17 Jul 2017 19:12:01 +0300
Andrew Rybchenko wrote:
> On 07/17/2017 06:58 PM, Stephen Hemminger wrote:
> > On Sun, 16 Jul 2017 16:26:06 +0300
> > Andrew Rybchenko wrote:
> >
> >> On 07/14/2017 09:30 PM, Stephen Hemminger wrote:
> >>> Many drivers are all doing copy/paste of the same c
On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
> Signed-off-by: Gaetan Rivet
> Acked-by: Olga Shern
> ---
> doc/guides/nics/features/failsafe.ini | 6 ++
> drivers/net/failsafe/failsafe_ops.c | 131
> +-
> 2 files changed, 135 insertions(+), 2 deletions(-)
>
> di
On Mon, 17 Jul 2017 19:14:16 +0300
Andrew Rybchenko wrote:
> On 07/17/2017 07:01 PM, Stephen Hemminger wrote:
> > On Sun, 16 Jul 2017 15:33:26 +0300
> > Andrew Rybchenko wrote:
> >
> >>> + link.link_autoneg = ETH_LINK_SPEED_FIXED;
> >> As I understand link_autoneg is 1 bit field with boolean
Crypto keys and digests are not expected
to be big, so using a uint16_t to store
their lengths should be enough.
Signed-off-by: Pablo de Lara
---
doc/guides/rel_notes/release_17_08.rst | 2 ++
lib/librte_cryptodev/rte_crypto_sym.h | 8
2 files changed, 6 insertions(+), 4 deletions(-)
IV was positioned differently in authentication
transform structure, compared to the other two
transforms (cipher and AEAD).
To keep consistency, digest length is moved to
the end of the transform.
Signed-off-by: Pablo de Lara
---
lib/librte_cryptodev/rte_crypto_sym.h | 22 +++---
Additional Authenticated Data (AAD) is called "aad" in most
places of cryptodev, but it was called "add_auth_data"
in the AEAD transform transform (aead_xform).
This field is renamed to "aad_length" in order to keep
consistency.
Signed-off-by: Pablo de Lara
---
app/test-crypto-perf/cperf_ops.c
On 07/17/2017 07:21 PM, Stephen Hemminger wrote:
On Mon, 17 Jul 2017 19:12:01 +0300
Andrew Rybchenko wrote:
On 07/17/2017 06:58 PM, Stephen Hemminger wrote:
On Sun, 16 Jul 2017 16:26:06 +0300
Andrew Rybchenko wrote:
On 07/14/2017 09:30 PM, Stephen Hemminger wrote:
Many drivers are all d
On 7/17/2017 5:19 PM, Gaëtan Rivet wrote:
> On Mon, Jul 17, 2017 at 05:03:46PM +0100, Ferruh Yigit wrote:
>> On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
>>> Signed-off-by: Gaetan Rivet
>>> Acked-by: Olga Shern
>>
>> <...>
>>
>>> +
>>> + flow = fs_flow_allocate(attr, patterns, actions);
>>> + FO
Older generations of QuickAssist hardware
may not support all algorithms supported by newer
generations. When sessions were specific to the device
this only needed to be handled on session creation.
With device-agnostic sessions, a session created
for a newer device may get routed to an older devic
On Mon, Jul 17, 2017 at 02:56:54PM +0100, Ferruh Yigit wrote:
> On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
> > Introduce the fail-safe poll mode driver initialization and enable its
> > build infrastructure.
> >
> > This PMD allows for applications to benefit from true hot-plugging
> > support with
From: Ilia Kurakin
The patch adds tracing of loop iterations that yielded no packets in a DPDK
application. It is using ITT task API:
https://software.intel.com/en-us/node/544206
We suppose the flow of using this tracing would assume the user has ITT lib
and header on machine and re-build DP
On Mon, Jul 17, 2017 at 05:34:53PM +0100, Ferruh Yigit wrote:
> On 7/17/2017 5:19 PM, Gaëtan Rivet wrote:
> > On Mon, Jul 17, 2017 at 05:03:46PM +0100, Ferruh Yigit wrote:
> >> On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
> >>> Signed-off-by: Gaetan Rivet
> >>> Acked-by: Olga Shern
> >>
> >> <...>
>
The transmit and receive controller state machines are only enabled after
receiving an interrupt and the link status is now valid. If an adapter
is being used in conjuction with NC-SI, network controller sideband
interface, the adapter may never get a link state change interrupt since
the adapter'
Hello Sagi,
On Mon, Jul 17, 2017 at 04:29:34PM +0300, Sagi Grimberg wrote:
> Hi,
>
> Looking at the code, it looks like mlx5 keeps a MR cache per TX queue
> (each MR registers a rte_mempool).
>
> Once a TX queue is created, mlx5 scans existing mempools and
> pre-registers a MR for each mempool i
Hi,
So, I understand from a call we had today that you'll send an update of
this series with:
- rte_membership for DPDK because it uses CRC+hash+rte_malloc+few EALs,
- calls to the lib bloom filter (to avoid forking code),
- using builtin/vectorized gcc instead of asm AVX code to keep it
On Mon, Jul 17, 2017 at 05:22:15PM +0100, Ferruh Yigit wrote:
> On 7/15/2017 6:57 PM, Gaetan Rivet wrote:
> > Signed-off-by: Gaetan Rivet
> > Acked-by: Olga Shern
> > ---
> > doc/guides/nics/features/failsafe.ini | 6 ++
> > drivers/net/failsafe/failsafe_ops.c | 131
> >
Just a couple small changes to net/virtio that make it a little more
well behaved.
Brian Russell (1):
net/virtio: register/unregister intr handler on start/stop
Charles (Chas) Williams (1):
net/virtio: do not re-enter clean up routines
drivers/net/virtio/virtio_ethdev.c | 41 +++
.dev_uninit calls .dev_stop and .dev_close. The work that is done in
those routines doesn't need repeated. Use started and opened to track
the adapter's status.
Signed-off-by: Chas Williams
---
drivers/net/virtio/virtio_ethdev.c | 15 ---
drivers/net/virtio/virtio_pci.h| 4 +++
From: Brian Russell
Register and unregister the virtio interrupt handler when the device is
started and stopped.
Signed-off-by: Brian Russell
---
drivers/net/virtio/virtio_ethdev.c | 26 +++---
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/drivers/net/virt
On Mon, Jul 17, 2017 at 02:56:54PM +0100, Ferruh Yigit wrote:
<...>
> > +Stats per queue = Y
> > +Unicast MAC filter = Y
> > +Queue start/stop = Y
> > +Jumbo frame = Y
> > +Multicast MAC filter = Y
>
> Is above ones supported by PMD, I don't see them unless I miss something.
On 07/17/2017 05:31 PM, cristian.dumitre...@intel.com wrote:
-Original Message-
From: dev [mailto:dev-boun...@dpdk.org] On Behalf Of
vuon...@viettel.com.vn
Sent: Monday, July 17, 2017 3:04 AM
Cc: us...@dpdk.org; dev@dpdk.org
Subject: [dpdk-dev] Rx Can't receive anymore packet after re
Yes, thanks. I'll send another patch with both fixed other issue.
> -Original Message-
> From: Yang, Zhiyong
> Sent: Monday, July 17, 2017 2:09 PM
> To: Yang, Qiming ; dev@dpdk.org
> Cc: sta...@dpdk.org; Lu, Wenzhuo ; Yang, Qiming
>
> Subject: RE: [dpdk-dev] [PATCH] net/ixgbe: fix Rx/Tx q
x550 devices not do interrupt vector mapping before
enable Rx/Tx queue interrupt, makes interrupt mode
can't work neither with igb_uio or VFIO.
Fixes: d2e72774e58c ("ixgbe/base: support X550")
Signed-off-by: Qiming Yang
---
v2 changes:
* fixed other cause interrupt vector map and typo issue
---
SW workaround for GL_SWR_PRI_JOIN_MAP is added for X710
performance before. As new FW version 6.0 supports ADQ,
value for GL_SWR_PRI_JOIN_MAP should be changed, otherwise
ehtertype filter will be impacted.
Fixes: 973273c7a4b7 ("i40e: workaround for X710 performance")
Cc: sta...@dpdk.org
Signed-of
> -Original Message-
> From: Bie, Tiwei
> Sent: Monday, July 17, 2017 2:27 PM
> To: Wu, Jingjing ; Xing, Beilei
> ; dev@dpdk.org
> Cc: Bie, Tiwei
> Subject: [PATCH] net/i40e: remove an unnecessary goto
>
> Signed-off-by: Tiwei Bie
> ---
> drivers/net/i40e/i40e_tm.c | 2 --
> 1 file chan
The x550 family does not support ipv6-other flow as well as
ipv4-other flow, so add this limitation.
Fixes: 7d629cacedee ("net/ixgbe: enable IPv6 for consistent API")
Signed-off-by: Qi Zhang
---
drivers/net/ixgbe/ixgbe_fdir.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git
On 7/14/2017 7:16 PM, Thomas Monjalon wrote:
The compilation of examples for DPAA2 fails:
examples/load_balancer/main.h:62:2: error: #error
"APP_MAX_IO_LCORES is too big"
because:
APP_MAX_IO_LCORES = 16
RTE_MAX_LCORE = 8
Hi Thomas,
Thanks for identifying the issue.
I have su
when i40e vf close, it would stop vf at first, if vf had been stopped,
that would result of duplicating to add/del mac address, then the failed
of executing admin queue command info would exposure. The patch fix that
by add vf stop status check and sync up the vf mac number when add/del.
Signed-of
Introducing RTE_PCI_DRV_IOVA_AS_VA flag. Flag used when driver needs
to operate in iova=va mode.
Why driver need iova=va mapping?
On NPU style co-processors like Octeontx, the buffer recycling has been
done in HW, unlike SW model. Here is the data flow:
1) On control path, Fill the HW mempool wit
Introducing rte_pci_get_iommu_class API which helps to get iommu class
of PCI device on the bus and returns preferred iova mapping mode for
PCI bus.
Signed-off-by: Santosh Shukla
Signed-off-by: Jerin Jacob
---
v3 --> v4:
- Created a separate patch per suggestion from Maxime.
Initially thought to
v4:
Introducing RTE_PCI_DRV_IOVA_AS_VA flag for autodetection of iova va mapping.
If a PCI driver demand for IOVA as VA scheme then the driver can add it in the
PCI driver registration function.
Algorithm to select IOVA as VA for PCI bus case:
0. If no device bound then return with RTE_IOVA_D
Export rte_pci_match() function as it needed in the followup patch.
Signed-off-by: Santosh Shukla
Signed-off-by: Jerin Jacob
Acked-by: Maxime Coquelin
---
lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 +
lib/librte_eal/common/eal_common_pci.c | 10 +-
lib/librte_eal/com
Introducing rte_eal_iova_mode() helper API. This API
used by non-eal library for detecting iova mode.
Signed-off-by: Santosh Shukla
---
lib/librte_eal/bsdapp/eal/eal.c | 6 ++
lib/librte_eal/bsdapp/eal/rte_eal_version.map | 1 +
lib/librte_eal/common/include/rte_eal.h
Get iommu class of PCI device on the bus and returns preferred iova
mapping mode for that bus.
Algorithm for iova scheme selection for PCI bus:
0. If no device bound then return with RTE_IOVA_DC mapping mode,
else goto 1).
1. Look for device attached to vfio kdrv and has .drv_flag set
to RTE_PCI_D
Bsdapp case returns default iova mode.
Signed-off-by: Santosh Shukla
Signed-off-by: Jerin Jacob
---
v3 --> v4:
- Removed rte_pci_get_iommu_class api declaration. Now that
sits into separate patch [03/12].
lib/librte_eal/bsdapp/eal/eal_pci.c | 10 ++
lib/librte_eal/bsdapp/ea
API(rte_bus_get_iommu_class) helps to automatically detect and select
appropriate iova mapping scheme for iommu capable device on that bus.
Algorithm for iova scheme selection for bus:
0. Iterate through bus_list.
1. Collect each bus iova mode value and update into 'mode' var.
2. Mode selection sc
- Moving late bus scanning to up..just after eal_parsing.
- Auto detect iova mapping mode, based on the result of
rte_bus_scan_iommu_class.
Signed-off-by: Santosh Shukla
Signed-off-by: Jerin Jacob
---
lib/librte_eal/linuxapp/eal/eal.c | 15 +--
1 file changed, 9 insertions(+), 6 d
- Moving late bus scanning to up..just after eal_parsing.
- Mapping mode would be default for bsdapp. It supports
only one pass through mode (RTE_KDRV_NIC_UIO)
Signed-off-by: Santosh Shukla
Signed-off-by: Jerin Jacob
---
lib/librte_eal/bsdapp/eal/eal.c | 15 +--
1 file changed, 9
Check iova mode and accordingly map iova to pa or va.
Signed-off-by: Santosh Shukla
Signed-off-by: Jerin Jacob
---
lib/librte_eal/linuxapp/eal/eal_vfio.c | 10 --
1 file changed, 8 insertions(+), 2 deletions(-)
diff --git a/lib/librte_eal/linuxapp/eal/eal_vfio.c
b/lib/librte_eal/linux
Check iova mode and accordingly return phy addr.
Signed-off-by: Santosh Shukla
Signed-off-by: Jerin Jacob
---
lib/librte_eal/linuxapp/eal/eal_memory.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/librte_eal/linuxapp/eal/eal_memory.c
b/lib/librte_eal/linuxapp/eal/eal_memory.c
inde
Check iova mode and accordingly return phy addr.
Signed-off-by: Santosh Shukla
Signed-off-by: Jerin Jacob
---
lib/librte_eal/common/rte_malloc.c | 9 -
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/lib/librte_eal/common/rte_malloc.c
b/lib/librte_eal/common/rte_malloc.c
i
On Thursday 13 July 2017 03:02 PM, Santosh Shukla wrote:
> v2:
> (Note: v2 work is based on deprecation notice [1], It's for 17.11)
>
> In order to support octeontx HW mempool manager, the common mempool layer must
> meet below condition.
> - Object start address should be block size (total elem s
Hi all,
I just test ovs-dpdk with restart. I found when the dpdk start the PHYSICAL NIC
can't send/recv packet
I have a vhostuserclient port and dpdk port(82599EB) bridge with br0
It spends 1.4s I restart the ovs-vswitchd.
1. I send icmp packet(1 packet/second) from virtual machine to outside
82599ES can support SCTP packet drop action, but the
configration is different from TCP or UDP packet, so
it need to rework some code FDIR related code to adapt
drop action rule of SCTP packet.
Signed-off-by: Wei Zhao
---
drivers/net/ixgbe/ixgbe_flow.c | 48 ++
From: Gowrishankar Muthukrishnan
mlx5 pmd does not correctly retrieve link speed and duplex values
in linksetting struct through ETHTOOL_GLINKSETTINGS ioctl call.
Due to which pktgen application could not correctly calculate tx/rx
rate and hence, very few packets (of count 32) only sent all the t
89 matches
Mail list logo