[dpdk-dev] [PATCH] example/ipsec-secgw: ipsec security gateway

2016-03-09 Thread Sergio Gonzalez Monroy
On 01/02/2016 11:26, Jerin Jacob wrote: > On Mon, Feb 01, 2016 at 11:09:16AM +, Sergio Gonzalez Monroy wrote: >> On 31/01/2016 14:39, Jerin Jacob wrote: >>> On Fri, Jan 29, 2016 at 08:29:12PM +, Sergio Gonzalez Monroy wrote: >>> >>> IMO, an option for single SA based outbound processing wo

[dpdk-dev] [PATCH v5 0/2] Increased number of next hops for LPM IPv4.

2016-03-09 Thread Thomas Monjalon
2016-03-09 17:57, Michal Jastrzebski: > From: Michal Kobylinski > > This patchset extend next_hop field from 8-bits to 24-bits in LPM library for > IPv4. > > As next_hop field is increased now the maximum number of tbl8s is 2^24. > A new rte_lpm_config structure is used so LPM library will all

[dpdk-dev] [PATCH] eal: add option --avail-cores to detect lcores

2016-03-09 Thread Tan, Jianfeng
Hi Konstantin, On 3/9/2016 10:44 PM, Ananyev, Konstantin wrote: > >> -Original Message- >> From: Tan, Jianfeng >> Sent: Wednesday, March 09, 2016 2:17 PM >> To: Ananyev, Konstantin; Panu Matilainen; dev at dpdk.org >> Subject: Re: [dpdk-dev] [PATCH] eal: add option --avail-cores to detect

[dpdk-dev] [PATCH v2 1/5] mem: add --single-file to create single mem-backed file

2016-03-09 Thread Tan, Jianfeng
Hi, On 3/8/2016 10:44 AM, Yuanhan Liu wrote: > On Tue, Mar 08, 2016 at 09:55:10AM +0800, Tan, Jianfeng wrote: >> Hi Yuanhan, >> >> On 3/7/2016 9:13 PM, Yuanhan Liu wrote: >>> CC'ed EAL hugepage maintainer, which is something you should do when >>> send a patch. >> Thanks for doing this. >> >>> On

[dpdk-dev] [PATCH] eal: add option --avail-cores to detect lcores

2016-03-09 Thread Tan, Jianfeng
On 3/9/2016 10:01 PM, Ananyev, Konstantin wrote: > >> -Original Message- >> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Tan, Jianfeng >> Sent: Wednesday, March 09, 2016 1:53 PM >> To: Panu Matilainen; dev at dpdk.org >> Subject: Re: [dpdk-dev] [PATCH] eal: add option --avail-c

[dpdk-dev] [PATCH v9 0/4] ethdev: add speed capabilities and refactor link API

2016-03-09 Thread Marc
On 9 March 2016 at 11:09, N?lio Laranjeiro wrote: > On Wed, Mar 09, 2016 at 10:29:38AM +0100, N?lio Laranjeiro wrote: > > On Tue, Mar 08, 2016 at 05:53:05PM +0100, N?lio Laranjeiro wrote: > > > On Tue, Mar 08, 2016 at 04:00:29PM +0100, Marc Sune wrote: > > > > 2016-03-01 1:45 GMT+01:00 Marc Sune

[dpdk-dev] [PATCH] eal: add option --avail-cores to detect lcores

2016-03-09 Thread Tan, Jianfeng
On 3/9/2016 9:05 PM, Panu Matilainen wrote: > On 03/08/2016 07:38 PM, Tan, Jianfeng wrote: >> Hi Panu, >> >> On 3/8/2016 4:54 PM, Panu Matilainen wrote: >>> On 03/04/2016 12:05 PM, Jianfeng Tan wrote: This patch adds option, --avail-cores, to use lcores which are available by call

[dpdk-dev] [RFC 10/35] eal: introduce RTE_DECONST macro

2016-03-09 Thread Olivier MATZ
Hi, On 03/09/2016 07:53 PM, Stephen Hemminger wrote: > Can't we just write correct code rather than trying to trick the compiler. Thank you for your comment. This macro is introduced for next commit, I would be happy if you could help me to remove it. My opinion is that using a macro like this i

[dpdk-dev] [PATCH] i40e: remove redundant compiler warning disablers

2016-03-09 Thread Bruce Richardson
On Mon, Feb 29, 2016 at 05:51:23AM +, Pei, Yulong wrote: > This patch caused build error with i686-native-linuxapp-gcc (gcc version is > 4.8.3) > Yes. It also breaks the build with gcc 4.4 (strict aliasing rules errors). There are probably some combination of flags can we can remove, but t

[dpdk-dev] [PATCH] virtio: fix rx ring descriptor starvation

2016-03-09 Thread Bruce Richardson
On Fri, Mar 04, 2016 at 08:25:07AM -0500, Kyle Larose wrote: > On Fri, Mar 4, 2016 at 3:11 AM, Tom Kiely wrote: > > Sure. > >Tom > > > > > > On 03/04/2016 06:16 AM, Xie, Huawei wrote: > >> > >> On 2/23/2016 12:23 AM, Tom Kiely wrote: > >>> > >>> Hi, > >>> Sorry I missed the last few messa

