Macros such as IPPROTO_TCP, IPPROTO_UDP are already defined in <netinet/in.h>. If user's application includes <netinet/in.h> and rte_ip.h at the same time, there will be conflict error.
This patch uses the way "#ifndef #endif" to avoid the conflict. Signed-off-by: Jingjing Wu <jingjing.wu at intel.com> --- lib/librte_net/rte_ip.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/lib/librte_net/rte_ip.h b/lib/librte_net/rte_ip.h index e3f65c1..2bcb479 100644 --- a/lib/librte_net/rte_ip.h +++ b/lib/librte_net/rte_ip.h @@ -116,6 +116,8 @@ struct ipv4_hdr { #define IPV4_HDR_OFFSET_UNITS 8 +#ifndef _NETINET_IN_H +#ifndef _NETINET_IN_H_ /* IPv4 protocols */ #define IPPROTO_IP 0 /**< dummy for IP */ #define IPPROTO_HOPOPTS 0 /**< IP6 hop-by-hop options */ @@ -227,6 +229,9 @@ struct ipv4_hdr { #define IPPROTO_RAW 255 /**< raw IP packet */ #define IPPROTO_MAX 256 /**< maximum protocol number */ +#endif /*_NETINET_IN_H_*/ +#endif /*_NETINET_IN_H*/ + /* * IPv4 address types */ -- 1.8.1.4