DPDK patches and discussions
 help / color / mirror / Atom feed
From: "John W. Linville" <linville@tuxdriver.com>
To: "Zhou, Danny" <danny.zhou@intel.com>
Cc: "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] librte_pmd_packet: add PMD for AF_PACKET-based	virtual devices
Date: Mon, 14 Jul 2014 09:45:10 -0400	[thread overview]
Message-ID: <20140714134509.GB27848@tuxdriver.com> (raw)
In-Reply-To: <DFDF335405C17848924A094BC35766CF0A8A186D@SHSMSX104.ccr.corp.intel.com>

On Sat, Jul 12, 2014 at 12:42:04AM +0000, Zhou, Danny wrote:
> I just upgraded my kernel to 3.15.5 and hardcoded below captured from include/uapi/linux/if_packet.h to librte_pmd_packet.c to workaround it, now I can receive/transmit packet now. Commenting out PACKET_FANOUT_FLAG_ROLLOVER would cause no packet can be received. 
> 
> #define PACKET_QDISC_BYPASS             20
> #define PACKET_FANOUT_FLAG_ROLLOVER     0x1000

You shouldn't need PACKET_FANOUT_FLAG_ROLLOVER if all the queues are
being used.  Does the application you are running make use of all
the queues?  If not, you probably should use the qpairs option to
limit the number of queues created by the eth_packet PMD.

John

> 
> > -----Original Message-----
> > From: John W. Linville [mailto:linville@tuxdriver.com]
> > Sent: Saturday, July 12, 2014 2:47 AM
> > To: Zhou, Danny
> > Cc: dev@dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH] librte_pmd_packet: add PMD for
> > AF_PACKET-based virtual devices
> > 
> > Not sure what the issue might be, PACKET_FANOUT_FLAG_ROLLOVER is defined
> > in include/uapi/linux/if_packet.h in the v3.12 tree.
> > 
> > On Fri, Jul 11, 2014 at 06:01:27PM +0000, Zhou, Danny wrote:
> > > Tried on 3.12, both of them are undefined. Anyway, will comment them out and see
> > what performance it could achieve.
> > >
> > > > -----Original Message-----
> > > > From: John W. Linville [mailto:linville@tuxdriver.com]
> > > > Sent: Saturday, July 12, 2014 1:41 AM
> > > > To: Zhou, Danny
> > > > Cc: dev@dpdk.org
> > > > Subject: Re: [dpdk-dev] [PATCH] librte_pmd_packet: add PMD for
> > > > AF_PACKET-based virtual devices
> > > >
> > > > On Fri, Jul 11, 2014 at 05:20:42PM +0000, Zhou, Danny wrote:
> > > > > Looks like you used a pretty new kernel version with new socket
> > > > > options that old
> > > > kernel like my 3.12 does not support. When I tried this patch, it
> > > > just cannot build, and compiler complains like below. Which Linux distribution
> > does this patch work for?
> > > > How to ensure it works for old kernels?
> > > > >
> > > > > /home/danny/dpdk.org/dpdk/lib/librte_pmd_packet/rte_eth_packet.c:
> > > > > In function
> > > > rte_pmd_init_internals:
> > > > > /home/danny/dpdk.org/dpdk/lib/librte_pmd_packet/rte_eth_packet.c:5
> > > > > 24:1
> > > > > 7: error: PACKET_FANOUT_FLAG_ROLLOVER undeclared (first use in
> > > > > this
> > > > > function)
> > > > > /home/danny/dpdk.org/dpdk/lib/librte_pmd_packet/rte_eth_packet.c:5
> > > > > 24:1
> > > > > 7: note: each undeclared identifier is reported only once for each
> > > > > function it appears in
> > > > > /home/danny/dpdk.org/dpdk/lib/librte_pmd_packet/rte_eth_packet.c:5
> > > > > 57:3
> > > > > 3: error: PACKET_QDISC_BYPASS undeclared (first use in this
> > > > > function)
> > > >
> > > > Both of them are isolated, so for playing with it you could just comment those
> > out.
> > > > It looks like PACKET_FANOUT_FLAG_ROLLOVER should have been in 3.10,
> > > > while PACKET_QDISC_BYPASS didn't show-up until 3.14...
> > > >
> > > > /home/linville/git/linux
> > > > [linville-x1.hq.tuxdriver.com]:> git annotate
> > > > include/uapi/linux/if_packet.h | grep PACKET_FANOUT_FLAG_ROLLOVER
> > > > 77f65ebdca506	(Willem de Bruijn	2013-03-19 10:18:11 +0000	64)#define
> > > > PACKET_FANOUT_FLAG_ROLLOVER	0x1000
> > > >
> > > > /home/linville/git/linux
> > > > [linville-x1.hq.tuxdriver.com]:> git show -s --format=short
> > > > 77f65ebdca506 commit 77f65ebdca506870d99bfabe52bde222511022ec
> > > > Author: Willem de Bruijn <willemb@google.com>
> > > >
> > > >     packet: packet fanout rollover during socket overload
> > > >
> > > > /home/linville/git/linux
> > > > [linville-x1.hq.tuxdriver.com]:> git describe --contains
> > > > 77f65ebdca506
> > > > v3.10-rc1~66^2~423
> > > >
> > > > /home/linville/git/linux
> > > > [linville-x1.hq.tuxdriver.com]:> git annotate
> > > > include/uapi/linux/if_packet.h | grep PACKET_QDISC_BYPASS
> > > > d346a3fae3ff1	(Daniel Borkmann	2013-12-06 11:36:17 +0100	56)#define
> > > > PACKET_QDISC_BYPASS		20
> > > >
> > > > /home/linville/git/linux
> > > > [linville-x1.hq.tuxdriver.com]:> git show -s --format=short
> > > > d346a3fae3ff1 commit
> > > > d346a3fae3ff1d99f5d0c819bf86edf9094a26a1
> > > > Author: Daniel Borkmann <dborkman@redhat.com>
> > > >
> > > >     packet: introduce PACKET_QDISC_BYPASS socket option
> > > >
> > > > /home/linville/git/linux
> > > > [linville-x1.hq.tuxdriver.com]:> git describe --contains
> > > > d346a3fae3ff1
> > > > v3.14-rc1~94^2~564
> > > >
> > > > Is there an example of code in DPDK that requires specific kernel
> > > > versions?  What is the preferred method for coding such dependencies?
> > > >
> > > > John
> > > > --
> > > > John W. Linville		Someday the world will need a hero, and you
> > > > linville@tuxdriver.com			might be all we have.  Be ready.
> > >
> > 
> > --
> > John W. Linville		Someday the world will need a hero, and you
> > linville@tuxdriver.com			might be all we have.  Be ready.
> 

