DPDK patches and discussions
 help / color / mirror / Atom feed
From: Raghav Sethi <raghavs@CS.Princeton.EDU>
To: "dev@dpdk.org" <dev@dpdk.org>
Subject: [dpdk-dev] Mellanox Flow Steering
Date: Sun, 12 Apr 2015 05:10:01 +0000	[thread overview]
Message-ID: <CAC2O_6o88Bq=zYgqK8M=YYWFuJ5Jsc5xBcs5Eqb8+2OGzXcN1g@mail.gmail.com> (raw)

Hi folks,

I'm trying to use the flow steering features of the Mellanox card to
effectively use a multicore server for a benchmark.

The system has a single-port Mellanox ConnectX-3 EN, and I want to use 4 of
the 32 cores present and 4 of the 16 RX queues supported by the hardware
(i.e. one RX queue per core).

I assign RX queues to each of the cores, but obviously without flow
steering (all the packets have the same IP and UDP headers, but different
dest MACs in the ethernet headers) each of the packets hits one core. I've
set up the client such that it sends packets with a different destination
MAC for each RX queue (e.g. RX queue 1 should get 10:00:00:00:00:00, RX
queue 2 should get 10:00:00:00:00:01 and so on).

I try to accomplish this by using ethtool to set flow steering rules (e.g.
ethtool -U p7p1 flow-type ether dst 10:00:00:00:00:00 action 1 loc 1,
ethtool -U p7p1 flow-type ether dst 10:00:00:00:00:01 action 2 loc 2..).

As soon as I set up these rules though, packets matching them just stop
hitting my application. All other packets go through, and removing the
rules also causes the packets to go through. I'm pretty sure my application
is looking at all the queues, but I tried changing the rules to try a rule
for every single destination RX queue (0-16), and that doesn't work either.

If it helps, my code is based on the l2fwd sample application, and is here:
https://gist.github.com/raghavsethi/416fb77d74ccf81bd93e

Also, I added the following to my /etc/init.d: options mlx4_core
log_num_mgm_entry_size=-1, and restarted the driver before any of these
tests.

Any ideas what might be causing my packets to drop? In case this is a
Mellanox issue, should I be talking to their customer support?

Best,
Raghav Sethi

             reply	other threads:[~2015-04-12  5:10 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-12  5:10 Raghav Sethi [this message]
2015-04-12 11:47 ` Zhou, Danny
2015-04-12 16:17   ` Raghav Sethi
2015-04-12 20:39     ` Olga Shern
2015-04-12 23:29       ` Zhou, Danny
2015-04-13 16:59         ` Olga Shern
2015-04-13 18:01       ` Raghav Sethi

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='CAC2O_6o88Bq=zYgqK8M=YYWFuJ5Jsc5xBcs5Eqb8+2OGzXcN1g@mail.gmail.com' \
    --to=raghavs@cs.princeton.edu \
    --cc=dev@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).