#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 {
/**
* 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);
};
};