L2 BD: introduce a BD interface on which to send UU packets
[vpp.git] / src / vnet / l2 / l2.api
index fdb7db7..2164ca7 100644 (file)
@@ -309,17 +309,27 @@ manual_print manual_endian define bridge_domain_details
   u8 mac_age;
   u8 bd_tag[64];
   u32 bvi_sw_if_index;
+  u32 uu_fwd_sw_if_index;
   u32 n_sw_ifs;
   vl_api_bridge_domain_sw_if_t sw_if_details[n_sw_ifs];
 };
 
-/** \brief Set bridge flags (such as L2_LEARN, L2_FWD, L2_FLOOD, 
-    L2_UU_FLOOD, or L2_ARP_TERM bits) request
+/** \brief Flags that can be changed on a bridge domain */
+enum bd_flags
+{
+  BRIDGE_API_FLAG_LEARN = 0x1,
+  BRIDGE_API_FLAG_FWD = 0x2,
+  BRIDGE_API_FLAG_FLOOD = 0x4,
+  BRIDGE_API_FLAG_UU_FLOOD = 0x8,
+  BRIDGE_API_FLAG_ARP_TERM = 0x10,
+};
+
+/** \brief Set bridge flags request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
     @param bd_id - the bridge domain to set the flags for
     @param is_set - if non-zero, set the flags, else clear them
-    @param feature_bitmap - bits (as above) that are non-zero to set or clear
+    @param flags - flags that are non-zero to set or clear
 */
 define bridge_flags
 {
@@ -327,7 +337,7 @@ define bridge_flags
   u32 context;
   u32 bd_id;
   u8 is_set;
-  u32 feature_bitmap;
+  vl_api_bd_flags_t flags;
 };
 
 /** \brief Set bridge flags response
@@ -419,6 +429,21 @@ autoreply define sw_interface_set_l2_xconnect
   u8 enable;
 };
 
+/**
+ * @brief An enumeration of the type of ports that can be added
+ *        to a bridge domain
+ */
+enum l2_port_type
+{
+  /* a 'normal' interface, i.e. not BVI or UU-Flood */
+  L2_API_PORT_TYPE_NORMAL = 0,
+  /* a BVI interface in the BD */
+  L2_API_PORT_TYPE_BVI = 1,
+  /* The interface on which to forward unknown unicast packets
+   * If this is not set for a BD then UU is flooded */
+  L2_API_PORT_TYPE_UU_FWD = 2,
+};
+
 /** \brief Interface bridge mode request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
@@ -428,14 +453,15 @@ autoreply define sw_interface_set_l2_xconnect
     @param shg - Split horizon group, for bridge mode only
     @param enable - Enable beige mode if not 0, else set to L3 mode
 */
+
 autoreply define sw_interface_set_l2_bridge
 {
   u32 client_index;
   u32 context;
   u32 rx_sw_if_index;
   u32 bd_id;
+  vl_api_l2_port_type_t port_type;
   u8 shg;
-  u8 bvi;
   u8 enable;
 };