Bug 1536589 - fatal error: rte_kni.h: No such file or directory
Summary: fatal error: rte_kni.h: No such file or directory
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: dpdk
Version: 27
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Neil Horman
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2018-01-19 17:12 UTC by Leonardo Amaral
Modified: 2020-05-10 16:08 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2018-01-22 12:17:56 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Leonardo Amaral 2018-01-19 17:12:28 UTC
Description of problem:

Compiling an application that depends on dpdk returns the following error:

/usr/src/dpdk-ans/ans/ans_kni.c:76:10: fatal error: rte_kni.h: No such file or directory                           
 #include <rte_kni.h>
          ^~~~~~~~~~~

And the file does not exist:

[root@deodora ~]# find / -name rte_kni.h ; echo $?
0


Version-Release number of selected component (if applicable):

[root@deodora ~]# rpm -qa | grep dpdk                                                                              
dpdk-examples-17.08-1.fc27.x86_64                        
dpdk-tools-17.08-1.fc27.x86_64                           
dpdk-17.08-1.fc27.x86_64    
dpdk-devel-17.08-1.fc27.x86_64                           


How reproducible:
Always


Steps to Reproduce:
1. sudo dnf -y install dpdk dpdk-devel dpdk-tools
2. Try to compile https://github.com/ansyun/dpdk-ans

Actual results:

/usr/src/dpdk-ans/ans /usr/src/dpdk-ans ~                
  CC ans_kni.o              
/usr/src/dpdk-ans/ans/ans_kni.c:76:10: fatal error: rte_kni.h: No such file or directory                           
 #include <rte_kni.h>
          ^~~~~~~~~~~
compilation terminated.     
make[1]: *** [/usr/share/dpdk/mk/internal/rte.compile-pre.mk:140: ans_kni.o] Error 1                               
make: *** [/usr/share/dpdk/mk/rte.extapp.mk:43: all] Error 2                                                       


Expected results:

Working compilation.

Additional info:

Comment 1 Leonardo Amaral 2018-01-19 17:32:37 UTC
An additional info: This issue also happens with rawride version

Comment 2 Leonardo Amaral 2018-01-19 17:40:21 UTC
Another example I have here:

leonardo@deodora:~$ LANG=C gcc -Wp,-MD,./.ans_kni.o.d.tmp  -m64 -pthread -fPIC  -march=corei7 -DRTE_MACHINE_CPUFLAG_SSE -DRTE_MACHINE_CPUFLAG_SSE2 -DRTE_MACHINE_CPUFLAG_SSE3 -DRTE_MACHINE_CPUFLAG_SSSE3 -DRTE_MACHINE_CPUFLAG_SSE4_1 -DRTE_MACHINE_CPUFLAG_SSE4_2  -I/usr/src/dpdk-ans/ans/build/include -I/usr/share/dpdk/x86_64-default-linuxapp-gcc/include -include /usr/share/dpdk/x86_64-default-linuxapp-gcc/include/rte_config.h -O3 -std=gnu99 -o /tmp/kni_test.bin /usr/share/dpdk/examples/kni/main.c
/usr/share/dpdk/examples/kni/main.c:72:10: fatal error: rte_kni.h: No such file or directory
 #include <rte_kni.h>
          ^~~~~~~~~~~
compilation terminated.

Since its an example from dpdk source, how did this passed in compilation tests?

Comment 3 Neil Horman 2018-01-22 12:17:56 UTC
The Fedora version of the DPDK package is compiled without kni support, as using kni requires out-of-kernel-tree modules, which Fedora does not support.  If you would like this fixed, the upstream dpdk project needs to submit the kni modules built from lib/librte_eal/linuxapp/kni/ in the dpdk source tree to the upstream kernel community for inclusion.

Comment 4 Leonardo Amaral 2018-01-22 12:37:30 UTC
Hello Neil!

Thanks for you answer! I understand clearly you point and agree with it. For this reason, I've opened a upstream issue at https://dpdk.org/tracker/show_bug.cgi?id=12 and I do not intent to turn this out the NOTABUG status.

I'm not a developer, so I'm sorry not contributing too much with this but as a Network Engineer/Researcher, I'll do the possible to help the upstream insertion to happen.

Just a question about fedora packaging itself: The kmod or dkms structure cannot be used at least as optional package to help system that demands KNI do not mess with kernel tree/packaging tree? There is at least a .spec that I can compile here, preventing I have untracked modules and allowing seamless kernel update?

Thanks!

Comment 5 Philip Orleans 2020-05-10 16:08:23 UTC
I need to know what is the latest version of the kernel that supports rte_kni. And if by any chance anybody knows why it has not been possible so far in 2020 to get this module into the kernel. There are some apps that require accelerated packet processing, namely routers, etc.


Note You need to log in before you can comment on or make changes to this bug.