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: sta...@dpdk.org
Fixes: 43af98e687cf ("ethdev: reuse VXLAN header definition in flow
item")

Signed-off-by: Gregory Etelson <getel...@nvidia.com>
Acked-by: Viacheslav Ovsiienko <viachesl...@nvidia.com>

Reviewed-by: Ivan Malov <ivan.ma...@oktetlabs.ru>


Applied to dpdk-next-net/main, thanks.

Reply via email to