DPDK usage discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Sara Gittlin <sara.gittlin@gmail.com>
Cc: users@dpdk.org
Subject: Re: [dpdk-users] pktgen - !PANIC!: *** Did not find any ports to use ***
Date: Tue, 28 May 2019 07:02:14 -0700	[thread overview]
Message-ID: <20190528070214.0920c905@hermes.lan> (raw)
In-Reply-To: <CAA_4wjaFKafCk6pqHWOz7w=ZzqeEa7N-xThnrYRasi6GnSFVvQ@mail.gmail.com>

On Tue, 28 May 2019 08:33:35 +0300
Sara Gittlin <sara.gittlin@gmail.com> wrote:

> Hello
> According the dpdk release notes - my NIC   - Onboard NIC: *Intel(R)
> X552*/X557-AT
> (2x10G) was tested
> 
> Tested Platforms
> 
> ----------------
> 
> 
> #. SuperMicro 1U
> 
> 
>    - BIOS: 1.0c
> 
>    - Processor: Intel(R) Atom(TM) CPU C2758 @ 2.40GHz
> 
> 
> #. SuperMicro 1U
> 
> 
>    - BIOS: 1.0a
> 
>    - Processor: Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz
> 
>    *- Onboard NIC: Intel(R) X552/X557-AT (2x10G)*
> 
> Thank you
> 
> -Sara
> 
> On Mon, May 27, 2019 at 5:56 PM Sara Gittlin <sara.gittlin@gmail.com> wrote:
> 
> > Thank you Stephen
> > i can run pktgen on the host  with same 2 VF's
> > Regards
> > -Sara
> >
> >
> > On Mon, May 27, 2019 at 5:52 PM Stephen Hemminger <  
> > stephen@networkplumber.org> wrote:  
> >  
> >> On Mon, 27 May 2019 17:44:17 +0300
> >> Sara Gittlin <sara.gittlin@gmail.com> wrote:
> >>  
> >> > Hello ,
> >> > I'm running pktgen on a ubuntu-16.0p4 VM w 3 CPU's,
> >> > I added  2 SRIOV VFs  devices to the VM - and i can see them w lspci or
> >> > dpdk-devbind --status
> >> > 00:08.0 Ethernet controller: Intel Corporation Ethernet Connection X552
> >> > Virtual Function
> >> > 00:09.0 Ethernet controller: Intel Corporation Ethernet Connection X552
> >> > Virtual Function  
> >>
> >> Most likely these devices are missing/not supported by DPDK driver.
> >> Look at the numeric id's (lspci -n) and compare them with the list
> >> of pci ids in the driver source.
> >>
> >> In the past with Intel devices it also helped to look at the Linux
> >> kernel driver. Sometimes the missing id's were there and some small
> >> changes to the MAC code was necessary to get them to work.

Walking backwards from PCI to device.

1. The PCI id table for lspci is in /usr/share/misc/pci.ids
   The entry for X552 is:
	15a9  X552 Virtual Function
   Therefore the PCI vendor:device is 8086:15a9

4. On Linux this device is under ixgbevf as

#define IXGBE_DEV_ID_X550EM_X_VF_HV        0x15A9

static const struct pci_device_id ixgbevf_pci_tbl[] = {
	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF), board_82599_vf },
	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_82599_VF_HV), board_82599_vf_hv },
	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF), board_X540_vf },
	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X540_VF_HV), board_X540_vf_hv },
	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550_VF), board_X550_vf },
	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550_VF_HV), board_X550_vf_hv },
	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_X_VF), board_X550EM_x_vf }
	{PCI_VDEVICE(INTEL, IXGBE_DEV_ID_X550EM_A_VF), board_x550em_a_vf },
	/* required last entry */
	{0, }
};

   Conclusion: you are using X552 on Hyper-V.

5. In DPDK, similar table is ixgbe_ethdev.

/*
 * The set of PCI devices this driver supports (for 82599 VF)
 */
static const struct rte_pci_id pci_id_ixgbevf_map[] = {
	{ RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_VF) },
	{ RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_82599_VF_HV) },
	{ RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540_VF) },
	{ RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X540_VF_HV) },
	{ RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550_VF_HV) },
	{ RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550_VF) },
	{ RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_VF) },
	{ RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_A_VF_HV) },
	{ RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_VF) },
	{ RTE_PCI_DEVICE(IXGBE_INTEL_VENDOR_ID, IXGBE_DEV_ID_X550EM_X_VF_HV) },
	{ .vendor_id = 0, /* sentinel */ },
};

So the device is supported...


A different possibility is that since you are running on Hyper-V (at least
according to the device ids) is that vdev_netvsc device is trying to setup tap
failsafe and messing the port numbers around.
Try disabling it by setting this in the config.

CONFIG_RTE_LIBRTE_VDEV_NETVSC_PMD=n




PS: Top posting is not preferred on open source mailing lists.

  parent reply	other threads:[~2019-05-28 14:02 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-27 14:44 Sara Gittlin
2019-05-27 14:52 ` Stephen Hemminger
2019-05-27 14:56   ` Sara Gittlin
2019-05-28  5:33     ` Sara Gittlin
2019-05-28 13:59       ` Wiles, Keith
2019-05-28 14:02       ` Stephen Hemminger [this message]
2019-05-28 18:09         ` Sara Gittlin
2019-05-29  8:40           ` [dpdk-users] pktgen Did not find any ports to use Sara Gittlin
2019-05-29 10:30           ` [dpdk-users] pktgen - !PANIC!: *** Did not find any ports to use *** Sara Gittlin
2019-05-29 12:39             ` [dpdk-users] pktgen -**SOLVED** " Sara Gittlin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190528070214.0920c905@hermes.lan \
    --to=stephen@networkplumber.org \
    --cc=sara.gittlin@gmail.com \
    --cc=users@dpdk.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).