X-Git-Url: https://gerrit.fd.io/r/gitweb?a=blobdiff_plain;f=src%2Fvnet%2Fip%2Fip.api;h=b37530ef955fed962d51022a69ea38d88ae8d32d;hb=9db6ada779794779158163f6293b479ae7f6ad5e;hp=5d22bc52fea588a0913eaee9bd173a5d07cc8c2a;hpb=75761b933f3e28494bae4b2cf5636a07ffe6ce18;p=vpp.git diff --git a/src/vnet/ip/ip.api b/src/vnet/ip/ip.api index 5d22bc52fea..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 @@ -1016,6 +1055,12 @@ autoreply define ioam_disable u16 id; }; +enum ip_reass_type +{ + IP_REASS_TYPE_FULL = 0, + IP_REASS_TYPE_SHALLOW_VIRTUAL = 0x1, +}; + autoreply define ip_reassembly_set { u32 client_index; @@ -1025,6 +1070,7 @@ autoreply define ip_reassembly_set u32 max_reassembly_length; u32 expire_walk_interval_ms; u8 is_ip6; + vl_api_ip_reass_type_t type; }; define ip_reassembly_get @@ -1032,6 +1078,7 @@ define ip_reassembly_get u32 client_index; u32 context; u8 is_ip6; + vl_api_ip_reass_type_t type; }; define ip_reassembly_get_reply @@ -1059,6 +1106,7 @@ autoreply define ip_reassembly_enable_disable u32 sw_if_index; u8 enable_ip4; u8 enable_ip6; + vl_api_ip_reass_type_t type; }; /*