diff --git a/app/test-pmd/csumonly.c b/app/test-pmd/csumonly.c
index 5738128e6..25091de88 100644
--- a/app/test-pmd/csumonly.c
+++ b/app/test-pmd/csumonly.c
@@ -47,9 +47,6 @@
 #include "testpmd.h"
 
 #define IP_DEFTTL  64   /* from RFC 1340. */
-#define IP_VERSION 0x40
-#define IP_HDRLEN  0x05 /* default IP header length == five 32-bits words. */
-#define IP_VHL_DEF (IP_VERSION | IP_HDRLEN)
 
 #define GRE_CHECKSUM_PRESENT	0x8000
 #define GRE_KEY_PRESENT		0x2000
diff --git a/app/test-pmd/flowgen.c b/app/test-pmd/flowgen.c
index ade6fe5da..03b72aaa5 100644
--- a/app/test-pmd/flowgen.c
+++ b/app/test-pmd/flowgen.c
@@ -82,9 +82,6 @@ static struct rte_ether_addr cfg_ether_dst =
 	{{ 0x00, 0x01, 0x02, 0x03, 0x04, 0x01 }};
 
 #define IP_DEFTTL  64   /* from RFC 1340. */
-#define IP_VERSION 0x40
-#define IP_HDRLEN  0x05 /* default IP header length == five 32-bits words. */
-#define IP_VHL_DEF (IP_VERSION | IP_HDRLEN)
 
 static inline uint16_t
 ip_sum(const unaligned_uint16_t *hdr, int hdr_len)
@@ -178,7 +175,7 @@ pkt_burst_flow_gen(struct fwd_stream *fs)
 		/* Initialize IP header. */
 		ip_hdr = (struct rte_ipv4_hdr *)(eth_hdr + 1);
 		memset(ip_hdr, 0, sizeof(*ip_hdr));
-		ip_hdr->version_ihl	= IP_VHL_DEF;
+		ip_hdr->version_ihl	= RTE_IPV4_VHL_DEF;
 		ip_hdr->type_of_service	= 0;
 		ip_hdr->fragment_offset	= 0;
 		ip_hdr->time_to_live	= IP_DEFTTL;
diff --git a/app/test-pmd/txonly.c b/app/test-pmd/txonly.c
index 10d641a44..539043c34 100644
--- a/app/test-pmd/txonly.c
+++ b/app/test-pmd/txonly.c
@@ -49,9 +49,6 @@ uint32_t tx_ip_src_addr = (192U << 24) | (18 << 16) | (0 << 8) | 1;
 uint32_t tx_ip_dst_addr = (192U << 24) | (18 << 16) | (0 << 8) | 2;
 
 #define IP_DEFTTL  64   /* from RFC 1340. */
-#define IP_VERSION 0x40
-#define IP_HDRLEN  0x05 /* default IP header length == five 32-bits words. */
-#define IP_VHL_DEF (IP_VERSION | IP_HDRLEN)
 
 static struct rte_ipv4_hdr pkt_ip_hdr; /**< IP header of transmitted packets. */
 RTE_DEFINE_PER_LCORE(uint8_t, _ip_var); /**< IP address variation */
