Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

pf_ring + kernel 4.2.3 = compilation error #44

Closed
leleobhz opened this issue Oct 6, 2015 · 19 comments
Closed

pf_ring + kernel 4.2.3 = compilation error #44

leleobhz opened this issue Oct 6, 2015 · 19 comments

Comments

@leleobhz
Copy link

leleobhz commented Oct 6, 2015

Im getting the following error installing in CentOS 7 + kernel 4.2.3-elrepo:

DKMS make.log for pfring-6.1.1 for kernel 4.2.3-1.el7.elrepo.x86_64 (x86_64)
Ter Out  6 15:05:57 BRT 2015
********** WARNING WARNING WARNING **********
*
* Compiling PF_RING as root might lead you to compile errors
* Please compile PF_RING as unpriviliged user
*
*********************************************
make -C /lib/modules/4.2.3-1.el7.elrepo.x86_64/build SUBDIRS=/var/lib/dkms/pfring/6.1.1/build EXTRA_CFLAGS='-I/var/lib/dkms/pfring/6.1.1/build -DGIT_REV="\"dev:f3689fc0b1c6fb29827d2cb35ba710ec21e114ea\""' modules
make[1]: Entrando no diretório `/usr/src/kernels/4.2.3-1.el7.elrepo.x86_64'
  CC [M]  /var/lib/dkms/pfring/6.1.1/build/pf_ring.o
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_sock_destruct’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:945:9: note: in expansion of macro ‘ring_sk’
   pfr = ring_sk(sk);
         ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_alloc_mem’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:1730:32: note: in expansion of macro ‘ring_sk’
   struct pf_ring_socket *pfr = ring_sk(sk);
                                ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_insert’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:1827:34: note: in expansion of macro ‘ring_sk’
   pfr = (struct pf_ring_socket *)ring_sk(sk);
                                  ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_remove’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:1847:42: note: in expansion of macro ‘ring_sk’
   struct pf_ring_socket *pfr_to_delete = ring_sk(sk_to_delete);
                                          ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:1860:11: note: in expansion of macro ‘ring_sk’
     pfr = ring_sk(sk);
           ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘unregister_plugin’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4282:13: note: in expansion of macro ‘ring_sk’
       pfr = ring_sk(sk);
             ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘skb_ring_handler’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4607:13: note: in expansion of macro ‘ring_sk’
       pfr = ring_sk(sk);
             ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4697:14: note: in expansion of macro ‘ring_sk’
        pfr = ring_sk(skElement);
              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_create’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4885:3: error: too few arguments to function ‘sk_alloc’
   sk = sk_alloc(net, PF_INET, GFP_KERNEL, &ring_proto);
   ^
In file included from include/linux/tcp.h:22:0,
                 from include/linux/ipv6.h:69,
                 from /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:93:
include/net/sock.h:1515:14: note: declared here
 struct sock *sk_alloc(struct net *net, int family, gfp_t priority,
              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4898:3: note: in expansion of macro ‘ring_sk’
   ring_sk(sk) = ring_sk_datatype(kmalloc(sizeof(*pfr), GFP_KERNEL));
   ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4900:14: note: in expansion of macro ‘ring_sk’
   if(!(pfr = ring_sk(sk)))
              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4944:9: note: in expansion of macro ‘ring_sk’
   kfree(ring_sk(sk));
         ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_release’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:5840:32: note: in expansion of macro ‘ring_sk’
   struct pf_ring_socket *pfr = ring_sk(sk);
                                ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:5970:3: note: in expansion of macro ‘ring_sk’
   ring_sk(sk) = NULL;
   ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘packet_ring_bind’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6030:32: note: in expansion of macro ‘ring_sk’
   struct pf_ring_socket *pfr = ring_sk(sk);
                                ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_mmap’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6230:32: note: in expansion of macro ‘ring_sk’
   struct pf_ring_socket *pfr = ring_sk(sk);
                                ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_recvmsg’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6484:32: note: in expansion of macro ‘ring_sk’
   struct pf_ring_socket *pfr = ring_sk(sock->sk);
                                ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_sendmsg’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6537:32: note: in expansion of macro ‘ring_sk’
   struct pf_ring_socket *pfr = ring_sk(sock->sk);
                                ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_poll’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6673:32: note: in expansion of macro ‘ring_sk’
   struct pf_ring_socket *pfr = ring_sk(sock->sk);
                                ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘add_sock_to_cluster_list’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:424:58: note: in definition of macro ‘ring_sk_datatype’
 #define ring_sk_datatype(__sk) ((struct pf_ring_socket *)__sk)
                                                          ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6776:20: note: in expansion of macro ‘ring_sk’
   ring_sk_datatype(ring_sk(sock))->cluster_id = el->cluster.cluster_id;
                    ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘set_master_ring’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6866:11: note: in expansion of macro ‘ring_sk’
     pfr = ring_sk(sk);
           ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_setsockopt’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:7504:32: note: in expansion of macro ‘ring_sk’
   struct pf_ring_socket *pfr = ring_sk(sock->sk);
                                ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_getsockopt’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:8401:32: note: in expansion of macro ‘ring_sk’
   struct pf_ring_socket *pfr = ring_sk(sock->sk);
                                ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: At top level:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9114:3: warning: initialization from incompatible pointer type [enabled by default]
   .recvmsg = ring_recvmsg,
   ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9114:3: warning: (near initialization for ‘ring_ops.recvmsg’) [enabled by default]
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9115:3: warning: initialization from incompatible pointer type [enabled by default]
   .sendmsg = ring_sendmsg,
   ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9115:3: warning: (near initialization for ‘ring_ops.sendmsg’) [enabled by default]
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘remove_device_from_ring_list’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9180:8: note: in expansion of macro ‘ring_sk’
  pfr = ring_sk(sk);
        ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘pf_ring_inject_packet_to_ring’:
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’
 #define ring_sk(__sk) ((__sk)->sk_protinfo)
                              ^
/var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9307:13: note: in expansion of macro ‘ring_sk’
       pfr = ring_sk( sk);
             ^
make[2]: ** [/var/lib/dkms/pfring/6.1.1/build/pf_ring.o] Erro 1
make[1]: ** [_module_/var/lib/dkms/pfring/6.1.1/build] Erro 2
make[1]: Saindo do diretório `/usr/src/kernels/4.2.3-1.el7.elrepo.x86_64'
make: ** [all] Erro 2
@cardigliano
Copy link
Member

