0e0f99bf4e54526f064fab964799982b575a6068
[vpp.git] / src / vnet / flow / flow.api
1 /*
2  * Copyright (c) 2015-2016 Cisco and/or its affiliates.
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at:
6  *
7  *     http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15
16 /** \brief Configure IPFIX exporter process request
17     @param client_index - opaque cookie to identify the sender
18     @param context - sender context, to match reply w/ request
19     @param collector_address - address of IPFIX collector
20     @param collector_port - port of IPFIX collector
21     @param src_address - address of IPFIX exporter
22     @param vrf_id - VRF / fib table ID
23     @param path_mtu - Path MTU between exporter and collector
24     @param template_interval - number of seconds after which to resend template
25     @param udp_checksum - UDP checksum calculation enable flag
26 */
27 define set_ipfix_exporter
28 {
29   u32 client_index;
30   u32 context;
31   u8 collector_address[16];
32   u16 collector_port;
33   u8 src_address[16];
34   u32 vrf_id;
35   u32 path_mtu;
36   u32 template_interval;
37   u8 udp_checksum;
38 };
39
40 /** \brief Reply to IPFIX exporter configure request
41     @param context - sender context which was passed in the request
42 */
43 define set_ipfix_exporter_reply
44 {
45   u32 context;
46   i32 retval;
47 };
48
49 /** \brief IPFIX exporter dump request
50     @param client_index - opaque cookie to identify the sender
51     @param context - sender context, to match reply w/ request
52 */
53 define ipfix_exporter_dump
54 {
55   u32 client_index;
56   u32 context;
57 };
58
59 /** \brief Reply to IPFIX exporter dump request
60     @param context - sender context which was passed in the request
61     @param collector_address - address of IPFIX collector
62     @param collector_port - port of IPFIX collector
63     @param src_address - address of IPFIX exporter
64     @param fib_index - fib table index
65     @param path_mtu - Path MTU between exporter and collector
66     @param template_interval - number of seconds after which to resend template
67     @param udp_checksum - UDP checksum calculation enable flag
68 */
69 define ipfix_exporter_details
70 {
71   u32 context;
72   u8 collector_address[16];
73   u16 collector_port;
74   u8 src_address[16];
75   u32 vrf_id;
76   u32 path_mtu;
77   u32 template_interval;
78   u8 udp_checksum;
79 };
80
81 /** \brief IPFIX classify stream configure request
82     @param client_index - opaque cookie to identify the sender
83     @param context - sender context, to match reply w/ request
84     @param domain_id - domain ID reported in IPFIX messages for classify stream
85     @param src_port - source port of UDP session for classify stream
86 */
87 define set_ipfix_classify_stream {
88     u32 client_index;
89     u32 context;
90     u32 domain_id;
91     u16 src_port;
92 };
93
94 /** \brief IPFIX classify stream configure response
95     @param context - sender context, to match reply w/ request
96     @param retval - return value for request
97 */
98 define set_ipfix_classify_stream_reply {
99     u32 context;
100     i32 retval;
101 };
102
103 /** \brief IPFIX classify stream dump request
104     @param client_index - opaque cookie to identify the sender
105     @param context - sender context, to match reply w/ request
106 */
107 define ipfix_classify_stream_dump {
108     u32 client_index;
109     u32 context;
110 };
111
112 /** \brief Reply to IPFIX classify stream dump request
113     @param context - sender context, to match reply w/ request
114     @param domain_id - domain ID reported in IPFIX messages for classify stream
115     @param src_port - source port of UDP session for classify stream
116 */
117 define ipfix_classify_stream_details {
118     u32 context;
119     u32 domain_id;
120     u16 src_port;
121 };
122
123 /** \brief IPFIX add or delete classifier table request
124     @param client_index - opaque cookie to identify the sender
125     @param context - sender context, to match reply w/ request
126     @param table_id - classifier table ID
127     @param ip_version - version of IP used in the classifier table
128     @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified
129 */
130 define ipfix_classify_table_add_del {
131     u32 client_index;
132     u32 context;
133     u32 table_id;
134     u8 ip_version;
135     u8 transport_protocol;
136     u8 is_add;
137 };
138
139 /** \brief IPFIX add classifier table response
140     @param context - sender context which was passed in the request
141 */
142 define ipfix_classify_table_add_del_reply {
143     u32 context;
144     i32 retval;
145 };
146
147 /** \brief IPFIX classify tables dump request
148     @param client_index - opaque cookie to identify the sender
149     @param context - sender context, to match reply w/ request
150 */
151 define ipfix_classify_table_dump {
152     u32 client_index;
153     u32 context;
154 };
155
156 /** \brief Reply to IPFIX classify tables dump request
157     @param context - sender context, to match reply w/ request
158     @param table_id - classifier table ID
159     @param ip_version - version of IP used in the classifier table
160     @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified
161 */
162 define ipfix_classify_table_details {
163     u32 context;
164     u32 table_id;
165     u8 ip_version;
166     u8 transport_protocol;
167 };
168
169 /*
170  * Local Variables:
171  * eval: (c-set-style "gnu")
172  * End:
173  */