From c87fbb417a580bf8e93d0176dba6a90b3cd6a787 Mon Sep 17 00:00:00 2001 From: Neale Ranns Date: Thu, 2 Apr 2020 17:08:28 +0000 Subject: ip-neighbor: Replace feature for the ip-neighbor data-base Type: feature DB replace is implemented with a mark and sweep algorithm (just the the FIB) Signed-off-by: Neale Ranns Change-Id: I54ab06e11552219e2a18e1b4a87d531321cf3829 --- src/vnet/ip-neighbor/ip_neighbor.api | 37 ++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'src/vnet/ip-neighbor/ip_neighbor.api') diff --git a/src/vnet/ip-neighbor/ip_neighbor.api b/src/vnet/ip-neighbor/ip_neighbor.api index b82036052f7..fc8f8222189 100644 --- a/src/vnet/ip-neighbor/ip_neighbor.api +++ b/src/vnet/ip-neighbor/ip_neighbor.api @@ -126,6 +126,43 @@ autoreply define ip_neighbor_config bool recycle; }; +/** \brief IP neighbour replace begin + + The use-case is that, for some unspecified reason, the control plane + has a different set of neighbours it than VPP + currently has. The CP would thus like to 'replace' VPP's set + only by specifying what the new set shall be, i.e. it is not + going to delete anything that already eixts, rather, is wants any + unspecified neighbors deleted implicitly. + The CP declares the start of this procedure with this replace_begin + API Call, and when it has populated all neighbours it wants, it calls + the below replace_end API. From this point on it is of course free + to add and delete neighbours as usual. + The underlying mechanism by which VPP implements this replace is + intentionally left unspecified. + + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request +*/ +autoreply define ip_neighbor_replace_begin +{ + u32 client_index; + u32 context; +}; + +/** \brief IP neighbour replace end + + see ip_neighbor_replace_begin description. + + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request +*/ +autoreply define ip_neighbor_replace_end +{ + u32 client_index; + u32 context; +}; + /** \brief Register for IP4 ARP resolution event on receing ARP reply or MAC/IP info from ARP requests in L2 BDs @param client_index - opaque cookie to identify the sender -- cgit 1.2.3-korg