#include "vom/route_domain.hpp"
#include "vom/cmd.hpp"
+#include "vom/route_domain_cmds.hpp"
namespace VOM {
+
+route_domain::event_handler route_domain::m_evh;
+
/**
* A DB of al the interfaces, key on the name
*/
{
}
+bool
+route_domain::operator==(const route_domain& r) const
+{
+ return (m_table_id == r.m_table_id);
+}
+
route::table_id_t
route_domain::table_id() const
{
route_domain::sweep()
{
if (m_hw_v4) {
- HW::enqueue(new delete_cmd(m_hw_v4, l3_proto_t::IPV4, m_table_id));
+ HW::enqueue(
+ new route_domain_cmds::delete_cmd(m_hw_v4, l3_proto_t::IPV4, m_table_id));
}
if (m_hw_v6) {
- HW::enqueue(new delete_cmd(m_hw_v6, l3_proto_t::IPV6, m_table_id));
+ HW::enqueue(
+ new route_domain_cmds::delete_cmd(m_hw_v6, l3_proto_t::IPV6, m_table_id));
}
HW::write();
}
route_domain::replay()
{
if (m_hw_v4) {
- HW::enqueue(new create_cmd(m_hw_v4, l3_proto_t::IPV4, m_table_id));
+ HW::enqueue(
+ new route_domain_cmds::create_cmd(m_hw_v4, l3_proto_t::IPV4, m_table_id));
}
if (m_hw_v6) {
- HW::enqueue(new create_cmd(m_hw_v6, l3_proto_t::IPV6, m_table_id));
+ HW::enqueue(
+ new route_domain_cmds::create_cmd(m_hw_v6, l3_proto_t::IPV6, m_table_id));
}
}
* create the table if it is not yet created
*/
if (rc_t::OK != m_hw_v4.rc()) {
- HW::enqueue(new create_cmd(m_hw_v4, l3_proto_t::IPV4, m_table_id));
+ HW::enqueue(
+ new route_domain_cmds::create_cmd(m_hw_v4, l3_proto_t::IPV4, m_table_id));
}
if (rc_t::OK != m_hw_v6.rc()) {
- HW::enqueue(new create_cmd(m_hw_v6, l3_proto_t::IPV6, m_table_id));
+ HW::enqueue(
+ new route_domain_cmds::create_cmd(m_hw_v6, l3_proto_t::IPV6, m_table_id));
}
}
{
m_db.dump(os);
}
+
+void
+route_domain::event_handler::handle_populate(const client_db::key_t& key)
+{
+}
+
+route_domain::event_handler::event_handler()
+{
+ OM::register_listener(this);
+ inspect::register_handler({ "rd", "route-domain" }, "Route Domains", this);
}
+
+void
+route_domain::event_handler::handle_replay()
+{
+ m_db.replay();
+}
+
+dependency_t
+route_domain::event_handler::order() const
+{
+ return (dependency_t::TABLE);
+}
+
+void
+route_domain::event_handler::show(std::ostream& os)
+{
+ m_db.dump(os);
+}
+
+}; // namespace VOPM
+
/*
* fd.io coding-style-patch-verification: ON
*