The header files "l3fwd_em.h" and "l3fwd_em_sequential.h" use the "__rte_always_inline" macro but don't directly include "rte_common.h" to get the definition of it. This inclusion is not necessary for compilation, but the lack of it can confuse some indexers - such as those in eclipse, which reports the lines:
"static __rte_always_inline uint16_t" as possible definitions of a variable called "uint16_t". This confusion leads to uint16_t being flagged as an unknown type in all other parts of the project being indexed, e.g. across all of DPDK code. Adding in the include of rte_common.h makes it clear to the indexer that those lines are part of a function definition, and that allows eclipse to correctly recognise uint16_t as a type from stdint.h Signed-off-by: Bruce Richardson <bruce.richard...@intel.com> --- examples/l3fwd/l3fwd_em.h | 2 ++ examples/l3fwd/l3fwd_em_sequential.h | 2 ++ 2 files changed, 4 insertions(+) diff --git a/examples/l3fwd/l3fwd_em.h b/examples/l3fwd/l3fwd_em.h index 11bd951858..fe2ee59f6a 100644 --- a/examples/l3fwd/l3fwd_em.h +++ b/examples/l3fwd/l3fwd_em.h @@ -5,6 +5,8 @@ #ifndef __L3FWD_EM_H__ #define __L3FWD_EM_H__ +#include <rte_common.h> + static __rte_always_inline uint16_t l3fwd_em_handle_ipv4(struct rte_mbuf *m, uint16_t portid, struct rte_ether_hdr *eth_hdr, struct lcore_conf *qconf) diff --git a/examples/l3fwd/l3fwd_em_sequential.h b/examples/l3fwd/l3fwd_em_sequential.h index f426c508ef..d2f75edb8a 100644 --- a/examples/l3fwd/l3fwd_em_sequential.h +++ b/examples/l3fwd/l3fwd_em_sequential.h @@ -5,6 +5,8 @@ #ifndef __L3FWD_EM_SEQUENTIAL_H__ #define __L3FWD_EM_SEQUENTIAL_H__ +#include <rte_common.h> + /** * @file * This is an optional implementation of packet classification in Exact-Match -- 2.34.1