* [dpdk-stable] [PATCH v7 1/3] drivers/net: fix build with internal API usage [not found] <20200710144208.499544-1-ferruh.yigit@intel.com> @ 2020-07-10 21:43 ` Ferruh Yigit 2020-07-10 22:07 ` Thomas Monjalon 0 siblings, 1 reply; 4+ messages in thread From: Ferruh Yigit @ 2020-07-10 21:43 UTC (permalink / raw) To: Igor Russkikh, Pavel Belous, Ajit Khaparde, Somnath Kotur, Hemant Agrawal, Sachin Saxena, Beilei Xing, Jeff Guo, Wei Zhao, Andrew Rybchenko, Thomas Monjalon, Shreyansh Jain Cc: dev, Ferruh Yigit, stable, David Marchand Using '__rte_internal' tag in 'rte_ethdev_driver.h' causing build error for applications and examples. Because they don't define 'ALLOW_INTERNAL_API' flag and '__rte_internal' causes the error. This patch is preparation for future '__rte_internal' usage. At first place, applications/examples should not include 'rte_ethdev_driver.h', this is happening because of PMD public header files include 'rte_ethdev_driver.h' by mistake. Updated PMD public header files to not include internal header files. But for unit test application, 'app/test', enable accessing internal APIs, since some unit tests need them. Fixes: ffc905f3b856 ("ethdev: separate driver APIs") Fixes: ec0dec44ecb9 ("net/atlantic: enable MACsec configuration") Cc: stable@dpdk.org Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> --- Cc: David Marchand <david.marchand@redhat.com> --- app/test/meson.build | 3 +++ drivers/net/atlantic/rte_pmd_atlantic.h | 2 +- drivers/net/bnxt/rte_pmd_bnxt.h | 3 ++- drivers/net/dpaa/rte_pmd_dpaa.h | 2 -- drivers/net/i40e/rte_pmd_i40e.h | 4 +++- drivers/net/ixgbe/rte_pmd_ixgbe.h | 4 +++- 6 files changed, 12 insertions(+), 6 deletions(-) diff --git a/app/test/meson.build b/app/test/meson.build index e0d33ea5ef..786a213972 100644 --- a/app/test/meson.build +++ b/app/test/meson.build @@ -396,6 +396,9 @@ cflags += '-D_GNU_SOURCE' # Strict-aliasing rules are violated by uint8_t[] to context size casts. cflags += '-fno-strict-aliasing' +# Enable using internal APIs in unit tests +cflags += ['-DALLOW_INTERNAL_API'] + test_dep_objs = [] if dpdk_conf.has('RTE_LIBRTE_COMPRESSDEV') compress_test_dep = dependency('zlib', required: false) diff --git a/drivers/net/atlantic/rte_pmd_atlantic.h b/drivers/net/atlantic/rte_pmd_atlantic.h index c0208569b6..0100fc16e5 100644 --- a/drivers/net/atlantic/rte_pmd_atlantic.h +++ b/drivers/net/atlantic/rte_pmd_atlantic.h @@ -11,7 +11,7 @@ #ifndef _PMD_ATLANTIC_H_ #define _PMD_ATLANTIC_H_ -#include <rte_ethdev_driver.h> +#include <rte_compat.h> /** * @warning diff --git a/drivers/net/bnxt/rte_pmd_bnxt.h b/drivers/net/bnxt/rte_pmd_bnxt.h index 2e893cc7bf..81d0d0e032 100644 --- a/drivers/net/bnxt/rte_pmd_bnxt.h +++ b/drivers/net/bnxt/rte_pmd_bnxt.h @@ -6,7 +6,8 @@ #ifndef _PMD_BNXT_H_ #define _PMD_BNXT_H_ -#include <rte_ethdev_driver.h> +#include <rte_ethdev.h> +#include <rte_ether.h> /* * Response sent back to the caller after callback diff --git a/drivers/net/dpaa/rte_pmd_dpaa.h b/drivers/net/dpaa/rte_pmd_dpaa.h index 37eea9b032..8d244bb491 100644 --- a/drivers/net/dpaa/rte_pmd_dpaa.h +++ b/drivers/net/dpaa/rte_pmd_dpaa.h @@ -15,8 +15,6 @@ * */ -#include <rte_ethdev_driver.h> - /** * Enable/Disable TX loopback * diff --git a/drivers/net/i40e/rte_pmd_i40e.h b/drivers/net/i40e/rte_pmd_i40e.h index 0f6715efc8..fc3560c28c 100644 --- a/drivers/net/i40e/rte_pmd_i40e.h +++ b/drivers/net/i40e/rte_pmd_i40e.h @@ -14,7 +14,9 @@ * */ -#include <rte_ethdev_driver.h> +#include <rte_compat.h> +#include <rte_ethdev.h> +#include <rte_ether.h> /** * Response sent back to i40e driver from user app after callback diff --git a/drivers/net/ixgbe/rte_pmd_ixgbe.h b/drivers/net/ixgbe/rte_pmd_ixgbe.h index 8b6bb99a58..90fc8160b1 100644 --- a/drivers/net/ixgbe/rte_pmd_ixgbe.h +++ b/drivers/net/ixgbe/rte_pmd_ixgbe.h @@ -11,7 +11,9 @@ #ifndef _PMD_IXGBE_H_ #define _PMD_IXGBE_H_ -#include <rte_ethdev_driver.h> +#include <rte_compat.h> +#include <rte_ethdev.h> +#include <rte_ether.h> /** * Notify VF when PF link status changes. -- 2.25.4 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-stable] [PATCH v7 1/3] drivers/net: fix build with internal API usage 2020-07-10 21:43 ` [dpdk-stable] [PATCH v7 1/3] drivers/net: fix build with internal API usage Ferruh Yigit @ 2020-07-10 22:07 ` Thomas Monjalon 2020-07-10 23:17 ` Ferruh Yigit 0 siblings, 1 reply; 4+ messages in thread From: Thomas Monjalon @ 2020-07-10 22:07 UTC (permalink / raw) To: Ferruh Yigit Cc: Igor Russkikh, Pavel Belous, Ajit Khaparde, Somnath Kotur, Hemant Agrawal, Sachin Saxena, Beilei Xing, Jeff Guo, Wei Zhao, Andrew Rybchenko, Shreyansh Jain, dev, Ferruh Yigit, stable, David Marchand 10/07/2020 23:43, Ferruh Yigit: > Using '__rte_internal' tag in 'rte_ethdev_driver.h' causing build error > for applications and examples. Because they don't define > 'ALLOW_INTERNAL_API' flag and '__rte_internal' causes the error. > This patch is preparation for future '__rte_internal' usage. > > At first place, applications/examples should not include > 'rte_ethdev_driver.h', this is happening because of PMD public header > files include 'rte_ethdev_driver.h' by mistake. > > Updated PMD public header files to not include internal header files. > > But for unit test application, 'app/test', enable accessing internal > APIs, since some unit tests need them. > > Fixes: ffc905f3b856 ("ethdev: separate driver APIs") > Fixes: ec0dec44ecb9 ("net/atlantic: enable MACsec configuration") > Cc: stable@dpdk.org > > Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> Not sure to understand the title but I have no better proposal. For the explanations and the code, Acked-by: Thomas Monjalon <thomas@monjalon.net> ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-stable] [PATCH v7 1/3] drivers/net: fix build with internal API usage 2020-07-10 22:07 ` Thomas Monjalon @ 2020-07-10 23:17 ` Ferruh Yigit 2020-07-11 0:19 ` [dpdk-stable] [dpdk-dev] " Ferruh Yigit 0 siblings, 1 reply; 4+ messages in thread From: Ferruh Yigit @ 2020-07-10 23:17 UTC (permalink / raw) To: Thomas Monjalon Cc: Igor Russkikh, Pavel Belous, Ajit Khaparde, Somnath Kotur, Hemant Agrawal, Sachin Saxena, Beilei Xing, Jeff Guo, Wei Zhao, Andrew Rybchenko, Shreyansh Jain, dev, stable, David Marchand On 7/10/2020 11:07 PM, Thomas Monjalon wrote: > 10/07/2020 23:43, Ferruh Yigit: >> Using '__rte_internal' tag in 'rte_ethdev_driver.h' causing build error >> for applications and examples. Because they don't define >> 'ALLOW_INTERNAL_API' flag and '__rte_internal' causes the error. >> This patch is preparation for future '__rte_internal' usage. >> >> At first place, applications/examples should not include >> 'rte_ethdev_driver.h', this is happening because of PMD public header >> files include 'rte_ethdev_driver.h' by mistake. >> >> Updated PMD public header files to not include internal header files. >> >> But for unit test application, 'app/test', enable accessing internal >> APIs, since some unit tests need them. >> >> Fixes: ffc905f3b856 ("ethdev: separate driver APIs") >> Fixes: ec0dec44ecb9 ("net/atlantic: enable MACsec configuration") >> Cc: stable@dpdk.org >> >> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> > > Not sure to understand the title but I have no better proposal. Agree, I will change to following: drivers/net: fix exposing internal headers > For the explanations and the code, > Acked-by: Thomas Monjalon <thomas@monjalon.net> > > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-stable] [dpdk-dev] [PATCH v7 1/3] drivers/net: fix build with internal API usage 2020-07-10 23:17 ` Ferruh Yigit @ 2020-07-11 0:19 ` Ferruh Yigit 0 siblings, 0 replies; 4+ messages in thread From: Ferruh Yigit @ 2020-07-11 0:19 UTC (permalink / raw) To: Thomas Monjalon Cc: Igor Russkikh, Pavel Belous, Ajit Khaparde, Somnath Kotur, Hemant Agrawal, Sachin Saxena, Beilei Xing, Jeff Guo, Wei Zhao, Andrew Rybchenko, Shreyansh Jain, dev, stable, David Marchand On 7/11/2020 12:17 AM, Ferruh Yigit wrote: > On 7/10/2020 11:07 PM, Thomas Monjalon wrote: >> 10/07/2020 23:43, Ferruh Yigit: >>> Using '__rte_internal' tag in 'rte_ethdev_driver.h' causing build error >>> for applications and examples. Because they don't define >>> 'ALLOW_INTERNAL_API' flag and '__rte_internal' causes the error. >>> This patch is preparation for future '__rte_internal' usage. >>> >>> At first place, applications/examples should not include >>> 'rte_ethdev_driver.h', this is happening because of PMD public header >>> files include 'rte_ethdev_driver.h' by mistake. >>> >>> Updated PMD public header files to not include internal header files. >>> >>> But for unit test application, 'app/test', enable accessing internal >>> APIs, since some unit tests need them. >>> >>> Fixes: ffc905f3b856 ("ethdev: separate driver APIs") >>> Fixes: ec0dec44ecb9 ("net/atlantic: enable MACsec configuration") >>> Cc: stable@dpdk.org >>> >>> Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com> >> >> Not sure to understand the title but I have no better proposal. > > Agree, I will change to following: > drivers/net: fix exposing internal headers > >> For the explanations and the code, >> Acked-by: Thomas Monjalon <thomas@monjalon.net> >> > Series applied to dpdk-next-net/master, thanks. ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2020-07-11 0:19 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20200710144208.499544-1-ferruh.yigit@intel.com> 2020-07-10 21:43 ` [dpdk-stable] [PATCH v7 1/3] drivers/net: fix build with internal API usage Ferruh Yigit 2020-07-10 22:07 ` Thomas Monjalon 2020-07-10 23:17 ` Ferruh Yigit 2020-07-11 0:19 ` [dpdk-stable] [dpdk-dev] " Ferruh Yigit
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).