diff options
author | Mohsin Kazmi <sykazmi@cisco.com> | 2018-02-26 18:36:17 +0100 |
---|---|---|
committer | Neale Ranns <nranns@cisco.com> | 2018-03-06 14:47:28 +0000 |
commit | b5eb3b185fb04bfed3ba6c89323cd82e7d666bae (patch) | |
tree | eadb31b9933e574b601b35329720302ffe4a1ea5 /src/vpp-api/vom/acl_list.cpp | |
parent | 3f6ede3ab3df9624ba3682d5bc82c4f2aa2e0506 (diff) |
VOM: Fix state reconciliation
This commit also fixes the acl and arp handle for
inspector to view internal state of VOM.
Change-Id: Ibc8ff6cb51d2a77b4c04993ac7212564b8892337
Signed-off-by: Mohsin Kazmi <sykazmi@cisco.com>
Diffstat (limited to 'src/vpp-api/vom/acl_list.cpp')
-rw-r--r-- | src/vpp-api/vom/acl_list.cpp | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/src/vpp-api/vom/acl_list.cpp b/src/vpp-api/vom/acl_list.cpp index 557de515714..5b03f5db021 100644 --- a/src/vpp-api/vom/acl_list.cpp +++ b/src/vpp-api/vom/acl_list.cpp @@ -19,6 +19,14 @@ namespace VOM { namespace ACL { + +template <> +l2_list::event_handler::event_handler() +{ + OM::register_listener(this); + inspect::register_handler({ "l2-acl-list" }, "L2 ACL lists", this); +} + template <> void l2_list::event_handler::handle_populate(const client_db::key_t& key) @@ -62,6 +70,13 @@ l2_list::event_handler::handle_populate(const client_db::key_t& key) } template <> +l3_list::event_handler::event_handler() +{ + OM::register_listener(this); + inspect::register_handler({ "l3-acl-list" }, "L3 ACL lists", this); +} + +template <> void l3_list::event_handler::handle_populate(const client_db::key_t& key) { @@ -120,7 +135,7 @@ l3_list::update(const l3_list& obj) /* * always update the instance with the latest rule set */ - if (!m_hdl || obj.m_rules != m_rules) { + if (rc_t::OK != m_hdl.rc() || obj.m_rules != m_rules) { HW::enqueue(new list_cmds::l3_update_cmd(m_hdl, m_key, m_rules)); } /* @@ -137,7 +152,7 @@ l2_list::update(const l2_list& obj) /* * always update the instance with the latest rule set */ - if (!m_hdl || obj.m_rules != m_rules) { + if (rc_t::OK != m_hdl.rc() || obj.m_rules != m_rules) { HW::enqueue(new list_cmds::l2_update_cmd(m_hdl, m_key, m_rules)); } /* |