From f7b7fa53b7eaec81d8c00c1023fb7d01f1f9761f Mon Sep 17 00:00:00 2001 From: Ole Troan Date: Thu, 1 Mar 2018 14:53:12 +0100 Subject: API: Add service definitions for events and singleton messages. Change-Id: I7de987c30b263d43521e6280c5273f30b5f6e11c Signed-off-by: Ole Troan --- src/vnet/dhcp/dhcp.api | 4 ++++ src/vnet/interface.api | 65 ++++---------------------------------------------- src/vnet/ip/ip.api | 10 ++++++++ src/vnet/l2/l2.api | 5 ++++ 4 files changed, 24 insertions(+), 60 deletions(-) (limited to 'src/vnet') diff --git a/src/vnet/dhcp/dhcp.api b/src/vnet/dhcp/dhcp.api index 721a1be3547..975aa6ee9e7 100644 --- a/src/vnet/dhcp/dhcp.api +++ b/src/vnet/dhcp/dhcp.api @@ -109,6 +109,10 @@ define dhcp_compl_event u8 host_mac[6]; }; +service { + rpc dhcp_client_config returns dhcp_client_config_reply events dhcp_compl_event; +}; + /** \brief Dump DHCP proxy table @param client_index - opaque cookie to identify the sender @param True for IPv6 proxy table diff --git a/src/vnet/interface.api b/src/vnet/interface.api index a8733d1854f..a5a9184f0bb 100644 --- a/src/vnet/interface.api +++ b/src/vnet/interface.api @@ -1,5 +1,10 @@ option version = "1.0.0"; +service { + rpc want_interface_events returns want_interface_events_reply + events sw_interface_event; +}; + /** \brief Set flags on the interface @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -273,66 +278,6 @@ typeonly manual_print manual_endian define vnet_simple_counter u64 rx_mpls; }; -/** \brief Simple stats counters structure - @param vnet_counter_type- such as ip4, ip6, punts, etc - @param first_sw_if_index - first sw index in block of index, counts - @param count - number of counters, equal to the number of interfaces in - this stats block - @param data - contiguous block of u64 counters - - vnet_counter_type defined in enums - plural - in vnet/interface.h -*/ -manual_print manual_endian define vnet_interface_simple_counters -{ - u8 vnet_counter_type; - u32 first_sw_if_index; - u32 count; - u64 data[count]; -}; - -/** \brief Combined stats counters structure - @param vnet_counter_type- such as ip4, ip6, punts, etc - @param first_sw_if_index - first sw index in block of index, counts - @param count - number of counters, equal to the number of interfaces in - this stats block - @param data - contiguous block of vlib_counter_t structures - - vnet_counter_type defined in enums - plural - in vnet/interface.h -*/ -manual_print manual_endian define vnet_interface_combined_counters -{ - u8 vnet_counter_type; - u32 first_sw_if_index; - u32 count; - vl_api_vlib_counter_t data[count]; -}; - - -/** \brief Simple per interface stats counters structure - @param count - number of elements in message - @param timestamp - u32 vlib timestamp for control plane - @param data[count] - vl_api_vnet_simple_counter_t - -*/ -manual_print manual_endian define vnet_per_interface_simple_counters -{ - u32 count; - u32 timestamp; - vl_api_vnet_simple_counter_t data[count]; -}; - -/** \brief Combined stats counters structure per interface - @param count - number of elements in message - @param timestamp - u32 vlib timestamp for control plane - @param data[count] - vl_api_vnet_combined_counter_t -*/ -manual_print manual_endian define vnet_per_interface_combined_counters -{ - u32 count; - u32 timestamp; - vl_api_vnet_combined_counter_t data[count]; -}; - /** \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 diff --git a/src/vnet/ip/ip.api b/src/vnet/ip/ip.api index 6ed5a9d6bdb..b94d6d748b2 100644 --- a/src/vnet/ip/ip.api +++ b/src/vnet/ip/ip.api @@ -686,6 +686,11 @@ define ip4_arp_event u8 mac_ip; }; +service { + rpc want_ip4_arp_events returns want_ip4_arp_events_reply + events ip4_arp_event; +}; + /** \brief Register for ip6 nd resolution events @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request @@ -720,6 +725,11 @@ define ip6_nd_event u8 mac_ip; }; +service { + rpc want_ip6_nd_events returns want_ip6_nd_events_reply + events ip6_nd_event; +}; + /** \brief Proxy ARP add / del request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request diff --git a/src/vnet/l2/l2.api b/src/vnet/l2/l2.api index 5102783bcb4..3fb6de0d073 100644 --- a/src/vnet/l2/l2.api +++ b/src/vnet/l2/l2.api @@ -182,6 +182,11 @@ define l2_macs_event vl_api_mac_entry_t mac[n_macs]; }; +service { + rpc want_l2_macs_events returns want_l2_macs_events_reply + events l2_macs_event; +}; + /** \brief Set interface L2 flags (such as L2_LEARN, L2_FWD, L2_FLOOD, L2_UU_FLOOD, or L2_ARP_TERM bits). This can be used to disable one or more of the features represented by the -- cgit 1.2.3-korg