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:
7 * http://www.apache.org/licenses/LICENSE-2.0
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.
16 option version = "2.0.3";
18 import "vnet/ip/ip_types.api";
20 /** \brief Configure IPFIX exporter process request
21 @param client_index - opaque cookie to identify the sender
22 @param context - sender context, to match reply w/ request
23 @param collector_address - address of IPFIX collector
24 @param collector_port - port of IPFIX collector
25 @param src_address - address of IPFIX exporter
26 @param vrf_id - VRF / fib table ID
27 @param path_mtu - Path MTU between exporter and collector
28 @param template_interval - number of seconds after which to resend template
29 @param udp_checksum - UDP checksum calculation enable flag
31 autoreply define set_ipfix_exporter
35 vl_api_address_t collector_address;
37 vl_api_address_t src_address;
40 u32 template_interval;
44 /** \brief IPFIX exporter dump request
45 @param client_index - opaque cookie to identify the sender
46 @param context - sender context, to match reply w/ request
48 define ipfix_exporter_dump
54 /** \brief Reply to IPFIX exporter dump request
55 @param context - sender context which was passed in the request
56 @param collector_address - address of IPFIX collector
57 @param collector_port - port of IPFIX collector
58 @param src_address - address of IPFIX exporter
59 @param fib_index - fib table index
60 @param path_mtu - Path MTU between exporter and collector
61 @param template_interval - number of seconds after which to resend template
62 @param udp_checksum - UDP checksum calculation enable flag
64 define ipfix_exporter_details
67 vl_api_address_t collector_address;
69 vl_api_address_t src_address;
72 u32 template_interval;
76 /** Configure IPFIX exporter within the exporting process.
77 The exporting process can contain multiple independent exporters,
78 each of which have their own state. The collector_address is the key
79 field that identifies a unique exporter. The already existing API
80 'set_ipfix_exporter' is used to modify a single exporter (which will
81 always have stat index 0). If more than one exporter is required then
82 they can be created and deleted using this API.
84 @param client_index - opaque cookie to identify the sender
85 @param context - sender context, to match reply w/ request
86 @param is_create - True for create, False for delete
87 @param collector_address - address of IPFIX collector
88 @param collector_port - port of IPFIX collector
89 @param src_address - address of IPFIX exporter
90 @param vrf_id - VRF / fib table ID
91 @param path_mtu - Path MTU between exporter and collector
92 @param template_interval - number of seconds after which to resend template
93 @param udp_checksum - UDP checksum calculation enable flag
96 define ipfix_exporter_create_delete {
100 vl_api_address_t collector_address;
102 vl_api_address_t src_address;
105 u32 template_interval;
109 define ipfix_exporter_create_delete_reply {
116 rpc ipfix_all_exporter_get returns ipfix_all_exporter_get_reply
117 stream ipfix_all_exporter_details;
120 define ipfix_all_exporter_get
127 define ipfix_all_exporter_get_reply
134 /** \brief Ipfix meter details in response to the get_meters command
135 @param context - sender context, to match reply w/ request
136 @param name The name of the ipfix meter
138 define ipfix_all_exporter_details
141 vl_api_address_t collector_address;
143 vl_api_address_t src_address;
146 u32 template_interval;
150 /** \brief IPFIX classify stream configure request
151 @param client_index - opaque cookie to identify the sender
152 @param context - sender context, to match reply w/ request
153 @param domain_id - domain ID reported in IPFIX messages for classify stream
154 @param src_port - source port of UDP session for classify stream
156 autoreply define set_ipfix_classify_stream {
163 /** \brief IPFIX classify stream dump request
164 @param client_index - opaque cookie to identify the sender
165 @param context - sender context, to match reply w/ request
167 define ipfix_classify_stream_dump {
172 /** \brief Reply to IPFIX classify stream dump request
173 @param context - sender context, to match reply w/ request
174 @param domain_id - domain ID reported in IPFIX messages for classify stream
175 @param src_port - source port of UDP session for classify stream
177 define ipfix_classify_stream_details {
183 /** \brief IPFIX add or delete classifier table request
184 @param client_index - opaque cookie to identify the sender
185 @param context - sender context, to match reply w/ request
186 @param table_id - classifier table ID
187 @param ip_version - version of IP used in the classifier table
188 @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified
190 autoreply define ipfix_classify_table_add_del {
194 vl_api_address_family_t ip_version;
195 vl_api_ip_proto_t transport_protocol;
199 /** \brief IPFIX classify tables dump request
200 @param client_index - opaque cookie to identify the sender
201 @param context - sender context, to match reply w/ request
203 define ipfix_classify_table_dump {
208 /** \brief Reply to IPFIX classify tables dump request
209 @param context - sender context, to match reply w/ request
210 @param table_id - classifier table ID
211 @param ip_version - version of IP used in the classifier table
212 @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified
214 define ipfix_classify_table_details {
217 vl_api_address_family_t ip_version;
218 vl_api_ip_proto_t transport_protocol;
221 autoreply define ipfix_flush {
228 * eval: (c-set-style "gnu")