ethernet: add sanity checks to p2p_ethernet_add/del
[vpp.git] / src / vnet / ethernet / p2p_ethernet.api
index 8fb6637..51867ca 100644 (file)
  * limitations under the License.
  */
 
+option version = "1.0.0";
+
+import "vnet/interface_types.api";
+import "vnet/ethernet/ethernet_types.api";
+
+/** \brief Create a point-to-point (p2p) Ethernet sub-interface
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param parent_if_index - index of the parent interface
+    @param subif_id - subinterface index identifier
+    @param remote_mac - client MAC address
+    @retval VNET_API_ERROR_INVALID_SW_IF_INDEX on invalid parent_if_index
+    @retval VNET_API_ERROR_INVALID_SW_IF_INDEX_2 on invalid subif_id
+    @retval VNET_API_ERROR_BOND_SLAVE_NOT_ALLOWED
+    @retval VNET_API_ERROR_SUBIF_ALREADY_EXISTS
+    @retval VNET_API_ERROR_SUBIF_CREATE_FAILED
+*/
 define p2p_ethernet_add
 {
   u32 client_index;
   u32 context;
-  u32 parent_if_index;
+  vl_api_interface_index_t parent_if_index;
   u32 subif_id;
-  u8  remote_mac[6];
+  vl_api_mac_address_t remote_mac;
 };
 
 define p2p_ethernet_add_reply
 {
   u32 context;
   i32 retval;
-  u32 sw_if_index;
+  vl_api_interface_index_t sw_if_index;
 };
 
+/** \brief Delete a point-to-point (p2p) Ethernet sub-interface
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param parent_if_index - index of the parent interface
+    @param remote_mac - client MAC address
+    @retval VNET_API_ERROR_SUBIF_DOESNT_EXIST
+*/
 define p2p_ethernet_del
 {
   u32 client_index;
   u32 context;
-  u32 parent_if_index;
-  u8  remote_mac[6];
+  vl_api_interface_index_t parent_if_index;
+  vl_api_mac_address_t remote_mac;
 };
 
 define p2p_ethernet_del_reply
@@ -47,4 +71,4 @@ define p2p_ethernet_del_reply
  * Local Variables:
  * eval: (c-set-style "gnu")
  * End:
- */
\ No newline at end of file
+ */