equal
deleted
inserted
replaced
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. |