-option version = "2.2.0";
+/* Hey Emacs use -*- mode: C -*- */
+/*
+ * Copyright (c) 2018 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.2.1";
+
+import "vnet/interface_types.api";
service {
rpc want_interface_events returns want_interface_events_reply
u32 i_sid;
};
-/* works */
+/** \brief Request all or filtered subset of sw_interface_details
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+ @param sw_if_index - ~0 if ignore, index of the interface to filter on
+ @param name_filter_valid - 1 if requesting a filtered subset of records else 0
+ @param name_filter - interface name substring filter. Eg. loop1 returns [loop1, loop10]
+*/
+
define sw_interface_dump
{
u32 client_index;
u32 context;
+ vl_api_interface_index_t sw_if_index;
u8 name_filter_valid;
u8 name_filter[49];
};
u32 vrf_id;
};
-typeonly manual_print manual_endian define vlib_counter
-{
- u64 packets; /**< packet counter */
- u64 bytes; /**< byte counter */
-};
-
-/** \brief Combined interface counter data type for vnet_interface_combined_counters
- @param sw_if_index - interface indexes for counters
- @param rx_packets - received packet count
- @param rx_bytes - received byte count
- @param rx_unicast_packets - received unicast packet count
- @param rx_unicast_bytes - received unicast byte count
- @param rx_multicast_packets - received multicast packet count
- @param rx_multicast_bytes - received multicast byte count
- @param rx_broadcast_packets - received broadcast packet count
- @param rx_broadcast_bytes - received broadcast byte count
- @param tx_packets - transmitted packet count
- @param tx_bytes - transmitted byte count
- @param tx_unicast_packets - transmitted unicast packet count
- @param tx_unicast_bytes - transmitted unicast byte count
- @param tx_multicast_packets - transmitted multicast packet count
- @param tx_multicast_bytes - transmitted multicast byte count
- @param tx_broadcast_packets - transmitted broadcast packet count
- @param tx_broadcast_bytes - transmitted broadcast byte count
-
-*/
-typeonly manual_print manual_endian define vnet_combined_counter
-{
- u32 sw_if_index;
- u64 rx_packets; /**< packet counter */
- u64 rx_bytes; /**< byte counter */
- u64 rx_unicast_packets; /**< packet counter */
- u64 rx_unicast_bytes; /**< byte counter */
- u64 rx_multicast_packets; /**< packet counter */
- u64 rx_multicast_bytes; /**< byte counter */
- u64 rx_broadcast_packets; /**< packet counter */
- u64 rx_broadcast_bytes; /**< byte counter */
- u64 tx_packets; /**< packet counter */
- u64 tx_bytes; /**< byte counter */
- u64 tx_unicast_packets; /**< packet counter */
- u64 tx_unicast_bytes; /**< byte counter */
- u64 tx_multicast_packets; /**< packet counter */
- u64 tx_multicast_bytes; /**< byte counter */
- u64 tx_broadcast_packets; /**< packet counter */
- u64 tx_broadcast_bytes; /**< byte counter */
-};
-
-/** \brief Simple interface counter data type for vnet_interface_simple_counters
- @param sw_if_index - interface indexes for counters
- @param drop - RX or TX drops due to buffer starvation
- @param punt - used with VNET "punt" disposition
- @param rx_ip4 - received IP4 packets
- @param rx_ip6 - received IP6 packets
- @param rx_no_buffer - no RX buffers available
- @param rx_miss - receive misses
- @param rx_error - receive errors
- @param tx_error - transmit errors
- @param rx_mpls - received MPLS packet
-
-*/
-typeonly manual_print manual_endian define vnet_simple_counter
-{
- u32 sw_if_index;
- u64 drop;
- u64 punt;
- u64 rx_ip4;
- u64 rx_ip6;
- u64 rx_no_buffer;
- u64 rx_miss;
- u64 rx_error;
- u64 tx_error;
- u64 rx_mpls;
-};
-
/** \brief Set unnumbered interface add / del request
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request