Hi Leonardo
pf_ring is not yet supported on kernel 4.x.

Alfredo

On 06 Oct 2015, at 20:11, Leonardo Amaral notifications@github.com wrote:

Im getting the following error installing in CentOS 7 + kernel 4.2.3-elrepo:

DKMS make.log for pfring-6.1.1 for kernel 4.2.3-1.el7.elrepo.x86_64 (x86_64)
Ter Out 6 15:05:57 BRT 2015
********** WARNING WARNING WARNING **********
*

  • Compiling PF_RING as root might lead you to compile errors
  • Please compile PF_RING as unpriviliged user
    *
    make -C /lib/modules/4.2.3-1.el7.elrepo.x86_64/build SUBDIRS=/var/lib/dkms/pfring/6.1.1/build EXTRA_CFLAGS='-I/var/lib/dkms/pfring/6.1.1/build -DGIT_REV=""dev:f3689fc0b1c6fb29827d2cb35ba710ec21e114ea""' modules
    make[1]: Entrando no diretório /usr/src/kernels/4.2.3-1.el7.elrepo.x86_64' CC [M] /var/lib/dkms/pfring/6.1.1/build/pf_ring.o /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_sock_destruct’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:945:9: note: in expansion of macro ‘ring_sk’ pfr = ring_sk(sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_alloc_mem’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:1730:32: note: in expansion of macro ‘ring_sk’ struct pf_ring_socket *pfr = ring_sk(sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_insert’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:1827:34: note: in expansion of macro ‘ring_sk’ pfr = (struct pf_ring_socket *)ring_sk(sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_remove’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:1847:42: note: in expansion of macro ‘ring_sk’ struct pf_ring_socket *pfr_to_delete = ring_sk(sk_to_delete); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:1860:11: note: in expansion of macro ‘ring_sk’ pfr = ring_sk(sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘unregister_plugin’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4282:13: note: in expansion of macro ‘ring_sk’ pfr = ring_sk(sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘skb_ring_handler’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4607:13: note: in expansion of macro ‘ring_sk’ pfr = ring_sk(sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4697:14: note: in expansion of macro ‘ring_sk’ pfr = ring_sk(skElement); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_create’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4885:3: error: too few arguments to function ‘sk_alloc’ sk = sk_alloc(net, PF_INET, GFP_KERNEL, &ring_proto); ^ In file included from include/linux/tcp.h:22:0, from include/linux/ipv6.h:69, from /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:93: include/net/sock.h:1515:14: note: declared here struct sock *sk_alloc(struct net *net, int family, gfp_t priority, ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4898:3: note: in expansion of macro ‘ring_sk’ ring_sk(sk) = ring_sk_datatype(kmalloc(sizeof(*pfr), GFP_KERNEL)); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4900:14: note: in expansion of macro ‘ring_sk’ if(!(pfr = ring_sk(sk))) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:4944:9: note: in expansion of macro ‘ring_sk’ kfree(ring_sk(sk)); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_release’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:5840:32: note: in expansion of macro ‘ring_sk’ struct pf_ring_socket *pfr = ring_sk(sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:5970:3: note: in expansion of macro ‘ring_sk’ ring_sk(sk) = NULL; ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘packet_ring_bind’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6030:32: note: in expansion of macro ‘ring_sk’ struct pf_ring_socket *pfr = ring_sk(sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_mmap’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6230:32: note: in expansion of macro ‘ring_sk’ struct pf_ring_socket *pfr = ring_sk(sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_recvmsg’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6484:32: note: in expansion of macro ‘ring_sk’ struct pf_ring_socket *pfr = ring_sk(sock->sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_sendmsg’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6537:32: note: in expansion of macro ‘ring_sk’ struct pf_ring_socket *pfr = ring_sk(sock->sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_poll’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6673:32: note: in expansion of macro ‘ring_sk’ struct pf_ring_socket *pfr = ring_sk(sock->sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘add_sock_to_cluster_list’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:424:58: note: in definition of macro ‘ring_sk_datatype’ #define ring_sk_datatype(__sk) ((struct pf_ring_socket *)__sk) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6776:20: note: in expansion of macro ‘ring_sk’ ring_sk_datatype(ring_sk(sock))->cluster_id = el->cluster.cluster_id; ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘set_master_ring’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:6866:11: note: in expansion of macro ‘ring_sk’ pfr = ring_sk(sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_setsockopt’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:7504:32: note: in expansion of macro ‘ring_sk’ struct pf_ring_socket *pfr = ring_sk(sock->sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘ring_getsockopt’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:8401:32: note: in expansion of macro ‘ring_sk’ struct pf_ring_socket *pfr = ring_sk(sock->sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: At top level: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9114:3: warning: initialization from incompatible pointer type [enabled by default] .recvmsg = ring_recvmsg, ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9114:3: warning: (near initialization for ‘ring_ops.recvmsg’) [enabled by default] /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9115:3: warning: initialization from incompatible pointer type [enabled by default] .sendmsg = ring_sendmsg, ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9115:3: warning: (near initialization for ‘ring_ops.sendmsg’) [enabled by default] /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘remove_device_from_ring_list’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9180:8: note: in expansion of macro ‘ring_sk’ pfr = ring_sk(sk); ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c: In function ‘pf_ring_inject_packet_to_ring’: /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:425:30: error: ‘struct sock’ has no member named ‘sk_protinfo’ #define ring_sk(__sk) ((__sk)->sk_protinfo) ^ /var/lib/dkms/pfring/6.1.1/build/pf_ring.c:9307:13: note: in expansion of macro ‘ring_sk’ pfr = ring_sk( sk); ^ make[2]: ** [/var/lib/dkms/pfring/6.1.1/build/pf_ring.o] Erro 1 make[1]: ** [_module_/var/lib/dkms/pfring/6.1.1/build] Erro 2 make[1]: Saindo do diretório/usr/src/kernels/4.2.3-1.el7.elrepo.x86_64'
    make: ** [all] Erro 2

    Reply to this email directly or view it on GitHub pf_ring + kernel 4.2.3 = compilation error #44.

