blob: efd967d1844b1ed6f190b0db855723a0533d55cc [file] [log] [blame]
Pavel Kotucekeb9e6662017-01-24 13:40:26 +01001/*
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
Jakub Grajciar2f71a882019-10-10 14:21:22 +020016option version = "2.0.1";
17
18import "vnet/ip/ip_types.api";
Dave Barach0d056e52017-09-28 15:11:16 -040019
Pavel Kotucekeb9e6662017-01-24 13:40:26 +010020/** \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
30*/
Dave Barach11b8dbf2017-04-24 10:46:54 -040031autoreply define set_ipfix_exporter
Pavel Kotucekeb9e6662017-01-24 13:40:26 +010032{
33 u32 client_index;
34 u32 context;
Jakub Grajciar2f71a882019-10-10 14:21:22 +020035 vl_api_address_t collector_address;
Pavel Kotucekeb9e6662017-01-24 13:40:26 +010036 u16 collector_port;
Jakub Grajciar2f71a882019-10-10 14:21:22 +020037 vl_api_address_t src_address;
Pavel Kotucekeb9e6662017-01-24 13:40:26 +010038 u32 vrf_id;
39 u32 path_mtu;
40 u32 template_interval;
Jakub Grajciar2f71a882019-10-10 14:21:22 +020041 bool udp_checksum;
Pavel Kotucekeb9e6662017-01-24 13:40:26 +010042};
43
Pavel Kotucekeb9e6662017-01-24 13:40:26 +010044/** \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
47*/
48define ipfix_exporter_dump
49{
50 u32 client_index;
51 u32 context;
52};
53
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
63*/
64define ipfix_exporter_details
65{
66 u32 context;
Jakub Grajciar2f71a882019-10-10 14:21:22 +020067 vl_api_address_t collector_address;
Pavel Kotucekeb9e6662017-01-24 13:40:26 +010068 u16 collector_port;
Jakub Grajciar2f71a882019-10-10 14:21:22 +020069 vl_api_address_t src_address;
Pavel Kotucekeb9e6662017-01-24 13:40:26 +010070 u32 vrf_id;
71 u32 path_mtu;
72 u32 template_interval;
Jakub Grajciar2f71a882019-10-10 14:21:22 +020073 bool udp_checksum;
Pavel Kotucekeb9e6662017-01-24 13:40:26 +010074};
75
76/** \brief IPFIX classify stream configure request
77 @param client_index - opaque cookie to identify the sender
78 @param context - sender context, to match reply w/ request
79 @param domain_id - domain ID reported in IPFIX messages for classify stream
80 @param src_port - source port of UDP session for classify stream
81*/
Dave Barach11b8dbf2017-04-24 10:46:54 -040082autoreply define set_ipfix_classify_stream {
Pavel Kotucekeb9e6662017-01-24 13:40:26 +010083 u32 client_index;
84 u32 context;
85 u32 domain_id;
86 u16 src_port;
87};
88
Pavel Kotucekeb9e6662017-01-24 13:40:26 +010089/** \brief IPFIX classify stream dump request
90 @param client_index - opaque cookie to identify the sender
91 @param context - sender context, to match reply w/ request
92*/
93define ipfix_classify_stream_dump {
94 u32 client_index;
95 u32 context;
96};
97
98/** \brief Reply to IPFIX classify stream dump request
99 @param context - sender context, to match reply w/ request
100 @param domain_id - domain ID reported in IPFIX messages for classify stream
101 @param src_port - source port of UDP session for classify stream
102*/
103define ipfix_classify_stream_details {
104 u32 context;
105 u32 domain_id;
106 u16 src_port;
107};
108
109/** \brief IPFIX add or delete classifier table request
110 @param client_index - opaque cookie to identify the sender
111 @param context - sender context, to match reply w/ request
112 @param table_id - classifier table ID
113 @param ip_version - version of IP used in the classifier table
114 @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified
115*/
Dave Barach11b8dbf2017-04-24 10:46:54 -0400116autoreply define ipfix_classify_table_add_del {
Pavel Kotucekeb9e6662017-01-24 13:40:26 +0100117 u32 client_index;
118 u32 context;
119 u32 table_id;
Jakub Grajciar2f71a882019-10-10 14:21:22 +0200120 vl_api_address_family_t ip_version;
121 vl_api_ip_proto_t transport_protocol;
122 bool is_add;
Pavel Kotucekeb9e6662017-01-24 13:40:26 +0100123};
124
Pavel Kotucekeb9e6662017-01-24 13:40:26 +0100125/** \brief IPFIX classify tables dump request
126 @param client_index - opaque cookie to identify the sender
127 @param context - sender context, to match reply w/ request
128*/
129define ipfix_classify_table_dump {
130 u32 client_index;
131 u32 context;
132};
133
134/** \brief Reply to IPFIX classify tables dump request
135 @param context - sender context, to match reply w/ request
136 @param table_id - classifier table ID
137 @param ip_version - version of IP used in the classifier table
138 @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified
139*/
140define ipfix_classify_table_details {
141 u32 context;
142 u32 table_id;
Jakub Grajciar2f71a882019-10-10 14:21:22 +0200143 vl_api_address_family_t ip_version;
144 vl_api_ip_proto_t transport_protocol;
Pavel Kotucekeb9e6662017-01-24 13:40:26 +0100145};
146
Paul Vinciguerra21b83e92019-06-24 09:55:46 -0400147autoreply define ipfix_flush {
148 u32 client_index;
149 u32 context;
150};
151
Pavel Kotucekeb9e6662017-01-24 13:40:26 +0100152/*
153 * Local Variables:
154 * eval: (c-set-style "gnu")
155 * End:
156 */