VOM: bond: Add support for LACP
[vpp.git] / src / vpp-api / vom / interface_factory.hpp
index 47faecc..dda5275 100644 (file)
 
 #include <vapi/vapi.hpp>
 
+#include "vom/bond_member.hpp"
 #include "vom/interface.hpp"
 
+#include <vapi/bond.api.vapi.hpp>
 #include <vapi/interface.api.vapi.hpp>
+#include <vapi/vhost_user.api.vapi.hpp>
 
 namespace VOM {
 
@@ -30,8 +33,17 @@ public:
   /**
    * Factory method to construct a new interface from the VPP record
    */
-  static std::unique_ptr<interface> new_interface(
+  static std::shared_ptr<interface> new_interface(
     const vapi_payload_sw_interface_details& vd);
+
+  static std::shared_ptr<interface> new_vhost_user_interface(
+    const vapi_payload_sw_interface_vhost_user_details& vd);
+
+  static std::shared_ptr<bond_interface> new_bond_interface(
+    const vapi_payload_sw_interface_bond_details& vd);
+
+  static bond_member new_bond_member_interface(
+    const vapi_payload_sw_interface_slave_details& vd);
 };
 };