Re: [dpdk-dev] [RFC 0/4] SocketPair Broker support for vhost and virtio-user.

2021-03-23 Thread Billy McFall
ocations and will ask docker/podman to start a container > >>>with all mount points, devices and environment variables from > >>>the pod annotation. > >>> > >>> 6. docker/podman starts a container. > >>>Need to mention here that in many cases initial process of > >>>a container is not the actual application that will use a > >>>vhost-user connection, but likely a shell that will invoke > >>>the actual application. > >>> > >>> 7. Application starts inside the container, checks the environment > >>>variables (actually, checking of environment variables usually > >>>happens in a shell script that invokes the application with > >>>correct arguments) and creates a net_virtio_user port in server > >>>mode. At this point socket file will be created. > >>>(since we're running third-party application inside the container > >>> we can only assume that it will do what is written here, it's > >>> a responsibility of an application developer to do the right > >>> thing.) > >>> > >>> 8. OVS successfully re-connects to the newly created socket in a > >>>shared directory and vhost-user protocol establishes the network > >>>connectivity. > >>> > >>> As you can wee, there are way too many entities and communication > >>> methods involved. So, passing a pre-opened file descriptor from > >>> CNI all the way down to application is not that easy as it is in > >>> case of QEMU+LibVirt. > >> > >> File descriptor passing isn't necessary if OVS owns the listen socket > >> and the application container is the one who connects. That's why I > >> asked why dpdkvhostuser was deprecated in another email. The benefit of > >> doing this would be that the application container can instantly connect > >> to OVS without a sleep loop. > >> > >> I still don't get the attraction of the broker idea. The pros: > >> + Overcomes the issue with stale UNIX domain socket files > >> + Eliminates the re-connect sleep loop > >> > >> Neutral: > >> * vhost-user UNIX domain socket directory container volume is replaced > >> by broker UNIX domain socket bind mount > >> * UNIX domain socket naming conflicts become broker key naming conflicts > >> > >> The cons: > >> - Requires running a new service on the host with potential security > >> issues > >> - Requires support in third-party applications, QEMU, and DPDK/OVS > >> - The old code must be kept for compatibility with non-broker > >> configurations, especially since third-party applications may not > >> support the broker. Developers and users will have to learn about both > >> options and decide which one to use. > >> > >> This seems like a modest improvement for the complexity and effort > >> involved. The same pros can be achieved by: > >> * Adding unlink(2) to rte_vhost (or applications can add rm -f > >> $PATH_TO_SOCKET to their docker-entrypoint.sh). The disadvantage is > >> it doesn't catch a misconfiguration where the user launches two > >> processes with the same socket path. > >> * Reversing the direction of the client/server relationship to > >> eliminate the re-connect sleep loop at startup. I'm unsure whether > >> this is possible. > >> > >> That said, the broker idea doesn't affect the vhost-user protocol itself > >> and is more of an OVS/DPDK topic. I may just not be familiar enough with > >> OVS/DPDK to understand the benefits of the approach. > >> > >> Stefan > >> > > > > -- *Billy McFall* Networking Group CTO Office *Red Hat*

[dpdk-dev] [PATCH v8 3/3] net/vhost: vHost support to free consumed buffers

2017-03-24 Thread Billy McFall
Add support to the vHostdriver for the new API to force free consumed buffers on Tx ring. vHost does not cache the mbufs so there is no work to do. Signed-off-by: Billy McFall Acked-by: Maxime Coquelin Acked-by: Keith Wiles --- doc/guides/nics/features/vhost.ini | 1 + drivers/net/vhost

[dpdk-dev] [PATCH v8 2/3] net/e1000: e1000 igb support to free consumed buffers

2017-03-24 Thread Billy McFall
slot in the ring as needed. However, it could be implemented at some future date. Signed-off-by: Billy McFall Acked-by: Wenzhuo Lu Acked-by: Keith Wiles --- doc/guides/nics/features/e1000.ini | 1 + drivers/net/e1000/e1000_ethdev.h | 2 + drivers/net/e1000/igb_ethdev.c | 1 + drivers

