Closed leleobhz closed 9 years ago
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 https://github.com/ntop/PF_RING/issues/44.
Hi Alfredo! What are the plans of ntop team to support it?
Thanks, Nick
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 https://github.com/ntop/PF_RING/issues/44#issuecomment-147268520.
good to know, thanks!
I suggest support http://elrepo.org/tiki/kernel-ml and http://elrepo.org/tiki/kernel-lt at least.
Kernel 4.x should be supported now, please test latest code and let me know.
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
I patched pf_ring for 4.2.3 EL7, it seems you are using ubuntu, correct? Version? How did you install kernel 4.2?
I'm using upcoming ubuntu 15.10 // actually kubuntu if it matters
Fixed, please check latest code on git.
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.
We are working for porting drivers to kernel 4.x, stay tuned.
This kernel is elrepo-kernelmt.
Ill waiting.
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 :)
DNA is EOL, any reason you are not using ZC drivers?
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!
I think this is due to some misconfiguration (DNA and ZC have similar performance, they use the very same kernel-bypass technology)
It might be a little bit off-topic and general question but it would give me some guidance as to what to focus.
I would go with 2 (ZC)
Im getting the following error installing in CentOS 7 + kernel 4.2.3-elrepo: