This patch set add memory-mapped-IO support for arm/arm64 archs in virtio-pmd
driver. Patch creates ioport-mem device name /dev/igb_ioport. virtio_ethdev_init
function to open that device file for once, mappes 4K page_size memory such that
all entry in cat /proc/ioport {all PCI_IOBAR entry} mapped
iopl() syscall not supported in linux-arm/arm64 so always return 0 value.
Signed-off-by: Santosh Shukla
---
lib/librte_eal/linuxapp/eal/eal.c |3 +++
1 file changed, 3 insertions(+)
diff --git a/lib/librte_eal/linuxapp/eal/eal.c
b/lib/librte_eal/linuxapp/eal/eal.c
index 635ec36..2617037 10
Enable RTE_LIBRTE_VIRTIO_PMD for armv7/v8 and setting RTE_VIRTIO_INC_VEC=n.
Builds successfully for armv7/v8.
Signed-off-by: Santosh Shukla
---
config/defconfig_arm-armv7a-linuxapp-gcc |6 +-
config/defconfig_arm64-armv8a-linuxapp-gcc |6 +-
2 files changed, 10 insertions(+), 2
Currently virtio_pci address space accessed in x86-style of ioport apis example:
{in,out}[bwl] and {in_p,out_p}[bwl]. Architecture like arm does IO access in
memory-mapped way, as because they donot support direct IO instructions. So
introducing a helper api for arm/arm64 who'll provide ioport acce
i686 target config example:
config/defconfig_i686-native-linuxapp-gcc says "Vectorized PMD is not supported
on 32-bit".
So setting RTE_VIRTIO_INC_VECTOR to 'n'.
Signed-off-by: Santosh Shukla
---
config/defconfig_i686-native-linuxapp-gcc |1 +
config/defconfig_i686-native-linuxapp-icc |1
virtio_recv_pkts_vec and other virtio vector friend apis are written for sse/avx
instructions. For arm64 in particular, virtio vector implementation does not
exist(todo).
So virtio pmd driver wont build for targets like i686, arm64. By making
RTE_VIRTIO_INC_VECTOR=n, Driver can build for non-sse/
This patch set add basic infrastrucure to run virtio-net-pci pmd driver for
arm64/arm. Tested on ThunderX platfrom. Verified for existing dpdk(s) test
applications like:
- ovs-dpdk-vhost-user: across the VM's, for the use-cases like guest2guest and
Host2Guest
- testpmd application: Tested for max
Message: 1
Date: Fri, 04 Dec 2015 19:33:47 +0100
From: Thomas Monjalon
To: Stephen Hemminger
Cc: dev at dpdk.org, Ian Betts
Subject: Re: [dpdk-dev] [PATCH v8 0/4] examples: add
performance-thread
Message-ID: <1850494.rdblc2vbpm at xps13>
Content-Type: text/plain; charset="us-ascii"
> Y
-Original Message-
From: Stephen Hemminger [mailto:step...@networkplumber.org]
Sent: Friday, December 4, 2015 6:04 PM
To: Betts, Ian
Cc: dev at dpdk.org; Richardson, Bruce
Subject: Re: [PATCH v8 0/4] examples: add performance-thread
>Looks useful, but this needs more discussion.
>Maybe
On 2 December 2015 at 12:05, Christian Ehrhardt
wrote:
> Hi,
> just FYI - building LIBRTE_PMD_XENVIRT in 32bit triggers some errors.
>
> I don't know if that part of the tree is actively maintained - It is
> default off, in the config template config/common_linuxapp.
>
> I'm not even entirely sure
Signed-off-by: Jerin Jacob
---
MAINTAINERS | 3 +++
1 file changed, 3 insertions(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index 460245b..b8ca465 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -133,6 +133,9 @@ ARM v8
M: Jerin Jacob
F: lib/librte_eal/common/include/arch/arm/*_64.h
F: lib/librt
Enabled CONFIG_RTE_LIBRTE_LPM, CONFIG_RTE_LIBRTE_TABLE,
CONFIG_RTE_LIBRTE_PIPELINE libraries for arm and arm64
TABLE, PIPELINE libraries were disabled due to LPM library dependency.
Signed-off-by: Jerin Jacob
Signed-off-by: Jianbo Liu
---
app/test/test_xmmt_ops.h | 20
-Used architecture agnostic xmm_t to represent 128 bit SIMD variable
-Introduced vect_* API abstraction in app/test to test rte_lpm_lookupx4
API in architecture agnostic way
-Moved rte_lpm_lookupx4 SSE implementation to architecture specific
rte_lpm_sse.h file to accommodate new rte_lpm_lookupx4
- This patch enabled lpm for ARM
- Used architecture agnostic xmm_t to represent 128 bit SIMD variable in
rte_lpm_lookupx4 API definition
- Tested on Juno and Thunderx boards
- Tested and verified the changes with following DPDK unit test cases
--lpm_autotest
--lpm6_autotest
v1..v2
2015-11-23 16:37, Martinx - ?:
> Hello!
>
> My name is Thiago, I'm trying to compile DPDK 2.0, 2.1 and/or 2.2-rc1,
> on Ubuntu with Xen support but, it does not build...
>
> Also, initially, I'm using DPDK sources from Ubuntu APT repository
> but, it is also reproducible using upstream DPDK t
2015-12-03 08:04, Christian Ehrhardt:
> Building RTE_LIBRTE_PMD_XENVIRT was broken when RTE_BUILD_COMBINE_LIBS was
> enabled (http://dpdk.org/ml/archives/dev/2015-November/028660.html).
> Now the underlying issue is rather simple, the xen code needs libxenstore.
> But rte.app.mk so far only conside
> >> We have encountered a CPU where the AES-NI instruction set is disabled
> >> due to export restrictions. Since the build machine and target machine
> >> is different, using -native configs doesn't work, and on this CPU, the
> >> application refuses to run due to the AES CPU flags being amiss.
>
2015-12-04 18:31, Adrien Mazarguil:
> On Fri, Dec 04, 2015 at 06:11:03PM +0100, David Marchand wrote:
> > The initial problem has been seen while building mlx4 pmd as a shared
> > library
> > on Ubuntu 14.04 (gcc 4.8.4-2ubuntu1~14.04).
> >
> > Resulting .so will lack the DT_NEEDED entry for libib
Hi guys,
I'm not quite sure if we can support less TX queues on a slave that easy:
> queue_id = bond_slave_txqid(internals, i, bd_tx_q->queue_id);
> num_tx_slave = rte_eth_tx_burst(slaves[i], queue_id,
> slave_bufs[i], slave_nb_pkts[i]);
It seems that two different lcores might end up writin
2015-12-04 10:03, Stephen Hemminger:
> Looks useful, but this needs more discussion.
>
> Maybe it should be a separate library not tied into DPDK so
> it gets wider use and testing? Also what are the limitations?
> What if an lthread did a system call? What about interaction
> with rte_poll?
>
>
On Fri, Dec 04, 2015 at 06:11:03PM +0100, David Marchand wrote:
> The initial problem has been seen while building mlx4 pmd as a shared library
> on Ubuntu 14.04 (gcc 4.8.4-2ubuntu1~14.04).
>
> Resulting .so will lack the DT_NEEDED entry for libibverbs:
>
> marchand at ubuntu1404:~/dpdk$ ldd ./bu
2015-11-24 16:31, Panu Matilainen:
> The physically linked-together combined library has been an increasing
> source of problems, as was predicted when library and symbol versioning
> was introduced. Replace the complex and fragile construction with a
> simple linker script which achieves the same
Hi,
The dev mailing list is more appropriate for this discussion.
2015-12-04 18:30, Ran Shalit:
> On Thu, Nov 12, 2015 at 10:49 AM, Thomas Monjalon
> wrote:
> > 2015-11-12 09:14, Ran Shalit:
> >> I need to develop a driver/application which capture and output video
> >> frames from PCIe device ,
The initial problem has been seen while building mlx4 pmd as a shared library
on Ubuntu 14.04 (gcc 4.8.4-2ubuntu1~14.04).
Resulting .so will lack the DT_NEEDED entry for libibverbs:
marchand at ubuntu1404:~/dpdk$ ldd ./build/lib/librte_pmd_mlx4.so
linux-vdso.so.1 => (0x7fff87ebb000)
The function rte_mempool_obj_iter used in mlx drivers
was not exported. So the driver loading was failing:
EAL: open shared lib librte_pmd_mlx4.so
EAL: x86_64-native-linuxapp-gcc/lib/librte_pmd_mlx4.so:
undefined symbol: rte_mempool_obj_iter
Fixes: 9d41beed24b0 ("lib: provide initial vers
I missed Tuesday's call as I was travelling, but I believe one of the outcomes
was to hold another call at the same time on Tuesday 8th to further discuss the
External Mempool Manager. Here are the details:
When:
Tue, Dec 8, 2015 15:00 - 16:00 GMT
Tue, Dec 8, 2015 07:00 - 08:00 PST
Tue, Dec 8,
2015-11-30 15:26, Thomas Monjalon:
> 2015-11-30 11:49, Bruce Richardson:
> > On Mon, Nov 30, 2015 at 11:41:32AM +, Richardson, Bruce wrote:
> > > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> > > > Sent: Monday, November 30, 2015 11:27 AM
> > > > To: Richardson, Bruce
> > > > C
On 04/12/15 14:05, Bernard Iremonger wrote:
> replace RTE_PCI_DRV_INTR_LSC with RTE_ETH_DEV_INTR_LSC
>
> Fixes: 71ba84b1ccb2("bonding: remove fake pci interface")
> Signed-off-by: Bernard Iremonger
> ---
> drivers/net/bonding/rte_eth_bond_pmd.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deleti
Hi Mario,
2015-12-03 15:37, Mario Carrillo:
> DPDK package lacks of a mechanism to install libraries, headers
> applications, kernel modules and sdk files to a file system tree.
> This patch set allows to install files based on the next
> proposal:
> http://www.freedesktop.org/software/systemd/man
2015-12-04 15:25, Iremonger, Bernard:
> From: Yuanhan Liu [mailto:yuanhan.liu at linux.intel.com]
> > On Thu, Dec 03, 2015 at 06:08:24PM -0800, Stephen Hemminger wrote:
> > > Support for link state interrupt was broken on virtio by
> > >
> > > commit bda66c418c85 ("ethdev: add device fields from PC
> -Original Message-
> From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com]
> Sent: Friday, December 4, 2015 3:57 PM
> To: Richardson, Bruce
> Cc: dev at dpdk.org
> Subject: Re: [dpdk-dev] [PATCH] reserve 'make install' for future use
>
> 2015-11-30 15:26, Thomas Monjalon:
> > 20
Hi Stephen,
> -Original Message-
> From: Stephen Hemminger [mailto:stephen at networkplumber.org]
> Sent: Friday, December 4, 2015 3:59 PM
> To: Xie, Huawei ; yuanhan.liu at linux.intel.com;
> Iremonger, Bernard
> Cc: dev at dpdk.org; Stephen Hemminger
> Subject: [PATCH resend] virtio:
I welcome this initiative, one question below:
> -Original Message-
> From: discuss [mailto:discuss-bounces at openvswitch.org] On Behalf Of Panu
> Matilainen
> Sent: Friday, December 4, 2015 10:54 AM
> To: dev at dpdk.org; users at dpdk.org; dev at openvswitch.org;
> discuss at openvswitc
It is safer to specify libraries we depend on after the objects we are linking
into a shared library, especially when the linker is invoked with options like
--as-needed.
Fixes: bef06a8a0655 ("mk: set library dependencies in shared object file")
Signed-off-by: David Marchand
---
mk/rte.lib.mk |
Hi Stephen, Yuanhan,
> -Original Message-
> From: Yuanhan Liu [mailto:yuanhan.liu at linux.intel.com]
> Sent: Friday, December 4, 2015 3:30 AM
> To: Stephen Hemminger
> Cc: Xie, Huawei ; Iremonger, Bernard
> ; dev at dpdk.org
> Subject: Re: [PATCH] virtio: fix link state regression
>
> O
call rte_eth_copy_pci_info() after the RTE_PCI_DRV_INTR_LSC
has been initialised.
Fixes: eeefe73f0af1("drivers: copy PCI device info to ethdev data")
Reported-by: Stephen Hemminger
Signed-off-by: Bernard Iremonger
---
drivers/net/virtio/virtio_ethdev.c | 4 ++--
1 file changed, 2 insertions(+)
Fixes the wrong source port mempool assignment (commit id eb32fe7c). The
source port is now assigned by parsed mempool id index value either by
default or configured by CFG file.
Previously, the mempool id for locating source port's mempool pointer was
the port id. When multiple source ports exist
On Fri Dec 04 19:36:09 +0100 2015, Andriy Berestovskyy wrote:
> Hi guys,
> I'm not quite sure if we can support less TX queues on a slave that easy:
>
> > queue_id = bond_slave_txqid(internals, i, bd_tx_q->queue_id);
> > num_tx_slave = rte_eth_tx_burst(slaves[i], queue_id,
> > slave_bufs[i],
replace RTE_PCI_DRV_INTR_LSC with RTE_ETH_DEV_INTR_LSC
Fixes: 71ba84b1ccb2("bonding: remove fake pci interface")
Signed-off-by: Bernard Iremonger
---
drivers/net/bonding/rte_eth_bond_pmd.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/bonding/rte_eth_bond_pmd.c
Hi all,
While this is not directly related to DPDK or OVS, it is potentially
useful for users of both, so excuse me for cross-posting.
Quoting from the project README (for the full text see
http://laiskiainen.org/git/?p=driverctl.git;a=blob_plain;f=README)
> driverctl is a tool for manipulatin
On Thu, Dec 03, 2015 at 06:08:24PM -0800, Stephen Hemminger wrote:
> Support for link state interrupt was broken on virtio by
>
> commit bda66c418c85 ("ethdev: add device fields from PCI layer")
>
> This is caused because the actual value of drv_flags is not set
> until after the resource_init ha
On Thu, Dec 03, 2015 at 05:12:54PM -0800, Stephen Hemminger wrote:
> The space check for transmit ring only needs a single conditional.
> I.e only need to recheck for space if there was no space in first check.
>
> This can help performance and simplifies loop.
This is a good cleanup. Besides tha
Hi,
I'm having an issue with the i40e pmd failing to initialise a port. I've
tried powercycling with the linux i40e driver removed and blacklisted as
suggested here: http://dpdk.org/ml/archives/dev/2015-June/019132.html, but
it's still persisting. It used to initialise without issues so I'm not
> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ian Betts
> Sent: Friday, December 4, 2015 11:34
> To: dev at dpdk.org
> Cc: Betts, Ian
> Subject: [dpdk-dev] [PATCH v8 0/4] examples: add performance-thread
>
> This patchset comprises a layer 3 forwarding de
On Thu, Dec 03, 2015 at 05:12:53PM -0800, Stephen Hemminger wrote:
> The virtio driver was not initializing all the fields in
> the receive mbuf. This would cause bugs where previous usage
> of mbuf would leave stale TCI and offload flags.
Acked-by: Yuanhan Liu
Thanks.
--yliu
Hi Simon,
On 12/04/2015 09:12 AM, Simon K?gstr?m wrote:
> Hi Olivier!
>
> Does this commit look OK now with the changes you proposed?
>
> Thanks,
> // Simon
>
> On 2015-11-24 08:50, Simon Kagstrom wrote:
>> We have encountered a CPU where the AES-NI instruction set is disabled
>> due to export
Signed-off-by: Yu Nemo Wenbin
---
lib/librte_hash/rte_hash_version.map | 1 +
1 file changed, 1 insertion(+)
diff --git a/lib/librte_hash/rte_hash_version.map
b/lib/librte_hash/rte_hash_version.map
index 1aa94f9..6fab36d 100644
--- a/lib/librte_hash/rte_hash_version.map
+++ b/lib/librte_hash/rt
Add this function to DPDK_2.2 and modified the comments of
rte_hash_set_cmp_func().
Signed-off-by: Yu Nemo Wenbin
---
lib/librte_hash/rte_hash.h | 4 ++--
lib/librte_hash/rte_hash_version.map | 8 +++-
2 files changed, 9 insertions(+), 3 deletions(-)
diff --git a/lib/librte_hash/
Give user a chance to costomize the hash key compare function.
The default rte_hash_cmp_eq function is set in the rte_hash_create
function, but these builtin ones may not good enough, so the user
may call this to override the default one.
Signed-off-by: Yu Nemo Wenbin
---
lib/librte_hash/rte_cuc
Hi Thomas,
On 12/03/2015 02:45 PM, Thomas Monjalon wrote:
> Signed-off-by: Thomas Monjalon
> ---
> MAINTAINERS | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index 460245b..eb7df3e 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -44,7 +4
This commit adds an example that illustrates how to implement
a pthread shim with the lthread subsystem included in the
performance thread example application.
Signed-off-by: Ian Betts
---
examples/performance-thread/Makefile | 2 +
examples/performance-thread/pthread_shim/Makefi
This commit adds an L3 forwarding application to the performace-thread
example.
Signed-off-by: Ian Betts
---
config/defconfig_x86_64-native-linuxapp-gcc |2 +
config/defconfig_x86_64-native-linuxapp-icc |2 +
examples/Makefile |1 +
example
This commit adds the lightweight thread subsystem used by the
performance-thread sample applications.
Changes in this version
* remove ASM implementation of atomic64_xchg in favor
of builtin __sync_lock_test_and_set()
Signed-off-by: Ian Betts
---
examples/performance-thread/common/arch/x86/
This commit adds the sample application user guide for the
performance thread sample application.
Signed-off-by: Ian Betts
---
.../sample_app_ug/img/performance_thread_1.svg | 799 +
.../sample_app_ug/img/performance_thread_2.svg | 865 ++
doc/guides/sample_app_
This patchset comprises a layer 3 forwarding derivative intended to
facilitate characterization of performance with different
threading models, specifically:-
1. EAL threads running on different physical cores
2. EAL threads running on the same physical core
3. Lightweight threads running in an EA
On Fri, 4 Dec 2015 10:34:21 +
Ian Betts wrote:
> This patchset comprises a layer 3 forwarding derivative intended to
> facilitate characterization of performance with different
> threading models, specifically:-
>
> 1. EAL threads running on different physical cores
> 2. EAL threads running
On Fri, 4 Dec 2015 11:25:09 +
"Eimear Morrissey" wrote:
>
>
> Hi,
>
> I'm having an issue with the i40e pmd failing to initialise a port. I've
> tried powercycling with the linux i40e driver removed and blacklisted as
> suggested here: http://dpdk.org/ml/archives/dev/2015-June/019132.html,
From: Eric Kinzie
The current code for detecting link during slave addition can cause a
slave interface to be activated twice -- once during slave_configure()
and again at the end of __eth_bond_slave_add_lock_free(). This will
either cause the active slave count to be incorrect or will cause the
From: Eric Kinzie
Need to handle the case when bonding two (or more) ixgbe devices
together. The existing code would break because the ixgbe devices
assumed that if setup in vector mode that the burst size would always
be large.
To solve this, during bond 802.3ad receive, a burst of packets is
From: Eric Kinzie
In the event that the bonding device has a greater number of tx and/or rx
queues than the slave being added, track the queue limits of the slave.
On receive, ignore queue identifiers beyond what the slave interface
can support. During transmit, pick a different queue id to use
From: Eric Kinzie
If the link state of a slave is "up" when added, it is added to the list
of active slaves but, even if it is the only slave, is not selected as
the primary interface. Generally, handling of link state interrupts
selects an interface to be primary, but only if the active count i
From: Eric Kinzie
Provide functions to allow an external 802.3ad state machine to transmit
and recieve LACPDUs and to set the collection/distribution flags on
slave interfaces.
Signed-off-by: Eric Kinzie
Signed-off-by: Stephen Hemminger
---
drivers/net/bonding/rte_eth_bond_8023ad.c |
From: Eric Kinzie
The bonding PMD in mode 4 puts all enslaved interfaces into promiscuous
mode in order to receive LACPDUs and must filter unwanted packets
after the traffic has been "collected". Allow broadcast and multicast
through so that ARP and IPv6 neighbor discovery continue to work.
Fix
From: Eric Kinzie
Copy all needed fields from the mode8023ad_private structure in
bond_mode_8023ad_conf_get(). This help ensure that a subsequent call
to rte_eth_bond_8023ad_setup() is not passed uninitialized data that
would result in either incorrect behavior or a failed sanity check.
Fixes:
From: Eric Kinzie
This solves issues when an active device is added to a bond.
If a device to be enslaved already has transmit and/or receive queues
allocated, use those and then create any additional queues that are
necessary.
Signed-off-by: Eric Kinzie
Signed-off-by: Stephen Hemminger
---
These are bug fixes and some small enhancements to allow bonding
to work with external control (teamd). Please consider integrating
these into DPDK 2.2
Eric Kinzie (8):
bond: use existing enslaved device queues
bond mode 4: copy entire config structure
bond mode 4: do not ignore multicast
Hi Olivier!
Does this commit look OK now with the changes you proposed?
Thanks,
// Simon
On 2015-11-24 08:50, Simon Kagstrom wrote:
> We have encountered a CPU where the AES-NI instruction set is disabled
> due to export restrictions. Since the build machine and target machine
> is different, us
Hi Nemo,
> -Original Message-
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Yu Nemo Wenbin
> Sent: Friday, December 04, 2015 3:12 AM
> To: dev at dpdk.org
> Subject: [dpdk-dev] [PATCH v3 1/3] hash: add rte_hash_set_cmp_func()
> function.
>
> Give user a chance to costomize the
Support for link state interrupt was broken on virtio by
commit bda66c418c85 ("ethdev: add device fields from PCI layer")
This is caused because the actual value of drv_flags is not set
until after the resource_init has figured out whether it is using
UIO or direct I/O instructions.
Signed-off-b
69 matches
Mail list logo