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: [email protected] Fixes: 43af98e687cf ("ethdev: reuse VXLAN header definition in flow item") Signed-off-by: Gregory Etelson <[email protected]> Acked-by: Viacheslav Ovsiienko <[email protected]>
Reviewed-by: Ferruh Yigit <[email protected]>

