Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
VOM: vxlan-tunnel mcast interface fix
[vpp.git]
/
extras
/
vom
/
vom
/
vxlan_tunnel.cpp
diff --git
a/extras/vom/vom/vxlan_tunnel.cpp
b/extras/vom/vom/vxlan_tunnel.cpp
index
2bc386c
..
248aadf
100644
(file)
--- a/
extras/vom/vom/vxlan_tunnel.cpp
+++ b/
extras/vom/vom/vxlan_tunnel.cpp
@@
-26,8
+26,8
@@
const std::string VXLAN_TUNNEL_NAME = "vxlan-tunnel-itf";
vxlan_tunnel::event_handler vxlan_tunnel::m_evh;
const vxlan_tunnel::mode_t vxlan_tunnel::mode_t::STANDARD(0, "standard");
vxlan_tunnel::event_handler vxlan_tunnel::m_evh;
const vxlan_tunnel::mode_t vxlan_tunnel::mode_t::STANDARD(0, "standard");
-const vxlan_tunnel::mode_t vxlan_tunnel::mode_t::GBP(
0
, "GBP");
-const vxlan_tunnel::mode_t vxlan_tunnel::mode_t::GPE(
0
, "GPE");
+const vxlan_tunnel::mode_t vxlan_tunnel::mode_t::GBP(
1
, "GBP");
+const vxlan_tunnel::mode_t vxlan_tunnel::mode_t::GPE(
2
, "GPE");
vxlan_tunnel::mode_t::mode_t(int v, const std::string s)
: enum_base<vxlan_tunnel::mode_t>(v, s)
vxlan_tunnel::mode_t::mode_t(int v, const std::string s)
: enum_base<vxlan_tunnel::mode_t>(v, s)
@@
-113,9
+113,17
@@
vxlan_tunnel::vxlan_tunnel(const vxlan_tunnel& o)
: interface(o)
, m_tep(o.m_tep)
, m_mode(o.m_mode)
: interface(o)
, m_tep(o.m_tep)
, m_mode(o.m_mode)
+ , m_mcast_itf(o.m_mcast_itf)
{
}
{
}
+bool
+vxlan_tunnel::operator==(const vxlan_tunnel& other) const
+{
+ return ((m_tep == other.m_tep) && (m_mode == other.m_mode) &&
+ (m_mcast_itf == other.m_mcast_itf));
+}
+
const handle_t&
vxlan_tunnel::handle() const
{
const handle_t&
vxlan_tunnel::handle() const
{
@@
-167,6
+175,8
@@
vxlan_tunnel::to_string() const
std::ostringstream s;
s << "vxlan-tunnel: " << m_hdl.to_string() << " " << m_mode.to_string() << " "
<< m_tep.to_string();
std::ostringstream s;
s << "vxlan-tunnel: " << m_hdl.to_string() << " " << m_mode.to_string() << " "
<< m_tep.to_string();
+ if (m_mcast_itf)
+ s << " " << m_mcast_itf->to_string();
return (s.str());
}
return (s.str());
}
@@
-177,7
+187,7
@@
vxlan_tunnel::update(const vxlan_tunnel& desired)
/*
* the desired state is always that the interface should be created
*/
/*
* 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,
if (mode_t::STANDARD == m_mode)
HW::enqueue(new vxlan_tunnel_cmds::create_cmd(
m_hdl, name(), m_tep,