diff --git a/test/vpp_udp_decap.py b/test/vpp_udp_decap.py
new file mode 100644
index 0000000..2bd03ce
--- /dev/null
+++ b/test/vpp_udp_decap.py
@@ -0,0 +1,35 @@
+#!/usr/bin/env python3
+"""
+  UDP decap objects
+"""
+
+from vpp_object import VppObject
+from socket import inet_pton, inet_ntop, AF_INET, AF_INET6
+
+
+class VppUdpDecap(VppObject):
+
+    def __init__(self,
+                 test,
+                 is_ip4,
+                 dst_port,
+                 next_proto):
+        self._test = test
+        self.active = False
+        self.udp_decap = {
+            'is_ip4': is_ip4,
+            'port': dst_port,
+            'next_proto': next_proto
+        }
+
+    def add_vpp_config(self):
+        self._test.vapi.udp_decap_add_del(True, self.udp_decap)
+        self._test.registry.register(self, self._test.logger)
+        self.active = True
+
+    def query_vpp_config(self):
+        return self.active
+
+    def remove_vpp_config(self):
+        self._test.vapi.udp_decap_add_del(False, self.udp_decap)
+        self.active = False
