From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vk0-f52.google.com (mail-vk0-f52.google.com [209.85.213.52]) by dpdk.org (Postfix) with ESMTP id B76615A55 for ; Wed, 7 Oct 2015 23:16:13 +0200 (CEST) Received: by vkao3 with SMTP id o3so20089767vka.2 for ; Wed, 07 Oct 2015 14:16:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=U8nx/5kXOzYbvpfVTji4HnbmP/Mz4uuI9Vu5Ve9wbho=; b=tKTphpLNgm+WL0qU0FmgMF+uN4GDgQuFQxC3QsV0FlSHeDQIMU3Gqi7v6qKE3ag4pI SS3YPUXp6iinSsRF2xwe63eyC4qGZOgEdXudNuUVK/yhLwVAdHUng2dmbh8PijuJkNzE FMEODz/VpbZf9Ly+rSvUHeQ88tU3fPtzX2PHTOLOEckHv1ZqfXtqkGHoXA9mqtD03j4b yiPtCZRyLr/k1+Hv8HWyE982UTDG0lPcoWiwT7vQzaIRoi5lS3PaRQytkcX4PA9/+k/6 7ClQL4Eh7rmXfTematy0YEycLka6XjmAhz2MV0ydLSiQsibfivMdWL0tgvdeKSDPlUtZ 8FmA== MIME-Version: 1.0 X-Received: by 10.31.1.197 with SMTP id 188mr2686285vkb.153.1444252572194; Wed, 07 Oct 2015 14:16:12 -0700 (PDT) Received: by 10.103.79.207 with HTTP; Wed, 7 Oct 2015 14:16:12 -0700 (PDT) In-Reply-To: <20150928214434.1c8c9c33@urahara> References: <1439463883-19689-1-git-send-email-john.mcnamara@intel.com> <1439463883-19689-2-git-send-email-john.mcnamara@intel.com> <8CEF83825BEC744B83065625E567D7C219F39EE3@IRSMSX108.ger.corp.intel.com> <20150928214434.1c8c9c33@urahara> Date: Wed, 7 Oct 2015 14:16:12 -0700 Message-ID: From: Srikanth Akula To: Stephen Hemminger Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] Hotplug 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: Wed, 07 Oct 2015 21:16:13 -0000 Thank you for the inputs . I was able to solve the problem of device notification from my control plane. I would like to know if we have any way to know if the PCI device is already attached before we try to attach it ( if the device is already attached pci probe will result an error ) . But i want to know before hand to verify if the device is already attached or not . I came with small API which can be used to check if the pci device is already bound to any driver . +int +rte_eal_pci_is_attached(const char *devargs) +{ + struct rte_pci_device *dev = NULL; + struct rte_pci_addr addr; + memset(&addr,0,sizeof(struct rte_pci_addr)); + + if (eal_parse_pci_DomBDF(devargs, &addr) == 0) + { + TAILQ_FOREACH(dev, &pci_device_list, next) { + if (!rte_eal_compare_pci_addr(&dev->addr, &addr)) + { + if (dev->driver) + { + /*pci_dump_one_device(stdout,dev);*/ + RTE_LOG(WARNING, EAL, "Requested device " PCI_PRI_FMT + " cannot be used\n", dev->addr.domain, dev->addr.bus, + dev->addr.devid, dev->addr.function); + return -1; + } + } + } + } + return 0; +} + Could you please let me know if it is good to have such APIs Regards, _Srikanth_ On Mon, Sep 28, 2015 at 9:44 PM, Stephen Hemminger < stephen@networkplumber.org> wrote: > On Mon, 28 Sep 2015 21:12:50 -0700 > Srikanth Akula wrote: > > > Hello , > > > > I am trying to write an application based on DPDK port hotplug feature . > My > > requirement is to get an event when a new PCI devices gets added to the > > system on the go. > > > > Do we have any in-built mechanism in DPDK (UIO/e1000/vfio drivers ) that > i > > can use to get notifications when a new device gets added . I know the > > alternatives such as inotify etc . > > > > But i am more interested to get equivalent support in dpdk drivers . > > > > Please let me know . > > > > Srikanth > > Implementing hotplug requires integration with the OS more than any > additional > DPDK support. What the Brocade vRouter does is leverage the existing Linux > udev infrastructure to send a message to the router application which then > initializes and sets up the new hardware. Most of the DPDK changes are > upstream > already and involve being able to dynamically add ports on the fly. > >