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*
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
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
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
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
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:
> >
> > &
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
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
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
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
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
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
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
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
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
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
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).
&
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
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
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
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
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/
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
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
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
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
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
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
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
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
:
* 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
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
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
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
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
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
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
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
*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
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
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
).
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
42 matches
Mail list logo