-- 
John W. Linville		Someday the world will need a hero, and you
linville@tuxdriver.com			might be all we have.  Be ready.

  reply	other threads:[~2014-07-14 13:59 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-10 20:32 John W. Linville
2014-07-11 13:11 ` Stephen Hemminger
2014-07-11 14:49   ` John W. Linville
2014-07-11 15:06     ` Richardson, Bruce
2014-07-11 15:16       ` Stephen Hemminger
2014-07-11 16:07         ` Richardson, Bruce
2014-07-11 15:29       ` Venkatesan, Venky
2014-07-11 15:33         ` John W. Linville
2014-07-11 16:29           ` Venkatesan, Venky
2014-07-11 13:26 ` Thomas Monjalon
2014-07-11 14:51   ` John W. Linville
2014-07-11 15:04     ` Thomas Monjalon
2014-07-11 15:30       ` John W. Linville
2014-07-11 16:47         ` Thomas Monjalon
2014-07-11 17:38           ` Richardson, Bruce
2014-07-11 17:41             ` John W. Linville
2014-07-12 11:48           ` Neil Horman
     [not found] ` <D0158A423229094DA7ABF71CF2FA0DA3117D3A23@shsmsx102.ccr.corp.intel.com>
2014-07-11 17:20   ` Zhou, Danny
2014-07-11 17:40     ` John W. Linville
2014-07-11 18:01       ` Zhou, Danny
2014-07-11 18:46         ` John W. Linville
2014-07-12  0:42           ` Zhou, Danny
2014-07-14 13:45             ` John W. Linville [this message]
2014-07-11 19:04       ` Zhou, Danny
2014-07-11 19:31         ` John W. Linville
2014-07-11 20:27           ` Zhou, Danny
2014-07-11 20:31             ` Shaw, Jeffrey B
2014-07-11 20:35               ` Zhou, Danny
2014-07-11 20:40                 ` John W. Linville
2014-07-11 22:34       ` Thomas Monjalon
2014-07-14 13:46         ` John W. Linville
2014-07-15 21:27           ` Thomas Monjalon
2014-07-16 12:35             ` Neil Horman
2014-07-16 13:37               ` Thomas Monjalon
2014-07-16 14:07             ` John W. Linville
2014-07-16 14:26               ` Thomas Monjalon
2014-07-16 15:59                 ` Shaw, Jeffrey B
2014-07-11 22:30 ` Thomas Monjalon
2014-07-14 17:53   ` John W. Linville
2014-07-11 22:51 ` Bruce Richardson
2014-07-14 13:48   ` John W. Linville
2014-07-14 17:35     ` John W. Linville
2014-07-14 18:24 ` [dpdk-dev] [PATCH v2] " John W. Linville
2014-07-15  0:15   ` Zhou, Danny
2014-07-15 12:17     ` Neil Horman
2014-07-15 14:01       ` John W. Linville
2014-07-15 15:40         ` Zhou, Danny
2014-07-15 19:08           ` John W. Linville
2014-07-15 20:31         ` Neil Horman
2014-07-15 20:41           ` Zhou, Danny
2014-07-15 15:34       ` Zhou, Danny
2014-09-12 18:05   ` John W. Linville
2014-09-12 18:31     ` Zhou, Danny
2014-09-12 18:54       ` John W. Linville
2014-09-12 20:35         ` Zhou, Danny
2014-09-15 15:09           ` Neil Horman
2014-09-15 15:15             ` John W. Linville
2014-09-15 15:43             ` Zhou, Danny
2014-09-15 16:22               ` Neil Horman
2014-09-15 17:48                 ` John W. Linville
2014-09-15 19:11                   ` Zhou, Danny
2014-09-16 20:16     ` Neil Horman
2014-09-26  9:28       ` Thomas Monjalon
2014-09-26 14:08         ` Neil Horman
2014-09-29 10:05           ` Bruce Richardson
2014-10-08 15:57             ` Thomas Monjalon
2014-10-08 19:14               ` Neil Horman
2014-11-13 10:03                 ` Thomas Monjalon
2014-11-13 11:14                   ` Neil Horman
2014-11-13 11:57                     ` Thomas Monjalon
2014-11-14  0:42                       ` Neil Horman
2014-11-14 14:45                         ` John W. Linville
2014-11-17 15:57                           ` [dpdk-dev] [PATCH v3] librte_pmd_af_packet: " John W. Linville
2014-11-24 16:16                             ` Thomas Monjalon
2014-11-17 11:19                       ` [dpdk-dev] [PATCH v2] librte_pmd_packet: " Neil Horman
2014-11-17 11:22                         ` Thomas Monjalon

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=20140714134509.GB27848@tuxdriver.com \
    --to=linville@tuxdriver.com \
    --cc=danny.zhou@intel.com \
    --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).