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. 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?