@kolach
Copy link

kolach commented Oct 12, 2015

Hi Alfredo!
What are the plans of ntop team to support it?

Thanks,
Nick

@cardigliano
Copy link
Member

Hi Nick
we usually support latest ubuntu 12/14 lts and centos 6/7, this is what we have in our lab,
we will support kernel 4.x ASAP.

Alfredo

On 12 Oct 2015, at 03:09, Nick Chistyakov notifications@github.com wrote:

Hi Alfredo!
What are the plans of ntop team to support it?

Thanks,
Nick


Reply to this email directly or view it on GitHub #44 (comment).

@kolach
Copy link

kolach commented Oct 12, 2015

good to know, thanks!

@leleobhz
Copy link
Author

I suggest support http://elrepo.org/tiki/kernel-ml and http://elrepo.org/tiki/kernel-lt at least.

@cardigliano
Copy link
Member

Kernel 4.x should be supported now, please test latest code and let me know.

@kolach
Copy link

kolach commented Oct 16, 2015

Many thanks for such a fast response. I do not have (__sk)->sk_protinfo type of error any more. Though I have this one:

nick@nuc:~/Projects/ntop/PF_RING$ make
cd kernel; make
make[1]: Entering directory '/home/nick/Projects/ntop/PF_RING/kernel'
make -C /lib/modules/4.2.0-16-generic/build SUBDIRS=/home/nick/Projects/ntop/PF_RING/kernel EXTRA_CFLAGS='-I/home/nick/Projects/ntop/PF_RING/kernel -DGIT_REV="\"dev:8c0a5ca1fca757e1cb0d0d3a67b75201bdbf3ad4\""' modules
make[2]: Entering directory '/usr/src/linux-headers-4.2.0-16-generic'
  CC [M]  /home/nick/Projects/ntop/PF_RING/kernel/pf_ring.o
