From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.mhcomputing.net (master.mhcomputing.net [74.208.46.186]) by dpdk.org (Postfix) with ESMTP id 3B82A5963 for ; Sat, 18 Oct 2014 19:31:23 +0200 (CEST) Received: by mail.mhcomputing.net (Postfix, from userid 1000) id 1761380C50B; Sat, 18 Oct 2014 10:38:33 -0700 (PDT) Date: Sat, 18 Oct 2014 10:38:33 -0700 From: Matthew Hall To: Kamraan Nasim Message-ID: <20141018173832.GD16406@mhcomputing.net> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Cc: dev@dpdk.org Subject: Re: [dpdk-dev] IPC/message passing between DPDK application and non-DPDK userspace application X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 18 Oct 2014 17:31:23 -0000 On Fri, Oct 17, 2014 at 10:14:50PM -0400, Kamraan Nasim wrote: > I have a DPI daemon running in userspace which uses libpcap for packet RX > that I would like to replace with DPDK ethernet PMD. However it is not > feasible to convert the entire application to run within the DPDK framework > which is why I would like to split packet RX to use DPDK and have my > applications higher order functions continue using Linux pthread. The DPDK's lcore threads are just Linux pthreads bound onto specific cores. They aren't doing any secret stuff there really. So you could configure the DPDK to do stuff on some cores, and do your own stuff on other cores using the DPDK's "coremask" setting to say which cores it should launch itself on. > Is it possible to exchange data between DPDK processes and regular > userspace processes via some shared mem or IPC mechanism? I am not sure if > the SW ring buffers that DPDK provides can be used in this context? You can put extra threads in DPDK processes... the DPDK timer does this for example. Or you can pass stuff around... they have some example apps which have a master app and slave apps as separate Linux processes which can exchange data using the rings. > Please let me know if others have come across this. Any help from the DPDK > community would be greatly appreciated :) Yes, check through the various sample apps and see if there's something you can borrow from them. Good luck! Matthew.