Re: [ovs-dev] [PATCH v1] travis: Add dpdk shared library build.

2019-01-16 Thread Lam, Tiago
is a useful addition. I've looked at the patch and it looks good to me. I haven't triggered a Travis build for this, I can see from the build history this builds successfully. Acked-by: Tiago Lam Tiago. ___ dev mailing list d...@openvswit

Re: [ovs-dev] [PATCH v1] Fix crash due to multiple tnl push action

2019-01-16 Thread Lam, Tiago
t. Further discussion and testing would be needed to move this forward... Tiago. [1] https://patchwork.ozlabs.org/patch/947145/ > -Original Message- > From: Lam, Tiago [mailto:tiago@intel.com] > Sent: Monday, July 02, 2018 11:27 PM > To: Anju Thomas ; Ben Pfaff > Cc

Re: [ovs-dev] [PATCH branch-2.9 1/1] netdev-dpdk: Fix flow control configuration.

2019-01-15 Thread Lam, Tiago
On 12/12/2018 22:18, Ian Stokes wrote: > From: Sugesh Chandran > > Currently devices that do not support configuring flow control via the eth_dev > API (e.g. SRIOV VFs) will fail during configuration setup when the interface > is added even if flow control is not requested. This is due to > rte_e

Re: [ovs-dev] [PATCH v2 0/3] dpdk: Add support for TSO

2019-01-14 Thread Lam, Tiago
On 14/01/2019 13:33, Ilya Maximets wrote: > On 14.01.2019 15:51, Ian Stokes wrote: >> On 1/11/2019 7:37 PM, Ian Stokes wrote: >>> On 1/11/2019 4:14 PM, Ilya Maximets wrote: Nothing significantly changed since the previous versions. This patch set effectively breaks following cases if mult

Re: [ovs-dev] [PATCH v2 0/3] dpdk: Add support for TSO

2019-01-13 Thread Lam, Tiago
On 11/01/2019 16:14, Ilya Maximets wrote: [snip] > > > > One more thing I wanted to mention is that I was surprised to not see > the performance comparison of TSO with usual Jumbo frames in your slides > on a recent OVS Conference [1]. You had a comparison slide with 1500 MTU, > TSO and th

Re: [ovs-dev] [PATCH v13 06/11] dp-packet: Add support for data "linearization".

2019-01-12 Thread Lam, Tiago
will benefit from less changes; - You mentioned function headers previously, I can see now you meant function header *comments*. I'll add those as well. Please let me know your thoughts. Tiago. On 11/01/2019 20:01, Darrell Ball wrote: > > > On Fri, Jan 11, 2019 at 1:43

Re: [ovs-dev] [PATCH v2 3/3] netdev-dpdk: Enable TSO when using multi-seg mbufs

2019-01-12 Thread Lam, Tiago
On 11/01/2019 16:02, Ian Stokes wrote: > On 1/10/2019 4:58 PM, Tiago Lam wrote: >> TCP Segmentation Offload (TSO) is a feature which enables the TCP/IP >> network stack to delegate segmentation of a TCP segment to the hardware >> NIC, thus saving compute resources. This may improve performance >> s

Re: [ovs-dev] [PATCH v2 0/3] dpdk: Add support for TSO

2019-01-11 Thread Lam, Tiago
On 11/01/2019 19:37, Ian Stokes wrote: > On 1/11/2019 4:14 PM, Ilya Maximets wrote: >> Nothing significantly changed since the previous versions. >> This patch set effectively breaks following cases if multi-segment >> mbufs enabled: >> > > Hi Ilya, thanks for your feedback. A few queries and clar

Re: [ovs-dev] [PATCH v2 0/3] dpdk: Add support for TSO

2019-01-11 Thread Lam, Tiago
On 11/01/2019 16:14, Ilya Maximets wrote: [snip] > One more thing I wanted to mention is that I was surprised to not see > the performance comparison of TSO with usual Jumbo frames in your slides > on a recent OVS Conference [1]. You had a comparison slide with 1500 MTU, > TSO and the kernel vhos

Re: [ovs-dev] [PATCH v2 2/3] netdev-dpdk: Consider packets marked for TSO.

2019-01-11 Thread Lam, Tiago
Hi Ian, Agreed with all that's said below and will work on the changes, just a small comment in-line. On 11/01/2019 12:26, Ian Stokes wrote: > On 1/10/2019 4:58 PM, Tiago Lam wrote: >> Previously, TSO was being explicity disabled on vhost interfaces, >> meaning the guests wouldn't have TSO suppor

Re: [ovs-dev] [PATCH v2 1/3] netdev-dpdk: Validate packets burst before Tx.

2019-01-11 Thread Lam, Tiago
Hi Ian, Thanks, comments in-line. On 11/01/2019 10:50, Ian Stokes wrote: > On 1/10/2019 4:58 PM, Tiago Lam wrote: >> Given that multi-segment mbufs might be sent between interfaces that >> support different capabilities, and may even support different layouts >> of mbufs, outgoing packets should

Re: [ovs-dev] [PATCH v13 06/11] dp-packet: Add support for data "linearization".

2019-01-11 Thread Lam, Tiago
On 11/01/2019 11:29, Ilya Maximets wrote: > Not a full review. > Comments inline. Thanks Ilya, responses in-line. > > Best regards, Ilya Maximets. > > On 09.01.2019 21:05, Tiago Lam wrote: >> Previous commits have added support to the dp_packet API to handle >> multi-segmented packets, where da

Re: [ovs-dev] [PATCH v13 06/11] dp-packet: Add support for data "linearization".

2019-01-11 Thread Lam, Tiago
On 11/01/2019 01:34, Darrell Ball wrote: > thanks; not a full review Thanks, responses in-line. > > On Wed, Jan 9, 2019 at 10:06 AM Tiago Lam > wrote: > > Previous commits have added support to the dp_packet API to handle > multi-segmented packets, where dat

