nsim: add packet loss simulation, docs
[vpp.git] / src / plugins / nsim / nsim.api
1 /**
2  * @file nsim.api
3  * @brief VPP control-plane API messages for the network delay simulator
4  */
5
6 option version = "1.1.0";
7
8 /** \brief enable / disable the network delay simulation cross-connect
9     @param client_index - opaque cookie to identify the sender
10     @param context - sender context, to match reply w/ request
11     @param enable_disable - enable or disable the feature
12     @param sw_if_index0 - one interface to cross-connect
13     @param sw_if_index1 - the other interface to cross-connect
14 */
15 autoreply define nsim_enable_disable 
16 {
17   /* Client identifier, set from api_main.my_client_index */
18   u32 client_index;
19   
20   /* Arbitrary context, so client can match reply to request */
21   u32 context;
22   
23   /* Enable / disable the feature on the interfaces */
24   u8 enable_disable;
25   
26   /* Interface handles */
27   u32 sw_if_index0;
28   u32 sw_if_index1;
29 };
30
31 /** \brief configure the network delay simulation cross-connect
32     @param client_index - opaque cookie to identify the sender
33     @param context - sender context, to match reply w/ request
34     @param delay_in_usec - microseconds of link delay to simulate
35     @param average_packet_size - average packet size for wheel sizing
36     @param bandwidth_in_bits_per_second - bps for wheel sizing
37 */
38 autoreply define nsim_configure
39 {
40   /* Client identifier, set from api_main.my_client_index */
41   u32 client_index;
42   
43   /* Arbitrary context, so client can match reply to request */
44   u32 context;
45
46   /* Configuration parameters */
47   u32 delay_in_usec;
48   u32 average_packet_size;
49   u64 bandwidth_in_bits_per_second;
50   u32 packets_per_drop;
51 };