diff --git a/src/routing/olsr/olsr-agent-impl.cc b/src/routing/olsr/olsr-agent-impl.cc index fb684bc9b..5d44ab5ec 100644 --- a/src/routing/olsr/olsr-agent-impl.cc +++ b/src/routing/olsr/olsr-agent-impl.cc @@ -643,9 +643,9 @@ OlsrAgentImpl::MprComputation() /// \return the corresponding main address. /// Ipv4Address -OlsrAgentImpl::GetMainAddress (Ipv4Address iface_addr) +OlsrAgentImpl::GetMainAddress (Ipv4Address iface_addr) const { - IfaceAssocTuple *tuple = + const IfaceAssocTuple *tuple = m_state.FindIfaceAssocTuple (iface_addr); if (tuple != NULL) diff --git a/src/routing/olsr/olsr-agent-impl.h b/src/routing/olsr/olsr-agent-impl.h index a708a3818..e781654af 100644 --- a/src/routing/olsr/olsr-agent-impl.h +++ b/src/routing/olsr/olsr-agent-impl.h @@ -102,7 +102,7 @@ protected: void MprComputation (); void RoutingTableComputation (); - Ipv4Address GetMainAddress (Ipv4Address iface_addr); + Ipv4Address GetMainAddress (Ipv4Address iface_addr) const; // Timer handlers Timer m_helloTimer; diff --git a/src/routing/olsr/olsr-state.cc b/src/routing/olsr/olsr-state.cc index 519e9633e..d4deaf172 100644 --- a/src/routing/olsr/olsr-state.cc +++ b/src/routing/olsr/olsr-state.cc @@ -400,6 +400,18 @@ OlsrState::FindIfaceAssocTuple (Ipv4Address const &ifaceAddr) return NULL; } +const IfaceAssocTuple* +OlsrState::FindIfaceAssocTuple (Ipv4Address const &ifaceAddr) const +{ + for (IfaceAssocSet::const_iterator it = m_ifaceAssocSet.begin (); + it != m_ifaceAssocSet.end (); it++) + { + if (it->ifaceAddr == ifaceAddr) + return &(*it); + } + return NULL; +} + void OlsrState::EraseIfaceAssocTuple (const IfaceAssocTuple &tuple) { diff --git a/src/routing/olsr/olsr-state.h b/src/routing/olsr/olsr-state.h index d7788a572..ad2c735fe 100644 --- a/src/routing/olsr/olsr-state.h +++ b/src/routing/olsr/olsr-state.h @@ -129,6 +129,7 @@ public: return m_ifaceAssocSet; } IfaceAssocTuple* FindIfaceAssocTuple (const Ipv4Address &ifaceAddr); + const IfaceAssocTuple* FindIfaceAssocTuple (const Ipv4Address &ifaceAddr) const; void EraseIfaceAssocTuple (const IfaceAssocTuple &tuple); void InsertIfaceAssocTuple (const IfaceAssocTuple &tuple);