interface: callback to manage extra MAC addresses
[vpp.git] / src / vnet / interface.api
index 8a2d079..02d7a50 100644 (file)
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-option version = "3.0.0";
+option version = "3.2.0";
 
 import "vnet/interface_types.api";
 import "vnet/ethernet/ethernet_types.api";
@@ -185,8 +185,8 @@ define sw_interface_details
   u32 i_sid;
 
   /* Interface name */
-  string interface_name;
-  string tag;
+  string interface_name[64];
+  string tag[64];
 };
 
 /** \brief Request all or filtered subset of sw_interface_details
@@ -204,7 +204,7 @@ define sw_interface_dump
   u32 context;
   vl_api_interface_index_t sw_if_index;
   bool name_filter_valid;
-  string name_filter;
+  string name_filter[];
 };
 
 /** \brief Set or delete one or all ip addresses on a specified interface
@@ -223,7 +223,7 @@ autoreply define sw_interface_add_del_address
   bool is_add;
 
   bool del_all;
-  vl_api_prefix_t prefix;
+  vl_api_address_with_prefix_t prefix;
 };
 
 /** \brief Associate the specified interface with a fib table
@@ -307,7 +307,23 @@ autoreply define sw_interface_tag_add_del
   u32 context;
   bool is_add;
   vl_api_interface_index_t sw_if_index;
-  string tag;
+  string tag[64];
+};
+
+/** \brief Add or delete a secondary MAC address on an interface
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param sw_if_index - the interface whose MAC will be set
+    @param mac_addr - the new MAC address
+    @param is_add - 0 to delete, != 0 to add
+*/
+autoreply define sw_interface_add_del_mac_address
+{
+    u32 client_index;
+    u32 context;
+    u32 sw_if_index;
+    vl_api_mac_address_t addr;
+    u8 is_add;
 };
 
 /** \brief Set an interface's MAC address