L2FIB:add l2fib_flush_bd l2fib_flush_int apis
[vpp.git] / src / vnet / l2 / l2.api
index 5b24f25..c23eebe 100644 (file)
@@ -86,6 +86,50 @@ define l2_fib_clear_table_reply
   i32 retval;
 };
 
+/** \brief L2 FIB flush bridge domain entries
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param bd_id - the entry's bridge domain id
+*/
+define l2fib_flush_bd
+{
+  u32 client_index;
+  u32 context;
+  u32 bd_id;
+};
+
+/** \brief L2 FIB flush bridge domain entries response
+    @param context - sender context, to match reply w/ request
+    @param retval - return code for the request
+*/
+define l2fib_flush_bd_reply
+{
+  u32 context;
+  i32 retval;
+};
+
+/** \brief L2 FIB flush interface entries
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param bd_id - the entry's bridge domain id
+*/
+define l2fib_flush_int
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+};
+
+/** \brief L2 FIB flush interface entries response
+    @param context - sender context, to match reply w/ request
+    @param retval - return code for the request
+*/
+define l2fib_flush_int_reply
+{
+  u32 context;
+  i32 retval;
+};
+
 /** \brief L2 FIB add entry request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
@@ -146,6 +190,30 @@ define l2_flags_reply
   u32 resulting_feature_bitmap;
 };
 
+/** \brief L2 bridge domain set mac age
+    @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 create
+    @param mac_age - mac aging time in min, 0 for disabled
+*/
+define bridge_domain_set_mac_age
+{
+  u32 client_index;
+  u32 context;
+  u32 bd_id;
+  u8 mac_age;
+};
+
+/** \brief Set bridge domain response
+    @param context - sender context, to match reply w/ request
+    @param retval - return code for the set l2 bits request
+*/
+define bridge_domain_set_mac_age_reply
+{
+  u32 context;
+  i32 retval;
+};
+
 /** \brief L2 bridge domain add or delete request
     @param client_index - opaque cookie to identify the sender
     @param context - sender context, to match reply w/ request
@@ -260,6 +328,71 @@ define bridge_flags_reply
   u32 resulting_feature_bitmap;
 };
 
+/** \brief L2 interface vlan tag rewrite configure request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param sw_if_index - interface the operation is applied to
+    @param vtr_op - Choose from l2_vtr_op_t enum values
+    @param push_dot1q - first pushed flag dot1q id set, else dot1ad
+    @param tag1 - Needed for any push or translate vtr op
+    @param tag2 - Needed for any push 2 or translate x-2 vtr ops
+*/
+define l2_interface_vlan_tag_rewrite
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 vtr_op;
+  u32 push_dot1q;              // ethertype of first pushed tag is dot1q/dot1ad
+  u32 tag1;                    // first pushed tag
+  u32 tag2;                    // second pushed tag
+};
+
+/** \brief L2 interface vlan tag rewrite response
+    @param context - sender context, to match reply w/ request
+    @param retval - return code for the request
+*/
+define l2_interface_vlan_tag_rewrite_reply
+{
+  u32 context;
+  i32 retval;
+};
+
+/** \brief L2 interface pbb tag rewrite configure request
+    @param client_index - opaque cookie to identify the sender
+    @param context - sender context, to match reply w/ request
+    @param sw_if_index - interface the operation is applied to
+    @param vtr_op - Choose from l2_vtr_op_t enum values
+    @param inner_tag - needed for translate_qinq vtr op only
+    @param outer_tag - needed for translate_qinq vtr op only 
+    @param b_dmac - B-tag remote mac address, needed for any push or translate_qinq vtr op
+    @param b_smac - B-tag local mac address, needed for any push or translate qinq vtr op
+    @param b_vlanid - B-tag vlanid, needed for any push or translate qinq vtr op
+    @param i_sid - I-tag service id, needed for any push or translate qinq vtr op
+*/
+define l2_interface_pbb_tag_rewrite
+{
+  u32 client_index;
+  u32 context;
+  u32 sw_if_index;
+  u32 vtr_op;
+  u16 outer_tag;
+  u8  b_dmac[6];
+  u8  b_smac[6];
+  u16 b_vlanid;
+  u32 i_sid;
+};
+
+/** \brief L2 interface pbb tag rewrite response
+    @param context - sender context, to match reply w/ request
+    @param retval - return code for the request
+*/
+define l2_interface_pbb_tag_rewrite_reply
+{
+  u32 context;
+  i32 retval;
+};
+
 /*
  * Local Variables:
  * eval: (c-set-style "gnu")