diff --git a/src/vnet/udp/udp.api b/src/vnet/udp/udp.api
new file mode 100644
index 0000000..25ee964
--- /dev/null
+++ b/src/vnet/udp/udp.api
@@ -0,0 +1,67 @@
+/*
+ * Copyright (c) 2016 Cisco and/or its affiliates.
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at:
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/** \file
+
+    This file defines vpp UDP control-plane API messages which are generally
+    called through a shared memory interface. 
+*/
+
+vl_api_version 1.0.0
+
+/** \brief Add / del table request
+           A table can be added multiple times, but need be deleted only once.
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param is_ipv6 - V4 or V6 table
+    @param table_id - table ID associated with the encap destination
+*/
+autoreply define udp_encap_add_del
+{
+  u32 client_index;
+  u32 context;
+  u32 id;
+  u32 table_id;
+  u8 is_ip6;
+  u8 is_add;
+  u16 src_port;
+  u16 dst_port;
+  u8 src_ip[16];
+  u8 dst_ip[16];
+};
+
+define udp_encap_dump
+{
+  u32 client_index;
+  u32 context;
+};
+
+define udp_encap_details
+{
+  u32 context;
+  u32 id;
+  u32 table_id;
+  u8 is_ip6;
+  u16 src_port;
+  u16 dst_port;
+  u8 src_ip[16];
+  u8 dst_ip[16];
+};
+
+/*
+ * Local Variables:
+ * eval: (c-set-style "gnu")
+ * End:
+ */
