vom: Fix the l2 port type in bridge domain
[vpp.git] / extras / vom / vom / l2_binding_cmds.hpp
index d105c18..e864f9d 100644 (file)
@@ -29,13 +29,16 @@ namespace l2_binding_cmds {
  * A functor class that binds L2 configuration to an interface
  */
 class bind_cmd
-  : public rpc_cmd<HW::item<bool>, rc_t, vapi::Sw_interface_set_l2_bridge>
+  : public rpc_cmd<HW::item<bool>, vapi::Sw_interface_set_l2_bridge>
 {
 public:
   /**
    * Constructor
    */
-  bind_cmd(HW::item<bool>& item, const handle_t& itf, uint32_t bd, bool is_bvi);
+  bind_cmd(HW::item<bool>& item,
+           const handle_t& itf,
+           uint32_t bd,
+           const l2_binding::l2_port_type_t& port_type);
 
   /**
    * Issue the command to VPP/HW
@@ -63,16 +66,16 @@ private:
   uint32_t m_bd;
 
   /**
-   * Is it a BVI interface that is being bound
+   * What is the port type i.e. normal, bvi, uu-fwd that is being bound
    */
-  bool m_is_bvi;
+  const l2_binding::l2_port_type_t& m_port_type;
 };
 
 /**
  * A cmd class that Unbinds L2 configuration from an interface
  */
 class unbind_cmd
-  : public rpc_cmd<HW::item<bool>, rc_t, vapi::Sw_interface_set_l2_bridge>
+  : public rpc_cmd<HW::item<bool>, vapi::Sw_interface_set_l2_bridge>
 {
 public:
   /**
@@ -81,7 +84,7 @@ public:
   unbind_cmd(HW::item<bool>& item,
              const handle_t& itf,
              uint32_t bd,
-             bool is_bvi);
+             const l2_binding::l2_port_type_t& port_type);
 
   /**
    * Issue the command to VPP/HW
@@ -109,16 +112,15 @@ private:
   uint32_t m_bd;
 
   /**
-   * Is it a BVI interface that is being bound
+   * What is the port type i.e. bvi, normal or uu-fwd that is being bound
    */
-  bool m_is_bvi;
+  const l2_binding::l2_port_type_t& m_port_type;
 };
 
 /**
  * A cmd class sets the VTR operation
  */
 class set_vtr_op_cmd : public rpc_cmd<HW::item<l2_binding::l2_vtr_op_t>,
-                                      rc_t,
                                       vapi::L2_interface_vlan_tag_rewrite>
 {
 public: