summaryrefslogtreecommitdiffstats
path: root/src/vnet/interface.api
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2020-04-08 12:19:38 +0000
committerNeale Ranns <nranns@cisco.com>2020-04-23 08:15:53 +0000
commit59f71132edffcfa1b94c400736575bd55bdbd7d7 (patch)
treefebcf6fad99ef594d97a3b28806fc3a1a69b8b73 /src/vnet/interface.api
parentc87fbb417a580bf8e93d0176dba6a90b3cd6a787 (diff)
ip: Replace Sematics for Interface IP addresses
Type: feature - replace functions for prefixes attached to interfaces - add ip_interface.[ch] to consoldate the functions Signed-off-by: Neale Ranns <nranns@cisco.com> Change-Id: I9c0c39c09dbf80ea1aadefee02c9bd16f094b6ad
Diffstat (limited to 'src/vnet/interface.api')
-rw-r--r--src/vnet/interface.api37
1 files changed, 37 insertions, 0 deletions
diff --git a/src/vnet/interface.api b/src/vnet/interface.api
index 1ecd3472f72..c262cd69fcf 100644
--- a/src/vnet/interface.api
+++ b/src/vnet/interface.api
@@ -228,6 +228,43 @@ autoreply define sw_interface_add_del_address
vl_api_address_with_prefix_t prefix;
};
+/** \brief IP interface address replace begin
+
+ The use-case is that, for some unspecified reason, the control plane
+ has a different set of interface addresses 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 interface addresses to be deleted implicitly.
+ The CP declares the start of this procedure with this replace_begin
+ API Call, and when it has populated all addresses it wants, it calls
+ the below replace_end API. From this point on it is of course free
+ to add and delete interface addresses 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 sw_interface_address_replace_begin
+{
+ u32 client_index;
+ u32 context;
+};
+
+/** \brief IP interface address replace end
+
+ see ip_interface_address_replace_begin description.
+
+ @param client_index - opaque cookie to identify the sender
+ @param context - sender context, to match reply w/ request
+*/
+autoreply define sw_interface_address_replace_end
+{
+ u32 client_index;
+ u32 context;
+};
+
/** \brief Associate the specified interface with a fib table
@param client_index - opaque cookie to identify the sender
@param context - sender context, to match reply w/ request