BVI Interface
[vpp.git] / src / vnet / l2 / l2.api
index 2164ca7..dc74376 100644 (file)
  * limitations under the License.
  */
 
-option version = "2.0.1";
+option version = "2.1.2";
+
+import "vnet/ip/ip_types.api";
+import "vnet/ethernet/ethernet_types.api";
 
 /** \brief Reply to l2_xconnect_dump 
     @param context - sender context which was passed in the request
@@ -317,6 +320,7 @@ manual_print manual_endian define bridge_domain_details
 /** \brief Flags that can be changed on a bridge domain */
 enum bd_flags
 {
+  BRIDGE_API_FLAG_NONE = 0x0,
   BRIDGE_API_FLAG_LEARN = 0x1,
   BRIDGE_API_FLAG_FWD = 0x2,
   BRIDGE_API_FLAG_FLOOD = 0x4,
@@ -449,7 +453,7 @@ enum l2_port_type
     @param context - sender context, to match reply w/ request
     @param rx_sw_if_index - the interface
     @param bd_id - bridge domain id
-    @param bvi - Setup interface as a bvi, bridge mode only
+    @param port_type - port_mode, see #l2_port_type
     @param shg - Split horizon group, for bridge mode only
     @param enable - Enable beige mode if not 0, else set to L3 mode
 */
@@ -480,9 +484,19 @@ autoreply define bd_ip_mac_add_del
   u32 context;
   u32 bd_id;
   u8 is_add;
-  u8 is_ipv6;
-  u8 ip_address[16];
-  u8 mac_address[6];
+  vl_api_address_t ip;
+  vl_api_mac_address_t mac;
+};
+
+/** \brief Flush bridge domain IP to MAC entries
+    @param client_index - opaque cookie to identify the sender
+    @param bd_id - bridge domain identifier
+*/
+autoreply define bd_ip_mac_flush
+{
+  u32 client_index;
+  u32 context;
+  u32 bd_id;
 };
 
 /** \brief bridge domain IP to MAC entry details structure
@@ -497,7 +511,7 @@ define bd_ip_mac_details
   u32 bd_id;
   u8 is_ipv6;
   u8 ip_address[16];
-  u8 mac_address[6];
+  vl_api_mac_address_t mac_address;
 };
 
 /** \brief Dump bridge domain IP to MAC entries
@@ -539,6 +553,44 @@ autoreply define sw_interface_set_vpath
   u8 enable;
 };
 
+/** \brief Create BVI interface instance request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param mac_address - mac addr to assign to the interface if none-zero
+    @param user_instance - requested instance, ~0 => dynamically allocate
+*/
+define bvi_create
+{
+  u32 client_index;
+  u32 context;
+  vl_api_mac_address_t mac;
+  u32 user_instance;
+};
+
+/** \brief Create BVI interface instance response
+    @param context - sender context, to match reply w/ request
+    @param sw_if_index - sw index of the interface that was created
+    @param retval - return code for the request
+*/
+define bvi_create_reply
+{
+  u32 context;
+  i32 retval;
+  u32 sw_if_index;
+};
+
+/** \brief Delete BVI interface request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param sw_if_index - sw index of the interface that was created
+*/
+autoreply define bvi_delete
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+};
+
 /*
  * Local Variables:
  * eval: (c-set-style "gnu")