[dpdk-dev] [PATCH v2 0/4] Introduce IF proxy library

Morten Brørup mb at smartsharesystems.com
Fri Apr 10 12:03:34 CEST 2020


> From: Thomas Monjalon [mailto:thomas at monjalon.net]
> Sent: Saturday, April 4, 2020 9:58 PM
> 
> 04/04/2020 20:30, Andrzej Ostruszka [C]:
> > Thomas,
> >
> > I have replied to the other mail, here I just want to confirm, that
> I'm
> > fine with the proposed "general messaging" which other libraries (IF
> > Proxy including) could utilize.
> >
> > See also below.
> >
> > On 4/3/20 7:19 PM, Thomas Monjalon wrote:
> > > 02/04/2020 15:48, Andrzej Ostruszka [C]:
> > >> On 3/26/20 6:42 PM, Andrzej Ostruszka wrote:
> > [...]
> > >> Would that be easier/better to register queue together with a
> bitmask of
> > >> event types that given queue is accepting?  Than during setup
> phase
> > >> application would select just one queue to handle "global" events
> and
> > >> the logic of event handling for lcores should be simplier.
> > >>
> > >> Let me know what you think.
> > >
> > > I think we want to avoid complicate design.
> > > So let's choose between callback and message queue.
> > > I vote for message queue because it can handle any situation,
> > > and it allows to control the context of the event processing.
> > > The other reason is that I believe we need message queueing for
> > > other purposes in DPDK (ex: multi-process, telemetry).
> > >
> > > You start thinking about complex message management.
> > > And I start thinking about other usages of message queueing.
> > > So I think it is the right time to introduce a generic messaging in
> DPDK.
> > > Note: the IPC rte_mp should be built on top of such generic
> messaging.
> >
> > Do you have also inter-lcore communication in mind here?  Or just
> > "external" world to "some DPDK controller/dispatcher" and how that is
> > passed to other cores is an application writer problem.
> 
> I was thinking at communication with:
> 	- DPDK event from random context
> 	- secondary process
> 	- external application
> 	- remote application
> 
> In all cases, I thought the message receiver would be the master core.

That would also be my assumption.

> But you are probably right that targeting a specific core may be
> interesting.
> 
> > > If you agree, we can start a new email thread to better discuss
> > > the generic messaging sub-system.
> >
> > Yes, lets talk about that.
> 
> Let's start with the requirements (as above).
> I'll write such email soon.
> 
> 
> > > I describe here the 3 properties I have in mind:
> > >
> > > 1/ Message policy
> > > One very important rule in DPDK is to let the control to the
> application.
> > > So the messaging policy must be managed by the application via DPDK
> API.
> > >
> > > 2/ Message queue
> > > It seems we should rely on ZeroMQ. Here is why:
> > > http://zguide.zeromq.org/page:all#Why-We-Needed-ZeroMQ
> > >
> > > 3/ Message format
> > > I am not sure whether we can manage with "simple strings", TLV,
> > > or should we use something more complex like protobuf?
> 
> 
> 



More information about the dev mailing list