diff options
-rw-r--r-- | extras/vom/vom/vxlan_tunnel.cpp | 8 | ||||
-rw-r--r-- | extras/vom/vom/vxlan_tunnel.hpp | 5 |
2 files changed, 12 insertions, 1 deletions
diff --git a/extras/vom/vom/vxlan_tunnel.cpp b/extras/vom/vom/vxlan_tunnel.cpp index ca0790103ff..faf49bd93cd 100644 --- a/extras/vom/vom/vxlan_tunnel.cpp +++ b/extras/vom/vom/vxlan_tunnel.cpp @@ -116,6 +116,12 @@ vxlan_tunnel::vxlan_tunnel(const vxlan_tunnel& o) { } +bool +vxlan_tunnel::operator==(const vxlan_tunnel& other) const +{ + return ((m_tep == other.m_tep) && (m_mode == other.m_mode)); +} + const handle_t& vxlan_tunnel::handle() const { @@ -177,7 +183,7 @@ vxlan_tunnel::update(const vxlan_tunnel& desired) /* * the desired state is always that the interface should be created */ - if (!m_hdl) { + if (rc_t::OK != m_hdl.rc()) { if (mode_t::STANDARD == m_mode) HW::enqueue(new vxlan_tunnel_cmds::create_cmd( m_hdl, name(), m_tep, diff --git a/extras/vom/vom/vxlan_tunnel.hpp b/extras/vom/vom/vxlan_tunnel.hpp index 63124e73426..c085ba0b629 100644 --- a/extras/vom/vom/vxlan_tunnel.hpp +++ b/extras/vom/vom/vxlan_tunnel.hpp @@ -114,6 +114,11 @@ public: vxlan_tunnel(const vxlan_tunnel& o); /** + * comparison operator + */ + bool operator==(const vxlan_tunnel& vx) const; + + /** * Return the matching 'singular instance' */ std::shared_ptr<vxlan_tunnel> singular() const; |