[v3] eal: remove exec-env directory

Message ID 20190402193048.27410-1-thomas@monjalon.net (mailing list archive)
State Accepted, archived
Headers
Series [v3] eal: remove exec-env directory |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/mellanox-Performance-Testing success Performance Testing PASS
ci/intel-Performance-Testing success Performance Testing PASS

Commit Message

Thomas Monjalon April 2, 2019, 7:30 p.m. UTC
  Only one header file (rte_kni_common.h) was in the sub-directory
	include/exec-env/
This file was installed in a sub-directory of the same name
in the makefile-based build.
Source and install directories are moved as below:

   lib/librte_eal/linux/eal/include/exec-env/
-> lib/librte_eal/linux/eal/include/

   build/include/exec-env/
-> build/include/

The consequence is to have a file hierarchy a bit more flat.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
---
v2: remove subdir install with meson on Linux
v3: add rte_kni_common.h in meson install
---
 devtools/check-includes.sh                                     | 1 -
 kernel/linux/kni/kni_dev.h                                     | 2 +-
 kernel/linux/kni/kni_fifo.h                                    | 2 +-
 kernel/linux/kni/kni_misc.c                                    | 2 +-
 kernel/linux/kni/kni_net.c                                     | 2 +-
 lib/librte_eal/freebsd/eal/Makefile                            | 3 +--
 lib/librte_eal/linux/eal/Makefile                              | 3 +--
 .../linux/eal/include/{exec-env => }/rte_kni_common.h          | 0
 lib/librte_eal/linux/eal/meson.build                           | 3 +--
 lib/librte_kni/rte_kni.c                                       | 2 +-
 lib/librte_kni/rte_kni.h                                       | 2 +-
 11 files changed, 9 insertions(+), 13 deletions(-)
 rename lib/librte_eal/linux/eal/include/{exec-env => }/rte_kni_common.h (100%)
  

Comments

David Marchand April 2, 2019, 7:46 p.m. UTC | #1
On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net> wrote:

> Only one header file (rte_kni_common.h) was in the sub-directory
>         include/exec-env/
> This file was installed in a sub-directory of the same name
> in the makefile-based build.
> Source and install directories are moved as below:
>
>    lib/librte_eal/linux/eal/include/exec-env/
> -> lib/librte_eal/linux/eal/include/
>
>    build/include/exec-env/
> -> build/include/
>
> The consequence is to have a file hierarchy a bit more flat.
>
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>

Looks good to me.
Reviewed-by: David Marchand <david.marchand@redhat.com>
Tested-by: David Marchand <david.marchand@redhat.com>


Bruce, while testing with meson, I noticed this:
kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword argument
"console".
WARNING: This will become a hard error in the future.
WARNING: Unknown keyword arguments in target rte_kni: console
  
Ferruh Yigit April 2, 2019, 7:50 p.m. UTC | #2
On 4/2/2019 8:30 PM, Thomas Monjalon wrote:
> Only one header file (rte_kni_common.h) was in the sub-directory
> 	include/exec-env/
> This file was installed in a sub-directory of the same name
> in the makefile-based build.
> Source and install directories are moved as below:
> 
>    lib/librte_eal/linux/eal/include/exec-env/
> -> lib/librte_eal/linux/eal/include/
> 
>    build/include/exec-env/
> -> build/include/
> 
> The consequence is to have a file hierarchy a bit more flat.
> 
> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>

Acked-by: Ferruh Yigit <ferruh.yigit@intel.com>
  
Thomas Monjalon April 2, 2019, 7:50 p.m. UTC | #3
02/04/2019 21:46, David Marchand:
> On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> 
> > Only one header file (rte_kni_common.h) was in the sub-directory
> >         include/exec-env/
> > This file was installed in a sub-directory of the same name
> > in the makefile-based build.
> > Source and install directories are moved as below:
> >
> >    lib/librte_eal/linux/eal/include/exec-env/
> > -> lib/librte_eal/linux/eal/include/
> >
> >    build/include/exec-env/
> > -> build/include/
> >
> > The consequence is to have a file hierarchy a bit more flat.
> >
> > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> >
> 
> Looks good to me.
> Reviewed-by: David Marchand <david.marchand@redhat.com>
> Tested-by: David Marchand <david.marchand@redhat.com>

Applied
  
