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.

Reply via email to