* [dpdk-dev] [PATCH] ethdev: fix VXLAN mask initialization value
@ 2021-04-08 6:48 Gregory Etelson
2021-04-08 15:35 ` Ferruh Yigit
0 siblings, 1 reply; 4+ messages in thread
From: Gregory Etelson @ 2021-04-08 6:48 UTC (permalink / raw)
To: dev
Cc: getelson, matan, rasland, stable, Viacheslav Ovsiienko, Ori Kam,
Thomas Monjalon, Ferruh Yigit, Andrew Rybchenko, Ivan Malov,
Andy Moreton
In GCC compiler, __builtin_constant_p(exp) is a function.
The function returns the integer 1 if the argument is known to be
a compile-time constant.
Therefore, __builtin_constant_p(0xffffff << 8) returned 1.
As the result, rte_flow_item_vxlan_mask was initiated to
{{
{flags = 0x0, rsvd0 = {0x0, 0x0, 0x0},
vni = {0x0, 0x0, 0x0}, rsvd1 = 0x1},
hdr = {vx_flags = 0x0, vx_vni = 0x1000000}}}
}}
GCC fails initialization
rte_flow_item_vxlan_mask.hdr.vni = (0xffffff << 8)
with "initializer element is not a constant expression" error.
Use immediate 0xffffff00 value instead.
Cc: stable@dpdk.org
Fixes: 43af98e687cf ("ethdev: reuse VXLAN header definition in flow item")
Signed-off-by: Gregory Etelson <getelson@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
---
lib/librte_ethdev/rte_flow.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/lib/librte_ethdev/rte_flow.h b/lib/librte_ethdev/rte_flow.h
index 6cc57136ac..c476a0f59d 100644
--- a/lib/librte_ethdev/rte_flow.h
+++ b/lib/librte_ethdev/rte_flow.h
@@ -976,7 +976,7 @@ struct rte_flow_item_vxlan {
/** Default mask for RTE_FLOW_ITEM_TYPE_VXLAN. */
#ifndef __cplusplus
static const struct rte_flow_item_vxlan rte_flow_item_vxlan_mask = {
- .hdr.vx_vni = RTE_BE32(__builtin_constant_p(0xffffff << 8)),
+ .hdr.vx_vni = RTE_BE32(0xffffff00), /* (0xffffff << 8) */
};
#endif
--
2.25.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH] ethdev: fix VXLAN mask initialization value
2021-04-08 6:48 [dpdk-dev] [PATCH] ethdev: fix VXLAN mask initialization value Gregory Etelson
@ 2021-04-08 15:35 ` Ferruh Yigit
2021-04-08 16:31 ` Ivan Malov
0 siblings, 1 reply; 4+ messages in thread
From: Ferruh Yigit @ 2021-04-08 15:35 UTC (permalink / raw)
To: Gregory Etelson, dev
Cc: matan, rasland, stable, Viacheslav Ovsiienko, Ori Kam,
Thomas Monjalon, Andrew Rybchenko, Ivan Malov, Andy Moreton
On 4/8/2021 7:48 AM, Gregory Etelson wrote:
> In GCC compiler, __builtin_constant_p(exp) is a function.
> The function returns the integer 1 if the argument is known to be
> a compile-time constant.
> Therefore, __builtin_constant_p(0xffffff << 8) returned 1.
> As the result, rte_flow_item_vxlan_mask was initiated to
> {{
> {flags = 0x0, rsvd0 = {0x0, 0x0, 0x0},
> vni = {0x0, 0x0, 0x0}, rsvd1 = 0x1},
> hdr = {vx_flags = 0x0, vx_vni = 0x1000000}}}
> }}
> GCC fails initialization
> rte_flow_item_vxlan_mask.hdr.vni = (0xffffff << 8)
> with "initializer element is not a constant expression" error.
> Use immediate 0xffffff00 value instead.
>
> Cc: stable@dpdk.org
> Fixes: 43af98e687cf ("ethdev: reuse VXLAN header definition in flow item")
>
> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Reviewed-by: Ferruh Yigit <ferruh.yigit@intel.com>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH] ethdev: fix VXLAN mask initialization value
2021-04-08 15:35 ` Ferruh Yigit
@ 2021-04-08 16:31 ` Ivan Malov
2021-04-09 9:28 ` Ferruh Yigit
0 siblings, 1 reply; 4+ messages in thread
From: Ivan Malov @ 2021-04-08 16:31 UTC (permalink / raw)
To: Gregory Etelson, dev
Cc: matan, rasland, stable, Viacheslav Ovsiienko, Ori Kam,
Thomas Monjalon, Andrew Rybchenko, Andy Moreton, Ferruh Yigit
On 4/8/2021 7:48 AM, Gregory Etelson wrote:
> In GCC compiler, __builtin_constant_p(exp) is a function.
> The function returns the integer 1 if the argument is known to be
> a compile-time constant.
> Therefore, __builtin_constant_p(0xffffff << 8) returned 1.
> As the result, rte_flow_item_vxlan_mask was initiated to
> {{
> {flags = 0x0, rsvd0 = {0x0, 0x0, 0x0},
> vni = {0x0, 0x0, 0x0}, rsvd1 = 0x1},
> hdr = {vx_flags = 0x0, vx_vni = 0x1000000}}}
> }}
> GCC fails initialization
> rte_flow_item_vxlan_mask.hdr.vni = (0xffffff << 8)
> with "initializer element is not a constant expression" error.
> Use immediate 0xffffff00 value instead.
>
> Cc: stable@dpdk.org
> Fixes: 43af98e687cf ("ethdev: reuse VXLAN header definition in flow
item")
>
> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
--
Ivan M
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [dpdk-dev] [PATCH] ethdev: fix VXLAN mask initialization value
2021-04-08 16:31 ` Ivan Malov
@ 2021-04-09 9:28 ` Ferruh Yigit
0 siblings, 0 replies; 4+ messages in thread
From: Ferruh Yigit @ 2021-04-09 9:28 UTC (permalink / raw)
To: Ivan Malov, Gregory Etelson, dev
Cc: matan, rasland, stable, Viacheslav Ovsiienko, Ori Kam,
Thomas Monjalon, Andrew Rybchenko, Andy Moreton
On 4/8/2021 5:31 PM, Ivan Malov wrote:
> On 4/8/2021 7:48 AM, Gregory Etelson wrote:
>> In GCC compiler, __builtin_constant_p(exp) is a function.
>> The function returns the integer 1 if the argument is known to be
>> a compile-time constant.
>> Therefore, __builtin_constant_p(0xffffff << 8) returned 1.
>> As the result, rte_flow_item_vxlan_mask was initiated to
>> {{
>> {flags = 0x0, rsvd0 = {0x0, 0x0, 0x0},
>> vni = {0x0, 0x0, 0x0}, rsvd1 = 0x1},
>> hdr = {vx_flags = 0x0, vx_vni = 0x1000000}}}
>> }}
>> GCC fails initialization
>> rte_flow_item_vxlan_mask.hdr.vni = (0xffffff << 8)
>> with "initializer element is not a constant expression" error.
>> Use immediate 0xffffff00 value instead.
>>
>> Cc: stable@dpdk.org
>> Fixes: 43af98e687cf ("ethdev: reuse VXLAN header definition in flow
> item")
>>
>> Signed-off-by: Gregory Etelson <getelson@nvidia.com>
>> Acked-by: Viacheslav Ovsiienko <viacheslavo@nvidia.com>
>
> Reviewed-by: Ivan Malov <ivan.malov@oktetlabs.ru>
>
Applied to dpdk-next-net/main, thanks.
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-04-09 9:28 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-08 6:48 [dpdk-dev] [PATCH] ethdev: fix VXLAN mask initialization value Gregory Etelson
2021-04-08 15:35 ` Ferruh Yigit
2021-04-08 16:31 ` Ivan Malov
2021-04-09 9:28 ` 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).