Ferruh Yigit April 2, 2019, 7:52 p.m. UTC | #4
On 4/2/2019 8:46 PM, David Marchand wrote:
> On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> 
>> Only one header file (rte_kni_common.h) was in the sub-directory
>>         include/exec-env/
>> This file was installed in a sub-directory of the same name
>> in the makefile-based build.
>> Source and install directories are moved as below:
>>
>>    lib/librte_eal/linux/eal/include/exec-env/
>> -> lib/librte_eal/linux/eal/include/
>>
>>    build/include/exec-env/
>> -> build/include/
>>
>> The consequence is to have a file hierarchy a bit more flat.
>>
>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>>
> 
> Looks good to me.
> Reviewed-by: David Marchand <david.marchand@redhat.com>
> Tested-by: David Marchand <david.marchand@redhat.com>
> 
> 
> Bruce, while testing with meson, I noticed this:
> kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword argument
> "console".
> WARNING: This will become a hard error in the future.
> WARNING: Unknown keyword arguments in target rte_kni: console

I am not seeing this...
  
David Marchand April 2, 2019, 7:55 p.m. UTC | #5
On Tue, Apr 2, 2019 at 9:52 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:

> On 4/2/2019 8:46 PM, David Marchand wrote:
> > On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net>
> wrote:
> >
> >> Only one header file (rte_kni_common.h) was in the sub-directory
> >>         include/exec-env/
> >> This file was installed in a sub-directory of the same name
> >> in the makefile-based build.
> >> Source and install directories are moved as below:
> >>
> >>    lib/librte_eal/linux/eal/include/exec-env/
> >> -> lib/librte_eal/linux/eal/include/
> >>
> >>    build/include/exec-env/
> >> -> build/include/
> >>
> >> The consequence is to have a file hierarchy a bit more flat.
> >>
> >> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> >>
> >
> > Looks good to me.
> > Reviewed-by: David Marchand <david.marchand@redhat.com>
> > Tested-by: David Marchand <david.marchand@redhat.com>
> >
> >
> > Bruce, while testing with meson, I noticed this:
> > kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword argument
> > "console".
> > WARNING: This will become a hard error in the future.
> > WARNING: Unknown keyword arguments in target rte_kni: console
>
> I am not seeing this...
>

Ok, might be my setup:
[dmarchan@dmarchan dpdk]$ meson --version
0.47.2

What should I check ?
  
Ferruh Yigit April 2, 2019, 7:57 p.m. UTC | #6
On 4/2/2019 8:55 PM, David Marchand wrote:
> On Tue, Apr 2, 2019 at 9:52 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> 
>> On 4/2/2019 8:46 PM, David Marchand wrote:
>>> On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net>
>> wrote:
>>>
>>>> Only one header file (rte_kni_common.h) was in the sub-directory
>>>>         include/exec-env/
>>>> This file was installed in a sub-directory of the same name
>>>> in the makefile-based build.
>>>> Source and install directories are moved as below:
>>>>
>>>>    lib/librte_eal/linux/eal/include/exec-env/
>>>> -> lib/librte_eal/linux/eal/include/
>>>>
>>>>    build/include/exec-env/
>>>> -> build/include/
>>>>
>>>> The consequence is to have a file hierarchy a bit more flat.
>>>>
>>>> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
>>>>
>>>
>>> Looks good to me.
>>> Reviewed-by: David Marchand <david.marchand@redhat.com>
>>> Tested-by: David Marchand <david.marchand@redhat.com>
>>>
>>>
>>> Bruce, while testing with meson, I noticed this:
>>> kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword argument
>>> "console".
>>> WARNING: This will become a hard error in the future.
>>> WARNING: Unknown keyword arguments in target rte_kni: console
>>
>> I am not seeing this...
>>
> 
> Ok, might be my setup:
> [dmarchan@dmarchan dpdk]$ meson --version
> 0.47.2
> 
> What should I check ?

I have '0.50.0', but no idea what to check, wait Bruce :) ?
  
David Marchand April 2, 2019, 8:04 p.m. UTC | #7
On Tue, Apr 2, 2019 at 9:58 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:

> On 4/2/2019 8:55 PM, David Marchand wrote:
> > On Tue, Apr 2, 2019 at 9:52 PM Ferruh Yigit <ferruh.yigit@intel.com>
> wrote:
> >> On 4/2/2019 8:46 PM, David Marchand wrote:
> >>> Bruce, while testing with meson, I noticed this:
> >>> kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword
> argument
> >>> "console".
> >>> WARNING: This will become a hard error in the future.
> >>> WARNING: Unknown keyword arguments in target rte_kni: console
> >>
> >> I am not seeing this...
> >>
> >
> > Ok, might be my setup:
> > [dmarchan@dmarchan dpdk]$ meson --version
> > 0.47.2
> >
> > What should I check ?
>
> I have '0.50.0', but no idea what to check, wait Bruce :) ?
>

