diff --git a/src/vnet/vxlan/decap.c b/src/vnet/vxlan/decap.c
index 2acb1f6..0dc89d3 100644
--- a/src/vnet/vxlan/decap.c
+++ b/src/vnet/vxlan/decap.c
@@ -916,7 +916,7 @@
 	    }
 
 	  flags0 = b0->flags;
-	  good_udp0 = (flags0 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+	  good_udp0 = (flags0 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
 
 	  /* Don't verify UDP checksum for packets with explicit zero checksum. */
 	  good_udp0 |= udp0->checksum == 0;
@@ -932,14 +932,14 @@
 	  /* Verify UDP checksum */
 	  if (PREDICT_FALSE (!good_udp0))
 	    {
-	      if ((flags0 & IP_BUFFER_L4_CHECKSUM_COMPUTED) == 0)
+	      if ((flags0 & VNET_BUFFER_F_L4_CHECKSUM_COMPUTED) == 0)
 	        {
 		  if (is_ip4)
 		    flags0 = ip4_tcp_udp_validate_checksum (vm, b0);
 		  else
 		    flags0 = ip6_tcp_udp_icmp_validate_checksum (vm, b0);
 		  good_udp0 =
-		    (flags0 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+		    (flags0 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
 	        }
 	    }
 
@@ -998,7 +998,7 @@
 	    }
 
 	  flags1 = b1->flags;
-	  good_udp1 = (flags1 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+	  good_udp1 = (flags1 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
 
 	  /* Don't verify UDP checksum for packets with explicit zero checksum. */
 	  good_udp1 |= udp1->checksum == 0;
@@ -1014,14 +1014,14 @@
 	  /* Verify UDP checksum */
 	  if (PREDICT_FALSE (!good_udp1))
 	    {
-	      if ((flags1 & IP_BUFFER_L4_CHECKSUM_COMPUTED) == 0)
+	      if ((flags1 & VNET_BUFFER_F_L4_CHECKSUM_COMPUTED) == 0)
 	        {
 		  if (is_ip4)
 		    flags1 = ip4_tcp_udp_validate_checksum (vm, b1);
 		  else
 		    flags1 = ip6_tcp_udp_icmp_validate_checksum (vm, b1);
 		  good_udp1 =
-		    (flags1 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+		    (flags1 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
 	        }
 	    }
 
@@ -1116,7 +1116,7 @@
 	    }
 
 	  flags0 = b0->flags;
-	  good_udp0 = (flags0 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+	  good_udp0 = (flags0 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
 
 	  /* Don't verify UDP checksum for packets with explicit zero checksum. */
 	  good_udp0 |= udp0->checksum == 0;
@@ -1132,14 +1132,14 @@
 	  /* Verify UDP checksum */
 	  if (PREDICT_FALSE (!good_udp0))
 	    {
-	      if ((flags0 & IP_BUFFER_L4_CHECKSUM_COMPUTED) == 0)
+	      if ((flags0 & VNET_BUFFER_F_L4_CHECKSUM_COMPUTED) == 0)
 	        {
 		  if (is_ip4)
 		    flags0 = ip4_tcp_udp_validate_checksum (vm, b0);
 		  else
 		    flags0 = ip6_tcp_udp_icmp_validate_checksum (vm, b0);
 		  good_udp0 =
-		    (flags0 & IP_BUFFER_L4_CHECKSUM_CORRECT) != 0;
+		    (flags0 & VNET_BUFFER_F_L4_CHECKSUM_CORRECT) != 0;
 	        }
 	    }
 
