| /* |
| * Copyright (c) 2015-2016 Cisco and/or its affiliates. |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at: |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| option version = "2.0.3"; |
| |
| import "vnet/ip/ip_types.api"; |
| |
| /** \brief Configure IPFIX exporter process request |
| @param client_index - opaque cookie to identify the sender |
| @param context - sender context, to match reply w/ request |
| @param collector_address - address of IPFIX collector |
| @param collector_port - port of IPFIX collector |
| @param src_address - address of IPFIX exporter |
| @param vrf_id - VRF / fib table ID |
| @param path_mtu - Path MTU between exporter and collector |
| @param template_interval - number of seconds after which to resend template |
| @param udp_checksum - UDP checksum calculation enable flag |
| */ |
| autoreply define set_ipfix_exporter |
| { |
| u32 client_index; |
| u32 context; |
| vl_api_address_t collector_address; |
| u16 collector_port; |
| vl_api_address_t src_address; |
| u32 vrf_id; |
| u32 path_mtu; |
| u32 template_interval; |
| bool udp_checksum; |
| }; |
| |
| /** \brief IPFIX exporter dump request |
| @param client_index - opaque cookie to identify the sender |
| @param context - sender context, to match reply w/ request |
| */ |
| define ipfix_exporter_dump |
| { |
| u32 client_index; |
| u32 context; |
| }; |
| |
| /** \brief Reply to IPFIX exporter dump request |
| @param context - sender context which was passed in the request |
| @param collector_address - address of IPFIX collector |
| @param collector_port - port of IPFIX collector |
| @param src_address - address of IPFIX exporter |
| @param fib_index - fib table index |
| @param path_mtu - Path MTU between exporter and collector |
| @param template_interval - number of seconds after which to resend template |
| @param udp_checksum - UDP checksum calculation enable flag |
| */ |
| define ipfix_exporter_details |
| { |
| u32 context; |
| vl_api_address_t collector_address; |
| u16 collector_port; |
| vl_api_address_t src_address; |
| u32 vrf_id; |
| u32 path_mtu; |
| u32 template_interval; |
| bool udp_checksum; |
| }; |
| |
| |
| /** Configure IPFIX exporter within the exporting process. |
| The exporting process can contain multiple independent exporters, |
| each of which have their own state. The collector_address is the key |
| field that identifies a unique exporter. The already existing API |
| 'set_ipfix_exporter' is used to modify a single exporter (which will |
| always have stat index 0). If more than one exporter is required then |
| they can be created and deleted using this API. |
| |
| @param client_index - opaque cookie to identify the sender |
| @param context - sender context, to match reply w/ request |
| @param is_create - True for create, False for delete |
| @param collector_address - address of IPFIX collector |
| @param collector_port - port of IPFIX collector |
| @param src_address - address of IPFIX exporter |
| @param vrf_id - VRF / fib table ID |
| @param path_mtu - Path MTU between exporter and collector |
| @param template_interval - number of seconds after which to resend template |
| @param udp_checksum - UDP checksum calculation enable flag |
| */ |
| |
| define ipfix_exporter_create_delete { |
| u32 client_index; |
| u32 context; |
| bool is_create; |
| vl_api_address_t collector_address; |
| u16 collector_port; |
| vl_api_address_t src_address; |
| u32 vrf_id; |
| u32 path_mtu; |
| u32 template_interval; |
| bool udp_checksum; |
| }; |
| |
| define ipfix_exporter_create_delete_reply { |
| u32 context; |
| i32 retval; |
| u32 stat_index; |
| }; |
| |
| /** \brief IPFIX classify stream configure request |
| @param client_index - opaque cookie to identify the sender |
| @param context - sender context, to match reply w/ request |
| @param domain_id - domain ID reported in IPFIX messages for classify stream |
| @param src_port - source port of UDP session for classify stream |
| */ |
| autoreply define set_ipfix_classify_stream { |
| u32 client_index; |
| u32 context; |
| u32 domain_id; |
| u16 src_port; |
| }; |
| |
| /** \brief IPFIX classify stream dump request |
| @param client_index - opaque cookie to identify the sender |
| @param context - sender context, to match reply w/ request |
| */ |
| define ipfix_classify_stream_dump { |
| u32 client_index; |
| u32 context; |
| }; |
| |
| /** \brief Reply to IPFIX classify stream dump request |
| @param context - sender context, to match reply w/ request |
| @param domain_id - domain ID reported in IPFIX messages for classify stream |
| @param src_port - source port of UDP session for classify stream |
| */ |
| define ipfix_classify_stream_details { |
| u32 context; |
| u32 domain_id; |
| u16 src_port; |
| }; |
| |
| /** \brief IPFIX add or delete classifier table request |
| @param client_index - opaque cookie to identify the sender |
| @param context - sender context, to match reply w/ request |
| @param table_id - classifier table ID |
| @param ip_version - version of IP used in the classifier table |
| @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified |
| */ |
| autoreply define ipfix_classify_table_add_del { |
| u32 client_index; |
| u32 context; |
| u32 table_id; |
| vl_api_address_family_t ip_version; |
| vl_api_ip_proto_t transport_protocol; |
| bool is_add; |
| }; |
| |
| /** \brief IPFIX classify tables dump request |
| @param client_index - opaque cookie to identify the sender |
| @param context - sender context, to match reply w/ request |
| */ |
| define ipfix_classify_table_dump { |
| u32 client_index; |
| u32 context; |
| }; |
| |
| /** \brief Reply to IPFIX classify tables dump request |
| @param context - sender context, to match reply w/ request |
| @param table_id - classifier table ID |
| @param ip_version - version of IP used in the classifier table |
| @param transport_protocol - transport protocol used in the classifier table or 255 for unspecified |
| */ |
| define ipfix_classify_table_details { |
| u32 context; |
| u32 table_id; |
| vl_api_address_family_t ip_version; |
| vl_api_ip_proto_t transport_protocol; |
| }; |
| |
| autoreply define ipfix_flush { |
| u32 client_index; |
| u32 context; |
| }; |
| |
| /* |
| * Local Variables: |
| * eval: (c-set-style "gnu") |
| * End: |
| */ |