Looking at the doc..
3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.42 of meson is
recommended - if the version packaged is too old, the latest version is
generally available from "pip".

Later:
NOTE: for --static builds, DPDK needs to be built with Meson >= 0.46 in
order to
fully generate the list of private dependencies. If DPDK is built with an
older
version of Meson, it might be necessary to manually specify dependencies of
DPDK
PMDs/libraries, for example -lmlx5 -lmnl for librte-pmd-mlx5, or the static
link
step might fail.

And I found this:
meson.build:    meson_version: '>= 0.47.1'

So I suppose I have a working environment and I will just ignore the
warnings :-)
  
Thomas Monjalon April 2, 2019, 8:09 p.m. UTC | #8
02/04/2019 22:04, David Marchand:
> On Tue, Apr 2, 2019 at 9:58 PM Ferruh Yigit <ferruh.yigit@intel.com> wrote:
> > On 4/2/2019 8:55 PM, David Marchand wrote:
> > > On Tue, Apr 2, 2019 at 9:52 PM Ferruh Yigit <ferruh.yigit@intel.com>
> > wrote:
> > >> On 4/2/2019 8:46 PM, David Marchand wrote:
> > >>> Bruce, while testing with meson, I noticed this:
> > >>> kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword
> > argument
> > >>> "console".
> > >>> WARNING: This will become a hard error in the future.
> > >>> WARNING: Unknown keyword arguments in target rte_kni: console
> > >>
> > >> I am not seeing this...
> > >>
> > >
> > > Ok, might be my setup:
> > > [dmarchan@dmarchan dpdk]$ meson --version
> > > 0.47.2
> > >
> > > What should I check ?
> >
> > I have '0.50.0', but no idea what to check, wait Bruce :) ?
> 
> Looking at the doc..
> 3 ``pip`` tool, e.g. ``pip3 install meson``. Version 0.42 of meson is
> recommended - if the version packaged is too old, the latest version is
> generally available from "pip".
> 
> Later:
> NOTE: for --static builds, DPDK needs to be built with Meson >= 0.46 in
> order to
> fully generate the list of private dependencies. If DPDK is built with an
> older
> version of Meson, it might be necessary to manually specify dependencies of
> DPDK
> PMDs/libraries, for example -lmlx5 -lmnl for librte-pmd-mlx5, or the static
> link
> step might fail.
> 
> And I found this:
> meson.build:    meson_version: '>= 0.47.1'

There is a miss of doc update in this patch:
	http://git.dpdk.org/dpdk/commit/?id=eded3f928c74

The minimum version is really 0.47.1.
  
David Marchand April 3, 2019, 8:41 a.m. UTC | #9
On Tue, Apr 2, 2019 at 9:51 PM Thomas Monjalon <thomas@monjalon.net> wrote:

> 02/04/2019 21:46, David Marchand:
> > On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net>
> wrote:
> >
> > > Only one header file (rte_kni_common.h) was in the sub-directory
> > >         include/exec-env/
> > > This file was installed in a sub-directory of the same name
> > > in the makefile-based build.
> > > Source and install directories are moved as below:
> > >
> > >    lib/librte_eal/linux/eal/include/exec-env/
> > > -> lib/librte_eal/linux/eal/include/
> > >
> > >    build/include/exec-env/
> > > -> build/include/
> > >
> > > The consequence is to have a file hierarchy a bit more flat.
> > >
> > > Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> > >
> >
> > Looks good to me.
> > Reviewed-by: David Marchand <david.marchand@redhat.com>
> > Tested-by: David Marchand <david.marchand@redhat.com>
>
> Applied
>


As a followup, I noticed this:

