X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip.api;h=b37530ef955fed962d51022a69ea38d88ae8d32d;hb=9db6ada779794779158163f6293b479ae7f6ad5e;hp=69c7b88f2e68d73d5ce026e69ecd162981dd07be;hpb=0d3d4824a46205e776ff32c82be4cb514f459a5f;p=vpp.git diff --git a/src/vnet/ip/ip.api b/src/vnet/ip/ip.api index 69c7b88f2e6..b37530ef955 100644 --- a/src/vnet/ip/ip.api +++ b/src/vnet/ip/ip.api @@ -65,6 +65,59 @@ define ip_table_dump u32 context; }; +/** \brief IP table replace being + + The use-case is that, for some unspecified reason, the control plane + has a very different set of entries it wants in the table than VPP + currently has. The CP would thus like to 'replace' VPP's current table + only by specifying what the new set of entries shall be, i.e. it is not + going to delete anything that already eixts. + the CP delcartes the start of this procedure with this begin_replace + API Call, and when it has populated all the entries it wants, it calls + the below end_replace API. From this point on it is of coursce free + to add and delete entries as usual. + The underlying mechanism by which VPP implements this replace is + purposefully left unspecified. + + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param table - The table to resync +*/ +autoreply define ip_table_replace_begin +{ + u32 client_index; + u32 context; + vl_api_ip_table_t table; +}; + +/** \brief IP table replace end + + see replace start/ + + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param table - The table that has converged +*/ +autoreply define ip_table_replace_end +{ + u32 client_index; + u32 context; + vl_api_ip_table_t table; +}; + +/** \brief IP table flush + Flush a table of all routes + @param client_index - opaque cookie to identify the sender + @param context - sender context, to match reply w/ request + @param table - The table to flush +*/ +autoreply define ip_table_flush +{ + u32 client_index; + u32 context; + vl_api_ip_table_t table; +}; + /** \brief IP FIB table response @param context - sender context @param table - description of the table @@ -957,20 +1010,6 @@ define proxy_arp_intfc_details u32 sw_if_index; }; -/** \brief Reset fib table request - @param client_index - opaque cookie to identify the sender - @param context - sender context, to match reply w/ request - @param vrf_id - vrf/table id of the fib table to reset - @param is_ipv6 - an ipv6 fib to reset if non-zero, else ipv4 -*/ -autoreply define reset_fib -{ - u32 client_index; - u32 context; - u32 vrf_id; - u8 is_ipv6; -}; - /** \brief Set max allowed ARP or ip6 neighbor entries request @param client_index - opaque cookie to identify the sender @param context - sender context, to match reply w/ request