/home/nick/Projects/ntop/PF_RING/kernel/pf_ring.c:172:3: error: initializer element is not constant
   (rwlock_t)__RW_LOCK_UNLOCKED(virtual_filtering_lock)
   ^
/home/nick/Projects/ntop/PF_RING/kernel/pf_ring.c:182:3: error: initializer element is not constant
   (rwlock_t)__RW_LOCK_UNLOCKED(virtual_filtering_lock)
   ^
/home/nick/Projects/ntop/PF_RING/kernel/pf_ring.c:213:3: error: initializer element is not constant
   (rwlock_t)__RW_LOCK_UNLOCKED(cluster_fragments_lock)
   ^
/home/nick/Projects/ntop/PF_RING/kernel/pf_ring.c:232:3: error: initializer element is not constant
   (rwlock_t) __RW_LOCK_UNLOCKED(dna_cluster_lock)
   ^
/home/nick/Projects/ntop/PF_RING/kernel/pf_ring.c:242:3: error: initializer element is not constant
   (rwlock_t) __RW_LOCK_UNLOCKED(cluster_referee_lock)
   ^
/home/nick/Projects/ntop/PF_RING/kernel/pf_ring.c:250:3: error: initializer element is not constant
   (rwlock_t)__RW_LOCK_UNLOCKED(ring_proc_lock)
   ^
scripts/Makefile.build:264: recipe for target '/home/nick/Projects/ntop/PF_RING/kernel/pf_ring.o' failed
make[3]: *** [/home/nick/Projects/ntop/PF_RING/kernel/pf_ring.o] Error 1
Makefile:1398: recipe for target '_module_/home/nick/Projects/ntop/PF_RING/kernel' failed
make[2]: *** [_module_/home/nick/Projects/ntop/PF_RING/kernel] Error 2
make[2]: Leaving directory '/usr/src/linux-headers-4.2.0-16-generic'
Makefile:40: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/nick/Projects/ntop/PF_RING/kernel'
Makefile:2: recipe for target 'all' failed
make: *** [all] Error 2

@cardigliano
Copy link
Member

I patched pf_ring for 4.2.3 EL7,
it seems you are using ubuntu, correct? Version? How did you install kernel 4.2?

@kolach
Copy link

kolach commented Oct 16, 2015

I'm using upcoming ubuntu 15.10
// actually kubuntu if it matters

@cardigliano
Copy link
Member

Fixed, please check latest code on git.

@kolach
Copy link

kolach commented Oct 23, 2015

I did. And kernel module is compiled fine now. But I have other error on compiling drivers. That's the error that I get when I just run make in PF_RING root:

....
make[3]: Leaving directory '/home/nick/Projects/PF_RING/drivers/DNA/igb-5.3.2.2-DNA/src'
cd ixgbe-4.1.2-DNA/src; make
make[3]: Entering directory '/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src'
make -C /lib/modules/4.2.0-16-generic/build SUBDIRS=/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src modules
make[4]: Entering directory '/usr/src/linux-headers-4.2.0-16-generic'
  CC [M]  /home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.o