[dpdk-dev] [PATCH v8 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-03-24 Thread Billy McFall
Add a new API to force free consumed buffers on Tx ring. API will return the number of packets freed (0-n) or error code if feature not supported (-ENOTSUP) or input invalid (-ENODEV). Signed-off-by: Billy McFall Acked-by: Keith Wiles --- doc/guides/conf.py | 7

[dpdk-dev] [PATCH v8 0/3] new API to free consumed buffers in Tx ring

2017-03-24 Thread Billy McFall
ge comments. * Moved documentation content from the mempool documentation to the ethdev documentation. --- v8: * Update Program's Guide documentation per patch comments. Acked-by: Keith Wiles Billy McFall (3): ethdev: new API to free consumed buffers in Tx ring net/e1000: e1000 igb support

Re: [dpdk-dev] [PATCH v7 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-03-24 Thread Billy McFall
On Fri, Mar 24, 2017 at 8:46 AM, Olivier Matz wrote: > Hi Billy, > > On Thu, 23 Mar 2017 09:32:14 -0400, Billy McFall > wrote: > > Thank you for your comments. See inline. > > > > On Thu, Mar 23, 2017 at 6:37 AM, Olivier MATZ > > wrote: > > > > &

Re: [dpdk-dev] [PATCH v7 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-03-23 Thread Billy McFall
Thank you for your comments. See inline. On Thu, Mar 23, 2017 at 6:37 AM, Olivier MATZ wrote: > Hi Billy, > > On Wed, 15 Mar 2017 14:02:24 -0400, Billy McFall > wrote: > > Add a new API to force free consumed buffers on Tx ring. API will return > > the number of pack

[dpdk-dev] [PATCH v7 3/3] net/vhost: vHost support to free consumed buffers

2017-03-15 Thread Billy McFall
Add support to the vHostdriver for the new API to force free consumed buffers on Tx ring. vHost does not cache the mbufs so there is no work to do. Signed-off-by: Billy McFall Acked-by: Maxime Coquelin --- doc/guides/nics/features/vhost.ini | 1 + drivers/net/vhost/rte_eth_vhost.c | 11

[dpdk-dev] [PATCH v7 2/3] net/e1000: e1000 igb support to free consumed buffers

2017-03-15 Thread Billy McFall
slot in the ring as needed. However, it could be implemented at some future date. Signed-off-by: Billy McFall Acked-by: Wenzhuo Lu --- doc/guides/nics/features/e1000.ini | 1 + drivers/net/e1000/e1000_ethdev.h | 2 + drivers/net/e1000/igb_ethdev.c | 1 + drivers/net/e1000/igb_rxtx.c

[dpdk-dev] [PATCH v7 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-03-15 Thread Billy McFall
Add a new API to force free consumed buffers on Tx ring. API will return the number of packets freed (0-n) or error code if feature not supported (-ENOTSUP) or input invalid (-ENODEV). Signed-off-by: Billy McFall --- doc/guides/conf.py | 7 +-- doc/guides/nics/features

[dpdk-dev] [PATCH v7 0/3] new API to free consumed buffers in Tx ring

2017-03-15 Thread Billy McFall
ge comments. * Moved documentation content from the mempool documentation to the ethdev documentation. Billy McFall (3): ethdev: new API to free consumed buffers in Tx ring net/e1000: e1000 igb support to free consumed buffers net/vhost: vHost support to free consumed buffers

Re: [dpdk-dev] [PATCH v6 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-03-15 Thread Billy McFall
On Wed, Mar 15, 2017 at 6:29 AM, Olivier Matz wrote: > Hi Billy, > > On Thu, 9 Mar 2017 15:51:17 -0500, Billy McFall > wrote: > > Add a new API to force free consumed buffers on Tx ring. API will return > > the number of packets freed (0-n) or error code if feature not

[dpdk-dev] [PATCH v6 3/3] net/vhost: vHost support to free consumed buffers

2017-03-09 Thread Billy McFall
Add support to the vHostdriver for the new API to force free consumed buffers on Tx ring. vHost does not cache the mbufs so there is no work to do. Signed-off-by: Billy McFall --- doc/guides/nics/features/vhost.ini | 1 + drivers/net/vhost/rte_eth_vhost.c | 11 +++ 2 files changed, 12

[dpdk-dev] [PATCH v6 2/3] net/e1000: e1000 igb support to free consumed buffers

2017-03-09 Thread Billy McFall
slot in the ring as needed. However, it could be implemented at some future date. Signed-off-by: Billy McFall --- doc/guides/nics/features/e1000.ini | 1 + drivers/net/e1000/e1000_ethdev.h | 2 + drivers/net/e1000/igb_ethdev.c | 1 + drivers/net/e1000/igb_rxtx.c | 126

[dpdk-dev] [PATCH v6 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-03-09 Thread Billy McFall
y. Signed-off-by: Billy McFall --- doc/guides/conf.py | 7 +-- doc/guides/nics/features/default.ini | 4 +++- doc/guides/prog_guide/mempool_lib.rst | 26 ++ doc/guides/rel_notes/release_17_05.rst | 7 ++- lib/librte_ether/rte_ethdev.c

[dpdk-dev] [PATCH v6 0/3] new API to free consumed buffers in Tx ring

2017-03-09 Thread Billy McFall
PI is independent of tx_rs_thresh. * Will address the rte_errno comment in a separate merge. Billy McFall (3): ethdev: new API to free consumed buffers in Tx ring net/e1000: e1000 igb support to free consumed buffers net/vhost: vHost support to free consumed buffers doc/guides/conf.py

Re: [dpdk-dev] [PATCH v5 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-03-09 Thread Billy McFall
On Tue, Mar 7, 2017 at 11:03 AM, Thomas Monjalon wrote: > 2017-03-07 09:29, Billy McFall: > > On Mon, Feb 27, 2017 at 8:48 AM, Thomas Monjalon < > thomas.monja...@6wind.com> > > wrote: > > > I think you could use rte_errno (while keeping negative return codes). &

Re: [dpdk-dev] [PATCH v5 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-03-07 Thread Billy McFall
Thomas, Thanks for your comments. See inline. On Mon, Feb 27, 2017 at 8:48 AM, Thomas Monjalon wrote: > 2017-01-27 13:37, Billy McFall: > > --- a/doc/guides/nics/features/default.ini > > +++ b/doc/guides/nics/features/default.ini > > @@ -55,6 +55,7 @@ FW version

[dpdk-dev] [PATCH v5 3/3] net/vhost: vHost support to free consumed buffers

2017-01-27 Thread Billy McFall
Add support to the vHostdriver for the new API to force free consumed buffers on Tx ring. vHost does not cache the mbufs so there is no work to do. Signed-off-by: Billy McFall --- doc/guides/nics/features/vhost.ini | 1 + drivers/net/vhost/rte_eth_vhost.c | 11 +++ 2 files changed, 12

[dpdk-dev] [PATCH v5 2/3] net/e1000: e1000 igb support to free consumed buffers

2017-01-27 Thread Billy McFall
Add support to the e1000 igb driver for the new API to force free consumed buffers on Tx ring. e1000 igb driver does not implement a tx_rs_thresh to free mbufs, it frees a slot in the ring as needed, so a new function needed to be written. Signed-off-by: Billy McFall --- doc/guides/nics

[dpdk-dev] [PATCH v5 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-01-27 Thread Billy McFall
Add a new API to force free consumed buffers on Tx ring. API will return the number of packets freed (0-n) or error code if feature not supported (-ENOTSUP) or input invalid (-ENODEV). Signed-off-by: Billy McFall --- doc/guides/nics/features/default.ini | 1 + doc/guides/prog_guide

[dpdk-dev] [PATCH v5 0/3] new API to free consumed buffers in Tx ring

2017-01-27 Thread Billy McFall
white space in rte_ethdev.h. * Removed inline of new API function in rte_ethdev.h. --- v4: * Added new API to documentation of per nic supported features. --- v5: * Added documentation to the Programmer's Guide. Billy McFall (3): ethdev: new API to free consumed buffers in Tx ring net/

[dpdk-dev] [PATCH v4 3/3] net/vhost: vHost support to free consumed buffers

2017-01-23 Thread Billy McFall
Add support to the vHostdriver for the new API to force free consumed buffers on Tx ring. vHost does not cache the mbufs so there is no work to do. Signed-off-by: Billy McFall --- doc/guides/nics/features/vhost.ini | 1 + drivers/net/vhost/rte_eth_vhost.c | 11 +++ 2 files changed, 12

[dpdk-dev] [PATCH v4 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-01-23 Thread Billy McFall
Add a new API to force free consumed buffers on Tx ring. API will return the number of packets freed (0-n) or error code if feature not supported (-ENOTSUP) or input invalid (-ENODEV). Signed-off-by: Billy McFall --- doc/guides/nics/features/default.ini | 1 + lib/librte_ether/rte_ethdev.c

[dpdk-dev] [PATCH v4 2/3] net/e1000: e1000 igb support to free consumed buffers

2017-01-23 Thread Billy McFall
Add support to the e1000 igb driver for the new API to force free consumed buffers on Tx ring. e1000 igb driver does not implement a tx_rs_thresh to free mbufs, it frees a slot in the ring as needed, so a new function needed to be written. Signed-off-by: Billy McFall --- doc/guides/nics

[dpdk-dev] [PATCH v4 0/3] new API to free consumed buffers in Tx ring

2017-01-23 Thread Billy McFall
white space in rte_ethdev.h. * Removed inline of new API function in rte_ethdev.h. --- v4: * Added new API to documentation of per nic supported features. Billy McFall (3): ethdev: new API to free consumed buffers in Tx ring net/e1000: e1000 igb support to free consumed buffers net/vhost

Re: [dpdk-dev] [PATCH v3 2/3] net/e1000: e1000 igb support to free consumed buffers

2017-01-23 Thread Billy McFall
cached. So this API is intended to be called on an as need basis, not on every packet. When either a particular mbuf is desired or the mbufs for a particular interface need to be released. Hope this helps, Billy McFall On Sat, Jan 21, 2017 at 10:47 PM, Lu, Wenzhuo wrote: > Hi Bi

[dpdk-dev] [PATCH v3 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-01-20 Thread Billy McFall
Add a new API to force free consumed buffers on Tx ring. API will return the number of packets freed (0-n) or error code if feature not supported (-ENOTSUP) or input invalid (-ENODEV). Signed-off-by: Billy McFall --- lib/librte_ether/rte_ethdev.c | 14 ++ lib/librte_ether

[dpdk-dev] [PATCH v3 2/3] net/e1000: e1000 igb support to free consumed buffers

2017-01-20 Thread Billy McFall
Add support to the e1000 igb driver for the new API to force free consumed buffers on Tx ring. e1000 igb driver does not implement a tx_rs_thresh to free mbufs, it frees a slot in the ring as needed, so a new function needed to be written. Signed-off-by: Billy McFall --- drivers/net/e1000

[dpdk-dev] [PATCH v3 3/3] net/vhost: vHost support to free consumed buffers

2017-01-20 Thread Billy McFall
Add support to the vHostdriver for the new API to force free consumed buffers on Tx ring. vHost does not cache the mbufs so there is no work to do. Signed-off-by: Billy McFall --- drivers/net/vhost/rte_eth_vhost.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/net

[dpdk-dev] [PATCH v3 0/3] new API to free consumed buffers in Tx ring

2017-01-20 Thread Billy McFall
: * Removed extra white space in rte_ethdev.h. * Removed inline of new API function in rte_ethdev.h. Billy McFall (3): ethdev: new API to free consumed buffers in Tx ring net/e1000: e1000 igb support to free consumed buffers net/vhost: vHost support to free consumed buffers drivers/net

Re: [dpdk-dev] [PATCH v2 3/3] net/vhost: vHost support to free consumed buffers

2017-01-20 Thread Billy McFall
If return value is >= 0, keep polling until the desired mbuf is returned (reference count decremented). Let me know if this doesn't answer the question or I am missing your point. Thanks, Billy McFall On Wed, Jan 11, 2017 at 8:39 PM, Stephen Hemminger < step...@networkplumber.org> w

[dpdk-dev] [PATCH v2 0/3] new API to free consumed buffers in Tx ring

2017-01-11 Thread Billy McFall
existing API will not provided enough feedback to application. Application needs to know if feature is supported and driver is attempting to free mbufs or not. * If new API is supported, second open issue is if parameter free_cnt should be included. It was in the original feature request. Billy

[dpdk-dev] [PATCH v2 3/3] net/vhost: vHost support to free consumed buffers

2017-01-11 Thread Billy McFall
Add support to the vHostdriver for the new API to force free consumed buffers on Tx ring. vHost does not cache the mbufs so there is no work to do. Signed-off-by: Billy McFall --- drivers/net/vhost/rte_eth_vhost.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/net

[dpdk-dev] [PATCH v2 2/3] net/e1000: e1000 igb support to free consumed buffers

2017-01-11 Thread Billy McFall
Add support to the e1000 igb driver for the new API to force free consumed buffers on Tx ring. e1000 igb driver does not implement a tx_rs_thresh to free mbufs, it frees a slot in the ring as needed, so a new function needed to be written. Signed-off-by: Billy McFall --- drivers/net/e1000

[dpdk-dev] [PATCH v2 1/3] ethdev: new API to free consumed buffers in Tx ring

2017-01-11 Thread Billy McFall
Add a new API to force free consumed buffers on Tx ring. API will return the number of packets freed (0-n) or error code if feature not supported (-ENOTSUP) or input invalid (-ENODEV). Signed-off-by: Billy McFall --- lib/librte_ether/rte_ethdev.h | 43

Re: [dpdk-dev] [PATCH 3/3] driver: vHost support to free consumed buffers

2017-01-11 Thread Billy McFall
turn 0, the application can't take any additional actions. Submitting V2 of the patch with the rte_eth_tx_buffer_flush() call and associated parameters removed and to continue the discussion on new API or not. Thanks, Billy McFall On Fri, Dec 16, 2016 at 11:24 AM, Stephen Hemmi

Re: [dpdk-dev] [PATCH 1/3] ethdev: New API to free consumed buffers in TX ring

2016-12-20 Thread Billy McFall
alf Of Adrien Mazarguil >> > Sent: Tuesday, December 20, 2016 11:28 AM >> > To: Billy McFall >> > Cc: thomas.monja...@6wind.com; Lu, Wenzhuo ; >> > dev@dpdk.org; Stephen Hemminger >> > >> > Subject: Re: [dpdk-dev] [PATCH 1/3] ethdev: New API to fr

[dpdk-dev] [PATCH 1/3] ethdev: New API to free consumed buffers in TX ring

2016-12-16 Thread Billy McFall
*buffer and *sent. Before attempting to free, rte_eth_tx_buffer_flush() is called to make sure all mbufs are sent to Tx ring. rte_eth_tx_buffer_flush() is called even if threshold is not met. Signed-off-by: Billy McFall --- lib/librte_ether/rte_ethdev.h | 56

[dpdk-dev] [PATCH 3/3] driver: vHost support to free consumed buffers

2016-12-16 Thread Billy McFall
Add support to the vHostdriver for the new API to force free consumed buffers on TX ring. vHost does not cache the mbufs so there is no work to do. Signed-off-by: Billy McFall --- drivers/net/vhost/rte_eth_vhost.c | 11 +++ 1 file changed, 11 insertions(+) diff --git a/drivers/net

[dpdk-dev] [PATCH 2/3] driver: e1000 igb support to free consumed buffers

2016-12-16 Thread Billy McFall
Add support to the e1000 igb driver for the new API to force free consumed buffers on TX ring. e1000 igb driver does not implement a tx_rs_thresh to free mbufs, it frees a slot in the ring as needed, so a new function needed to be written. Signed-off-by: Billy McFall --- drivers/net/e1000

[dpdk-dev] [PATCH 0/3] New API to free consumed buffers in TX ring

2016-12-16 Thread Billy McFall
). API for e1000 igb driver and vHost driver have been implemented. Other drivers can be implemented over time. Some drivers implement a TX done flush routine that should be reused where possible. e1000 igb driver and vHost driver do not have such functions. Billy McFall (3): ethdev: New API to free