ipfix_export.api revision 2f71a888
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
16option version = "2.0.1";
17
18import "vnet/ip/ip_types.api";
19
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
30*/
31autoreply define set_ipfix_exporter
32{
33  u32 client_index;
34  u32 context;
35  vl_api_address_t collector_address;
36  u16 collector_port;
37  vl_api_address_t src_address;
38  u32 vrf_id;
39  u32 path_mtu;
40  u32 template_interval;
41  bool udp_checksum;
42};
43
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
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;
67  vl_api_address_t collector_address;
68  u16 collector_port;
69  vl_api_address_t src_address;
70  u32 vrf_id;
71  u32 path_mtu;
72  u32 template_interval;
73  bool udp_checksum;
74};
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*/
82autoreply define set_ipfix_classify_stream {
83    u32 client_index;
84    u32 context;
85    u32 domain_id;
86    u16 src_port;
87};
88
89/** \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*/
116autoreply define ipfix_classify_table_add_del {
117    u32 client_index;
118    u32 context;
119    u32 table_id;
120    vl_api_address_family_t ip_version;
121    vl_api_ip_proto_t transport_protocol;
122    bool is_add;
123};
124
125/** \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;
143    vl_api_address_family_t ip_version;
144    vl_api_ip_proto_t transport_protocol;
145};
146
147autoreply define ipfix_flush {
148    u32 client_index;
149    u32 context;
150};
151
152/*
153 * Local Variables:
154 * eval: (c-set-style "gnu")
155 * End:
156 */
157