DPDK patches and discussions
 help / color / mirror / Atom feed
From: Alexander Duyck <alexander.duyck@gmail.com>
To: "Mauricio Vásquez" <mauricio.vasquezbernal@studenti.polito.it>
Cc: dev@dpdk.org
Subject: Re: [dpdk-dev] queue to VF assigment in SR-IOV
Date: Tue, 7 Jun 2016 14:31:04 -0700	[thread overview]
Message-ID: <CAKgT0UeY0QZEk0J2sBuK771b02sVqXYZ2vYVbyth5_cRx+VDyA@mail.gmail.com> (raw)
In-Reply-To: <CAPwdgqiFZuBw6tk8RQcGB6pV--w9x0=W-jVAZ6umnEShuMGWfw@mail.gmail.com>

On Tue, Jun 7, 2016 at 1:49 PM, Mauricio Vásquez
<mauricio.vasquezbernal@studenti.polito.it> wrote:
> Dear All,
>
> I implemented a program that uses flow director to forward packets to a
> specific virtual function, however I faced the problem that I did not know
> which queue belongs to a VF. I found in [1] that in the case of Intel
> 82599, queues 0-7 belongs to VF0, 8-15 to VF1 and so on, I tested it but it
> did not work, using the trial and error method I found that queue 0 is in
> VF0, queue 4 in VF1 and so on.
>
> My question is: is there a standard way to know which queues belong to a
> specific VF?
>
> Thanks in advance
>
> Mauricio V,
>
> [1]
> http://www.intel.it/content/dam/www/public/us/en/documents/datasheets/82599-10-gbe-controller-datasheet.pdf,
> Table 7-72

If you are using the kernel driver the way the queues are laid out
depends on the number of VFs allocated and what features are enabled
in the kernel.  Assuming you are not using DCB you should be able to
figure out how many queues are being allocated via VF by looking at
the output of "ethtool -l <iface>".  The upper limit on RSS is t he
number of queues each pool is allocated.

So for example if you only enable up to 31 VFs then the PF driver
allocates 4 queues per VF so you would have queues 0 - 3 allocated to
VF0, queues 4-7 allocated to VF1, etc all the way through to the PF
occupying (num_vfs * 4) to 127.  If you enable 32 or more VFs then the
number of queues drops to 2 per VF and RSS on the PF will be limited
to the 2 queues following the block reserved for the VFs.

There are a few other configurations such as if DCB is enabled I
believe it is possible to get 8 queues per VF if less than 16 VFs are
allocated but in such a case you would not have access to RSS.  In
this case if the maximum combined queue count reported is 1 you would
need to check to see how many TCs are being supported by the PF in
order to determine if the queue count is 4 or 8 per VF.

- Alex

  reply	other threads:[~2016-06-07 21:31 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-07 20:49 Mauricio Vásquez
2016-06-07 21:31 ` Alexander Duyck [this message]
2016-06-13 11:56   ` Mauricio Vásquez
2016-06-13 16:02     ` Alexander Duyck
2016-06-21 12:42       ` Mauricio Vásquez

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=CAKgT0UeY0QZEk0J2sBuK771b02sVqXYZ2vYVbyth5_cRx+VDyA@mail.gmail.com \
    --to=alexander.duyck@gmail.com \
    --cc=dev@dpdk.org \
    --cc=mauricio.vasquezbernal@studenti.polito.it \
    /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).