diff options
Diffstat (limited to 'src/vnet/ip-neighbor/ip_neighbor.api')
-rw-r--r-- | src/vnet/ip-neighbor/ip_neighbor.api | 115 |
1 files changed, 114 insertions, 1 deletions
diff --git a/src/vnet/ip-neighbor/ip_neighbor.api b/src/vnet/ip-neighbor/ip_neighbor.api index 62730e7c1e3..24cddd42fab 100644 --- a/src/vnet/ip-neighbor/ip_neighbor.api +++ b/src/vnet/ip-neighbor/ip_neighbor.api @@ -20,7 +20,7 @@ called through a shared memory interface. */ -option version = "1.0.0"; +option version = "1.0.1"; import "vnet/ip/ip_types.api"; import "vnet/ethernet/ethernet_types.api"; @@ -126,6 +126,40 @@ autoreply define ip_neighbor_config bool recycle; }; +/** \brief Get neighbor database configuration per AF + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param af - Address family (v4/v6) +*/ +define ip_neighbor_config_get +{ + option in_progress; + u32 client_index; + u32 context; + vl_api_address_family_t af; +}; + +/** \brief Neighbor database configuration reply + @param context - sender context, to match reply w/ request + @param retval - error (0 is "no error") + @param af - Address family (v4/v6) + @param max_number - The maximum number of neighbours that will be created + @param max_age - The maximum age (in seconds) before an inactive neighbour + is flushed + @param recycle - If max_number of neighbours is reached and new ones need + to be created, should the oldest neighbour be 'recycled' +*/ +define ip_neighbor_config_get_reply +{ + option in_progress; + u32 context; + i32 retval; + vl_api_address_family_t af; + u32 max_number; + u32 max_age; + bool recycle; +}; + /** \brief IP neighbour replace begin The use-case is that, for some unspecified reason, the control plane @@ -264,6 +298,85 @@ service { events ip_neighbor_event_v2; }; +counters ip4_neighbor { + throttled { + severity info; + type counter64; + units "packets"; + description "ARP requests throttled"; + }; + resolved { + severity info; + type counter64; + units "packets"; + description "ARP requests resolved"; + }; + no_buffers { + severity error; + type counter64; + units "packets"; + description "ARP requests out of buffer"; + }; + request_sent { + severity info; + type counter64; + units "packets"; + description "ARP requests sent"; + }; + non_arp_adj { + severity error; + type counter64; + units "packets"; + description "ARPs to non-ARP adjacencies"; + }; + no_source_address { + severity error; + type counter64; + units "packets"; + description "no source address for ARP request"; + }; +}; + +counters ip6_neighbor { + throttled { + severity info; + type counter64; + units "packets"; + description "throttled"; + }; + drop { + severity error; + type counter64; + units "packets"; + description "address overflow drops"; + }; + request_sent { + severity info; + type counter64; + units "packets"; + description "neighbor solicitations sent"; + }; + no_source_address { + severity error; + type counter64; + units "packets"; + description "no source address for ND solicitation"; + }; + no_buffers { + severity error; + type counter64; + units "packets"; + description "no buffers"; + }; +}; + +paths { + "/err/ip4-arp" "ip4_neighbor"; + "/err/ip4-glean" "ip4_neighbor"; + "/err/ip6-arp" "ip6_neighbor"; + "/err/ip6-glean" "ip6_neighbor"; +}; + /* * Local Variables: * eval: (c-set-style "gnu") |