VOM: vhost-use interfaces
Change-Id: Iee1574d1f0f081ccc4a90fd9825a0b5e254aa642
Signed-off-by: Neale Ranns <neale.ranns@cisco.com>
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
diff --git a/src/vpp-api/vom/interface.hpp b/src/vpp-api/vom/interface.hpp
index da0db40..5d29510 100644
--- a/src/vpp-api/vom/interface.hpp
+++ b/src/vpp-api/vom/interface.hpp
@@ -91,6 +91,11 @@
const static type_t TAP;
/**
+ * vhost-user interface type
+ */
+ const static type_t VHOST;
+
+ /**
* Convert VPP's name of the interface to a type
*/
static type_t from_string(const std::string& str);
@@ -157,7 +162,10 @@
/**
* Construct a new object matching the desried state
*/
- interface(const std::string& name, type_t type, admin_state_t state);
+ interface(const std::string& name,
+ type_t type,
+ admin_state_t state,
+ const std::string& tag = "");
/**
* Construct a new object matching the desried state mapped
* to a specific route_domain
@@ -165,7 +173,8 @@
interface(const std::string& name,
type_t type,
admin_state_t state,
- const route_domain& rd);
+ const route_domain& rd,
+ const std::string& tag = "");
/**
* Destructor
*/
@@ -215,6 +224,11 @@
const l2_address_t& l2_address() const;
/**
+ * Set the admin state of the interface
+ */
+ void set(const admin_state_t& state);
+
+ /**
* Set the L2 Address
*/
void set(const l2_address_t& addr);
@@ -225,6 +239,11 @@
void set(const oper_state_t& state);
/**
+ * Set the tag to the interface
+ */
+ void set(const std::string& tag);
+
+ /**
* Comparison operator - only used for UT
*/
virtual bool operator==(const interface& i) const;
@@ -581,6 +600,11 @@
oper_state_t m_oper;
/**
+ * tag of the interface
+ */
+ std::string m_tag;
+
+ /**
* A map of all interfaces keyed against VPP's handle
*/
static std::map<handle_t, std::weak_ptr<interface>> m_hdl_db;