[dpdk-dev] [PATCH] librte_pmd_packet: add PMD for AF_PACKET-based virtual devices

John W. Linville linville at tuxdriver.com
Fri Jul 11 22:40:56 CEST 2014


Ah, yes...sorry, I misunderstood what you wanted to do.  The syntax
below is what I would expect to use.

John

On Fri, Jul 11, 2014 at 08:35:01PM +0000, Zhou, Danny wrote:
> Thanks Jeff, it works as expected, like below command line:
> 
> ./l2fwd/build/l2fwd -c 0x3 -n 4 --vdev=eth_packet0,iface=p786p1 --vdev=eth_packet1,iface=p786p2 -- -p 0x3
> 
> > -----Original Message-----
> > From: Shaw, Jeffrey B
> > Sent: Saturday, July 12, 2014 4:32 AM
> > To: Zhou, Danny; John W. Linville
> > Cc: dev at dpdk.org
> > Subject: RE: [dpdk-dev] [PATCH] librte_pmd_packet: add PMD for
> > AF_PACKET-based virtual devices
> > 
> > Danny, can you specify multiple --vdev parameters?
> > "--vdev=eth_packet0,iface=eth0 --vdev=eth_packet1,iface=eth1"
> > 
> > 
> > -----Original Message-----
> > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Zhou, Danny
> > Sent: Friday, July 11, 2014 1:27 PM
> > To: John W. Linville
> > Cc: dev at dpdk.org
> > Subject: Re: [dpdk-dev] [PATCH] librte_pmd_packet: add PMD for
> > AF_PACKET-based virtual devices
> > 
> > I want to run a common DPDK L2 or L3 forward benchmark for bi-direction traffics,
> > so at least two ports are required. Just like how to measure Linux bridge or OVS
> > performance, you need add at least two ports into a bridge.
> > 
> > > -----Original Message-----
> > > From: John W. Linville [mailto:linville at tuxdriver.com]
> > > Sent: Saturday, July 12, 2014 3:32 AM
> > > To: Zhou, Danny
> > > Cc: dev at dpdk.org
> > > Subject: Re: [dpdk-dev] [PATCH] librte_pmd_packet: add PMD for
> > > AF_PACKET-based virtual devices
> > >
> > > I'm not sure that would make any sense -- the AF_PACKET sockets are
> > > mapped to specific interfaces.
> > >
> > > What are you trying to do with a syntax like that?
> > >
> > > John
> > >
> > > On Fri, Jul 11, 2014 at 07:04:19PM +0000, Zhou, Danny wrote:
> > > > Does it support specifying multiple NIC interfaces using command
> > > > line option like
> > > "--vdev=eth_packet0,iface=..."? Say "iface=eth0,eth1,eth2...", tried
> > > but it doesn't work.
> > > >
> > > > > -----Original Message-----
> > > > > From: Zhou, Danny
> > > > > Sent: Saturday, July 12, 2014 2:01 AM
> > > > > To: 'John W. Linville'
> > > > > Cc: dev at dpdk.org
> > > > > Subject: RE: [dpdk-dev] [PATCH] librte_pmd_packet: add PMD for
> > > > > AF_PACKET-based virtual devices
> > > > >
> > > > > 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 at tuxdriver.com]
> > > > > > Sent: Saturday, July 12, 2014 1:41 AM
> > > > > > To: Zhou, Danny
> > > > > > Cc: dev at 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
> > > > > > > :524
> > > > > > > :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
> > > > > > > :524
> > > > > > > :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
> > > > > > > :557
> > > > > > > :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 at 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 at 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 at tuxdriver.com			might be all we have.  Be ready.
> > > >
> > >
> > > --
> > > John W. Linville		Someday the world will need a hero, and you
> > > linville at tuxdriver.com			might be all we have.  Be ready.
> 

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


More information about the dev mailing list