Giter VIP home page Giter VIP logo

Comments (19)

cardigliano avatar cardigliano commented on July 24, 2024 1

I would go with 2 (ZC)

from pf_ring.

cardigliano avatar cardigliano commented on July 24, 2024

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

Alfredo

On 06 Oct 2015, at 20:11, Leonardo Amaral [email protected] 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 #44.

from pf_ring.

kolach avatar kolach commented on July 24, 2024

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

Thanks,
Nick

from pf_ring.

cardigliano avatar cardigliano commented on July 24, 2024

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 [email protected] 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).

from pf_ring.

kolach avatar kolach commented on July 24, 2024

good to know, thanks!

from pf_ring.

leleobhz avatar leleobhz commented on July 24, 2024

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

from pf_ring.

cardigliano avatar cardigliano commented on July 24, 2024

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

from pf_ring.

kolach avatar kolach commented on July 24, 2024

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

from pf_ring.

cardigliano avatar cardigliano commented on July 24, 2024

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

from pf_ring.

kolach avatar kolach commented on July 24, 2024

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

from pf_ring.

cardigliano avatar cardigliano commented on July 24, 2024

Fixed, please check latest code on git.

from pf_ring.

kolach avatar kolach commented on July 24, 2024

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.

from pf_ring.

cardigliano avatar cardigliano commented on July 24, 2024

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

from pf_ring.

leleobhz avatar leleobhz commented on July 24, 2024

This kernel is elrepo-kernelmt.

Ill waiting.

from pf_ring.

teokal avatar teokal commented on July 24, 2024

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 :)

from pf_ring.

cardigliano avatar cardigliano commented on July 24, 2024

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

from pf_ring.

teokal avatar teokal commented on July 24, 2024

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!

from pf_ring.

cardigliano avatar cardigliano commented on July 24, 2024

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

from pf_ring.

teokal avatar teokal commented on July 24, 2024

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!

from pf_ring.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.