src/routing/olsr/olsr-routing-protocol.cc
changeset 6280 34ba8ac8f9c1
parent 6143 ad316b5cfb5a
equal deleted inserted replaced
6279:4d2c51488ac2 6280:34ba8ac8f9c1
   295       socket->SetRecvCallback (MakeCallback (&RoutingProtocol::RecvOlsr,  this));
   295       socket->SetRecvCallback (MakeCallback (&RoutingProtocol::RecvOlsr,  this));
   296       if (socket->Bind (InetSocketAddress (addr, OLSR_PORT_NUMBER)))
   296       if (socket->Bind (InetSocketAddress (addr, OLSR_PORT_NUMBER)))
   297         {
   297         {
   298           NS_FATAL_ERROR ("Failed to bind() OLSR receive socket");
   298           NS_FATAL_ERROR ("Failed to bind() OLSR receive socket");
   299         }
   299         }
   300       socket->Connect (InetSocketAddress (Ipv4Address (0xffffffff), OLSR_PORT_NUMBER));
   300       socket->Connect (InetSocketAddress (addr.GetSubnetDirectedBroadcast (m_ipv4->GetAddress (i, 0).GetMask ()), OLSR_PORT_NUMBER));
   301       m_socketAddresses[socket] = m_ipv4->GetAddress (i, 0);
   301       m_socketAddresses[socket] = m_ipv4->GetAddress (i, 0);
   302 
   302 
   303       canRunOlsr = true;
   303       canRunOlsr = true;
   304     }
   304     }
   305 
   305 
  1540 
  1540 
  1541   // Trace it
  1541   // Trace it
  1542   m_txPacketTrace (header, containedMessages);
  1542   m_txPacketTrace (header, containedMessages);
  1543 
  1543 
  1544   // Send it
  1544   // Send it
  1545   m_socketAddresses.begin ()->first->Send (packet);
  1545   for (std::map<Ptr<Socket> , Ipv4InterfaceAddress>::const_iterator i =
       
  1546       m_socketAddresses.begin (); i != m_socketAddresses.end (); i++)
       
  1547     {
       
  1548       i->first->Send (packet);
       
  1549     }
  1546 }
  1550 }
  1547 
  1551 
  1548 ///
  1552 ///
  1549 /// \brief Creates as many %OLSR packets as needed in order to send all buffered
  1553 /// \brief Creates as many %OLSR packets as needed in order to send all buffered
  1550 /// %OLSR messages.
  1554 /// %OLSR messages.