@@ -116,7 +113,7 @@ setup_pkt_udp_ip_headers(struct rte_ipv4_hdr *ip_hdr,
 	 * Initialize IP header.
 	 */
 	pkt_len = (uint16_t) (pkt_len + sizeof(struct rte_ipv4_hdr));
-	ip_hdr->version_ihl   = IP_VHL_DEF;
+	ip_hdr->version_ihl   = RTE_IPV4_VHL_DEF;
 	ip_hdr->type_of_service   = 0;
 	ip_hdr->fragment_offset = 0;
 	ip_hdr->time_to_live   = IP_DEFTTL;
diff --git a/app/test/packet_burst_generator.c b/app/test/packet_burst_generator.c
index 9776d583b..f203f9d09 100644
--- a/app/test/packet_burst_generator.c
+++ b/app/test/packet_burst_generator.c
@@ -4,6 +4,7 @@
 
 #include <rte_byteorder.h>
 #include <rte_mbuf.h>
+#include <rte_ip.h>
 
 #include "packet_burst_generator.h"
 
@@ -12,9 +13,6 @@
 
 
 #define IP_DEFTTL  64   /* from RFC 1340. */
-#define IP_VERSION 0x40
-#define IP_HDRLEN  0x05 /* default IP header length == five 32-bits words. */
-#define IP_VHL_DEF (IP_VERSION | IP_HDRLEN)
 
 static void
 copy_buf_to_pkt_segs(void *buf, unsigned len, struct rte_mbuf *pkt,
@@ -167,7 +165,7 @@ initialize_ipv4_header(struct rte_ipv4_hdr *ip_hdr, uint32_t src_addr,
 	 */
 	pkt_len = (uint16_t) (pkt_data_len + sizeof(struct rte_ipv4_hdr));
 
-	ip_hdr->version_ihl   = IP_VHL_DEF;
+	ip_hdr->version_ihl   = RTE_IPV4_VHL_DEF;
 	ip_hdr->type_of_service   = 0;
 	ip_hdr->fragment_offset = 0;
 	ip_hdr->time_to_live   = IP_DEFTTL;
@@ -215,7 +213,7 @@ initialize_ipv4_header_proto(struct rte_ipv4_hdr *ip_hdr, uint32_t src_addr,
 	 */
 	pkt_len = (uint16_t) (pkt_data_len + sizeof(struct rte_ipv4_hdr));
 
-	ip_hdr->version_ihl   = IP_VHL_DEF;
+	ip_hdr->version_ihl   = RTE_IPV4_VHL_DEF;
 	ip_hdr->type_of_service   = 0;
 	ip_hdr->fragment_offset = 0;
 	ip_hdr->time_to_live   = IP_DEFTTL;
diff --git a/drivers/net/enic/enic_fm_flow.c b/drivers/net/enic/enic_fm_flow.c
index a1598b822..e3e3d737b 100644
--- a/drivers/net/enic/enic_fm_flow.c
+++ b/drivers/net/enic/enic_fm_flow.c
@@ -17,9 +17,6 @@
 #include "vnic_nic.h"
 
 #define IP_DEFTTL  64   /* from RFC 1340. */
-#define IP_VERSION 0x40
-#define IP_HDRLEN  0x05 /* default IP header length == five 32-bits words. */
-#define IP_VHL_DEF (IP_VERSION | IP_HDRLEN)
 #define IP6_VTC_FLOW 0x60000000
 
 /* Highest Item type supported by Flowman */
@@ -1000,7 +997,7 @@ enic_fm_copy_vxlan_encap(struct enic_flowman *fm,
 			sizeof(struct rte_vxlan_hdr);
 		append_template(&template, &off, item->spec,
 				sizeof(struct rte_ipv4_hdr));
-		ip4->version_ihl = IP_VHL_DEF;
+		ip4->version_ihl = RTE_IPV4_VHL_DEF;
 		if (ip4->time_to_live == 0)
 			ip4->time_to_live = IP_DEFTTL;
 		ip4->next_proto_id = IPPROTO_UDP;
diff --git a/examples/tep_termination/vxlan_setup.c b/examples/tep_termination/vxlan_setup.c
index f9f857c09..eca119a72 100644
--- a/examples/tep_termination/vxlan_setup.c
+++ b/examples/tep_termination/vxlan_setup.c
@@ -28,10 +28,7 @@
 #define UDP_HEADER_LEN  8
 #define VXLAN_HEADER_LEN 8
 
-#define IP_VERSION 0x40
-#define IP_HDRLEN  0x05 /* default IP header length == five 32-bits words. */
 #define IP_DEFTTL  64   /* from RFC 1340. */
-#define IP_VHL_DEF (IP_VERSION | IP_HDRLEN)
 
 #define IP_DN_FRAGMENT_FLAG 0x0040
 
@@ -323,7 +320,7 @@ vxlan_link(struct vhost_dev *vdev, struct rte_mbuf *m)
 	app_l2_hdr[portid].ether_type = rte_cpu_to_be_16(RTE_ETHER_TYPE_IPV4);
 
 	ip = &app_ip_hdr[portid];
-	ip->version_ihl = IP_VHL_DEF;
+	ip->version_ihl = RTE_IPV4_VHL_DEF;
 	ip->type_of_service = 0;
 	ip->total_length = 0;
 	ip->packet_id = 0;