/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c: In function 'ixgbe_ndo_bridge_getlink':
/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c:9921:9: error: too few arguments to function 'ndo_dflt_bridge_getlink'
  return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0);
         ^
In file included from include/net/dst.h:13:0,
                 from include/net/sock.h:67,
                 from include/linux/tcp.h:22,
                 from /home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c:37:
include/linux/rtnetlink.h:115:12: note: declared here
 extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
            ^
/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c: At top level:
/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c:10018:24: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  .ndo_bridge_getlink = ixgbe_ndo_bridge_getlink,
                        ^
/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c:10018:24: note: (near initialization for 'ixgbe_netdev_ops.ndo_bridge_getlink')
/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c: In function 'ixgbe_ndo_bridge_getlink':
/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c:9925:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
scripts/Makefile.build:258: recipe for target '/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.o' failed
make[5]: *** [/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.o] Error 1
Makefile:1398: recipe for target '_module_/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src' failed
make[4]: *** [_module_/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src] Error 2
make[4]: Leaving directory '/usr/src/linux-headers-4.2.0-16-generic'
Makefile:321: recipe for target 'default' failed
make[3]: *** [default] Error 2
make[3]: Leaving directory '/home/nick/Projects/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src'
Makefile:25: recipe for target 'ixgbe' failed
make[2]: *** [ixgbe] Error 2
make[2]: Leaving directory '/home/nick/Projects/PF_RING/drivers/DNA'
Makefile:7: recipe for target 'dna' failed
make[1]: *** [dna] Error 2
make[1]: Leaving directory '/home/nick/Projects/PF_RING/drivers'
Makefile:2: recipe for target 'all' failed
make: *** [all] Error 2

Actually the driver that I need is ZC Intel e1000e. But it is also failed to compile with errors:

nick@nuc:~/Projects/PF_RING/drivers/ZC$ make
cd intel; make
make[1]: Entering directory '/home/nick/Projects/PF_RING/drivers/ZC/intel'
cd e1000e/e1000e-3.2.4.2-zc/src; make
make[2]: Entering directory '/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src'
make -C /lib/modules/4.2.0-16-generic/build SUBDIRS=/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src modules
make[3]: Entering directory '/usr/src/linux-headers-4.2.0-16-generic'
  CC [M]  /home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.o
In file included from /home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.c:49:0:
/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/e1000.h:404:22: error: field 'cc' has incomplete type
  struct cyclecounter cc;
                      ^
/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/e1000.h:405:21: error: field 'tc' has incomplete type
  struct timecounter tc;
                     ^
/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.c: In function 'e1000e_systim_to_hwtstamp':
/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.c:508:7: error: implicit declaration of function 'timecounter_cyc2time' [-Werror=implicit-function-declaration]
  ns = timecounter_cyc2time(&adapter->tc, systim);
       ^