[dpdk-dev] [RFC 10/35] eal: introduce RTE_DECONST macro

2016-03-09 Thread Bruce Richardson
On Wed, Mar 09, 2016 at 09:47:35PM +0100, Olivier MATZ wrote: > Hi, > > On 03/09/2016 07:53 PM, Stephen Hemminger wrote: > > Can't we just write correct code rather than trying to trick the compiler. > > Thank you for your comment. This macro is introduced for next > commit, I would be happy if y

[dpdk-dev] [PATCH] doc: fix API change in release note

2016-03-09 Thread Jingjing Wu
Move the structure ``rte_eth_fdir_masks`` change announcement from ABI to API in release note. Fixes: 1409f127d7f1 (ethdev: fix byte order consistency of flow director) Signed-off-by: Jingjing Wu --- doc/guides/rel_notes/release_16_04.rst | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(

[dpdk-dev] [PATCH] eal: add option --avail-cores to detect lcores

2016-03-09 Thread Ananyev, Konstantin
> On 3/8/2016 4:54 PM, Panu Matilainen wrote: > > On 03/04/2016 12:05 PM, Jianfeng Tan wrote: > >> This patch adds option, --avail-cores, to use lcores which are > >> available > >> by calling pthread_getaffinity_np() to narrow down detected cores > >>

[dpdk-dev] [PATCH] mempool: avoid memory waste with large pagesize

2016-03-09 Thread Olivier MATZ
On 03/09/2016 03:29 AM, Stephen Hemminger wrote: > If page size is large (like 64K on ARM) and object size is small > then don't waste lots of memory by rounding up to page size. > Instead, round up so that 1 or more objects all fit in a page. > > This preserves the requirement that an object must

[dpdk-dev] [PATCH v3] doc: add Vector FM10K introductions

2016-03-09 Thread Thomas Monjalon
> > From: "Chen Jing D(Mark)" > > Acked-by: John McNamara Applied, thanks Next step: fill the matrix in overview.rst :)

[dpdk-dev] [PATCH] pcap: fix captured frame length

2016-03-09 Thread Bruce Richardson
On Thu, Jan 28, 2016 at 06:14:45PM +, Nicolas Pernas Maradei wrote: > Hi Dror, > > Good catch. What you are saying makes sense and it is also explained in > pcap's documentation. Was your setup unusual though? > This might sound like a silly question but I don't remember seeing that > issue an

[dpdk-dev] [PATCH v3] docs: add statistics read frequency to fm10k guide

2016-03-09 Thread Thomas Monjalon
2016-03-08 17:16, Harry van Haaren: > This patch documents that the statistics of fm10k based NICs must be > read regularly in order to avoid an undetected 32 bit integer-overflow. > > Signed-off-by: Harry van Haaren > Acked-by: John McNamara Applied, thanks

[dpdk-dev] [PATCH v3] doc/nic: add ixgbe statistics on read frequency

2016-03-09 Thread Thomas Monjalon
2016-03-08 14:29, Harry van Haaren: > This patch adds a note to the ixgbe PMD guide, stating > the minimum time that statistics must be polled from > the hardware in order to avoid register values becoming > saturated and "sticking" to the max value. > > Reported-by: Jerry Zhang > Tested-by: Marc

[dpdk-dev] [PATCH] doc: add szedata2 features into networking driver matrix

2016-03-09 Thread Thomas Monjalon
> Signed-off-by: Matej Vido > --- > doc/guides/nics/overview.rst | 20 ++-- > 1 file changed, 10 insertions(+), 10 deletions(-) Applied, thanks

[dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api

2016-03-09 Thread Kulasek, TomaszX
> -Original Message- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Wednesday, March 9, 2016 18:07 > To: Kulasek, TomaszX > Cc: dev at dpdk.org; Ananyev, Konstantin > Subject: Re: [dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api > > 2016-03-09 16:35, Kulasek

[dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api

2016-03-09 Thread Thomas Monjalon
2016-03-09 16:35, Kulasek, TomaszX: > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > > +void > > > +rte_eth_count_unsent_packet_callback(struct rte_mbuf **pkts, uint16_t > > unsent, > > > + void *userdata); > > > > What about rte_eth_tx_buffer_default_callback as name? >

[dpdk-dev] [PATCH v3 0/2] doc: add i40e pmd driver introduction

2016-03-09 Thread Thomas Monjalon
2016-03-09 15:28, Jingjing Wu: > A new doc "i40e.rst" is added to introduce i40e pmd driver. > > v3 changes: > - update table in overview.rst. > - rework index.rst to keep an alphabetical order. > > v2 changes: > - restrict long code line > - fix typo > > Jingjing Wu (2): > doc: add doc fo

[dpdk-dev] [PATCH v5 2/2] lpm: added a new rte_lpm_config structure for ipv4

2016-03-09 Thread Michal Jastrzebski
From: Michal Kobylinski This patch has depend on: lpm: extended ipv4 next_hop field (v4). A new rte_lpm_config structure is used so LPM library will allocate exactly the amount of memory which is necessary to hold application?s rules. Signed-off-by: Michal Kobylinski Acked-by: David Hunt ---

[dpdk-dev] [PATCH v5 1/2] lpm: extended ipv4 next_hop field

2016-03-09 Thread Michal Jastrzebski
From: Michal Kobylinski This patch extend next_hop field from 8-bits to 24-bits in LPM library for IPv4. Added versioning symbols to functions and updated library and applications that have a dependency on LPM library. Signed-off-by: Michal Kobylinski Acked-by: David Hunt --- app/test/test_l

[dpdk-dev] [PATCH v5 0/2] Increased number of next hops for LPM IPv4.

2016-03-09 Thread Michal Jastrzebski
From: Michal Kobylinski This patchset extend next_hop field from 8-bits to 24-bits in LPM library for IPv4. As next_hop field is increased now the maximum number of tbl8s is 2^24. A new rte_lpm_config structure is used so LPM library will allocate exactly the amount of memory which is necessar

[dpdk-dev] [RFC 00/35] mempool: rework memory allocation

2016-03-09 Thread Olivier MATZ
On 03/09/2016 05:19 PM, Olivier Matz wrote: > This series is a rework of mempool. > > [...] I forgot to mention that this series applies on top of Keith's patch, which is also planned for 16.07: http://www.dpdk.org/dev/patchwork/patch/10492/ Olivier

[dpdk-dev] [PATCH v4 12/12] docs: add release note for qtest virtio container support

2016-03-09 Thread Tetsuya Mukawa
Signed-off-by: Tetsuya Mukawa --- doc/guides/rel_notes/release_16_04.rst | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/guides/rel_notes/release_16_04.rst b/doc/guides/rel_notes/release_16_04.rst index e3142f2..1c8c6b2 100644 --- a/doc/guides/rel_notes/release_16_04.rst +++ b/doc/gui

[dpdk-dev] [PATCH v4 11/12] virtio: Add QTest support for virtio-net PMD

2016-03-09 Thread Tetsuya Mukawa
The patch adds a new virtio-net PMD configuration that allows the PMD to work on host as if the PMD is in VM. Here is new configuration for virtio-net PMD. - CONFIG_RTE_VIRTIO_VDEV_QTEST To use this mode, EAL needs map all hugepages as one file. Also the file should be mapped between (1 << 31) and

[dpdk-dev] [PATCH v4 10/12] virtio: Add QTest support to vtpci abstraction

2016-03-09 Thread Tetsuya Mukawa
The patch adds QTest support to vtpci abstraction. With this patch, only modern virtio device will be supported. This QTest support will be used by later QTest extension patch of virtio-net PMD. Signed-off-by: Tetsuya Mukawa --- drivers/net/virtio/qtest.h | 39 drivers/net/virtio/v

[dpdk-dev] [PATCH v4 09/12] virtio, qtest: Add misc functions to handle pci information

2016-03-09 Thread Tetsuya Mukawa
The patch adds below functions. - qtest_read_pci_cfg - qtest_get_bar - qtest_get_bar_addr - qtest_get_bar_size These are used for handling pci device information. It will be called by later patches. Signed-off-by: Tetsuya Mukawa --- drivers/net/virtio/qtest_utils.c | 77 +

[dpdk-dev] [PATCH v4 08/12] virtio, qtest: Add functionality to handle interrupt

2016-03-09 Thread Tetsuya Mukawa
The patch adds functionality to handle interrupt from pci device of QEMU guest. To handle the interrupts, the patch adds to initialize piix3 pci device. Signed-off-by: Tetsuya Mukawa --- drivers/net/virtio/qtest_utils.c | 225 ++- drivers/net/virtio/qtest_util

[dpdk-dev] [PATCH v4 07/12] virtio, qtest: Add functionality to share memory between QTest guest

2016-03-09 Thread Tetsuya Mukawa
The patch adds functionality to share memory between QTest guest and DPDK application using ivshmem device. The shared memory will be all EAL memory on hugepages. This memory will be accessed by QEMU vcpu and DPDK application using same address. Signed-off-by: Tetsuya Mukawa --- drivers/net/virt

[dpdk-dev] [PATCH v4 06/12] virtio, qtest: Add pci device initialization function to qtest utils

2016-03-09 Thread Tetsuya Mukawa
The patch adds general pci device initialization functionality to qtest utils. It initializes pci devices using qtest messaging. Signed-off-by: Tetsuya Mukawa --- drivers/net/virtio/qtest_utils.c | 349 ++- drivers/net/virtio/qtest_utils.h | 114 -

[dpdk-dev] [PATCH v4 05/12] virtio, qtest: Add QTest utility basic functions

2016-03-09 Thread Tetsuya Mukawa
The patch adds basic functions for accessing to QEMU quest that runs in QTest mode. The functions will be used by virtio container extension that can access to the above guest. Signed-off-by: Tetsuya Mukawa --- config/common_base | 1 + drivers/net/virtio/Makefile | 4 + d

[dpdk-dev] [PATCH v4 04/12] EAL: Add a new "--align-memsize" option

2016-03-09 Thread Tetsuya Mukawa
The option will work with "--range-virtaddr", and if the option is specified, mapped address will be align by EAL memory size. Such an alignment is required for using virtio-net PMD extension on container that uses QEMU QTest framework. Signed-off-by: Tetsuya Mukawa --- lib/librte_eal/common/eal

[dpdk-dev] [PATCH v4 03/12] EAL: Add a new "--range-virtaddr" option

2016-03-09 Thread Tetsuya Mukawa
The option specifies how to mmap EAL memory. If the option is specified like '--range-virtaddr=-', EAL will check /proc/maps, then tries to find free region between addr1 and addr2. If a region is found, EAL will treat it as if 'base-virtaddr' is specified. Because of this, the option will not work

[dpdk-dev] [PATCH v4 02/12] vhost: Add a function to check virtio device type

2016-03-09 Thread Tetsuya Mukawa
The patch adds below function to cleanup virtio code. - virtio_dev_check() Signed-off-by: Tetsuya Mukawa --- drivers/net/virtio/virtio_ethdev.c | 52 ++ drivers/net/virtio/virtio_ethdev.h | 32 +++ 2 files changed, 57 insertions(+), 27 del

[dpdk-dev] [PATCH v4 01/12] virtio: Retrieve driver name from eth_dev

2016-03-09 Thread Tetsuya Mukawa
Currently, virtio_dev_info_get() retrieves driver name from pci_drv. If the driver is virtual PMD, pci_drv will be invalid. So retrieves the name from eth_dev. Signed-off-by: Tetsuya Mukawa --- drivers/net/virtio/virtio_ethdev.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a

[dpdk-dev] [PATCH v4 00/12] Virtio-net PMD: QEMU QTest extension for container

2016-03-09 Thread Tetsuya Mukawa
The patches will work on below patch series. - [PATCH v2 0/5] virtio support for container [Changes] v4 changes: - Rebase on latest master. - Split patches. - To abstract qtest code more, change interface between current virtio code and qtest code. - Rename qtest.c to qtest_utils.c - Chan

[dpdk-dev] [PATCH v3 4/4] mempool: add in the RTE_NEXT_ABI for ABI breakages

2016-03-09 Thread Olivier MATZ
Hi David, On 03/09/2016 05:28 PM, Hunt, David wrote: >> Sorry, maybe I wasn't very clear in my previous messages. For me, the >> NEXT_ABI is not the proper solution because, as Panu stated, it makes >> the patch hard to read. My understanding of NEXT_ABI is that it should >> only be used if the ch

[dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api

2016-03-09 Thread Thomas Monjalon
2016-03-09 16:17, Ananyev, Konstantin: > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > 2016-03-09 15:42, Ananyev, Konstantin: > > > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > > > 2016-03-09 15:23, Ananyev, Konstantin: > > > > > > > > > > > > 2016-03-09 13:36,

[dpdk-dev] [RFC 35/35] mempool: update copyright

2016-03-09 Thread Olivier Matz
Update the copyright of files touched by this patch series. Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 1 + lib/librte_mempool/rte_mempool.h | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/librte_mempool/rte_mempool.c b/lib/librte_mempool/rte_mempool.c index 209

[dpdk-dev] [RFC 34/35] mempool: new flag when phys contig mem is not needed

2016-03-09 Thread Olivier Matz
Add a new flag to remove the constraint of having physically contiguous objects inside a mempool. Add this flag to the log history mempool to start, but we could add it in most cases where objects are not mbufs. Signed-off-by: Olivier Matz --- lib/librte_eal/common/eal_common_log.c | 2 +- lib

[dpdk-dev] [RFC 33/35] mem: avoid memzone/mempool/ring name truncation

2016-03-09 Thread Olivier Matz
Check the return value of snprintf to ensure that the name of the object is not truncated. By the way, update the test to avoid to trigger an error in that case. Signed-off-by: Olivier Matz --- app/test/test_mempool.c| 12 lib/librte_eal/common/eal_common_memzon

[dpdk-dev] [RFC 32/35] mempool: make mempool populate and free api public

2016-03-09 Thread Olivier Matz
Add the following functions to the public mempool API: - rte_mempool_create_empty() - rte_mempool_populate_phys() - rte_mempool_populate_phys_tab() - rte_mempool_populate_virt() - rte_mempool_populate_default() - rte_mempool_populate_anon() - rte_mempool_free() Signed-off-by: Olivier Matz --- l

[dpdk-dev] [RFC 31/35] test-pmd: remove specific anon mempool code

2016-03-09 Thread Olivier Matz
Now that mempool library provide functions to populate with anonymous mmap'd memory, we can remove this specific code from test-pmd. Signed-off-by: Olivier Matz --- app/test-pmd/Makefile| 4 - app/test-pmd/mempool_anon.c | 201 --- app/test-pmd/

[dpdk-dev] [RFC 30/35] mempool: populate a mempool with anonymous memory

2016-03-09 Thread Olivier Matz
Now that we can populate a mempool with any virtual memory, it is easier to introduce a function to populate a mempool with memory coming from an anonymous mapping, as it's done in test-pmd. The next commit will replace test-pmd anonymous mapping by this function. Signed-off-by: Olivier Matz ---

[dpdk-dev] [RFC 29/35] mempool: create the internal ring when populating

2016-03-09 Thread Olivier Matz
Instead of creating the internal ring at mempool creation, do it when populating the mempool with the first memory chunk. The objective here is to simplify the change of external handler when it will be introduced. For instance, this will be possible: mp = rte_mempool_create_empty(...) rte_me

[dpdk-dev] [RFC 28/35] mempool: rework support of xen dom0

2016-03-09 Thread Olivier Matz
Avoid to have a specific file for that, and remove #ifdefs. Now that we have introduced a function to populate a mempool with a virtual area, the support of xen dom0 is much easier. The only thing we need to do is to convert the guest physical address into the machine physical address using rte_me

[dpdk-dev] [RFC 27/35] eal/xen: return machine address without knowing memseg id

2016-03-09 Thread Olivier Matz
The conversion from guest physical address to machine physical address is fast when the caller knows the memseg corresponding to the gpa. But in case the user does not know this information, just find it by browsing the segments. This feature will be used by next commit. Signed-off-by: Olivier Ma

[dpdk-dev] [RFC 26/35] mempool: introduce a function to create an empty mempool

2016-03-09 Thread Olivier Matz
Introduce a new function rte_mempool_create_empty() that allocates a mempool that is not populated. The functions rte_mempool_create() and rte_mempool_xmem_create() now make use of it, making their code much easier to read. Currently, they are the only users of rte_mempool_create_empty() but the f

[dpdk-dev] [RFC 25/35] mempool: introduce a function to free a mempool

2016-03-09 Thread Olivier Matz
Introduce rte_mempool_free() that: - unlink the mempool from the global list if it is found - free all the memory chunks using their free callbacks - free the internal ring - free the memzone containing the mempool Currently this function is only used in error cases when creating a new mempool, b

[dpdk-dev] [RFC 24/35] mempool: replace mempool physaddr by a memzone pointer

2016-03-09 Thread Olivier Matz
Storing the pointer to the memzone instead of the physical address provides more information than just the physical address: for instance, the memzone flags. Moreover, keeping the memzone pointer will allow us to free the mempool (this is done later in the series). Signed-off-by: Olivier Matz --

[dpdk-dev] [RFC 23/35] mempool: support no-hugepage mode

2016-03-09 Thread Olivier Matz
Introduce a new function rte_mempool_populate_virt() that is now called by default when hugepages are not supported. This function populate the mempool with several physically contiguous chunks whose minimum size is the page size of the system. Thanks to this, rte_mempool_create() will work proper

[dpdk-dev] [RFC 22/35] eal: lock memory when using no-huge

2016-03-09 Thread Olivier Matz
Although the physical address won't be correct in memory segment, this allows at least to retrieve the physical address using rte_mem_virt2phy(). Indeed, if the page is not locked, the page may not be present in physical memory. With next commit, it allows a mempool to have properly filled physica

[dpdk-dev] [RFC 21/35] mempool: default allocation in several memory chunks

2016-03-09 Thread Olivier Matz
Introduce rte_mempool_populate_default() which allocates mempool objects in several memzones. The mempool header is now always allocated in a specific memzone (not with its objects). Thanks to this modification, we can remove many specific behavior that was required when hugepages are not enabled

[dpdk-dev] [RFC 20/35] mempool: make page size optional when getting xmem size

2016-03-09 Thread Olivier Matz
Update rte_mempool_xmem_size() so that when the page_shift argument is set to 0, assume that memory is physically contiguous, allowing to ignore page boundaries. This will be used in the next commits. By the way, rename the variable 'n' as 'obj_per_page' and avoid the affectation inside the if().

[dpdk-dev] [RFC 19/35] mempool: introduce a free callback for memory chunks

2016-03-09 Thread Olivier Matz
Introduce a free callback that is passed to the populate* functions, which is used when freeing a mempool. This is unused now, but as next commits will populate the mempool with several chunks of memory, we need a way to free them properly on error. Later in the series, we will also introduce a pu

[dpdk-dev] [RFC 18/35] mempool: simplify xmem_usage

2016-03-09 Thread Olivier Matz
Since previous commit, the function rte_mempool_xmem_usage() is now the last user of rte_mempool_obj_mem_iter(). This complex code can now be moved inside the function. We can get rid of the callback and do some simplification to make the code more readable. Signed-off-by: Olivier Matz --- lib/l

[dpdk-dev] [RFC 17/35] mempool: new function to iterate the memory chunks

2016-03-09 Thread Olivier Matz
In the same model than rte_mempool_obj_iter(), introduce rte_mempool_mem_iter() to iterate the memory chunks attached to the mempool. Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 18 ++ lib/librte_mempool/rte_mempool.h | 26 ++

[dpdk-dev] [RFC 16/35] mempool: store memory chunks in a list

2016-03-09 Thread Olivier Matz
Do not use paddr table to store the mempool memory chunks. This will allow to have several chunks with different virtual addresses. Signed-off-by: Olivier Matz --- app/test/test_mempool.c | 2 +- lib/librte_mempool/rte_mempool.c | 205 ++- lib/librt

[dpdk-dev] [RFC 15/35] mempool: remove MEMPOOL_IS_CONTIG()

2016-03-09 Thread Olivier Matz
The next commits will change the behavior of the mempool library so that the objects will never be allocated in the same memzone than the mempool header. Therefore, there is no reason to keep this macro that would always return 0. This macro was only used in app/test. Signed-off-by: Olivier Matz

[dpdk-dev] [RFC 14/35] mempool: store physaddr in mempool objects

2016-03-09 Thread Olivier Matz
Store the physical address of the object in its header. It simplifies rte_mempool_virt2phy() and prepares the removing of the paddr[] table in the mempool header. Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 17 +++-- lib/librte_mempool/rte_mempool.h | 10 ++

[dpdk-dev] [RFC 13/35] mempool: create the internal ring in a specific function

2016-03-09 Thread Olivier Matz
This makes the code of rte_mempool_create() clearer, and it will make the introduction of external mempool handler easier (in another patch series). Indeed, this function contains the specific part when a ring is used, but it could be replaced by something else in the future. This commit also adds

[dpdk-dev] [RFC 12/35] mempool: use the list to initialize mempool objects

2016-03-09 Thread Olivier Matz
Before this patch, the mempool elements were initialized at the time they were added to the mempool. This patch changes this to do the initialization of all objects once the mempool is populated, using rte_mempool_obj_iter() introduced in previous commits. Thanks to this modification, we are getti

[dpdk-dev] [RFC 11/35] mempool: use the list to audit all elements

2016-03-09 Thread Olivier Matz
Use the new rte_mempool_obj_iter() instead the old rte_mempool_obj_iter() to iterate among objects to audit them (check for cookies). Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 42 +++- 1 file changed, 7 insertions(+), 35 deletions(-)

[dpdk-dev] [RFC 10/35] eal: introduce RTE_DECONST macro

2016-03-09 Thread Olivier Matz
This macro removes the const attribute of a variable. It must be used with care in specific situations. It's better to use this macro instead of a manual cast, as it explicitly shows the intention of the developer. This macro is used in the next commit of the series. Signed-off-by: Olivier Matz

[dpdk-dev] [RFC 09/35] mempool: use the list to iterate the mempool elements

2016-03-09 Thread Olivier Matz
Now that the mempool objects are chained into a list, we can use it to browse them. This implies a rework of rte_mempool_obj_iter() API, that does not need to take as many arguments as before. The previous function is kept as a private function, and renamed in this commit. It will be removed in a n

[dpdk-dev] [RFC 08/35] mempool: remove const attribute in mempool_walk

2016-03-09 Thread Olivier Matz
Most functions that can be done on a mempool require a non-const mempool pointer, except the dump and the audit. Therefore, the mempool_walk() is more useful if the mempool pointer is not const. This is required by next commit where the mellanox drivers use rte_mempool_walk() to iterate the mempoo

[dpdk-dev] [RFC 07/35] mempool: list objects when added in the mempool

2016-03-09 Thread Olivier Matz
Introduce a list entry in object header so they can be listed and browsed. The objective is to introduce a more simple way to browse the elements of a mempool. The next commits will update rte_mempool_obj_iter() to use this list, and remove the previous complex implementation. Signed-off-by: Oliv

[dpdk-dev] [RFC 06/35] mempool: update library version

2016-03-09 Thread Olivier Matz
Next changes of this patch series are too heavy to keep a compat layer. So bump the version number of the library. Signed-off-by: Olivier Matz --- doc/guides/rel_notes/release_16_04.rst | 2 +- lib/librte_mempool/Makefile| 2 +- lib/librte_mempool/rte_mempool_version.map | 6

[dpdk-dev] [RFC 05/35] mempool: rename mempool_obj_ctor_t as mempool_obj_cb_t

2016-03-09 Thread Olivier Matz
In next commits, we will add the ability to populate the mempool and iterate through objects using the same function. We will use the same callback type for that. As the callback is not a constructor anymore, rename it into rte_mempool_obj_cb_t. The rte_mempool_obj_iter_t that was used to iterate

[dpdk-dev] [RFC 04/35] mempool: use sizeof to get the size of header and trailer

2016-03-09 Thread Olivier Matz
Since commits d2e0ca22f and 97e7e685b the headers and trailers of the mempool are defined as a structure. We can get their size using a sizeof instead of doing a calculation that will become wrong at the first structure update. Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 1

[dpdk-dev] [RFC 03/35] mempool: uninline function to check cookies

2016-03-09 Thread Olivier Matz
There's no reason to keep this function inlined. Move it to rte_mempool.c. Note: we don't see it in the patch, but the #pragma ignoring "-Wcast-qual" is still there in the C file. Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 68 +++ lib/libr

[dpdk-dev] [RFC 02/35] mempool: replace elt_size by total_elt_size

2016-03-09 Thread Olivier Matz
In some mempool functions, we use the size of the elements as arguments or in variables. There is a confusion between the size including or not including the header and trailer. To avoid this confusion: - update the API documentation - rename the variables and argument names as "elt_size" when the

[dpdk-dev] [RFC 01/35] mempool: fix comments and style

2016-03-09 Thread Olivier Matz
No functional change, just fix some comments and styling issues. Also avoid to duplicate comments between rte_mempool_create() and rte_mempool_xmem_create(). Signed-off-by: Olivier Matz --- lib/librte_mempool/rte_mempool.c | 17 +--- lib/librte_mempool/rte_mempool.h | 59 +---

[dpdk-dev] [RFC 00/35] mempool: rework memory allocation

2016-03-09 Thread Olivier Matz
This series is a rework of mempool. For those who don't want to read all the cover letter, here is a sumary: - it is not possible to allocate large mempools if there is not enough contiguous memory, this series solves this issue - introduce new APIs with less arguments: "create, populate, obj_in

[dpdk-dev] [PATCH] doc: fix API change in release note

2016-03-09 Thread Thomas Monjalon
2016-03-09 19:59, Jingjing Wu: > Move the structure ``rte_eth_fdir_masks`` change announcement from ABI > to API in release note. > > Fixes: 1409f127d7f1 (ethdev: fix byte order consistency of flow director) > Signed-off-by: Jingjing Wu Applied, thanks

[dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api

2016-03-09 Thread Thomas Monjalon
2016-03-09 15:42, Ananyev, Konstantin: > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > 2016-03-09 15:23, Ananyev, Konstantin: > > > > > > > > 2016-03-09 13:36, Ananyev, Konstantin: > > > > > > > + if (to_send == 0) > > > > > > > + return 0; > > > > > > > > > > > > Why

[dpdk-dev] Client Server Application using DPDK API

2016-03-09 Thread Remy Horton
'noon, On 09/03/2016 08:45, Vivek Gupta wrote: > Hi > > I want to write a Client Server application using DPDK API on a > single machine. What are the basic building block for that. How can > we write such application? examples/l2fwd/main.c and examples/ethtool/ethtool-app/main.c are probably th

[dpdk-dev] [PATCH v3 4/4] mempool: add in the RTE_NEXT_ABI for ABI breakages

2016-03-09 Thread Hunt, David
Hi Olivier, On 3/9/2016 4:31 PM, Olivier MATZ wrote: > Hi David, > > On 03/09/2016 05:28 PM, Hunt, David wrote: > >> Sure, v4 will remove the NEXT_ABI patch , and replace it with just the >> ABI break announcement for 16.07. For anyone who what's to try out the >> patch, they can always get it fro

[dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api

2016-03-09 Thread Thomas Monjalon
2016-03-09 15:32, Kulasek, TomaszX: > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > > 2016-03-09 15:23, Ananyev, Konstantin: > > > > > > > > 2016-03-09 13:36, Ananyev, Konstantin: > > > > > > > + if (to_send == 0) > > > > > > > + return 0; > > > > > > > > > > > > Why thi

[dpdk-dev] Kernel NIC Interface and SO_TIMESTAMPING/PTP Hardware Clock

2016-03-09 Thread Ralf Grosse Boerger
Hi, I am planning to use a PTP Daemon (http://linuxptp.sourceforge.net/) on a Ethernet port that is used by the DPDK. The kernel NIC interface should allow me to pass PTP frame from/to the Linux Ethernet interface (via rte_kni_tx_burst() and rte_kni_rx_burst()). But the PTP daemon also requires S

[dpdk-dev] [PATCH] hash: fix memcmp function pointer in multi-process environment

2016-03-09 Thread Dhananjaya Reddy Eadala
Hi Michael If you agree on the #ifdef protection I explained in my previous mail, I will re-submit the patch with refactoring the the commit log with less than 80 characters per line. Thanks Dhana On Thu, Mar 3, 2016 at 8:00 PM, Dhananjaya Reddy Eadala wrote: > Hi Michael > > Please see my an

[dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api

2016-03-09 Thread Kulasek, TomaszX
> -Original Message- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Tuesday, March 8, 2016 23:52 > To: Kulasek, TomaszX > Cc: dev at dpdk.org; Ananyev, Konstantin > Subject: Re: [dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api > > Hi, > [...] > > +/** > >

[dpdk-dev] [PATCH v3 4/4] mempool: add in the RTE_NEXT_ABI for ABI breakages

2016-03-09 Thread Hunt, David
Hi Olivier, On 3/9/2016 2:59 PM, Olivier MATZ wrote: > Hi David, > > On 03/09/2016 12:30 PM, Hunt, David wrote: >> Hi Panu, >> >> On 3/9/2016 10:46 AM, Panu Matilainen wrote: >>> On 03/09/2016 11:50 AM, David Hunt wrote: This patch is for those people who want to be easily able to switch

[dpdk-dev] [PATCH v3 0/7] Performance optimizations for mlx5 and mlx4

2016-03-09 Thread Bruce Richardson
On Thu, Mar 03, 2016 at 03:27:10PM +0100, Adrien Mazarguil wrote: > This patchset improves the mlx5 PMD performance by doing better prefetching, > by reordering internal structure fields and by removing a few unnecessary > operations. > > Note: should be applied after "Add flow director and RX VLA

[dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api

2016-03-09 Thread Thomas Monjalon
2016-03-09 15:23, Ananyev, Konstantin: > > > > 2016-03-09 13:36, Ananyev, Konstantin: > > > > > + if (to_send == 0) > > > > > + return 0; > > > > > > > > Why this check is done in the lib? > > > > What is the performance gain if we are idle? > > > > It can be done outside if needed. >

[dpdk-dev] [PATCH v2] i40evf: enable ops to set mac address

2016-03-09 Thread Jingjing Wu
This patch implemented the ops of adding and removing mac address in i40evf driver. Functions are assigned like: .mac_addr_add= i40evf_add_mac_addr, .mac_addr_remove = i40evf_del_mac_addr, To support multiple mac addresses setting, this patch also extended the mac addresses adding and dele

[dpdk-dev] [PATCH v9 0/2] eal: add function to check primary alive

2016-03-09 Thread Thomas Monjalon
2016-03-09 13:37, Harry van Haaren: > The first patch of this patchset contains a fix for EAL PCI probing, > to avoid a race-condition where a primary and secondary probe PCI > devices at the same time. > > The second patch adds a function that can be polled by a process to > detect if a DPDK prim

[dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api

2016-03-09 Thread Ananyev, Konstantin
> -Original Message- > From: Thomas Monjalon [mailto:thomas.monjalon at 6wind.com] > Sent: Wednesday, March 09, 2016 3:52 PM > To: Ananyev, Konstantin > Cc: Kulasek, TomaszX; dev at dpdk.org > Subject: Re: [dpdk-dev] [PATCH v2 1/2] ethdev: add buffered tx api > > 2016-03-09 15:42, Ananye

[dpdk-dev] [PATCH 1/2] ethdev: bump library version

2016-03-09 Thread Thomas Monjalon
> > There was an ABI change and more are coming in the release 16.04. > > > > Fixes: a9963a86b2e1 ("ethdev: increase RETA entry size") > > > > Signed-off-by: Thomas Monjalon > > Series Acked-by: Nelio Laranjeiro Applied

[dpdk-dev] [PATCH v3 0/5] Add flow director and RX VLAN stripping support

2016-03-09 Thread Bruce Richardson
On Thu, Mar 03, 2016 at 03:26:39PM +0100, Adrien Mazarguil wrote: > To preserve compatibility with Mellanox OFED 3.1, flow director and RX VLAN > stripping code is only enabled if compiled with 3.2. > > Changes in v3: > - Fixed flow registration issue caused by missing masks in flow rules. > - Fix

[dpdk-dev] [PATCH 1/2] ethdev: bump library version

2016-03-09 Thread NĂ©lio Laranjeiro
On Wed, Mar 09, 2016 at 03:14:07PM +0100, Thomas Monjalon wrote: > There was an ABI change and more are coming in the release 16.04. > > Fixes: a9963a86b2e1 ("ethdev: increase RETA entry size") > > Signed-off-by: Thomas Monjalon > --- > doc/guides/rel_notes/release_16_04.rst | 5 - > lib/li

[dpdk-dev] [PATCH v3 4/4] examples/ip_pipeline: add packets dumping to PCAP file support

2016-03-09 Thread Fan Zhang
This patch add packet dumping feature to ip_pipeline. Output port type SINK now supports dumping packets to PCAP file before releasing mbuf back to mempool. This feature can be applied by specifying parameters in configuration file as shown below: [PIPELINE1] type = PASS-THROUGH core = 1 pktq_in =

[dpdk-dev] [PATCH v3 3/4] lib/librte_port: add packet dumping to PCAP file support in sink port

2016-03-09 Thread Fan Zhang
Originally, sink ports in librte_port releases received mbufs back to mempool. This patch adds optional packet dumping to PCAP feature in sink port: the packets will be dumped to user defined PCAP file for storage or debugging. The user may also choose the sink port's activity: either it continuous

[dpdk-dev] [PATCH v3 2/4] example/ip_pipeline: add PCAP file support

2016-03-09 Thread Fan Zhang
This patch add PCAP file support to ip_pipeline. Input port type SOURCE now supports loading specific PCAP file and sends the packets in it to pipeline instance. The packets are then released by SINK output port. This feature can be applied by specifying parameters in configuration file as shown be

[dpdk-dev] [PATCH v3 1/4] lib/librte_port: add PCAP file support to source port

2016-03-09 Thread Fan Zhang
Originally, source ports in librte_port is an input port used as packet generator. Similar to Linux kernel /dev/zero character device, it generates null packets. This patch adds optional PCAP file support to source port: instead of sending NULL packets, the source port generates packets copied from

[dpdk-dev] [PATCH v3 0/4] Add PCAP support to source and sink port

2016-03-09 Thread Fan Zhang
This patchset adds feature to source and sink type port in librte_port library, and to examples/ip_pipline. Originally, source/sink ports act as input and output of NULL packets generator. This patchset enables them read from and write to specific PCAP file, to generate and dump packets. v3: *adde

[dpdk-dev] [PATCH v9 2/2] eal: add function to check if primary proc alive

2016-03-09 Thread Thomas Monjalon
2016-03-09 13:37, Harry van Haaren: > This patch adds a new function to the EAL API: > int rte_eal_primary_proc_alive(const char *path); > > The function indicates if a primary process is alive right now. > This functionality is implemented by testing for a write- > lock on the config file, and th

  1   2   3   >