Thread (1 message) 1 message, 1 author, 2014-07-11

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

From: Shaw, Jeffrey B <hidden>
Date: 2014-07-11 20:31:40

Danny, can you specify multiple --vdev parameters?
"--vdev=eth_packet0,iface=eth0 --vdev=eth_packet1,iface=eth1"


-----Original Message-----
From: dev [mailto:dev-bounces-VfR2kkLFssw@public.gmane.org] On Behalf Of Zhou, Danny
Sent: Friday, July 11, 2014 1:27 PM
To: John W. Linville
Cc: dev-VfR2kkLFssw@public.gmane.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-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org]
Sent: Saturday, July 12, 2014 3:32 AM
To: Zhou, Danny
Cc: dev-VfR2kkLFssw@public.gmane.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:
quoted
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.
quoted
quoted
-----Original Message-----
From: Zhou, Danny
Sent: Saturday, July 12, 2014 2:01 AM
To: 'John W. Linville'
Cc: dev-VfR2kkLFssw@public.gmane.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.
quoted
-----Original Message-----
From: John W. Linville [mailto:linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org]
Sent: Saturday, July 12, 2014 1:41 AM
To: Zhou, Danny
Cc: dev-VfR2kkLFssw@public.gmane.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:
quoted
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?
quoted
How to ensure it works for old kernels?
quoted
/home/danny/dpdk.org/dpdk/lib/librte_pmd_packet/rte_eth_packet
.c
: In function
rte_pmd_init_internals:
quoted
/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.
quoted
quoted
quoted
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 [off-list ref]

    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 [off-list ref]

    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-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org			might be all we have.  Be ready.
--
John W. Linville		Someday the world will need a hero, and you
linville-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org			might be all we have.  Be ready.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help