VPPAPIGEN: vppapigen replacement in Python PLY.
[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 option version = "1.0.0";
17
18 /** \brief Configure IPFIX exporter process request
19     @param client_index - opaque cookie to identify the sender
20     @param context - sender context, to match reply w/ request
21     @param collector_address - address of IPFIX collector
22     @param collector_port - port of IPFIX collector
23     @param src_address - address of IPFIX exporter
24     @param vrf_id - VRF / fib table ID
25     @param path_mtu - Path MTU between exporter and collector
26     @param template_interval - number of seconds after which to resend template
27     @param udp_checksum - UDP checksum calculation enable flag
28 */
29 autoreply define set_ipfix_exporter
30 {
31   u32 client_index;
32   u32 context;
33   u8 collector_address[16];
34   u16 collector_port;
35   u8 src_address[16];
36   u32 vrf_id;
37   u32 path_mtu;
38   u32 template_interval;
39   u8 udp_checksum;
40 };
41
42 /** \brief IPFIX exporter dump request
43     @param client_index - opaque cookie to identify the sender
44     @param context - sender context, to match reply w/ request
45 */
46 define ipfix_exporter_dump
47 {
48   u32 client_index;
49   u32 context;
50 };
51
52 /** \brief Reply to IPFIX exporter dump request
53     @param context - sender context which was passed in the request
54     @param collector_address - address of IPFIX collector
55     @param collector_port - port of IPFIX collector
56     @param src_address - address of IPFIX exporter
57     @param fib_index - fib table index
58     @param path_mtu - Path MTU between exporter and collector
59     @param template_interval - number of seconds after which to resend template
60     @param udp_checksum - UDP checksum calculation enable flag
61 */
62 define ipfix_exporter_details
63 {
64   u32 context;
65   u8 collector_address[16];
66   u16 collector_port;
67   u8 src_address[16];
68   u32 vrf_id;
69   u32 path_mtu;
70   u32 template_interval;
71   u8 udp_checksum;
72 };
73
74 /** \brief IPFIX classify stream configure request
75     @param client_index - opaque cookie to identify the sender
76     @param context - sender context, to match reply w/ request
77     @param domain_id - domain ID reported in IPFIX messages for classify stream
78     @param src_port - source port of UDP session for classify stream
79 */
80 autoreply define set_ipfix_classify_stream {
81     u32 client_index;
82     u32 context;
83     u32 domain_id;
84     u16 src_port;
85 };
86
87 /** \brief IPFIX classify stream dump request
88     @param client_index - opaque cookie to identify the sender
89     @param context - sender context, to match reply w/ request
90 */
91 define ipfix_classify_stream_dump {
92     u32 client_index;
93     u32 context;
94 };
95
96 /** \brief Reply to IPFIX classify stream dump request
97     @param context - sender context, to match reply w/ request
98     @param domain_id - domain ID reported in IPFIX messages for classify stream
99     @param src_port - source port of UDP session for classify stream
100 */
101 define ipfix_classify_stream_details {
102     u32 context;
103     u32 domain_id;
104     u16 src_port;
105 };
106
107 /** \brief IPFIX add or delete classifier table request
108     @param client_index - opaque cookie to identify the sender
109     @param context - sender context, to match reply w/ request
110     @param table_id - classifier table ID
111     @param ip_version - version of IP used in the classifier table
112     @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified
113 */
114 autoreply define ipfix_classify_table_add_del {
115     u32 client_index;
116     u32 context;
117     u32 table_id;
118     u8 ip_version;
119     u8 transport_protocol;
120     u8 is_add;
121 };
122
123 /** \brief IPFIX classify tables dump request
124     @param client_index - opaque cookie to identify the sender
125     @param context - sender context, to match reply w/ request
126 */
127 define ipfix_classify_table_dump {
128     u32 client_index;
129     u32 context;
130 };
131
132 /** \brief Reply to IPFIX classify tables dump request
133     @param context - sender context, to match reply w/ request
134     @param table_id - classifier table ID
135     @param ip_version - version of IP used in the classifier table
136     @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified
137 */
138 define ipfix_classify_table_details {
139     u32 context;
140     u32 table_id;
141     u8 ip_version;
142     u8 transport_protocol;
143 };
144
145 /*
146  * Local Variables:
147  * eval: (c-set-style "gnu")
148  * End:
149  */