[dmarchan@dmarchan dpdk]$ for file in $(find lib/librte_eal/*/eal -name
*.h); do echo $(basename $file); git grep -l $(basename $file); echo; done
eal_alarm_private.h
lib/librte_eal/freebsd/eal/eal_alarm.c
lib/librte_eal/freebsd/eal/eal_interrupts.c

eal_vfio.h
lib/librte_eal/linux/eal/eal.c
lib/librte_eal/linux/eal/eal_interrupts.c
lib/librte_eal/linux/eal/eal_vfio.c
lib/librte_eal/linux/eal/eal_vfio_mp_sync.c

rte_kni_common.h
kernel/linux/kni/kni_dev.h
kernel/linux/kni/kni_fifo.h
kernel/linux/kni/kni_misc.c
kernel/linux/kni/kni_net.c
lib/librte_eal/linux/eal/Makefile
lib/librte_kni/rte_kni.c
lib/librte_kni/rte_kni.h

At the moment, kni is the only special case where users need to set a
CFLAGS -I...eal/include for.
But we have some drivers directly referencing linux/eal, linux/eal/include
and a funny $(SYSTEM)app/eal:

[dmarchan@dmarchan dpdk]$ git grep CFLAGS.*/eal
drivers/bus/dpaa/Makefile:CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/bus/pci/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/$(SYSTEM)app/eal
drivers/bus/vmbus/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/$(SYSTEM)app/eal
drivers/crypto/caam_jr/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/crypto/dpaa2_sec/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/crypto/dpaa_sec/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/event/dpaa/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal/include
drivers/event/dpaa2/Makefile:CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/mempool/dpaa2/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/net/dpaa/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal/include
drivers/net/dpaa2/Makefile:CFLAGS += -I$(RTE_SDK)/lib/librte_eal/linux/eal
drivers/raw/dpaa2_qdma/Makefile:CFLAGS +=
-I$(RTE_SDK)/lib/librte_eal/linux/eal

Preparing a patch.
  
Bruce Richardson April 3, 2019, 1:34 p.m. UTC | #10
On Tue, Apr 02, 2019 at 08:52:12PM +0100, Ferruh Yigit wrote:
> On 4/2/2019 8:46 PM, David Marchand wrote:
> > On Tue, Apr 2, 2019 at 9:30 PM Thomas Monjalon <thomas@monjalon.net> wrote:
> > 
> >> Only one header file (rte_kni_common.h) was in the sub-directory
> >>         include/exec-env/
> >> This file was installed in a sub-directory of the same name
> >> in the makefile-based build.
> >> Source and install directories are moved as below:
> >>
> >>    lib/librte_eal/linux/eal/include/exec-env/
> >> -> lib/librte_eal/linux/eal/include/
> >>
> >>    build/include/exec-env/
> >> -> build/include/
> >>
> >> The consequence is to have a file hierarchy a bit more flat.
> >>
> >> Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
> >>
> > 
> > Looks good to me.
> > Reviewed-by: David Marchand <david.marchand@redhat.com>
> > Tested-by: David Marchand <david.marchand@redhat.com>
> > 
> > 
> > Bruce, while testing with meson, I noticed this:
> > kernel/linux/kni/meson.build:16: WARNING: Passed invalid keyword argument
> > "console".
> > WARNING: This will become a hard error in the future.
> > WARNING: Unknown keyword arguments in target rte_kni: console
> 
> I am not seeing this...

It's ok. The keyword is new in newer versions which obviously won't give an
error on it being invalid then. Older versions just ignore it, other than
printing the warning you see.

In short, harmless, ignore! :-)

/Bruce
  

Patch

diff --git a/devtools/check-includes.sh b/devtools/check-includes.sh
index ba9d00ba3..3629ab4c7 100755
--- a/devtools/check-includes.sh
+++ b/devtools/check-includes.sh
@@ -80,7 +80,6 @@  include_dir=${1:-build/include}
 	'rte_byteorder_32.h' \
 	'rte_byteorder_64.h' \
 	'generic/*' \
-	'exec-env/*' \
 	'rte_vhost.h' \
 	'rte_eth_vhost.h' \
 	'rte_eal_interrupts.h' \
diff --git a/kernel/linux/kni/kni_dev.h b/kernel/linux/kni/kni_dev.h
index 688f574a4..df46aa70e 100644
--- a/kernel/linux/kni/kni_dev.h
+++ b/kernel/linux/kni/kni_dev.h
@@ -24,7 +24,7 @@ 
 #include <linux/spinlock.h>
 #include <linux/list.h>
 
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
 #define KNI_KTHREAD_RESCHEDULE_INTERVAL 5 /* us */
 
 #define MBUF_BURST_SZ 32
diff --git a/kernel/linux/kni/kni_fifo.h b/kernel/linux/kni/kni_fifo.h
index 3f4781c2e..5c91b5537 100644
--- a/kernel/linux/kni/kni_fifo.h
+++ b/kernel/linux/kni/kni_fifo.h
@@ -6,7 +6,7 @@ 
 #ifndef _KNI_FIFO_H_
 #define _KNI_FIFO_H_
 
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
 
 /* Skip some memory barriers on Linux < 3.14 */
 #ifndef smp_load_acquire
