net/*/base: allow use of experimental APIs in base code
Checks
Commit Message
The driver setting of "allow_experimental_apis" was not being used when
building the base code. To allow this we can manually put in a check
in the base code files for the setting and set the appropriate cflag
if it's needed.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
drivers/net/e1000/base/meson.build | 3 +++
drivers/net/fm10k/base/meson.build | 3 +++
drivers/net/i40e/base/meson.build | 3 +++
drivers/net/ixgbe/base/meson.build | 3 +++
drivers/net/octeontx/base/meson.build | 6 +++++-
drivers/net/sfc/base/meson.build | 3 +++
drivers/net/thunderx/base/meson.build | 6 +++++-
7 files changed, 25 insertions(+), 2 deletions(-)
Comments
On 08/31/2018 04:35 PM, Bruce Richardson wrote:
> The driver setting of "allow_experimental_apis" was not being used when
> building the base code. To allow this we can manually put in a check
> in the base code files for the setting and set the appropriate cflag
> if it's needed.
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Acked-by: Andrew Rybchenko <arybchenko@solarflare.com>
On 31.08.2018 16:35, Bruce Richardson wrote:
> The driver setting of "allow_experimental_apis" was not being used when
> building the base code. To allow this we can manually put in a check
> in the base code files for the setting and set the appropriate cflag
> if it's needed.
>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Tested-by: Ilya Maximets <i.maximets@samsung.com>
> ---
> drivers/net/e1000/base/meson.build | 3 +++
> drivers/net/fm10k/base/meson.build | 3 +++
> drivers/net/i40e/base/meson.build | 3 +++
> drivers/net/ixgbe/base/meson.build | 3 +++
> drivers/net/octeontx/base/meson.build | 6 +++++-
> drivers/net/sfc/base/meson.build | 3 +++
> drivers/net/thunderx/base/meson.build | 6 +++++-
> 7 files changed, 25 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/net/e1000/base/meson.build b/drivers/net/e1000/base/meson.build
> index 5e1716def..f26f24298 100644
> --- a/drivers/net/e1000/base/meson.build
> +++ b/drivers/net/e1000/base/meson.build
> @@ -25,6 +25,9 @@ error_cflags = ['-Wno-uninitialized', '-Wno-unused-parameter',
> '-Wno-unused-variable', '-Wno-misleading-indentation',
> '-Wno-implicit-fallthrough']
> c_args = cflags
> +if allow_experimental_apis
> + c_args += '-DALLOW_EXPERIMENTAL_API'
> +endif
> foreach flag: error_cflags
> if cc.has_argument(flag)
> c_args += flag
> diff --git a/drivers/net/fm10k/base/meson.build b/drivers/net/fm10k/base/meson.build
> index a8fc5fa8b..5525cdc82 100644
> --- a/drivers/net/fm10k/base/meson.build
> +++ b/drivers/net/fm10k/base/meson.build
> @@ -15,6 +15,9 @@ error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value',
> '-Wno-unused-variable', '-Wno-missing-field-initializers'
> ]
> c_args = cflags
> +if allow_experimental_apis
> + c_args += '-DALLOW_EXPERIMENTAL_API'
> +endif
> foreach flag: error_cflags
> if cc.has_argument(flag)
> c_args += flag
> diff --git a/drivers/net/i40e/base/meson.build b/drivers/net/i40e/base/meson.build
> index e6163eaa6..d4c8f872d 100644
> --- a/drivers/net/i40e/base/meson.build
> +++ b/drivers/net/i40e/base/meson.build
> @@ -16,6 +16,9 @@ error_cflags = ['-Wno-sign-compare', '-Wno-unused-value',
> '-Wno-strict-aliasing', '-Wno-unused-but-set-variable'
> ]
> c_args = cflags
> +if allow_experimental_apis
> + c_args += '-DALLOW_EXPERIMENTAL_API'
> +endif
> foreach flag: error_cflags
> if cc.has_argument(flag)
> c_args += flag
> diff --git a/drivers/net/ixgbe/base/meson.build b/drivers/net/ixgbe/base/meson.build
> index 3147e1101..21ac64bf5 100644
> --- a/drivers/net/ixgbe/base/meson.build
> +++ b/drivers/net/ixgbe/base/meson.build
> @@ -20,6 +20,9 @@ sources = [
> error_cflags = ['-Wno-unused-value',
> '-Wno-unused-but-set-variable']
> c_args = cflags
> +if allow_experimental_apis
> + c_args += '-DALLOW_EXPERIMENTAL_API'
> +endif
> foreach flag: error_cflags
> if cc.has_argument(flag)
> c_args += flag
> diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
> index 09f657abb..a06a2c89c 100644
> --- a/drivers/net/octeontx/base/meson.build
> +++ b/drivers/net/octeontx/base/meson.build
> @@ -13,8 +13,12 @@ foreach d: depends
> static_objs += [get_variable('static_rte_' + d)]
> endforeach
>
> +c_args = cflags
> +if allow_experimental_apis
> + c_args += '-DALLOW_EXPERIMENTAL_API'
> +endif
> base_lib = static_library('octeontx_base', sources,
> - c_args: cflags,
> + c_args: c_args,
> dependencies: static_objs,
> )
>
> diff --git a/drivers/net/sfc/base/meson.build b/drivers/net/sfc/base/meson.build
> index da2bf44d8..ab66f32f9 100644
> --- a/drivers/net/sfc/base/meson.build
> +++ b/drivers/net/sfc/base/meson.build
> @@ -58,6 +58,9 @@ extra_flags = [
> ]
>
> c_args = cflags
> +if allow_experimental_apis
> + c_args += '-DALLOW_EXPERIMENTAL_API'
> +endif
> foreach flag: extra_flags
> if cc.has_argument(flag)
> c_args += flag
> diff --git a/drivers/net/thunderx/base/meson.build b/drivers/net/thunderx/base/meson.build
> index c9d5a8f4e..bf4e8608a 100644
> --- a/drivers/net/thunderx/base/meson.build
> +++ b/drivers/net/thunderx/base/meson.build
> @@ -7,8 +7,12 @@ sources = [
> 'nicvf_bsvf.c'
> ]
>
> +c_args = cflags
> +if allow_experimental_apis
> + c_args += '-DALLOW_EXPERIMENTAL_API'
> +endif
> base_lib = static_library('nicvf_base', sources,
> - c_args: cflags,
> + c_args: c_args,
> dependencies: static_rte_ethdev
> )
>
>
On 03.09.2018 17:41, Ilya Maximets wrote:
> On 31.08.2018 16:35, Bruce Richardson wrote:
>> The driver setting of "allow_experimental_apis" was not being used when
>> building the base code. To allow this we can manually put in a check
>> in the base code files for the setting and set the appropriate cflag
>> if it's needed.
>>
>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
>
> Tested-by: Ilya Maximets <i.maximets@samsung.com>
>
>> ---
>> drivers/net/e1000/base/meson.build | 3 +++
>> drivers/net/fm10k/base/meson.build | 3 +++
>> drivers/net/i40e/base/meson.build | 3 +++
>> drivers/net/ixgbe/base/meson.build | 3 +++
>> drivers/net/octeontx/base/meson.build | 6 +++++-
>> drivers/net/sfc/base/meson.build | 3 +++
>> drivers/net/thunderx/base/meson.build | 6 +++++-
>> 7 files changed, 25 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/e1000/base/meson.build b/drivers/net/e1000/base/meson.build
>> index 5e1716def..f26f24298 100644
>> --- a/drivers/net/e1000/base/meson.build
>> +++ b/drivers/net/e1000/base/meson.build
>> @@ -25,6 +25,9 @@ error_cflags = ['-Wno-uninitialized', '-Wno-unused-parameter',
>> '-Wno-unused-variable', '-Wno-misleading-indentation',
>> '-Wno-implicit-fallthrough']
>> c_args = cflags
>> +if allow_experimental_apis
>> + c_args += '-DALLOW_EXPERIMENTAL_API'
>> +endif
>> foreach flag: error_cflags
>> if cc.has_argument(flag)
>> c_args += flag
>> diff --git a/drivers/net/fm10k/base/meson.build b/drivers/net/fm10k/base/meson.build
>> index a8fc5fa8b..5525cdc82 100644
>> --- a/drivers/net/fm10k/base/meson.build
>> +++ b/drivers/net/fm10k/base/meson.build
>> @@ -15,6 +15,9 @@ error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value',
>> '-Wno-unused-variable', '-Wno-missing-field-initializers'
>> ]
>> c_args = cflags
>> +if allow_experimental_apis
>> + c_args += '-DALLOW_EXPERIMENTAL_API'
>> +endif
>> foreach flag: error_cflags
>> if cc.has_argument(flag)
>> c_args += flag
>> diff --git a/drivers/net/i40e/base/meson.build b/drivers/net/i40e/base/meson.build
>> index e6163eaa6..d4c8f872d 100644
>> --- a/drivers/net/i40e/base/meson.build
>> +++ b/drivers/net/i40e/base/meson.build
>> @@ -16,6 +16,9 @@ error_cflags = ['-Wno-sign-compare', '-Wno-unused-value',
>> '-Wno-strict-aliasing', '-Wno-unused-but-set-variable'
Actually, "-Wno-unused-but-set-variable" part is missing on master, so
the patch could not be applied cleanly. I tested it after removing this
flag from the patch to make it applicable.
>> ]
>> c_args = cflags
>> +if allow_experimental_apis
>> + c_args += '-DALLOW_EXPERIMENTAL_API'
>> +endif
>> foreach flag: error_cflags
>> if cc.has_argument(flag)
>> c_args += flag
>> diff --git a/drivers/net/ixgbe/base/meson.build b/drivers/net/ixgbe/base/meson.build
>> index 3147e1101..21ac64bf5 100644
>> --- a/drivers/net/ixgbe/base/meson.build
>> +++ b/drivers/net/ixgbe/base/meson.build
>> @@ -20,6 +20,9 @@ sources = [
>> error_cflags = ['-Wno-unused-value',
>> '-Wno-unused-but-set-variable']
>> c_args = cflags
>> +if allow_experimental_apis
>> + c_args += '-DALLOW_EXPERIMENTAL_API'
>> +endif
>> foreach flag: error_cflags
>> if cc.has_argument(flag)
>> c_args += flag
>> diff --git a/drivers/net/octeontx/base/meson.build b/drivers/net/octeontx/base/meson.build
>> index 09f657abb..a06a2c89c 100644
>> --- a/drivers/net/octeontx/base/meson.build
>> +++ b/drivers/net/octeontx/base/meson.build
>> @@ -13,8 +13,12 @@ foreach d: depends
>> static_objs += [get_variable('static_rte_' + d)]
>> endforeach
>>
>> +c_args = cflags
>> +if allow_experimental_apis
>> + c_args += '-DALLOW_EXPERIMENTAL_API'
>> +endif
>> base_lib = static_library('octeontx_base', sources,
>> - c_args: cflags,
>> + c_args: c_args,
>> dependencies: static_objs,
>> )
>>
>> diff --git a/drivers/net/sfc/base/meson.build b/drivers/net/sfc/base/meson.build
>> index da2bf44d8..ab66f32f9 100644
>> --- a/drivers/net/sfc/base/meson.build
>> +++ b/drivers/net/sfc/base/meson.build
>> @@ -58,6 +58,9 @@ extra_flags = [
>> ]
>>
>> c_args = cflags
>> +if allow_experimental_apis
>> + c_args += '-DALLOW_EXPERIMENTAL_API'
>> +endif
>> foreach flag: extra_flags
>> if cc.has_argument(flag)
>> c_args += flag
>> diff --git a/drivers/net/thunderx/base/meson.build b/drivers/net/thunderx/base/meson.build
>> index c9d5a8f4e..bf4e8608a 100644
>> --- a/drivers/net/thunderx/base/meson.build
>> +++ b/drivers/net/thunderx/base/meson.build
>> @@ -7,8 +7,12 @@ sources = [
>> 'nicvf_bsvf.c'
>> ]
>>
>> +c_args = cflags
>> +if allow_experimental_apis
>> + c_args += '-DALLOW_EXPERIMENTAL_API'
>> +endif
>> base_lib = static_library('nicvf_base', sources,
>> - c_args: cflags,
>> + c_args: c_args,
>> dependencies: static_rte_ethdev
>> )
>>
>>
>
>
On Mon, Sep 03, 2018 at 05:52:58PM +0300, Ilya Maximets wrote:
> On 03.09.2018 17:41, Ilya Maximets wrote:
> > On 31.08.2018 16:35, Bruce Richardson wrote:
> >> The driver setting of "allow_experimental_apis" was not being used when
> >> building the base code. To allow this we can manually put in a check
> >> in the base code files for the setting and set the appropriate cflag
> >> if it's needed.
> >>
> >> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> >
> > Tested-by: Ilya Maximets <i.maximets@samsung.com>
> >
> >> ---
> >> drivers/net/e1000/base/meson.build | 3 +++
> >> drivers/net/fm10k/base/meson.build | 3 +++
> >> drivers/net/i40e/base/meson.build | 3 +++
> >> drivers/net/ixgbe/base/meson.build | 3 +++
> >> drivers/net/octeontx/base/meson.build | 6 +++++-
> >> drivers/net/sfc/base/meson.build | 3 +++
> >> drivers/net/thunderx/base/meson.build | 6 +++++-
> >> 7 files changed, 25 insertions(+), 2 deletions(-)
> >>
> >> diff --git a/drivers/net/e1000/base/meson.build b/drivers/net/e1000/base/meson.build
> >> index 5e1716def..f26f24298 100644
> >> --- a/drivers/net/e1000/base/meson.build
> >> +++ b/drivers/net/e1000/base/meson.build
> >> @@ -25,6 +25,9 @@ error_cflags = ['-Wno-uninitialized', '-Wno-unused-parameter',
> >> '-Wno-unused-variable', '-Wno-misleading-indentation',
> >> '-Wno-implicit-fallthrough']
> >> c_args = cflags
> >> +if allow_experimental_apis
> >> + c_args += '-DALLOW_EXPERIMENTAL_API'
> >> +endif
> >> foreach flag: error_cflags
> >> if cc.has_argument(flag)
> >> c_args += flag
> >> diff --git a/drivers/net/fm10k/base/meson.build b/drivers/net/fm10k/base/meson.build
> >> index a8fc5fa8b..5525cdc82 100644
> >> --- a/drivers/net/fm10k/base/meson.build
> >> +++ b/drivers/net/fm10k/base/meson.build
> >> @@ -15,6 +15,9 @@ error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value',
> >> '-Wno-unused-variable', '-Wno-missing-field-initializers'
> >> ]
> >> c_args = cflags
> >> +if allow_experimental_apis
> >> + c_args += '-DALLOW_EXPERIMENTAL_API'
> >> +endif
> >> foreach flag: error_cflags
> >> if cc.has_argument(flag)
> >> c_args += flag
> >> diff --git a/drivers/net/i40e/base/meson.build b/drivers/net/i40e/base/meson.build
> >> index e6163eaa6..d4c8f872d 100644
> >> --- a/drivers/net/i40e/base/meson.build
> >> +++ b/drivers/net/i40e/base/meson.build
> >> @@ -16,6 +16,9 @@ error_cflags = ['-Wno-sign-compare', '-Wno-unused-value',
> >> '-Wno-strict-aliasing', '-Wno-unused-but-set-variable'
>
> Actually, "-Wno-unused-but-set-variable" part is missing on master, so
> the patch could not be applied cleanly. I tested it after removing this
> flag from the patch to make it applicable.
>
Ok, could be. I was testing applying a few other meson patches - such as
those from Luca - earlier. I think this should apply ok on top of those
other sets.
/Bruce
On 9/3/2018 3:41 PM, Ilya Maximets wrote:
> On 31.08.2018 16:35, Bruce Richardson wrote:
>> The driver setting of "allow_experimental_apis" was not being used when
>> building the base code. To allow this we can manually put in a check
>> in the base code files for the setting and set the appropriate cflag
>> if it's needed.
>>
>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
>
> Tested-by: Ilya Maximets <i.maximets@samsung.com>
Applied to dpdk-next-net/master, thanks.
@@ -25,6 +25,9 @@ error_cflags = ['-Wno-uninitialized', '-Wno-unused-parameter',
'-Wno-unused-variable', '-Wno-misleading-indentation',
'-Wno-implicit-fallthrough']
c_args = cflags
+if allow_experimental_apis
+ c_args += '-DALLOW_EXPERIMENTAL_API'
+endif
foreach flag: error_cflags
if cc.has_argument(flag)
c_args += flag
@@ -15,6 +15,9 @@ error_cflags = ['-Wno-unused-parameter', '-Wno-unused-value',
'-Wno-unused-variable', '-Wno-missing-field-initializers'
]
c_args = cflags
+if allow_experimental_apis
+ c_args += '-DALLOW_EXPERIMENTAL_API'
+endif
foreach flag: error_cflags
if cc.has_argument(flag)
c_args += flag
@@ -16,6 +16,9 @@ error_cflags = ['-Wno-sign-compare', '-Wno-unused-value',
'-Wno-strict-aliasing', '-Wno-unused-but-set-variable'
]
c_args = cflags
+if allow_experimental_apis
+ c_args += '-DALLOW_EXPERIMENTAL_API'
+endif
foreach flag: error_cflags
if cc.has_argument(flag)
c_args += flag
@@ -20,6 +20,9 @@ sources = [
error_cflags = ['-Wno-unused-value',
'-Wno-unused-but-set-variable']
c_args = cflags
+if allow_experimental_apis
+ c_args += '-DALLOW_EXPERIMENTAL_API'
+endif
foreach flag: error_cflags
if cc.has_argument(flag)
c_args += flag
@@ -13,8 +13,12 @@ foreach d: depends
static_objs += [get_variable('static_rte_' + d)]
endforeach
+c_args = cflags
+if allow_experimental_apis
+ c_args += '-DALLOW_EXPERIMENTAL_API'
+endif
base_lib = static_library('octeontx_base', sources,
- c_args: cflags,
+ c_args: c_args,
dependencies: static_objs,
)
@@ -58,6 +58,9 @@ extra_flags = [
]
c_args = cflags
+if allow_experimental_apis
+ c_args += '-DALLOW_EXPERIMENTAL_API'
+endif
foreach flag: extra_flags
if cc.has_argument(flag)
c_args += flag
@@ -7,8 +7,12 @@ sources = [
'nicvf_bsvf.c'
]
+c_args = cflags
+if allow_experimental_apis
+ c_args += '-DALLOW_EXPERIMENTAL_API'
+endif
base_lib = static_library('nicvf_base', sources,
- c_args: cflags,
+ c_args: c_args,
dependencies: static_rte_ethdev
)