[-- 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 --]
[-- 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 --]
[-- 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 --]
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 #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 --]
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