itf: dump interface rx-placement
[vpp.git] / src / vnet / interface.api
index a8d4d71..fdf34f0 100644 (file)
@@ -1,4 +1,4 @@
-option version = "2.0.0";
+option version = "2.1.0";
 
 service {
   rpc want_interface_events returns want_interface_events_reply
@@ -433,6 +433,9 @@ autoreply define sw_interface_set_rx_mode
 };
 
 /** \brief Set an interface's rx-placement
+    Rx-Queue placement on specific thread is operational for only hardware
+    interface. It will not set queue - thread placement for sub-interfaces,
+    p2p and pipe interfaces.
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
     @param sw_if_index - the interface whose rx-placement will be set
@@ -450,6 +453,44 @@ autoreply define sw_interface_set_rx_placement
     u8 is_main;
 };
 
+/** \brief dump the rx queue placement of interface(s)
+    @param sw_if_index - optional interface index for which queue placement to
+      be requested. sw_if_index = ~0 will dump placement information for all
+      interfaces. It will not dump information related to sub-interfaces, p2p
+      and pipe interfaces.
+*/
+define sw_interface_rx_placement_dump
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+};
+
+/** \brief show the interface's queue - thread placement
+    This api is used to display the interface and queue worker
+    thread placement. One message per rx-queue per interface will
+    be sent to client.
+    Each message will contain information about rx-queue id of an
+    interface, interface index, thread on which this rx-queue is
+    placed and mode of rx-queue.
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param sw_if_index - the interface whose rx-placement will be dumped
+    @param queue_id - the queue id
+    @param worker_id - the worker id on which queue_id is placed,
+                       worker_id = 0 means main thread.
+    @param mode - polling=1, interrupt=2, adaptive=3
+*/
+define sw_interface_rx_placement_details
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 queue_id;
+  u32 worker_id;
+  u8 mode;
+};
+
 /* Gross kludge, DGMS */
 autoreply define interface_name_renumber
 {