src/routing/olsr/olsr-agent-impl.cc
changeset 4375 db81fdcb06e7
parent 4218 debf1a8a96d3
--- a/src/routing/olsr/olsr-agent-impl.cc	Wed Apr 08 22:32:44 2009 -0700
+++ b/src/routing/olsr/olsr-agent-impl.cc	Sun Apr 12 22:13:49 2009 -0700
@@ -237,7 +237,8 @@
       Ipv4Address loopback ("127.0.0.1");
       for (uint32_t i = 0; i < m_ipv4->GetNInterfaces (); i++)
         {
-          Ipv4Address addr = m_ipv4->GetAddress (i);
+          // Use primary address, if multiple
+          Ipv4Address addr = m_ipv4->GetAddress (i, 0).GetLocal ();
           if (addr != loopback)
             {
               m_mainAddress = addr;
@@ -260,7 +261,7 @@
   Ipv4Address loopback ("127.0.0.1");
   for (uint32_t i = 0; i < m_ipv4->GetNInterfaces (); i++)
     {
-      Ipv4Address addr = m_ipv4->GetAddress (i);
+      Ipv4Address addr = m_ipv4->GetAddress (i, 0).GetLocal ();
       if (addr == loopback)
         continue;
 
@@ -297,7 +298,7 @@
 
 void AgentImpl::SetMainInterface (uint32_t interface)
 {
-  m_mainAddress = m_ipv4->GetAddress (interface);
+  m_mainAddress = m_ipv4->GetAddress (interface, 0).GetLocal ();
 }
 
 
@@ -1556,7 +1557,7 @@
   Ipv4Address loopback ("127.0.0.1");
   for (uint32_t i = 0; i < m_ipv4->GetNInterfaces (); i++)
     {
-      Ipv4Address addr = m_ipv4->GetAddress (i);
+      Ipv4Address addr = m_ipv4->GetAddress (i, 0).GetLocal ();
       if (addr != m_mainAddress && addr != loopback)
         mid.interfaceAddresses.push_back (addr);
     }