/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.c: In function 'e1000e_config_hwtstamp':
/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.c:4344:2: error: implicit declaration of function 'timecounter_init' [-Werror=implicit-function-declaration]
  timecounter_init(&adapter->tc, &adapter->cc,
  ^
In file included from include/linux/list.h:8:0,
                 from include/linux/module.h:9,
                 from /home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.c:25:
/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.c: In function 'e1000e_cyclecounter_read':
include/linux/kernel.h:811:48: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types]
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                ^
/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.c:5243:34: note: in expansion of macro 'container_of'
  struct e1000_adapter *adapter = container_of(cc, struct e1000_adapter,
                                  ^
include/linux/kernel.h:811:48: note: (near initialization for 'adapter')
  const typeof( ((type *)0)->member ) *__mptr = (ptr); \
                                                ^
/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.c:5243:34: note: in expansion of macro 'container_of'
  struct e1000_adapter *adapter = container_of(cc, struct e1000_adapter,
                                  ^
/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.c: In function 'e1000_sw_init':
/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.c:5327:22: error: implicit declaration of function 'CYCLECOUNTER_MASK' [-Werror=implicit-function-declaration]
   adapter->cc.mask = CYCLECOUNTER_MASK(64);
                      ^
cc1: some warnings being treated as errors
scripts/Makefile.build:258: recipe for target '/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.o' failed
make[4]: *** [/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src/netdev.o] Error 1
Makefile:1398: recipe for target '_module_/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src' failed
make[3]: *** [_module_/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src] Error 2
make[3]: Leaving directory '/usr/src/linux-headers-4.2.0-16-generic'
Makefile:249: recipe for target 'default' failed
make[2]: *** [default] Error 2
make[2]: Leaving directory '/home/nick/Projects/PF_RING/drivers/ZC/intel/e1000e/e1000e-3.2.4.2-zc/src'
Makefile:9: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/nick/Projects/PF_RING/drivers/ZC/intel'
Makefile:3: recipe for target 'all' failed
make: *** [all] Error 2

Many thanks for your fixes! If I can somehow help just tell me.

@cardigliano
Copy link
Member

We are working for porting drivers to kernel 4.x, stay tuned.

@leleobhz
Copy link
Author

This kernel is elrepo-kernelmt.

Ill waiting.

@teokal
Copy link

teokal commented May 23, 2016

Might we have any news about the DNA drivers with kernel 4.x ? Has this issue been resolved?
I have problem installing DNA driver only in this kernel. On 3.19 I had no problem.

uname -a : Linux teopc 4.2.0-27-generic #32~14.04.1-Ubuntu SMP Mon May 23 10:32:26 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Network Card: 82599ES 10-Gigabit SFI/SFP+ Network Connection

I tried cd ~/PF_RING && make and I am getting the following error:

... (everything is okay) ...
make[3]: Leaving directory `/home/teo/PF_RING/drivers/DNA/igb-5.3.2.2-DNA/src'
cd ixgbe-4.1.2-DNA/src; make
make[3]: Entering directory `/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src'
make -C /lib/modules/4.2.0-27-generic/build SUBDIRS=/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src modules
make[4]: Entering directory `/usr/src/linux-headers-4.2.0-27-generic'
  CC [M]  /home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.o
/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c: In function ‘ixgbe_ndo_bridge_getlink’:
/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c:9921:2: error: too few arguments to function ‘ndo_dflt_bridge_getlink’
  return ndo_dflt_bridge_getlink(skb, pid, seq, dev, mode, 0, 0);
  ^
In file included from include/net/dst.h:13:0,
                 from include/net/sock.h:67,
                 from include/linux/tcp.h:22,
                 from /home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c:37:
include/linux/rtnetlink.h:115:12: note: declared here
 extern int ndo_dflt_bridge_getlink(struct sk_buff *skb, u32 pid, u32 seq,
            ^
/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c: At top level:
/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c:10018:2: warning: initialization from incompatible pointer type [enabled by default]
  .ndo_bridge_getlink = ixgbe_ndo_bridge_getlink,
  ^
/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c:10018:2: warning: (near initialization for ‘ixgbe_netdev_ops.ndo_bridge_getlink’) [enabled by default]
/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c: In function ‘ixgbe_ndo_bridge_getlink’:
/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.c:9925:1: warning: control reaches end of non-void function [-Wreturn-type]
 }
 ^
make[5]: *** [/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src/ixgbe_main.o] Error 1
make[4]: *** [_module_/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src] Error 2
make[4]: Leaving directory `/usr/src/linux-headers-4.2.0-27-generic'
make[3]: *** [default] Error 2
make[3]: Leaving directory `/home/teo/PF_RING/drivers/DNA/ixgbe-4.1.2-DNA/src'
... (Leaving some more dirs) ...

Any help or update is much appreciated :)

@cardigliano
Copy link
Member

DNA is EOL, any reason you are not using ZC drivers?

@teokal
Copy link

teokal commented May 23, 2016

We were using ZC for some time, but we had a lot of dropped packets 30-55%. Possibly, it was due to bad management of hardware resources (more than enough but not with optimized settings).
Changing to DNA drivers and without changing any other setting dropped this to 0.02-0.5%.
Just that so far!

@cardigliano
Copy link
Member

I think this is due to some misconfiguration (DNA and ZC have similar performance, they use the very same kernel-bypass technology)

@teokal
Copy link

teokal commented May 23, 2016

It might be a little bit off-topic and general question but it would give me some guidance as to what to focus.

  • Is it worth falling back to kernel 3.19 to use DNA and find better settings
    or
  • It is better to use kernel 4.x , ZC and try to find better settings ?
    Thank you very much!

@cardigliano
Copy link
Member

I would go with 2 (ZC)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants