when trying to compile rte_mpls with pedantic enabled, on old compilers like 4.8 it will complain about bit field definition.
error: type of bit-field 'bs' is a GCC extension [-Werror=pedantic] error: type of bit-field 'tc' is a GCC extension [-Werror=pedantic] error: type of bit-field 'tag_lsb' is a GCC extension [-Werror=pedantic] This fixes the compilation error by adding extension to the header definition. Fixes: e480cf487a0d ("net: add MPLS header structure") Cc: olivier.m...@6wind.com Cc: sta...@dpdk.org Signed-off-by: Raslan Darawsheh <rasl...@mellanox.com> --- v2: fixed commit log spelling issue added reference to old compilers where it fail. change the implementation from changing the type of the bit fields to adding __extension__ to the header definition --- lib/librte_net/rte_mpls.h | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/librte_net/rte_mpls.h b/lib/librte_net/rte_mpls.h index db91707..3e8cb90 100644 --- a/lib/librte_net/rte_mpls.h +++ b/lib/librte_net/rte_mpls.h @@ -21,6 +21,7 @@ extern "C" { /** * MPLS header. */ +__extension__ struct rte_mpls_hdr { uint16_t tag_msb; /**< Label(msb). */ #if RTE_BYTE_ORDER == RTE_BIG_ENDIAN -- 2.7.4