* populating the route domain here
*/
route_domain rd_temp(payload.table_id);
- std::shared_ptr<route_domain> rd = route_domain::find(rd_temp);
+ std::shared_ptr<route_domain> rd = route_domain::find(payload.table_id);
if (!rd) {
OM::commit(key, rd_temp);
}
prefix_t pfx(1, payload.address, payload.address_length);
route_domain rd_temp(payload.table_id);
- std::shared_ptr<route_domain> rd = route_domain::find(rd_temp);
+ std::shared_ptr<route_domain> rd = route_domain::find(payload.table_id);
if (!rd) {
OM::commit(key, rd_temp);
}
}
std::shared_ptr<route_domain>
-route_domain::find(const route_domain& temp)
+route_domain::find(const key_t& k)
{
- std::shared_ptr<route_domain> rd;
-
- auto it = m_db.cbegin();
-
- while (it != m_db.cend()) {
- /*
- * The key in the DB is a pair of the interface's name and prefix.
- * If the keys match, save the L3-config
- */
- auto key = it->first;
-
- if (temp.table_id() == key) {
- rd = it->second.lock();
- break;
- }
-
- ++it;
- }
-
- return (rd);
+ return (m_db.find(k));
}
void
/**
* Find the instnace of the route domain in the OM
*/
- static std::shared_ptr<route_domain> find(const route_domain& temp);
+ static std::shared_ptr<route_domain> find(const key_t& temp);
/**
* Dump all route-doamin into the stream provided