16 #ifndef __VOM_INTERFACE_FACTORY_H__ 17 #define __VOM_INTERFACE_FACTORY_H__ 27 #include <vapi/af_packet.api.vapi.hpp> 28 #include <vapi/bond.api.vapi.hpp> 29 #include <vapi/interface.api.vapi.hpp> 30 #include <vapi/pipe.api.vapi.hpp> 31 #include <vapi/tap.api.vapi.hpp> 32 #include <vapi/tapv2.api.vapi.hpp> 33 #include <vapi/vhost_user.api.vapi.hpp> 44 const vapi_payload_sw_interface_details& vd);
47 const vapi_payload_sw_interface_vhost_user_details& vd);
50 const vapi_payload_af_packet_details& vd);
53 const vapi_payload_sw_interface_tap_details& vd);
56 const vapi_payload_sw_interface_tap_v2_details& vd);
59 const vapi_payload_sw_interface_bond_details& vd);
62 const vapi_payload_sw_interface_slave_details& vd);
65 const vapi_payload_pipe_details& payload);
static std::shared_ptr< pipe > new_pipe_interface(const vapi_payload_pipe_details &payload)
static std::shared_ptr< interface > new_af_packet_interface(const vapi_payload_af_packet_details &vd)
static std::shared_ptr< interface > new_interface(const vapi_payload_sw_interface_details &vd)
Factory method to construct a new interface from the VPP record.
static std::shared_ptr< interface > new_vhost_user_interface(const vapi_payload_sw_interface_vhost_user_details &vd)
static bond_member new_bond_member_interface(const vapi_payload_sw_interface_slave_details &vd)
static std::shared_ptr< tap_interface > new_tap_v2_interface(const vapi_payload_sw_interface_tap_v2_details &vd)
The VPP Object Model (VOM) library.
static std::shared_ptr< tap_interface > new_tap_interface(const vapi_payload_sw_interface_tap_details &vd)
static std::shared_ptr< bond_interface > new_bond_interface(const vapi_payload_sw_interface_bond_details &vd)