Message ID | 1513922231-15554-1-git-send-email-hemant.agrawal@nxp.com |
---|---|
State | New |
Headers | show |
Series | Create kern folder for Linux kernel modules | expand |
Hi, 22/12/2017 06:57, Hemant Agrawal: > This patch moves the Linux kernel modules code to a common place. > - Separate the kernel module code from user space code. > - The GPL-2.0 licensed code is separated from the BSD-3 licensed userspace > code What is the benefit of separate things by license? These modules are Linux modules, so they should be in the linuxapp dir. There are also some kernel modules in the bsdapp directory.
On 12/22/2017 2:13 PM, Thomas Monjalon wrote: > Hi, > > 22/12/2017 06:57, Hemant Agrawal: >> This patch moves the Linux kernel modules code to a common place. >> - Separate the kernel module code from user space code. >> - The GPL-2.0 licensed code is separated from the BSD-3 licensed userspace >> code > > What is the benefit of separate things by license? The separation makes it easy to identify and check the license. Any patch introducing new file in *non-kern* folders shall not be GPL-2.0 licensed. Or GPL-2.0 license is allowed only for kern folder. > These modules are Linux modules, so they should be in the linuxapp dir. This is a cleaner separation w.r.t userspace/kernel space code. *kern* is a better placefolder for LKMs. Also eal is not getting overloaded. linuxapp is part of librte_eal. KNI is not related to EAL, but still the kni kernel code is added to librte_eal under linuxapp. > There are also some kernel modules in the bsdapp directory. We can move them as well. > >
22/12/2017 11:04, Hemant Agrawal: > On 12/22/2017 2:13 PM, Thomas Monjalon wrote: > > Hi, > > > > 22/12/2017 06:57, Hemant Agrawal: > >> This patch moves the Linux kernel modules code to a common place. > >> - Separate the kernel module code from user space code. > >> - The GPL-2.0 licensed code is separated from the BSD-3 licensed userspace > >> code > > > > What is the benefit of separate things by license? > > The separation makes it easy to identify and check the license. > > Any patch introducing new file in *non-kern* folders shall not be > GPL-2.0 licensed. Or GPL-2.0 license is allowed only for kern folder. The kernel modules are in DPDK only for historical reasons. We should get rid of them, and rely only on upstream modules. And it should be allowed to have kernel-related files elsewhere. Examples: GPL tools or BPF code. > > These modules are Linux modules, so they should be in the linuxapp dir. > > > This is a cleaner separation w.r.t userspace/kernel space code. > *kern* is a better placefolder for LKMs. I prefer "kernel" name. > Also eal is not getting overloaded. > > linuxapp is part of librte_eal. KNI is not related to EAL, but still > the kni kernel code is added to librte_eal under linuxapp. Yes it makes sense. More opinions/votes? > > There are also some kernel modules in the bsdapp directory. > > We can move them as well.
On 22-Dec-17 10:04 AM, Hemant Agrawal wrote: > On 12/22/2017 2:13 PM, Thomas Monjalon wrote: >> Hi, >> >> 22/12/2017 06:57, Hemant Agrawal: >>> This patch moves the Linux kernel modules code to a common place. >>> - Separate the kernel module code from user space code. >>> - The GPL-2.0 licensed code is separated from the BSD-3 licensed >>> userspace >>> code >> >> What is the benefit of separate things by license? > > The separation makes it easy to identify and check the license. > > Any patch introducing new file in *non-kern* folders shall not be > GPL-2.0 licensed. Or GPL-2.0 license is allowed only for kern folder. The latter is better since BSD kernel modules are not GPL-licensed. So, anything in the kern/kernel dir is not *necessarily* GPL-licensed, but anything *outside* kern/kernel dir is *necessarily not* GPL-licensed. -- Thanks, Anatoly
> On Dec 22, 2017, at 5:38 AM, Thomas Monjalon <thomas@monjalon.net> wrote: > > 22/12/2017 11:04, Hemant Agrawal: >> On 12/22/2017 2:13 PM, Thomas Monjalon wrote: >>> Hi, >>> >>> 22/12/2017 06:57, Hemant Agrawal: >>>> This patch moves the Linux kernel modules code to a common place. >>>> - Separate the kernel module code from user space code. >>>> - The GPL-2.0 licensed code is separated from the BSD-3 licensed userspace >>>> code >>> >>> What is the benefit of separate things by license? >> >> The separation makes it easy to identify and check the license. >> >> Any patch introducing new file in *non-kern* folders shall not be >> GPL-2.0 licensed. Or GPL-2.0 license is allowed only for kern folder. > > The kernel modules are in DPDK only for historical reasons. > We should get rid of them, and rely only on upstream modules. > > And it should be allowed to have kernel-related files elsewhere. > Examples: GPL tools or BPF code. > >>> These modules are Linux modules, so they should be in the linuxapp dir. >> >> >> This is a cleaner separation w.r.t userspace/kernel space code. >> *kern* is a better placefolder for LKMs. > > I prefer "kernel" name. The name should be related to Linux in some way, like linux_kern or linux_kernel or linux_modules (this is the one I prefer) this way it make it clear which OS they are designed for. > >> Also eal is not getting overloaded. >> >> linuxapp is part of librte_eal. KNI is not related to EAL, but still >> the kni kernel code is added to librte_eal under linuxapp. > > Yes it makes sense. > > More opinions/votes? > >>> There are also some kernel modules in the bsdapp directory. >> >> We can move them as well. Regards, Keith
22/12/2017 14:59, Wiles, Keith: > > > On Dec 22, 2017, at 5:38 AM, Thomas Monjalon <thomas@monjalon.net> wrote: > > > > 22/12/2017 11:04, Hemant Agrawal: > >> On 12/22/2017 2:13 PM, Thomas Monjalon wrote: > >>> These modules are Linux modules, so they should be in the linuxapp dir. > >> > >> > >> This is a cleaner separation w.r.t userspace/kernel space code. > >> *kern* is a better placefolder for LKMs. > > > > I prefer "kernel" name. > > The name should be related to Linux in some way, like linux_kern or linux_kernel or linux_modules (this is the one I prefer) this way it make it clear which OS they are designed for. If such top-level directory is created, the BSD modules must be moved there too. That's why "kernel/" or "kernel/linux/" is appropriate. > >> Also eal is not getting overloaded. > >> > >> linuxapp is part of librte_eal. KNI is not related to EAL, but still > >> the kni kernel code is added to librte_eal under linuxapp. > > > > Yes it makes sense. > > > > More opinions/votes? > > > >>> There are also some kernel modules in the bsdapp directory. > >> > >> We can move them as well.
> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Thomas Monjalon > Sent: Friday, December 22, 2017 11:38 AM > To: Hemant Agrawal <hemant.agrawal@nxp.com> > Cc: dev@dpdk.org; Yigit, Ferruh <ferruh.yigit@intel.com> > Subject: Re: [dpdk-dev] [PATCH] Create kern folder for Linux kernel modules > > 22/12/2017 11:04, Hemant Agrawal: > > On 12/22/2017 2:13 PM, Thomas Monjalon wrote: > > > Hi, > > > > > > 22/12/2017 06:57, Hemant Agrawal: > > >> This patch moves the Linux kernel modules code to a common place. > > >> - Separate the kernel module code from user space code. > > >> - The GPL-2.0 licensed code is separated from the BSD-3 licensed > userspace > > >> code > > > > > > What is the benefit of separate things by license? > > > > The separation makes it easy to identify and check the license. > > > > Any patch introducing new file in *non-kern* folders shall not be > > GPL-2.0 licensed. Or GPL-2.0 license is allowed only for kern folder. > > The kernel modules are in DPDK only for historical reasons. > We should get rid of them, and rely only on upstream modules. > > And it should be allowed to have kernel-related files elsewhere. > Examples: GPL tools or BPF code. > > > > These modules are Linux modules, so they should be in the linuxapp dir. > > > > > > This is a cleaner separation w.r.t userspace/kernel space code. > > *kern* is a better placefolder for LKMs. > > I prefer "kernel" name. > > > Also eal is not getting overloaded. > > > > linuxapp is part of librte_eal. KNI is not related to EAL, but still > > the kni kernel code is added to librte_eal under linuxapp. > > Yes it makes sense. > > More opinions/votes? No strong opinion on moving source code around here... but: We should be careful that the build system leaves the .ko and other files in the same place as before as moving the build output may break automated deployments of other projects that use DPDK. We've accidentally broken things before, for example moving scripts/ to usertools/ broke automation in OpenStack IIRC. > > > There are also some kernel modules in the bsdapp directory. > > > > We can move them as well.
> On Dec 22, 2017, at 8:17 AM, Thomas Monjalon <thomas@monjalon.net> wrote: > > 22/12/2017 14:59, Wiles, Keith: >> >>> On Dec 22, 2017, at 5:38 AM, Thomas Monjalon <thomas@monjalon.net> wrote: >>> >>> 22/12/2017 11:04, Hemant Agrawal: >>>> On 12/22/2017 2:13 PM, Thomas Monjalon wrote: >>>>> These modules are Linux modules, so they should be in the linuxapp dir. >>>> >>>> >>>> This is a cleaner separation w.r.t userspace/kernel space code. >>>> *kern* is a better placefolder for LKMs. >>> >>> I prefer "kernel" name. >> >> The name should be related to Linux in some way, like linux_kern or linux_kernel or linux_modules (this is the one I prefer) this way it make it clear which OS they are designed for. > > If such top-level directory is created, the BSD modules must be moved there too. > That's why "kernel/" or "kernel/linux/" is appropriate. OK seems reasonable, what about kernel/{freebsd,Linux, …}/modules/(module-name e.g. kni, igb_uio, nic_uio, …) Kernel is misleading IMO, but I can live with it as long as we break down the different kernel related items. This is why I add modules in the path, as we could have other OSes like Windows with items that are not modules or VMs or containers… I can live with kernel/{freebsd, linux, …}/{igb_uio, kni, nic_uio, ..} but I would like to make sure it does not change in the future with adding windows. > >>>> Also eal is not getting overloaded. >>>> >>>> linuxapp is part of librte_eal. KNI is not related to EAL, but still >>>> the kni kernel code is added to librte_eal under linuxapp. >>> >>> Yes it makes sense. >>> >>> More opinions/votes? >>> >>>>> There are also some kernel modules in the bsdapp directory. >>>> >>>> We can move them as well. > Regards, Keith
On 12/22/2017 8:21 PM, Wiles, Keith wrote: > > >> On Dec 22, 2017, at 8:17 AM, Thomas Monjalon <thomas@monjalon.net> wrote: >> >> 22/12/2017 14:59, Wiles, Keith: >>> >>>> On Dec 22, 2017, at 5:38 AM, Thomas Monjalon <thomas@monjalon.net> wrote: >>>> >>>> 22/12/2017 11:04, Hemant Agrawal: >>>>> On 12/22/2017 2:13 PM, Thomas Monjalon wrote: >>>>>> These modules are Linux modules, so they should be in the linuxapp dir. >>>>> >>>>> >>>>> This is a cleaner separation w.r.t userspace/kernel space code. >>>>> *kern* is a better placefolder for LKMs. >>>> >>>> I prefer "kernel" name. >>> >>> The name should be related to Linux in some way, like linux_kern or linux_kernel or linux_modules (this is the one I prefer) this way it make it clear which OS they are designed for. >> >> If such top-level directory is created, the BSD modules must be moved there too. >> That's why "kernel/" or "kernel/linux/" is appropriate. > > OK seems reasonable, what about kernel/{freebsd,Linux, …}/modules/(module-name e.g. kni, igb_uio, nic_uio, …) > > Kernel is misleading IMO, but I can live with it as long as we break down the different kernel related items. This is why I add modules in the path, as we could have other OSes like Windows with items that are not modules or VMs or containers… > > I can live with kernel/{freebsd, linux, …}/{igb_uio, kni, nic_uio, ..} but I would like to make sure it does not change in the future with adding windows. Your suggestion seems reasonable. I am not sure about windows. May be some working on DPDK-on-windows can comment > >> >>>>> Also eal is not getting overloaded. >>>>> >>>>> linuxapp is part of librte_eal. KNI is not related to EAL, but still >>>>> the kni kernel code is added to librte_eal under linuxapp. >>>> >>>> Yes it makes sense. >>>> >>>> More opinions/votes? >>>> >>>>>> There are also some kernel modules in the bsdapp directory. >>>>> >>>>> We can move them as well. >> > > Regards, > Keith >
diff --git a/GNUmakefile b/GNUmakefile index 45b7fbb..59a30f4 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -40,7 +40,7 @@ export RTE_SDK # directory list # -ROOTDIRS-y := buildtools lib drivers app +ROOTDIRS-y := buildtools lib drivers app kern ROOTDIRS- := test include $(RTE_SDK)/mk/rte.sdkroot.mk diff --git a/kern/Makefile b/kern/Makefile new file mode 100644 index 0000000..c2c45a3 --- /dev/null +++ b/kern/Makefile @@ -0,0 +1,9 @@ +# SPDX-License-Identifier: GPL-2.0 +# Copyright 2017 NXP + +include $(RTE_SDK)/mk/rte.vars.mk + +DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio +DIRS-$(CONFIG_RTE_KNI_KMOD) += kni + +include $(RTE_SDK)/mk/rte.subdir.mk diff --git a/lib/librte_eal/linuxapp/igb_uio/Makefile b/kern/igb_uio/Makefile similarity index 100% rename from lib/librte_eal/linuxapp/igb_uio/Makefile rename to kern/igb_uio/Makefile diff --git a/lib/librte_eal/linuxapp/igb_uio/compat.h b/kern/igb_uio/compat.h similarity index 100% rename from lib/librte_eal/linuxapp/igb_uio/compat.h rename to kern/igb_uio/compat.h diff --git a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c b/kern/igb_uio/igb_uio.c similarity index 100% rename from lib/librte_eal/linuxapp/igb_uio/igb_uio.c rename to kern/igb_uio/igb_uio.c diff --git a/lib/librte_eal/linuxapp/kni/Makefile b/kern/kni/Makefile similarity index 100% rename from lib/librte_eal/linuxapp/kni/Makefile rename to kern/kni/Makefile diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/kern/kni/compat.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/compat.h rename to kern/kni/compat.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/README b/kern/kni/ethtool/README similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/README rename to kern/kni/ethtool/README diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c b/kern/kni/ethtool/igb/e1000_82575.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.c rename to kern/kni/ethtool/igb/e1000_82575.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h b/kern/kni/ethtool/igb/e1000_82575.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_82575.h rename to kern/kni/ethtool/igb/e1000_82575.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c b/kern/kni/ethtool/igb/e1000_api.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.c rename to kern/kni/ethtool/igb/e1000_api.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h b/kern/kni/ethtool/igb/e1000_api.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_api.h rename to kern/kni/ethtool/igb/e1000_api.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h b/kern/kni/ethtool/igb/e1000_defines.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_defines.h rename to kern/kni/ethtool/igb/e1000_defines.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h b/kern/kni/ethtool/igb/e1000_hw.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_hw.h rename to kern/kni/ethtool/igb/e1000_hw.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c b/kern/kni/ethtool/igb/e1000_i210.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.c rename to kern/kni/ethtool/igb/e1000_i210.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h b/kern/kni/ethtool/igb/e1000_i210.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_i210.h rename to kern/kni/ethtool/igb/e1000_i210.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c b/kern/kni/ethtool/igb/e1000_mac.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.c rename to kern/kni/ethtool/igb/e1000_mac.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h b/kern/kni/ethtool/igb/e1000_mac.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mac.h rename to kern/kni/ethtool/igb/e1000_mac.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c b/kern/kni/ethtool/igb/e1000_manage.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.c rename to kern/kni/ethtool/igb/e1000_manage.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h b/kern/kni/ethtool/igb/e1000_manage.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_manage.h rename to kern/kni/ethtool/igb/e1000_manage.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c b/kern/kni/ethtool/igb/e1000_mbx.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.c rename to kern/kni/ethtool/igb/e1000_mbx.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h b/kern/kni/ethtool/igb/e1000_mbx.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_mbx.h rename to kern/kni/ethtool/igb/e1000_mbx.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c b/kern/kni/ethtool/igb/e1000_nvm.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.c rename to kern/kni/ethtool/igb/e1000_nvm.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h b/kern/kni/ethtool/igb/e1000_nvm.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_nvm.h rename to kern/kni/ethtool/igb/e1000_nvm.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h b/kern/kni/ethtool/igb/e1000_osdep.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_osdep.h rename to kern/kni/ethtool/igb/e1000_osdep.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c b/kern/kni/ethtool/igb/e1000_phy.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c rename to kern/kni/ethtool/igb/e1000_phy.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h b/kern/kni/ethtool/igb/e1000_phy.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.h rename to kern/kni/ethtool/igb/e1000_phy.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h b/kern/kni/ethtool/igb/e1000_regs.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_regs.h rename to kern/kni/ethtool/igb/e1000_regs.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h b/kern/kni/ethtool/igb/igb.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h rename to kern/kni/ethtool/igb/igb.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c b/kern/kni/ethtool/igb/igb_ethtool.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_ethtool.c rename to kern/kni/ethtool/igb/igb_ethtool.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c b/kern/kni/ethtool/igb/igb_main.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_main.c rename to kern/kni/ethtool/igb/igb_main.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c b/kern/kni/ethtool/igb/igb_param.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_param.c rename to kern/kni/ethtool/igb/igb_param.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h b/kern/kni/ethtool/igb/igb_regtest.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_regtest.h rename to kern/kni/ethtool/igb/igb_regtest.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c b/kern/kni/ethtool/igb/igb_vmdq.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.c rename to kern/kni/ethtool/igb/igb_vmdq.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h b/kern/kni/ethtool/igb/igb_vmdq.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/igb_vmdq.h rename to kern/kni/ethtool/igb/igb_vmdq.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h b/kern/kni/ethtool/igb/kcompat.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/igb/kcompat.h rename to kern/kni/ethtool/igb/kcompat.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h b/kern/kni/ethtool/ixgbe/ixgbe.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe.h rename to kern/kni/ethtool/ixgbe/ixgbe.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c b/kern/kni/ethtool/ixgbe/ixgbe_82598.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.c rename to kern/kni/ethtool/ixgbe/ixgbe_82598.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h b/kern/kni/ethtool/ixgbe/ixgbe_82598.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82598.h rename to kern/kni/ethtool/ixgbe/ixgbe_82598.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c b/kern/kni/ethtool/ixgbe/ixgbe_82599.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c rename to kern/kni/ethtool/ixgbe/ixgbe_82599.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h b/kern/kni/ethtool/ixgbe/ixgbe_82599.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.h rename to kern/kni/ethtool/ixgbe/ixgbe_82599.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c b/kern/kni/ethtool/ixgbe/ixgbe_api.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.c rename to kern/kni/ethtool/ixgbe/ixgbe_api.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h b/kern/kni/ethtool/ixgbe/ixgbe_api.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_api.h rename to kern/kni/ethtool/ixgbe/ixgbe_api.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c b/kern/kni/ethtool/ixgbe/ixgbe_common.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.c rename to kern/kni/ethtool/ixgbe/ixgbe_common.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h b/kern/kni/ethtool/ixgbe/ixgbe_common.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_common.h rename to kern/kni/ethtool/ixgbe/ixgbe_common.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h b/kern/kni/ethtool/ixgbe/ixgbe_dcb.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_dcb.h rename to kern/kni/ethtool/ixgbe/ixgbe_dcb.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c b/kern/kni/ethtool/ixgbe/ixgbe_ethtool.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_ethtool.c rename to kern/kni/ethtool/ixgbe/ixgbe_ethtool.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h b/kern/kni/ethtool/ixgbe/ixgbe_fcoe.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_fcoe.h rename to kern/kni/ethtool/ixgbe/ixgbe_fcoe.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c b/kern/kni/ethtool/ixgbe/ixgbe_main.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_main.c rename to kern/kni/ethtool/ixgbe/ixgbe_main.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h b/kern/kni/ethtool/ixgbe/ixgbe_mbx.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_mbx.h rename to kern/kni/ethtool/ixgbe/ixgbe_mbx.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h b/kern/kni/ethtool/ixgbe/ixgbe_osdep.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_osdep.h rename to kern/kni/ethtool/ixgbe/ixgbe_osdep.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c b/kern/kni/ethtool/ixgbe/ixgbe_phy.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.c rename to kern/kni/ethtool/ixgbe/ixgbe_phy.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h b/kern/kni/ethtool/ixgbe/ixgbe_phy.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_phy.h rename to kern/kni/ethtool/ixgbe/ixgbe_phy.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h b/kern/kni/ethtool/ixgbe/ixgbe_type.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_type.h rename to kern/kni/ethtool/ixgbe/ixgbe_type.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c b/kern/kni/ethtool/ixgbe/ixgbe_x540.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.c rename to kern/kni/ethtool/ixgbe/ixgbe_x540.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h b/kern/kni/ethtool/ixgbe/ixgbe_x540.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_x540.h rename to kern/kni/ethtool/ixgbe/ixgbe_x540.h diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c b/kern/kni/ethtool/ixgbe/kcompat.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.c rename to kern/kni/ethtool/ixgbe/kcompat.c diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h b/kern/kni/ethtool/ixgbe/kcompat.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/ethtool/ixgbe/kcompat.h rename to kern/kni/ethtool/ixgbe/kcompat.h diff --git a/lib/librte_eal/linuxapp/kni/kni_dev.h b/kern/kni/kni_dev.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/kni_dev.h rename to kern/kni/kni_dev.h diff --git a/lib/librte_eal/linuxapp/kni/kni_ethtool.c b/kern/kni/kni_ethtool.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/kni_ethtool.c rename to kern/kni/kni_ethtool.c diff --git a/lib/librte_eal/linuxapp/kni/kni_fifo.h b/kern/kni/kni_fifo.h similarity index 100% rename from lib/librte_eal/linuxapp/kni/kni_fifo.h rename to kern/kni/kni_fifo.h diff --git a/lib/librte_eal/linuxapp/kni/kni_misc.c b/kern/kni/kni_misc.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/kni_misc.c rename to kern/kni/kni_misc.c diff --git a/lib/librte_eal/linuxapp/kni/kni_net.c b/kern/kni/kni_net.c similarity index 100% rename from lib/librte_eal/linuxapp/kni/kni_net.c rename to kern/kni/kni_net.c diff --git a/lib/librte_eal/linuxapp/Makefile b/lib/librte_eal/linuxapp/Makefile index 2ebdf31..5e100fb 100644 --- a/lib/librte_eal/linuxapp/Makefile +++ b/lib/librte_eal/linuxapp/Makefile @@ -32,8 +32,6 @@ include $(RTE_SDK)/mk/rte.vars.mk DIRS-$(CONFIG_RTE_EXEC_ENV_LINUXAPP) += eal -DIRS-$(CONFIG_RTE_EAL_IGB_UIO) += igb_uio -DIRS-$(CONFIG_RTE_KNI_KMOD) += kni DEPDIRS-kni := eal include $(RTE_SDK)/mk/rte.subdir.mk
This patch moves the Linux kernel modules code to a common place. - Separate the kernel module code from user space code. - The GPL-2.0 licensed code is separated from the BSD-3 licensed userspace code Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com> --- GNUmakefile | 2 +- kern/Makefile | 9 +++++++++ {lib/librte_eal/linuxapp => kern}/igb_uio/Makefile | 0 {lib/librte_eal/linuxapp => kern}/igb_uio/compat.h | 0 {lib/librte_eal/linuxapp => kern}/igb_uio/igb_uio.c | 0 {lib/librte_eal/linuxapp => kern}/kni/Makefile | 0 {lib/librte_eal/linuxapp => kern}/kni/compat.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/README | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_82575.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_82575.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_api.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_api.h | 0 .../librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_defines.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_hw.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_i210.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_i210.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_mac.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_mac.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_manage.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_manage.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_mbx.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_mbx.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_nvm.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_nvm.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_osdep.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_phy.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_phy.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_regs.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_ethtool.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_main.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_param.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_regtest.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_vmdq.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_vmdq.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/kcompat.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe.h | 0 .../librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_82598.c | 0 .../librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_82598.h | 0 .../librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_82599.c | 0 .../librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_82599.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_api.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_api.h | 0 .../linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_common.c | 0 .../linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_common.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_dcb.h | 0 .../linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_ethtool.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_fcoe.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_main.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_mbx.h | 0 .../librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_osdep.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_phy.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_phy.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_type.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_x540.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_x540.h | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/kcompat.c | 0 {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/kcompat.h | 0 {lib/librte_eal/linuxapp => kern}/kni/kni_dev.h | 0 {lib/librte_eal/linuxapp => kern}/kni/kni_ethtool.c | 0 {lib/librte_eal/linuxapp => kern}/kni/kni_fifo.h | 0 {lib/librte_eal/linuxapp => kern}/kni/kni_misc.c | 0 {lib/librte_eal/linuxapp => kern}/kni/kni_net.c | 0 lib/librte_eal/linuxapp/Makefile | 2 -- 64 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 kern/Makefile rename {lib/librte_eal/linuxapp => kern}/igb_uio/Makefile (100%) rename {lib/librte_eal/linuxapp => kern}/igb_uio/compat.h (100%) rename {lib/librte_eal/linuxapp => kern}/igb_uio/igb_uio.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/Makefile (100%) rename {lib/librte_eal/linuxapp => kern}/kni/compat.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/README (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_82575.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_82575.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_api.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_api.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_defines.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_hw.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_i210.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_i210.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_mac.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_mac.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_manage.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_manage.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_mbx.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_mbx.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_nvm.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_nvm.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_osdep.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_phy.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_phy.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/e1000_regs.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_ethtool.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_main.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_param.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_regtest.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_vmdq.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/igb_vmdq.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/igb/kcompat.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_82598.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_82598.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_82599.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_82599.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_api.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_api.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_common.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_common.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_dcb.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_ethtool.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_fcoe.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_main.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_mbx.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_osdep.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_phy.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_phy.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_type.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_x540.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/ixgbe_x540.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/kcompat.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/ethtool/ixgbe/kcompat.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/kni_dev.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/kni_ethtool.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/kni_fifo.h (100%) rename {lib/librte_eal/linuxapp => kern}/kni/kni_misc.c (100%) rename {lib/librte_eal/linuxapp => kern}/kni/kni_net.c (100%) -- 2.7.4