DPDK usage discussions
 help / color / mirror / Atom feed
* Connecting two DPDK applications through fake virtual functions
@ 2022-03-17  9:29 Antonio Di Bacco
  2022-03-17 13:26 ` Timothy Wood
  0 siblings, 1 reply; 6+ messages in thread
From: Antonio Di Bacco @ 2022-03-17  9:29 UTC (permalink / raw)
  To: users

[-- Attachment #1: Type: text/plain, Size: 354 bytes --]

I have two DPDK applications that are using virtual functions built on top
of two physical functions that correspond to the two ports of a 25 Gbps
ethernet card. The two physical ports are connected one to the other with
an optic fiber.
Now, I would like to realize the same setup but without using a physical 25
Gbps card, I wonder if this is possible.

[-- Attachment #2: Type: text/html, Size: 407 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Connecting two DPDK applications through fake virtual functions
  2022-03-17  9:29 Connecting two DPDK applications through fake virtual functions Antonio Di Bacco
@ 2022-03-17 13:26 ` Timothy Wood
  2022-03-17 15:55   ` Antonio Di Bacco
  0 siblings, 1 reply; 6+ messages in thread
From: Timothy Wood @ 2022-03-17 13:26 UTC (permalink / raw)
  Cc: users

[-- Attachment #1: Type: text/plain, Size: 1127 bytes --]

One option is to modify the applications to use DPDK's multi-process
support: https://doc.dpdk.org/guides/prog_guide/multi_proc_support.html
Essentially you would have one app read from the real port and then write
data to a software queue in shared memory. Instead of having the second app
read from a port it would read from the queue.

If you want to build more elaborate combinations of functions, check out
our OpenNetVM research project which focused on high performance NF
chaining: http://sdnfv.github.io/onvm/

---
Timothy Wood, Ph. D.
he/him/his
Associate Professor
Department of Computer Science
The George Washington University
http://www.seas.gwu.edu/~timwood


On Thu, Mar 17, 2022 at 5:29 AM Antonio Di Bacco <a.dibacco.ks@gmail.com>
wrote:

> I have two DPDK applications that are using virtual functions built on top
> of two physical functions that correspond to the two ports of a 25 Gbps
> ethernet card. The two physical ports are connected one to the other with
> an optic fiber.
> Now, I would like to realize the same setup but without using a physical
> 25 Gbps card, I wonder if this is possible.
>
>

[-- Attachment #2: Type: text/html, Size: 1899 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Connecting two DPDK applications through fake virtual functions
  2022-03-17 13:26 ` Timothy Wood
@ 2022-03-17 15:55   ` Antonio Di Bacco
  2022-03-17 16:44     ` Dmitry Kozlyuk
  0 siblings, 1 reply; 6+ messages in thread
From: Antonio Di Bacco @ 2022-03-17 15:55 UTC (permalink / raw)
  To: timwood; +Cc: users

