/* * 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; }; service { rpc ipfix_all_exporter_get returns ipfix_all_exporter_get_reply stream ipfix_all_exporter_details; }; define ipfix_all_exporter_get { u32 client_index; u32 context; u32 cursor; }; define ipfix_all_exporter_get_reply { u32 context; i32 retval; u32 cursor; }; /** \brief Ipfix meter details in response to the get_meters command @param context - sender context, to match reply w/ request @param name The name of the ipfix meter */ define ipfix_all_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; }; /** \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: */