diff --git a/kernel/linux/kni/kni_misc.c b/kernel/linux/kni/kni_misc.c
index 04c78eb87..31845e10f 100644
--- a/kernel/linux/kni/kni_misc.c
+++ b/kernel/linux/kni/kni_misc.c
@@ -16,7 +16,7 @@ 
 #include <net/net_namespace.h>
 #include <net/netns/generic.h>
 
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
 
 #include "compat.h"
 #include "kni_dev.h"
diff --git a/kernel/linux/kni/kni_net.c b/kernel/linux/kni/kni_net.c
index 7371b6d58..be9e6b0b9 100644
--- a/kernel/linux/kni/kni_net.c
+++ b/kernel/linux/kni/kni_net.c
@@ -17,7 +17,7 @@ 
 #include <linux/kthread.h>
 #include <linux/delay.h>
 
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
 #include <kni_fifo.h>
 
 #include "compat.h"
diff --git a/lib/librte_eal/freebsd/eal/Makefile b/lib/librte_eal/freebsd/eal/Makefile
index 5d5abf1bb..55d476e5b 100644
--- a/lib/librte_eal/freebsd/eal/Makefile
+++ b/lib/librte_eal/freebsd/eal/Makefile
@@ -88,7 +88,6 @@  endif
 
 INC :=  # no bsd specific headers
 
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_FREEBSD)-include/exec-env := \
-	$(addprefix include/exec-env/,$(INC))
+SYMLINK-$(CONFIG_RTE_EXEC_ENV_FREEBSD)-include := $(addprefix include/,$(INC))
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_eal/linux/eal/Makefile b/lib/librte_eal/linux/eal/Makefile
index 932c93309..2aa6e8c6a 100644
--- a/lib/librte_eal/linux/eal/Makefile
+++ b/lib/librte_eal/linux/eal/Makefile
@@ -95,7 +95,6 @@  endif
 
 INC := rte_kni_common.h
 
-SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUX)-include/exec-env := \
-	$(addprefix include/exec-env/,$(INC))
+SYMLINK-$(CONFIG_RTE_EXEC_ENV_LINUX)-include := $(addprefix include/,$(INC))
 
 include $(RTE_SDK)/mk/rte.lib.mk
diff --git a/lib/librte_eal/linux/eal/include/exec-env/rte_kni_common.h b/lib/librte_eal/linux/eal/include/rte_kni_common.h
similarity index 100%
rename from lib/librte_eal/linux/eal/include/exec-env/rte_kni_common.h
rename to lib/librte_eal/linux/eal/include/rte_kni_common.h
diff --git a/lib/librte_eal/linux/eal/meson.build b/lib/librte_eal/linux/eal/meson.build
index 7e68b2c0d..d223da638 100644
--- a/lib/librte_eal/linux/eal/meson.build
+++ b/lib/librte_eal/linux/eal/meson.build
@@ -2,10 +2,9 @@ 
 # Copyright(c) 2017 Intel Corporation
 
 eal_inc += include_directories('include')
-install_subdir('include/exec-env', install_dir: get_option('includedir'))
 
 env_objs = []
-env_headers = []
+env_headers = files('include/rte_kni_common.h')
 env_sources = files('eal_alarm.c',
 		'eal_cpuflags.c',
 		'eal_debug.c',
diff --git a/lib/librte_kni/rte_kni.c b/lib/librte_kni/rte_kni.c
index 492e207a3..192f2fed0 100644
--- a/lib/librte_kni/rte_kni.c
+++ b/lib/librte_kni/rte_kni.c
@@ -21,7 +21,7 @@ 
 #include <rte_tailq.h>
 #include <rte_rwlock.h>
 #include <rte_eal_memconfig.h>
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
 #include "rte_kni_fifo.h"
 
 #define MAX_MBUF_BURST_NUM            32
diff --git a/lib/librte_kni/rte_kni.h b/lib/librte_kni/rte_kni.h
index 02ca43b4b..9a9a7d754 100644
--- a/lib/librte_kni/rte_kni.h
+++ b/lib/librte_kni/rte_kni.h
@@ -22,7 +22,7 @@ 
 #include <rte_mempool.h>
 #include <rte_ether.h>
 
-#include <exec-env/rte_kni_common.h>
+#include <rte_kni_common.h>
 
 #ifdef __cplusplus
 extern "C" {