|
|
| 318 |
continue; |
318 |
continue; |
| 319 |
|
319 |
|
| 320 |
// Create a socket to listen only on this interface |
320 |
// Create a socket to listen only on this interface |
| 321 |
Ptr<Socket> socket = Socket::CreateSocket (GetObject<Node> (), |
321 |
Ptr<Socket> socket = Socket::CreateSocket (GetObject<Node> (), UdpSocketFactory::GetTypeId ()); |
| 322 |
UdpSocketFactory::GetTypeId()); |
322 |
socket->SetRecvCallback (MakeCallback (&RoutingProtocol::RecvOlsr, this)); |
|
|
323 |
socket->BindToNetDevice (m_ipv4->GetNetDevice (i)); |
| 324 |
socket->Bind (InetSocketAddress (m_ipv4->GetAddress (i, 0).GetLocal (), OLSR_PORT_NUMBER)); |
| 323 |
socket->SetAllowBroadcast (true); |
325 |
socket->SetAllowBroadcast (true); |
| 324 |
InetSocketAddress inetAddr (m_ipv4->GetAddress (i, 0).GetLocal (), OLSR_PORT_NUMBER); |
|
|
| 325 |
socket->SetRecvCallback (MakeCallback (&RoutingProtocol::RecvOlsr, this)); |
| 326 |
if (socket->Bind (inetAddr)) |
| 327 |
{ |
| 328 |
NS_FATAL_ERROR ("Failed to bind() OLSR socket"); |
| 329 |
} |
| 330 |
m_socketAddresses[socket] = m_ipv4->GetAddress (i, 0); |
326 |
m_socketAddresses[socket] = m_ipv4->GetAddress (i, 0); |
| 331 |
|
327 |
|
| 332 |
canRunOlsr = true; |
328 |
canRunOlsr = true; |
| 333 |
} |
329 |
} |
| 334 |
|
330 |
|