
Type: improvement Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: Ib07029204ecf12bf2adb5a39afa54bc98fb81f34
251 lines
6.6 KiB
Plaintext
251 lines
6.6 KiB
Plaintext
/*
|
|
* Copyright (c) 2021 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.
|
|
*/
|
|
|
|
option version = "1.0.0";
|
|
|
|
/** \brief Process a vpe parser cli string request
|
|
@param client_index - opaque cookie to identify the sender
|
|
@param context - sender context, to match reply w/ request
|
|
@param cmd_in_shmem - pointer to cli command string
|
|
*/
|
|
define cli
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
u64 cmd_in_shmem;
|
|
};
|
|
define cli_inband
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
string cmd[];
|
|
};
|
|
|
|
/** \brief vpe parser cli string response
|
|
@param context - sender context, to match reply w/ request
|
|
@param retval - return code for request
|
|
@param reply_in_shmem - Reply string from cli processing if any
|
|
*/
|
|
define cli_reply
|
|
{
|
|
u32 context;
|
|
i32 retval;
|
|
u64 reply_in_shmem;
|
|
};
|
|
define cli_inband_reply
|
|
{
|
|
u32 context;
|
|
i32 retval;
|
|
string reply[];
|
|
};
|
|
|
|
/** \brief Get node index using name request
|
|
@param client_index - opaque cookie to identify the sender
|
|
@param context - sender context, to match reply w/ request
|
|
@param node_name[] - name of the node
|
|
*/
|
|
define get_node_index
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
string node_name[64];
|
|
};
|
|
|
|
/** \brief Get node index using name request
|
|
@param context - sender context, to match reply w/ request
|
|
@param retval - return code for the request
|
|
@param node_index - index of the desired node if found, else ~0
|
|
*/
|
|
define get_node_index_reply
|
|
{
|
|
u32 context;
|
|
i32 retval;
|
|
u32 node_index;
|
|
};
|
|
|
|
/** \brief Set the next node for a given node request
|
|
@param client_index - opaque cookie to identify the sender
|
|
@param context - sender context, to match reply w/ request
|
|
@param node_name[] - node to add the next node to
|
|
@param next_name[] - node to add as the next node
|
|
*/
|
|
define add_node_next
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
string node_name[64];
|
|
string next_name[64];
|
|
};
|
|
|
|
/** \brief IP Set the next node for a given node response
|
|
@param context - sender context, to match reply w/ request
|
|
@param retval - return code for the add next node request
|
|
@param next_index - the index of the next node if success, else ~0
|
|
*/
|
|
define add_node_next_reply
|
|
{
|
|
u32 context;
|
|
i32 retval;
|
|
u32 next_index;
|
|
};
|
|
|
|
/** \brief show_threads display the information about vpp
|
|
threads running on system along with their process id,
|
|
cpu id, physical core and cpu socket.
|
|
*/
|
|
define show_threads
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
};
|
|
|
|
/** \brief thread data
|
|
@param id - thread index
|
|
@param name - thread name i.e. vpp_main or vpp_wk_0
|
|
@param type - thread type i.e. workers or stats
|
|
@param pid - thread Process Id
|
|
@param cpu_id - thread pinned to cpu.
|
|
"CPUs or Logical cores are the number of physical cores times
|
|
the number of threads that can run on each core through
|
|
the use of hyperthreading." (from unix.stackexchange.com)
|
|
@param core - thread pinned to actual physical core.
|
|
@param cpu_socket - thread is running on which cpu socket.
|
|
*/
|
|
typedef thread_data
|
|
{
|
|
u32 id;
|
|
string name[64];
|
|
string type[64];
|
|
u32 pid;
|
|
u32 cpu_id;
|
|
u32 core;
|
|
u32 cpu_socket;
|
|
};
|
|
|
|
/** \brief show_threads_reply
|
|
@param context - returned sender context, to match reply w/ request
|
|
@param retval - return code
|
|
@param count - number of threads in thread_data array
|
|
@param thread_data - array of thread data
|
|
*/
|
|
define show_threads_reply
|
|
{
|
|
u32 context;
|
|
i32 retval;
|
|
u32 count;
|
|
vl_api_thread_data_t thread_data[count];
|
|
};
|
|
|
|
define get_node_graph
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
};
|
|
|
|
/** \brief get_node_graph_reply
|
|
@param context - returned sender context, to match reply w/ request
|
|
@param retval - return code
|
|
@param reply_in_shmem - result from vlib_node_serialize, in shared
|
|
memory. Process with vlib_node_unserialize, remember to switch
|
|
heaps and free the result.
|
|
*/
|
|
|
|
define get_node_graph_reply
|
|
{
|
|
u32 context;
|
|
i32 retval;
|
|
u64 reply_in_shmem;
|
|
};
|
|
|
|
/** \brief Query relative index via node names
|
|
@param client_index - opaque cookie to identify the sender
|
|
@param context - sender context, to match reply w/ request
|
|
@param node_name - name of node to find relative index from
|
|
@param next_name - next node from node_name to find relative index of
|
|
*/
|
|
define get_next_index
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
string node_name[64];
|
|
string next_name[64];
|
|
};
|
|
|
|
/** \brief Reply for get next node index
|
|
@param context - sender context which was passed in the request
|
|
@param retval - return value
|
|
@param next_index - index of the next_node
|
|
*/
|
|
define get_next_index_reply
|
|
{
|
|
u32 context;
|
|
i32 retval;
|
|
u32 next_index;
|
|
};
|
|
|
|
/** \brief f64 types are not standardized across the wire. Sense wire format in each direction by sending the f64 value 1.0.
|
|
@param client_index - opaque cookie to identify the sender
|
|
@param context - sender context, to match reply w/ request
|
|
@param f64_one - The constant of 1.0. If you send a different value, expect an rv=VNET_API_ERROR_API_ENDIAN_FAILED.
|
|
*/
|
|
define get_f64_endian_value
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
f64 f64_one [default=1.0];
|
|
};
|
|
|
|
/** \brief get_f64_endian_value reply message
|
|
@param context - sender context which was passed in the request
|
|
@param retval - return value - VNET_API_ERROR_API_ENDIAN_FAILED if f64_one != 1.0
|
|
@param f64_one_result - The value of 'f64 1.0'
|
|
*/
|
|
define get_f64_endian_value_reply
|
|
{
|
|
u32 context;
|
|
u32 retval;
|
|
f64 f64_one_result;
|
|
};
|
|
|
|
/** \brief Verify f64 wire format by sending a value and receiving the value + 1.0
|
|
@param client_index - opaque cookie to identify the sender.
|
|
@param context - sender context, to match reply w/ request.
|
|
@param f64_value - The value you want to test. Default: 1.0.
|
|
*/
|
|
define get_f64_increment_by_one
|
|
{
|
|
u32 client_index;
|
|
u32 context;
|
|
f64 f64_value [default=1.0];
|
|
};
|
|
|
|
/** \brief get_f64_increment_by_one reply
|
|
@param client_index - opaque cookie to identify the sender.
|
|
@param context - sender context, to match reply w/ request.
|
|
@param f64_value - The input f64_value incremented by 1.0.
|
|
*/
|
|
define get_f64_increment_by_one_reply
|
|
{
|
|
u32 context;
|
|
u32 retval;
|
|
f64 f64_value;
|
|
};
|
|
|
|
/*
|
|
* Local Variables:
|
|
* eval: (c-set-style "gnu")
|
|
* End:
|
|
*/
|