PUNT socket: External control plane processes connected via UNIX domain sockets.
[vpp.git] / src / vpp / api / vpe.api
index ec5ffbe..0dee153 100644 (file)
@@ -991,6 +991,39 @@ autoreply define punt {
     u16 l4_port;
 };
 
+/** \brief Punt traffic to the host via socket
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param header_version - expected meta data header version (currently 1)
+    @param is_ip4 - L3 protocol 1 - IPv4, 0 - IPv6
+    @param l4_protocol - L4 protocol to be punted, only UDP (0x11) is supported
+    @param l4_port - TCP/UDP port to be punted
+*/
+define punt_socket_register {
+    u32 client_index;
+    u32 context;
+    u32 header_version;
+    u8 is_ip4;
+    u8 l4_protocol;
+    u16 l4_port;
+    u8 pathname[64];
+};
+
+define punt_socket_register_reply
+{
+  u32 context;
+  i32 retval;
+  u8 pathname[64];
+};
+
+autoreply define punt_socket_deregister {
+    u32 client_index;
+    u32 context;
+    u8 is_ip4;
+    u8 l4_protocol;
+    u16 l4_port;
+};
+
 /** \brief Feature path enable/disable request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request