summaryrefslogtreecommitdiffstats
path: root/extras/vom/vom/igmp_binding.cpp
diff options
context:
space:
mode:
authorNeale Ranns <nranns@cisco.com>2018-12-17 07:29:32 -0800
committerNeale Ranns <nranns@cisco.com>2018-12-17 16:30:50 +0000
commit66b48a9c6155a2c088f0f45fc568c846edb4b1af (patch)
tree5c1c2d2da40f8920f52d87e4505162882eac01da /extras/vom/vom/igmp_binding.cpp
parentf49ba0e81e0cb9b9f8075cb4ce051b5bacde8ad3 (diff)
VOM: IGMP only supports IPv4
Change-Id: Ie0a8898fa2d8ab71522686fb83fb1de959ee3098 Signed-off-by: Neale Ranns <nranns@cisco.com>
Diffstat (limited to 'extras/vom/vom/igmp_binding.cpp')
-rw-r--r--extras/vom/vom/igmp_binding.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/extras/vom/vom/igmp_binding.cpp b/extras/vom/vom/igmp_binding.cpp
index bcdc6cbed10..73e0bd8f02a 100644
--- a/extras/vom/vom/igmp_binding.cpp
+++ b/extras/vom/vom/igmp_binding.cpp
@@ -22,7 +22,7 @@ namespace VOM {
/**
* A DB of all igmp bindings configs
*/
-singular_db<interface::key_t, igmp_binding> igmp_binding::m_db;
+singular_db<igmp_binding::key_t, igmp_binding> igmp_binding::m_db;
igmp_binding::event_handler igmp_binding::m_evh;
@@ -41,7 +41,7 @@ igmp_binding::igmp_binding(const igmp_binding& o)
igmp_binding::~igmp_binding()
{
sweep();
- m_db.release(m_itf->key(), this);
+ m_db.release(key(), this);
}
bool
@@ -50,6 +50,12 @@ igmp_binding::operator==(const igmp_binding& l) const
return (*m_itf == *l.m_itf);
}
+const igmp_binding::key_t
+igmp_binding::key() const
+{
+ return (m_itf->key());
+}
+
void
igmp_binding::sweep()
{
@@ -96,7 +102,13 @@ igmp_binding::update(const igmp_binding& desired)
std::shared_ptr<igmp_binding>
igmp_binding::find_or_add(const igmp_binding& temp)
{
- return (m_db.find_or_add(temp.m_itf->key(), temp));
+ return (m_db.find_or_add(temp.key(), temp));
+}
+
+std::shared_ptr<igmp_binding>
+igmp_binding::find(const key_t& k)
+{
+ return (m_db.find(k));
}
std::shared_ptr<igmp_binding>