Make the loss / delay sim available as an output feature
[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 = "2.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_cross_connect_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 enable / disable the network delay simulation output feature
32     @param client_index - opaque cookie to identify the sender
33     @param context - sender context, to match reply w/ request
34     @param enable_disable - enable or disable the feature
35     @param sw_if_index0 - interface 
36 */
37 autoreply define nsim_output_feature_enable_disable 
38 {
39   /* Client identifier, set from api_main.my_client_index */
40   u32 client_index;
41   
42   /* Arbitrary context, so client can match reply to request */
43   u32 context;
44   
45   /* Enable / disable the feature on the interfaces */
46   u8 enable_disable;
47   
48   /* Interface handles */
49   u32 sw_if_index;
50 };
51
52 /** \brief configure the network delay simulation cross-connect
53     @param client_index - opaque cookie to identify the sender
54     @param context - sender context, to match reply w/ request
55     @param delay_in_usec - microseconds of link delay to simulate
56     @param average_packet_size - average packet size for wheel sizing
57     @param bandwidth_in_bits_per_second - bps for wheel sizing
58 */
59 autoreply define nsim_configure
60 {
61   /* Client identifier, set from api_main.my_client_index */
62   u32 client_index;
63   
64   /* Arbitrary context, so client can match reply to request */
65   u32 context;
66
67   /* Configuration parameters */
68   u32 delay_in_usec;
69   u32 average_packet_size;
70   u64 bandwidth_in_bits_per_second;
71   u32 packets_per_drop;
72 };
73
74