[-- Attachment #1: Type: text/plain, Size: 1405 bytes --]

Unfortunately I cannot change the applications but I only can create some
fake VFs and connect them with software.
Could OVS come to the rescue?

Il giorno gio 17 mar 2022 alle ore 14:27 Timothy Wood <timwood@gwu.edu> ha
scritto:

> One option is to modify the applications to use DPDK's multi-process
> support: https://doc.dpdk.org/guides/prog_guide/multi_proc_support.html
> Essentially you would have one app read from the real port and then write
> data to a software queue in shared memory. Instead of having the second app
> read from a port it would read from the queue.
>
> If you want to build more elaborate combinations of functions, check out
> our OpenNetVM research project which focused on high performance NF
> chaining: http://sdnfv.github.io/onvm/
>
> ---
> Timothy Wood, Ph. D.
> he/him/his
> Associate Professor
> Department of Computer Science
> The George Washington University
> http://www.seas.gwu.edu/~timwood
>
>
> On Thu, Mar 17, 2022 at 5:29 AM Antonio Di Bacco <a.dibacco.ks@gmail.com>
> wrote:
>
>> I have two DPDK applications that are using virtual functions built on
>> top of two physical functions that correspond to the two ports of a 25 Gbps
>> ethernet card. The two physical ports are connected one to the other with
>> an optic fiber.
>> Now, I would like to realize the same setup but without using a physical
>> 25 Gbps card, I wonder if this is possible.
>>
>>

[-- Attachment #2: Type: text/html, Size: 2406 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Connecting two DPDK applications through fake virtual functions
  2022-03-17 15:55   ` Antonio Di Bacco
@ 2022-03-17 16:44     ` Dmitry Kozlyuk
  2022-03-17 20:53       ` Antonio Di Bacco
  0 siblings, 1 reply; 6+ messages in thread
From: Dmitry Kozlyuk @ 2022-03-17 16:44 UTC (permalink / raw)
  To: Antonio Di Bacco; +Cc: timwood, users

2022-03-17 16:55 (UTC+0100), Antonio Di Bacco:
> Unfortunately I cannot change the applications but I only can create some
> fake VFs and connect them with software.
> Could OVS come to the rescue?

You don't need to modify app code to communicate via shared memory:
https://doc.dpdk.org/guides/nics/memif.html

> 
> Il giorno gio 17 mar 2022 alle ore 14:27 Timothy Wood <timwood@gwu.edu> ha
> scritto:
> 
> > One option is to modify the applications to use DPDK's multi-process
> > support: https://doc.dpdk.org/guides/prog_guide/multi_proc_support.html
> > Essentially you would have one app read from the real port and then write
> > data to a software queue in shared memory. Instead of having the second app
> > read from a port it would read from the queue.
> >
> > If you want to build more elaborate combinations of functions, check out
> > our OpenNetVM research project which focused on high performance NF
> > chaining: http://sdnfv.github.io/onvm/
> >
> > ---
> > Timothy Wood, Ph. D.
> > he/him/his
> > Associate Professor
> > Department of Computer Science
> > The George Washington University
> > http://www.seas.gwu.edu/~timwood
> >
> >
> > On Thu, Mar 17, 2022 at 5:29 AM Antonio Di Bacco <a.dibacco.ks@gmail.com>
> > wrote:
> >  
> >> I have two DPDK applications that are using virtual functions built on
> >> top of two physical functions that correspond to the two ports of a 25 Gbps
> >> ethernet card. The two physical ports are connected one to the other with
> >> an optic fiber.
> >> Now, I would like to realize the same setup but without using a physical
> >> 25 Gbps card, I wonder if this is possible.
> >>
> >>  


^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Connecting two DPDK applications through fake virtual functions
  2022-03-17 16:44     ` Dmitry Kozlyuk
@ 2022-03-17 20:53       ` Antonio Di Bacco
  2022-03-17 21:41         ` Dmitry Kozlyuk
  0 siblings, 1 reply; 6+ messages in thread
From: Antonio Di Bacco @ 2022-03-17 20:53 UTC (permalink / raw)
  To: Dmitry Kozlyuk; +Cc: timwood, users

[-- Attachment #1: Type: text/plain, Size: 1955 bytes --]

Really? I know that the application is using a PMD driver for Intel card,
will this driver work with memif too?



Il giorno gio 17 mar 2022 alle ore 17:44 Dmitry Kozlyuk <
dmitry.kozliuk@gmail.com> ha scritto:

> 2022-03-17 16:55 (UTC+0100), Antonio Di Bacco:
> > Unfortunately I cannot change the applications but I only can create some
> > fake VFs and connect them with software.
> > Could OVS come to the rescue?
>
> You don't need to modify app code to communicate via shared memory:
> https://doc.dpdk.org/guides/nics/memif.html
>
> >
> > Il giorno gio 17 mar 2022 alle ore 14:27 Timothy Wood <timwood@gwu.edu>
> ha
> > scritto:
> >
> > > One option is to modify the applications to use DPDK's multi-process
> > > support:
> https://doc.dpdk.org/guides/prog_guide/multi_proc_support.html
> > > Essentially you would have one app read from the real port and then
> write
> > > data to a software queue in shared memory. Instead of having the
> second app
> > > read from a port it would read from the queue.
> > >
> > > If you want to build more elaborate combinations of functions, check
> out
> > > our OpenNetVM research project which focused on high performance NF
> > > chaining: http://sdnfv.github.io/onvm/
> > >
> > > ---
> > > Timothy Wood, Ph. D.
> > > he/him/his
> > > Associate Professor
> > > Department of Computer Science
> > > The George Washington University
> > > http://www.seas.gwu.edu/~timwood
> > >
> > >
> > > On Thu, Mar 17, 2022 at 5:29 AM Antonio Di Bacco <
> a.dibacco.ks@gmail.com>
> > > wrote:
> > >
> > >> I have two DPDK applications that are using virtual functions built on
> > >> top of two physical functions that correspond to the two ports of a
> 25 Gbps
> > >> ethernet card. The two physical ports are connected one to the other
> with
> > >> an optic fiber.
> > >> Now, I would like to realize the same setup but without using a
> physical
> > >> 25 Gbps card, I wonder if this is possible.
> > >>
> > >>
>
>

[-- Attachment #2: Type: text/html, Size: 3098 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Connecting two DPDK applications through fake virtual functions
  2022-03-17 20:53       ` Antonio Di Bacco
@ 2022-03-17 21:41         ` Dmitry Kozlyuk
  0 siblings, 0 replies; 6+ messages in thread
From: Dmitry Kozlyuk @ 2022-03-17 21:41 UTC (permalink / raw)
  To: Antonio Di Bacco; +Cc: timwood, users

2022-03-17 21:53 (UTC+0100), Antonio Di Bacco:
> Really? I know that the application is using a PMD driver for Intel card,
> will this driver work with memif too?

In many cases DPDK applications are agnostic of the underlying HW
and are capable of using any provided PMD, including pure SW devices,
like memif. If you can supply DPDK arguments to the app,
it should be easy to try and find out.

P.S. Please avoid top-posting.

> Il giorno gio 17 mar 2022 alle ore 17:44 Dmitry Kozlyuk <
> dmitry.kozliuk@gmail.com> ha scritto:  
> 
> > 2022-03-17 16:55 (UTC+0100), Antonio Di Bacco:  
> > > Unfortunately I cannot change the applications but I only can create some
> > > fake VFs and connect them with software.
> > > Could OVS come to the rescue?  
> >
> > You don't need to modify app code to communicate via shared memory:
> > https://doc.dpdk.org/guides/nics/memif.html

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2022-03-17 21:41 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-17  9:29 Connecting two DPDK applications through fake virtual functions Antonio Di Bacco
2022-03-17 13:26 ` Timothy Wood
2022-03-17 15:55   ` Antonio Di Bacco
2022-03-17 16:44     ` Dmitry Kozlyuk
2022-03-17 20:53       ` Antonio Di Bacco
2022-03-17 21:41         ` Dmitry Kozlyuk

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).