Re: [ovs-dev] [PATCH v13 03/11] dp-packet: Handle multi-seg mbufs in helper funcs.

2019-01-10 Thread Lam, Tiago
On 10/01/2019 11:17, Ian Stokes wrote: > On 1/9/2019 6:05 PM, Tiago Lam wrote: >> Most helper functions in dp-packet assume that the data held by a >> dp_packet is contiguous, and perform operations such as pointer >> arithmetic under that assumption. However, with the introduction of >> multi-segm

Re: [ovs-dev] [PATCH v13 08/11] netdev-dpdk: support multi-segment jumbo frames

2019-01-10 Thread Lam, Tiago
Hi Ilya, On 10/01/2019 11:51, Ilya Maximets wrote: > On 09.01.2019 21:05, Tiago Lam wrote: >> From: Mark Kavanagh >> [snip] >> >> @@ -971,6 +1002,24 @@ dpdk_eth_dev_port_config(struct netdev_dpdk *dev, int >> n_rxq, int n_txq) >> } >> } >> >> +/* Multi-segment-mbuf-specif

Re: [ovs-dev] [PATCH v13 06/11] dp-packet: Add support for data "linearization".

2019-01-10 Thread Lam, Tiago
On 10/01/2019 09:12, David Marchand wrote: > On Thu, Jan 10, 2019 at 10:11 AM David Marchand > mailto:david.march...@redhat.com>> wrote: > > This part triggers build (non fatal o_O) warnings on fedora 28. > > > Oops, important. > This is when building without dpdk support. Hi David, Thanks

Re: [ovs-dev] [PATCH v13 06/11] dp-packet: Add support for data "linearization".

2019-01-10 Thread Lam, Tiago
On 10/01/2019 09:41, David Marchand wrote: > > On Thu, Jan 10, 2019 at 10:32 AM Lam, Tiago <mailto:tiago@intel.com>> wrote: > > On 10/01/2019 09:12, David Marchand wrote: > > On Thu, Jan 10, 2019 at 10:11 AM David Marchand > >

Re: [ovs-dev] [PATCH v3] netdev-dpdk: Add mbuf HEADROOM after alignment.

2018-11-29 Thread Lam, Tiago
On 28/11/2018 15:56, Stokes, Ian wrote: >> Commit dfaf00e started using the result of dpdk_buf_size() to calculate >> the available size on each mbuf, as opposed to using the previous >> MBUF_SIZE macro. However, this was calculating the mbuf size by adding up >> the MTU with RTE_PKTMBUF_HEADROOM a

Re: [ovs-dev] [PATCH v3] netdev-dpdk: Add mbuf HEADROOM after alignment.

2018-11-27 Thread Lam, Tiago
Ignore, this doesn't have the required v3 changes. On 27/11/2018 16:48, Tiago Lam wrote: > Commit dfaf00e started using the result of dpdk_buf_size() to calculate > the available size on each mbuf, as opposed to using the previous > MBUF_SIZE macro. However, this was calculating the mbuf size by a

Re: [ovs-dev] [PATCH] netdev-dpdk: Add mbuf HEADROOM after alignment.

2018-11-27 Thread Lam, Tiago
On 27/11/2018 16:10, Stokes, Ian wrote: >> On 27/11/2018 13:57, Stokes, Ian wrote: Commit dfaf00e started using the result of dpdk_buf_size() to calculate the available size on each mbuf, as opposed to using the previous MBUF_SIZE macro. However, this was calculating the mbuf size >>

Re: [ovs-dev] [PATCH] netdev-dpdk: Add mbuf HEADROOM after alignment.

2018-11-27 Thread Lam, Tiago
On 27/11/2018 13:57, Stokes, Ian wrote: >> Commit dfaf00e started using the result of dpdk_buf_size() to calculate >> the available size on each mbuf, as opposed to using the previous >> MBUF_SIZE macro. However, this was calculating the mbuf size by adding up >> the MTU with RTE_PKTMBUF_HEADROOM a

Re: [ovs-dev] [PATCH v12 2/3] dp-packet: Init specific mbuf fields.

2018-11-02 Thread Lam, Tiago
On 02/11/2018 17:39, Ilya Maximets wrote: > On 02.11.2018 19:45, Stokes, Ian wrote: >>> On 02/11/2018 10:35, Ilya Maximets wrote: On 02.11.2018 12:06, Tiago Lam wrote: > From: Mark Kavanagh > > dp_packets are created using xmalloc(); in the case of OvS-DPDK, it's > possible th

Re: [ovs-dev] [PATCH v12 2/3] dp-packet: Init specific mbuf fields.

2018-11-02 Thread Lam, Tiago
On 02/11/2018 10:35, Ilya Maximets wrote: > On 02.11.2018 12:06, Tiago Lam wrote: >> From: Mark Kavanagh >> >> dp_packets are created using xmalloc(); in the case of OvS-DPDK, it's >> possible the the resultant mbuf portion of the dp_packet contains >> random data. For some mbuf fields, specifical

Re: [ovs-dev] [PATCH v11 02/14] dp-packet: Init specific mbuf fields.

2018-11-02 Thread Lam, Tiago
On 01/11/2018 19:30, Stokes, Ian wrote: >> Hi Tiago, Ian, >> >> On Tue, Oct 16, 2018 at 02:28:56PM +, Stokes, Ian wrote: From: Mark Kavanagh dp_packets are created using xmalloc(); in the case of OvS-DPDK, it's possible the the resultant mbuf portion of the dp_packet c

Re: [ovs-dev] [PATCH 1/2] netdev-dpdk: Drop offload API for vhost ports.

2018-10-31 Thread Lam, Tiago
On 31/10/2018 11:40, Stokes, Ian wrote: >> On 31.10.2018 13:42, Stokes, Ian wrote: vhost ports are not DPDK eth ports and has no rte_flow API. Stop calling this API with DPDK_ETH_PORT_ID_INVALID to avoid time wasting and errors in log. Additionally, DPDK_FLOW_OFFLOAD_API de

Re: [ovs-dev] [PATCH v11 05/14] dp-packet: Fix data_len handling multi-seg mbufs.

2018-10-23 Thread Lam, Tiago
On 22/10/2018 11:31, Stokes, Ian wrote: >> When a dp_packet is from a DPDK source, and it contains multi-segment >> mbufs, the data_len is not equal to the packet size, pkt_len. Instead, the >> data_len of each mbuf in the chain should be considered while distributing >> the new (provided) size. >>

Re: [ovs-dev] [PATCH v11 01/14] netdev-dpdk: fix mbuf sizing

2018-10-18 Thread Lam, Tiago
Hi Ilya, Thanks for the comments, my replies are in-line. On 17/10/2018 17:30, Ilya Maximets wrote: > On 10.10.2018 19:22, Tiago Lam wrote: >> From: Mark Kavanagh >> >> There are numerous factors that must be considered when calculating >> the size of an mbuf: >> - the data portion of the mbuf m

Re: [ovs-dev] [PATCH v11 01/14] netdev-dpdk: fix mbuf sizing

2018-10-16 Thread Lam, Tiago
On 16/10/2018 14:46, Stokes, Ian wrote: >> From: Mark Kavanagh >> >> There are numerous factors that must be considered when calculating the >> size of an mbuf: >> - the data portion of the mbuf must be sized in accordance With Rx >> buffer alignment (typically 1024B). So, for example, in order

Re: [ovs-dev] [PATCH] Revert "Test the Python C JSON extension"

2018-10-16 Thread Lam, Tiago
On 15/10/2018 17:44, Ilya Maximets wrote: > This reverts commit a7be68a4d77791bbe02c37f7ad8ae60b02e5679e > and a subsequent commit 4617d1f6bd24c543f533f6485b42ebca6b0a8371. > There are too many issues with these patches. It's better to revert > them for now and make a separate fixed versions later

Re: [ovs-dev] [PATCH v11 09/14] dp-packet: Add support for data "linearization".

2018-10-12 Thread Lam, Tiago
On 11/10/2018 15:50, Eelco Chaudron wrote: > Hi Tiago, > > It has been a while since I reviewed this patchset, guess before my > summer holiday ;) > I picked this patch out of the set as it does not have my acked-by, and > I assume all the other which have it did not change too much to warrant

Re: [ovs-dev] [PATCH v10 00/14] Support multi-segment mbufs

2018-10-09 Thread Lam, Tiago
On 08/10/2018 18:04, Ilya Maximets wrote: > Current patch-set breaks a lot of STP unit tests: Thanks for pointing that out, I've fixed them now. I wasn't aware that those tests were running as part of that testsuite, so I'll start running that as well from now on. > > ##

Re: [ovs-dev] [PATCH v10 11/14] netdev-dpdk: support multi-segment jumbo frames

2018-10-05 Thread Lam, Tiago
On 03/10/2018 19:27, Flavio Leitner wrote: > On Fri, Sep 28, 2018 at 05:15:12PM +0100, Tiago Lam wrote: >> From: Mark Kavanagh >> >> Currently, jumbo frame support for OvS-DPDK is implemented by >> increasing the size of mbufs within a mempool, such that each mbuf >> within the pool is large enoug

Re: [ovs-dev] [PATCH v10 09/14] dp-packet: Add support for data "linearization".

2018-10-05 Thread Lam, Tiago
On 03/10/2018 19:26, Flavio Leitner wrote: > > Hi Tiago, > > There is a lot to digest in this patch, so I only have a general > comment about it for now. > > See below. > > On Fri, Sep 28, 2018 at 05:15:10PM +0100, Tiago Lam wrote: >> Previous commits have added support to the dp_packet API to

Re: [ovs-dev] [PATCH v10 10/14] netdev-dpdk: copy large packet to multi-seg. mbufs

2018-10-05 Thread Lam, Tiago
On 03/10/2018 19:27, Flavio Leitner wrote: > On Fri, Sep 28, 2018 at 05:15:11PM +0100, Tiago Lam wrote: >> From: Mark Kavanagh >> >> Currently, packets are only copied to a single segment in the function >> dpdk_do_tx_copy(). This could be an issue in the case of jumbo frames, >> particularly when

Re: [ovs-dev] [PATCH v10 08/14] dp-packet: copy data from multi-seg. DPDK mbuf

2018-10-05 Thread Lam, Tiago
On 03/10/2018 19:26, Flavio Leitner wrote: > On Fri, Sep 28, 2018 at 05:15:09PM +0100, Tiago Lam wrote: >> From: Michael Qiu >> >> When doing packet clone, if packet source is from DPDK driver, >> multi-segment must be considered, and copy the segment's data one by >> one. >> >> Also, lots of DPDK

Re: [ovs-dev] [PATCH v10 05/14] dp-packet: Fix data_len handling multi-seg mbufs.

2018-10-05 Thread Lam, Tiago
On 03/10/2018 19:26, Flavio Leitner wrote: > On Fri, Sep 28, 2018 at 05:15:06PM +0100, Tiago Lam wrote: >> When a dp_packet is from a DPDK source, and it contains multi-segment >> mbufs, the data_len is not equal to the packet size, pkt_len. Instead, >> the data_len of each mbuf in the chain should

Re: [ovs-dev] [PATCH v10 01/14] netdev-dpdk: fix mbuf sizing

2018-10-05 Thread Lam, Tiago
On 03/10/2018 19:25, Flavio Leitner wrote: > > Hi Tiago, > > Thanks for working on this. This is my first pass trying to wrap my head > around the whole thing, so I may have missed something. > > See below. > > On Fri, Sep 28, 2018 at 05:15:02PM +0100, Tiago Lam wrote: >> From: Mark Kavanagh >

Re: [ovs-dev] [PATCH] dp-packet.h: move funcs to be within cond block

2018-10-02 Thread Lam, Tiago
(Sending this again as yesterday's email seems to have been dropped.) Hi Flavio, Thanks for the patch. Looks good to me, it compiles with both DPDK and without DPDK linked, and the check-system-userspace tests pass. Acked-by: Tiago Lam On 25/09/2018 22:08, Flavio Leitner wrote: > There is alre

Re: [ovs-dev] [PATCH v5 6/6] system-dpdk: Connect network namespaces via dpdkvhostuser ports

2018-09-18 Thread Lam, Tiago
Hi Bala, On 14/09/2018 15:12, Bala Sankaran wrote: > This adds a few unit tests to the 'check-dpdk' subsystem that will > exercise allocations of two network namespaces, PMDs, and the > vhost-user and vhost-user-client code path(separate tests). > As part of the tests, userspace bridge is added an

Re: [ovs-dev] [PATCH v4 6/6] system-dpdk: Connect network namespaces via dpdkvhostuser ports

2018-09-11 Thread Lam, Tiago
On 10/09/2018 16:47, Bala Sankaran wrote: > Hello Tiago, > > Here's an incremental diff of the patch 6 which I tested. It looks to pass > the tests. I would be submitting the > new version (v5) applying these changes: > > diff --git a/tests/system-dpdk.at b/tests/system-dpdk.at > index baa74da..

Re: [ovs-dev] [PATCH v4 6/6] system-dpdk: Connect network namespaces via dpdkvhostuser ports

2018-09-05 Thread Lam, Tiago
On 04/09/2018 18:46, Bala Sankaran wrote: > - Original Message - >> From: "Tiago Lam" >> To: "Bala Sankaran" , d...@openvswitch.org >> Cc: "Aaron Conole" , "Ian Stokes" >> , "Ciara Loftus" >> Sent: Tuesday, 4 September, 2018 6:32:39 AM >> Subject: Re: [PATCH v4 6/6] system-dpdk: Conne

Re: [ovs-dev] [PATCH v9 00/14] Support multi-segment mbufs

2018-09-04 Thread Lam, Tiago
ntains these headers. In reality, >you can not be sure that all the headers are in the first segment. >For example in case of few levels of tunnelling. > > Best regards, Ilya Maximets. > > On 30.08.2018 10:36, Lam, Tiago wrote: >> Hi Ilya, >> >> Since you

Re: [ovs-dev] [PATCH v4 6/6] system-dpdk: Connect network namespaces via dpdkvhostuser ports

2018-09-04 Thread Lam, Tiago
On 31/08/2018 16:55, Bala Sankaran wrote: > This adds a few unit tests to the 'check-dpdk' subsystem that will > exercise allocations of two network namespaces, PMDs, and the > vhost-user and vhost-user-client code path(separate tests). > As part of the tests, userspace bridge is added and attached

Re: [ovs-dev] [PATCH v3 6/6] system-dpdk: Connect network namespaces via dpdkvhostuser ports

2018-08-31 Thread Lam, Tiago
Hi Aaron / Bala, Just a finding on vhostuserclient and vhostuser in-line below. On 29/08/2018 22:14, Aaron Conole wrote: > Bala Sankaran writes: > >> - Original Message - >>> From: "Tiago Lam" >>> To: "Bala Sankaran" , d...@openvswitch.org >>> Sent: Wednesday, 29 August, 2018 1:36:13 P

Re: [ovs-dev] [PATCH v9 00/14] Support multi-segment mbufs

2018-08-30 Thread Lam, Tiago
Hi Ilya, Thanks for the comments, I have some responses in-line. I'll cook up the fixes for the next iteration, but would be interested in getting on your views, mainly on 1., 2. and 3.. On 30/08/2018 12:06, Ilya Maximets wrote: > Hi, Tiago. I applied that whole patch-set and looked through the >

Re: [ovs-dev] [PATCH v9 00/14] Support multi-segment mbufs

2018-08-30 Thread Lam, Tiago
Hi Ilya, Since you've shown some concerns on the latest revision, does this address you concerns? More specifically, does patch 09/14 address the points you made on v7 of the series, where dp_packet_data() was being used to traverse the whole data, even if segmented? Thanks, Tiago. On 24/08/2018

Re: [ovs-dev] [PATCH v3 6/6] system-dpdk: Connect network namespaces via dpdkvhostuser ports

2018-08-29 Thread Lam, Tiago
Hi Bala, Thanks to both you and Aaron for working on this. Seems to be a great addition. As a general comment I agree with Ian that running everything on v17.11 would be preferable, as this would enable us to run this test on any given system, and not only when v18.11 is installed. But after read

Re: [ovs-dev] [PATCH v8 09/14] dp-packet: Add support for data "linearization".

2018-08-23 Thread Lam, Tiago
On 20/08/2018 18:44, Tiago Lam wrote: > Previous commits have added support to the dp_packet API to handle > multi-segmented packets, where data is not stored contiguously in > memory. However, in some cases, it is inevitable and data must be > provided contiguously. Examples of such cases are when

Re: [ovs-dev] [PATCH v7 00/13] Support multi-segment mbufs

2018-08-14 Thread Lam, Tiago
On 14/08/2018 11:17, Ilya Maximets wrote: > On 14.08.2018 12:45, Lam, Tiago wrote: >> On 09/08/2018 09:27, Ilya Maximets wrote: >>> Hmm. I found that this series modifies only dpdk related components >>> and doesn't pay any attention to others. >>>

Re: [ovs-dev] [PATCH v7 00/13] Support multi-segment mbufs

2018-08-14 Thread Lam, Tiago
On 09/08/2018 09:27, Ilya Maximets wrote: > Hmm. I found that this series modifies only dpdk related components > and doesn't pay any attention to others. > dp_packet API was modified to respect the segmented packets, but > there are many places, where code uses packet data directly using > only dp

Re: [ovs-dev] [PATCH v7 00/13] Support multi-segment mbufs

2018-08-09 Thread Lam, Tiago
On 09/08/2018 12:44, Ilya Maximets wrote: > On 09.08.2018 11:38, Lam, Tiago wrote: >> Hi Ilya, >> >> On 09/08/2018 09:27, Ilya Maximets wrote: >>> Hmm. I found that this series modifies only dpdk related components >>> and doesn't pay any attention

Re: [ovs-dev] [PATCH v7 00/13] Support multi-segment mbufs

2018-08-09 Thread Lam, Tiago
Hi Ilya, On 09/08/2018 09:27, Ilya Maximets wrote: > Hmm. I found that this series modifies only dpdk related components > and doesn't pay any attention to others. > dp_packet API was modified to respect the segmented packets, but > there are many places, where code uses packet data directly using

Re: [ovs-dev] [PATCH v7 07/13] dp-packet: Handle multi-seg mubfs in shift() func.

2018-08-07 Thread Lam, Tiago
Hi Ian, On 07/08/2018 13:08, Stokes, Ian wrote: >> In its current implementation dp_packet_shift() is also unaware of multi- >> seg mbufs (that holds data in memory non-contiguously) and assumes that >> data exists contiguously in memory, memmove'ing data to perform the shift. >> >> To add support

[ovs-dev] Resize of DPDK packets (was Re: [PATCH v6 00/13] Support multi-segment mbufs)

2018-07-25 Thread Lam, Tiago
On 24/07/2018 17:55, Ilya Maximets wrote: > Hi. > Just wanted to add some comments for the use-cases and testing methodology. > See inline. >> And I'm actually not sure if there any profit from this patch set? > It looks like an internal mbuf handling rework that only degrades > the performance and

Re: [ovs-dev] [PATCH v6 00/13] Support multi-segment mbufs

2018-07-24 Thread Lam, Tiago
Hi Ilya, Given the timeline, I'm replying in-line to the critical parts of the email (the ones that question the feature itself). I'll come back and reply to the rest later. On 24/07/2018 17:55, Ilya Maximets wrote: > Hi. > Just wanted to add some comments for the use-cases and testing methodolog

Re: [ovs-dev] [PATCH] Revert "dp-packet: Handle multi-seg mbufs in resize__()."

2018-07-24 Thread Lam, Tiago
Please discard this patch as it becomes obsolete with v6 of the "Support multi-segment mbufs" series. On 20/07/2018 18:11, Tiago Lam wrote: > This reverts commit bc4b614. The commit tries to alleviate the call to > OVS_NOT_REACHED() in dp_packet_resize__(), for DPDK packets, by trying > to reuse t

Re: [ovs-dev] OVS DPDK: dpdk_merge pull request for master

2018-07-24 Thread Lam, Tiago
On 20/07/2018 16:56, Ian Stokes wrote: > Hi Ben, > > The following changes since commit > 3c921cc2b6b760bd0db73fd629ee9614edc8914c: > >build: Add gitattribute file to build-aux (2018-07-19 21:02:33 +0300) > > are available in the git repository at: > >https://github.com/istokes/ovs dpd

Re: [ovs-dev] [PATCH v5 08/14] dp-packet: Handle multi-seg mbufs in resize__().

2018-07-24 Thread Lam, Tiago
On 23/07/2018 23:48, Darrell Ball wrote: > > > On Fri, Jul 20, 2018 at 10:10 AM, Lam, Tiago <mailto:tiago@intel.com>> wrote: > > On 19/07/2018 00:02, Darrell Ball wrote: > > > > > > On Tue, Jul 17, 2018 at 12:59 A

Re: [ovs-dev] [PATCH v5 08/14] dp-packet: Handle multi-seg mbufs in resize__().

2018-07-24 Thread Lam, Tiago
On 23/07/2018 23:55, Darrell Ball wrote: > > > On Fri, Jul 20, 2018 at 10:09 AM, Lam, Tiago <mailto:tiago@intel.com>> wrote: > > On 18/07/2018 23:53, Darrell Ball wrote: > > sorry, several distractions delayed response. > > > > O

Re: [ovs-dev] [PATCH v5 08/14] dp-packet: Handle multi-seg mbufs in resize__().

2018-07-20 Thread Lam, Tiago
On 19/07/2018 00:02, Darrell Ball wrote: > > > On Tue, Jul 17, 2018 at 12:59 AM, Lam, Tiago <mailto:tiago@intel.com>> wrote: > > On 16/07/2018 09:37, Lam, Tiago wrote: > > On 13/07/2018 18:54, Darrell Ball wrote: > >> Thanks for the patch.

Re: [ovs-dev] [PATCH v5 08/14] dp-packet: Handle multi-seg mbufs in resize__().

2018-07-20 Thread Lam, Tiago
On 18/07/2018 23:53, Darrell Ball wrote: > sorry, several distractions delayed response. > > On Mon, Jul 16, 2018 at 1:37 AM, Lam, Tiago <mailto:tiago@intel.com>> wrote: > > On 13/07/2018 18:54, Darrell Ball wrote: > > Thanks for the patch. >

Re: [ovs-dev] [PATCH v5 08/14] dp-packet: Handle multi-seg mbufs in resize__().

2018-07-17 Thread Lam, Tiago
On 16/07/2018 09:37, Lam, Tiago wrote: > On 13/07/2018 18:54, Darrell Ball wrote: >> Thanks for the patch. >> >> A few queries inline. >> > > Hi Darrell, > > Thanks for your inputs. I've replied in-line as well. > >> On Wed, Jul 11, 2018

Re: [ovs-dev] [PATCH v5 08/14] dp-packet: Handle multi-seg mbufs in resize__().

2018-07-16 Thread Lam, Tiago
On 13/07/2018 18:54, Darrell Ball wrote: > Thanks for the patch. > > A few queries inline. > Hi Darrell, Thanks for your inputs. I've replied in-line as well. > On Wed, Jul 11, 2018 at 11:23 AM, Tiago Lam > wrote: > > When enabled with DPDK OvS relies on mbufs

Re: [ovs-dev] [PATCH v5 01/14] netdev-dpdk: fix mbuf sizing

2018-07-12 Thread Lam, Tiago
On 12/07/2018 17:07, Ian Stokes wrote: > On 7/12/2018 4:40 PM, Lam, Tiago wrote: >> On 12/07/2018 14:37, Ian Stokes wrote: >>> On 7/11/2018 7:23 PM, Tiago Lam wrote: >>>> From: Mark Kavanagh >>>> >>>> There are numerous factors that must b

Re: [ovs-dev] [PATCH v5 01/14] netdev-dpdk: fix mbuf sizing

2018-07-12 Thread Lam, Tiago
On 12/07/2018 14:37, Ian Stokes wrote: > On 7/11/2018 7:23 PM, Tiago Lam wrote: >> From: Mark Kavanagh >> >> There are numerous factors that must be considered when calculating >> the size of an mbuf: >> - the data portion of the mbuf must be sized in accordance With Rx >>buffer alignment (typ

Re: [ovs-dev] [PATCH v4 01/15] netdev-dpdk: Differentiate between mtu/mbuf size.

2018-07-11 Thread Lam, Tiago
On 11/07/2018 12:40, Ian Stokes wrote: > On 7/10/2018 12:06 PM, Tiago Lam wrote: >> When configuring a mempool, in netdev_dpdk_mempool_configure(), the >> result of a call to dpdk_buf_size() is being used as the MTU. This, >> however, is not the MTU but a ROUND_UP aligned number based on the MTU, >

Re: [ovs-dev] [PATCH v4 12/15] netdev-dpdk: support multi-segment jumbo frames

2018-07-10 Thread Lam, Tiago
On 10/07/2018 13:53, Eelco Chaudron wrote: > > > On 10 Jul 2018, at 14:48, Lam, Tiago wrote: > [snip] >> >> A blatant leftover from the rebase. Thanks, Eelco. >> >> I'll wait for Ian's reply in patch 01/15 and take this into account >> fo

Re: [ovs-dev] [PATCH v4 12/15] netdev-dpdk: support multi-segment jumbo frames

2018-07-10 Thread Lam, Tiago
On 10/07/2018 13:40, Ilya Maximets wrote: > On 10.07.2018 15:30, Eelco Chaudron wrote: >> >> >> On 10 Jul 2018, at 13:06, Tiago Lam wrote: >> >>> From: Mark Kavanagh >>> >>> Currently, jumbo frame support for OvS-DPDK is implemented by >>> increasing the size of mbufs within a mempool, such that e

Re: [ovs-dev] [PATCH v4 01/15] netdev-dpdk: Differentiate between mtu/mbuf size.

2018-07-10 Thread Lam, Tiago
On 10/07/2018 12:06, Tiago Lam wrote: > When configuring a mempool, in netdev_dpdk_mempool_configure(), the > result of a call to dpdk_buf_size() is being used as the MTU. This, > however, is not the MTU but a ROUND_UP aligned number based on the MTU, > which could lead to the reuse of mempools eve

Re: [ovs-dev] [PATCH v3 00/14] Support multi-segment mbufs

2018-07-06 Thread Lam, Tiago
On 06/07/2018 09:51, Eelco Chaudron wrote: > > > On 5 Jul 2018, at 18:29, Tiago Lam wrote: > [snip] >> >> >> Performance notes (based on v8) >> = >> In order to test for regressions in performance, tests were run on top >> of master 88125d6 and v8 of this patchset, both with th

Re: [ovs-dev] [PATCH v2] dpdk: Support both shared and per port mempools.

2018-07-06 Thread Lam, Tiago
On 27/06/2018 14:58, Ian Stokes wrote: > This commit re-introduces the concept of shared mempools as the default > memory model for DPDK devices. Per port mempools are still available but > must be enabled explicitly by a user. > > OVS previously used a shared mempool model for ports with the same

Re: [ovs-dev] [PATCH v2 05/14] dp-packet: Fix data_len handling multi-seg mbufs.

2018-07-05 Thread Lam, Tiago
On 05/07/2018 09:59, Eelco Chaudron wrote: > > > On 4 Jul 2018, at 20:06, Tiago Lam wrote: > >> When a dp_packet is from a DPDK source, and it contains multi-segment >> mbufs, the data_len is not equal to the packet size, pkt_len. Instead, >> the data_len of each mbuf in the chain should be cons

Re: [ovs-dev] [PATCH v1 05/14] dp-packet: Fix data_len handling multi-seg mbufs.

2018-07-04 Thread Lam, Tiago
On 03/07/2018 11:22, Eelco Chaudron wrote: > > > On 28 Jun 2018, at 17:41, Tiago Lam wrote: > >> When a dp_packet is from a DPDK source, and it contains multi-segment >> mbufs, the data_len is not equal to the packet size, pkt_len. Instead, >> the data_len of each mbuf in the chain should be con

Re: [ovs-dev] [PATCH v1 04/14] netdev-dpdk: Serialise non-pmds mbufs' alloc/free.

2018-07-04 Thread Lam, Tiago
On 03/07/2018 10:49, Eelco Chaudron wrote: > > > On 28 Jun 2018, at 17:41, Tiago Lam wrote: > >> A new mutex, 'nonpmd_mp_mutex', has been introduced to serialise >> allocation and free operations by non-pmd threads on a given mempool. >> >> free_dpdk_buf() has been modified to make use of the in

Re: [ovs-dev] [PATCH v1] Fix crash due to multiple tnl push action

2018-07-02 Thread Lam, Tiago
On 25/06/2018 13:15, Anju Thomas wrote: > Hi Ben, > > We are facing multiple such crashes on different computes in our deployments. > Seems to be a pretty common problem in our setup. As you suggested, it would > be good if we can make the below changes as well.How do you suggest we > move

Re: [ovs-dev] [PATCH v8 01/13] netdev-dpdk: fix mbuf sizing

2018-06-28 Thread Lam, Tiago
On 12/06/2018 07:51, santosh wrote: > Hi, > > > On Monday 11 June 2018 09:51 PM, Tiago Lam wrote: >> From: Mark Kavanagh >> >> There are numerous factors that must be considered when calculating >> the size of an mbuf: >> - the data portion of the mbuf must be sized in accordance With Rx >> bu

Re: [ovs-dev] [PATCH v8 08/13] dp-packet: Handle multi-seg mubfs in shift() func.

2018-06-27 Thread Lam, Tiago
On 26/06/2018 13:28, Eelco Chaudron wrote: > > > On 22 Jun 2018, at 21:04, Lam, Tiago wrote: > >> On 18/06/2018 12:55, Eelco Chaudron wrote: >>> >>> >>> On 11 Jun 2018, at 18:21, Tiago Lam wrote: >>> >>>> In its current implem

Re: [ovs-dev] [PATCH v8 06/13] dp-packet: Handle multi-seg mbufs in helper funcs.

2018-06-27 Thread Lam, Tiago
On 26/06/2018 11:31, Eelco Chaudron wrote: > > > On 22 Jun 2018, at 21:04, Lam, Tiago wrote: > >> On 18/06/2018 12:50, Eelco Chaudron wrote: >>> >>> >>> On 11 Jun 2018, at 18:21, Tiago Lam wrote: >>> >>>> Most helper funct

Re: [ovs-dev] [PATCH v8 00/13] Support multi-segment mbufs

2018-06-27 Thread Lam, Tiago
On 26/06/2018 14:23, Eelco Chaudron wrote: > > > On 22 Jun 2018, at 21:02, Lam, Tiago wrote: > >> Hi Eelco, >> >> On 18/06/2018 12:18, Eelco Chaudron wrote: >>> >>> >>> On 11 Jun 2018, at 18:21, Tiago Lam wrote: >>> >> >

Re: [ovs-dev] [PATCH v8 12/13] netdev-dpdk: support multi-segment jumbo frames

2018-06-22 Thread Lam, Tiago
On 18/06/2018 14:16, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > >> From: Mark Kavanagh >> [snip] >> >> diff --git a/vswitchd/vswitch.xml b/vswitchd/vswitch.xml >> index 1e27a02..cbe4650 100644 >> --- a/vswitchd/vswitch.xml >> +++ b/vswitchd/vswitch.xml >> @@ -331

Re: [ovs-dev] [PATCH v8 11/13] netdev-dpdk: copy large packet to multi-seg. mbufs

2018-06-22 Thread Lam, Tiago
On 18/06/2018 14:15, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > >> From: Mark Kavanagh >> >> Currently, packets are only copied to a single segment in the function >> dpdk_do_tx_copy(). This could be an issue in the case of jumbo frames, >> particularly when multi-

Re: [ovs-dev] [PATCH v8 10/13] dp-packet: copy data from multi-seg. DPDK mbuf

2018-06-22 Thread Lam, Tiago
On 18/06/2018 14:10, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > >> From: Michael Qiu >> >> When doing packet clone, if packet source is from DPDK driver, >> multi-segment must be considered, and copy the segment's data one by >> one. >> >> Also, lots of DPDK mbuf's

Re: [ovs-dev] [PATCH v8 09/13] dp-packet: Handle multi-seg mbufs in resize__().

2018-06-22 Thread Lam, Tiago
On 18/06/2018 14:06, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > >> When enabled with DPDK OvS relies on mbufs allocated by mempools to >> receive and output data on DPDK ports. Until now, each OvS dp_packet >> has >> had only one mbuf associated, which is allocated

Re: [ovs-dev] [PATCH v8 08/13] dp-packet: Handle multi-seg mubfs in shift() func.

2018-06-22 Thread Lam, Tiago
On 18/06/2018 12:55, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > >> In its current implementation dp_packet_shift() is also unaware of >> multi-seg mbufs (that holds data in memory non-contiguously) and >> assumes >> that data exists contiguously in memory, memmove'

Re: [ovs-dev] [PATCH v8 07/13] dp-packet: Handle multi-seg mbufs in put_uninit().

2018-06-22 Thread Lam, Tiago
On 18/06/2018 12:52, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > >> The dp_packet_put_uninit() function is, in its current implementation, >> operating on the data buffer of a dp_packet as if it were contiguous, >> which in the case of multi-segment mbufs means they

Re: [ovs-dev] [PATCH v8 06/13] dp-packet: Handle multi-seg mbufs in helper funcs.

2018-06-22 Thread Lam, Tiago
On 18/06/2018 12:50, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > >> Most helper functions in dp-packet assume that the data held by a >> dp_packet is contiguous, and perform operations such as pointer >> arithmetic under that assumption. However, with the introductio

Re: [ovs-dev] [PATCH v8 05/13] dp-packet: Fix data_len handling multi-seg mbufs.

2018-06-22 Thread Lam, Tiago
On 18/06/2018 12:39, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > >> When a dp_packet is from a DPDK source, and it contains multi-segment >> mbufs, the data_len is not equal to the packet size, pkt_len. Instead, >> the data_len of each mbuf in the chain should be con

Re: [ovs-dev] [PATCH v8 04/13] netdev-dpdk: Serialise non-pmds mbufs' alloc/free.

2018-06-22 Thread Lam, Tiago
On 18/06/2018 12:28, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > >> A new mutex, 'nonpmd_mp_mutex', has been introduced to serialise >> allocation and free operations by non-pmd threads on a given mempool. >> > > Can you explain why we need the mutex here? Can't see

Re: [ovs-dev] [PATCH v8 02/13] dp-packet: Init specific mbuf fields.

2018-06-22 Thread Lam, Tiago
On 18/06/2018 12:23, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > >> From: Mark Kavanagh >> >> dp_packets are created using xmalloc(); in the case of OvS-DPDK, it's >> possible the the resultant mbuf portion of the dp_packet contains >> random data. For some mbuf fie

Re: [ovs-dev] [PATCH v8 01/13] netdev-dpdk: fix mbuf sizing

2018-06-22 Thread Lam, Tiago
On 18/06/2018 12:20, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > [snip] >> >> @@ -626,13 +622,31 @@ dpdk_mp_create(struct netdev_dpdk *dev, int mtu) >>netdev_name, n_mbufs, socket_id, >>dev->requested_n_rxq, dev->requested_n_

Re: [ovs-dev] [PATCH v8 00/13] Support multi-segment mbufs

2018-06-22 Thread Lam, Tiago
Hi Eelco, On 18/06/2018 12:18, Eelco Chaudron wrote: > > > On 11 Jun 2018, at 18:21, Tiago Lam wrote: > [snip] >> Performance notes >> = >> In order to test for regressions in performance, tests were run on top >> of master 88125d6 and v8 of this patchset, both with the multi-

Re: [ovs-dev] [PATCH v8 07/13] dp-packet: Handle multi-seg mbufs in put*() funcs.

2018-06-11 Thread Lam, Tiago
Please dismiss this one as it was sent by mistake. The other 07/13 patch ("dp-packet: Handle multi-seg mbufs in put_uninit().") is the correct one for the series. On 11/06/2018 17:21, Tiago Lam wrote: > The dp_packet_put*() function - dp_packet_put_uninit(), dp_packet_put() > and dp_packet_put_zer

Re: [ovs-dev] [RFC v7 11/13] netdev-dpdk: copy large packet to multi-seg. mbufs

2018-06-08 Thread Lam, Tiago
On 05/06/2018 13:03, Ilya Maximets wrote: > On 23.05.2018 19:47, Tiago Lam wrote: >> From: Mark Kavanagh >> >> Currently, packets are only copied to a single segment in >> the function dpdk_do_tx_copy(). This could be an issue in >> the case of jumbo frames, particularly when multi-segment >> mbuf

Re: [ovs-dev] [RFC v7 00/13] Support multi-segment mbufs

2018-06-07 Thread Lam, Tiago
On 07/06/2018 13:48, Eelco Chaudron wrote: > I'm planning on reviewing this patchset, but when I applied the patch to > master and tried to start OVS it crashed: > > #0  eth_compose (b=b@entry=0x7ffebedf7b00, eth_dst=..., eth_src=..., > eth_type=, size=size@entry=0) at lib/packets.c:965 > #1  0x

Re: [ovs-dev] [RFC v7 00/13] Support multi-segment mbufs

2018-05-30 Thread Lam, Tiago
Hi Ciara, Thank you for the review! I've replied to some of the emails, which could do with some explanation. I agree with most comments though, and will include fixes for the next iteration. On 28/05/2018 16:39, Loftus, Ciara wrote:> > Hi Tiago, > > Thanks for the patch. I've reviewed the code

Re: [ovs-dev] [RFC v7 06/13] dp-packet: Handle multi-seg mbufs in put*() funcs.

2018-05-30 Thread Lam, Tiago
On 28/05/2018 16:42, Loftus, Ciara wrote: >> >> The dp_packet_put*() function - dp_packet_put_uninit(), dp_packet_put() >> and dp_packet_put_zeros() - are, in their current implementation, >> operating on the data buffer of a dp_packet as if it were contiguous, >> which in the case of multi-segment

Re: [ovs-dev] [RFC v7 05/13] dp-packet: Handle multi-seg mbufs in helper funcs.

2018-05-30 Thread Lam, Tiago
On 28/05/2018 16:41, Loftus, Ciara wrote: >> >> Most helper functions in dp-packet assume that the data held by a >> dp_packet is contiguous, and perform operations such as pointer >> arithmetic under that assumption. However, with the introduction of >> multi-segment mbufs, where data is non-conti

Re: [ovs-dev] [RFC PATCH v1] dpdk: Support both shared and per port mempools.

2018-05-27 Thread Lam, Tiago
Hi Kevin, On 25/05/2018 18:22, Kevin Traynor wrote: > Hi Tiago, > [snip] >>> + >>> +static struct dpdk_mp * >>> +dpdk_mp_get(struct netdev_dpdk *dev, int mtu, bool per_port_mp) >>> +{ >>> +struct dpdk_mp *dmp; >>> +bool reuse = false; >>> >>> ovs_mutex_lock(&dpdk_mp_mutex); >>> -

Re: [ovs-dev] [RFC PATCH v1] dpdk: Support both shared and per port mempools.

2018-05-25 Thread Lam, Tiago
Hi Ian, Thanks for bringing this forward. I've tested this on current master by re-configuring MTUs of existing ports, adding new ports, deleting existing ones, etc. It seems to be behaving as expected: - On the shared model, it allocates a new mempool only if the MTU changes, otherwise reuses th

Re: [ovs-dev] [RFC v6 00/11] Support multi-segment mbufs

2018-05-17 Thread Lam, Tiago
Hi Ilya, Thanks for having look, much appreciated! On 17/05/2018 14:26, Ilya Maximets wrote: > Hello. > Thanks for working on this. But it seems that this patch > completely breaks build without dpdk. There are a lot of places > where dpdk functions in use regardless of define DPDK_NETDEV. Thank

  1   2   >