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 oldkernel 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 thispatch 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 functionrte_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 thoseout.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.