UDP sockets are fixed, remove the hack and note.
1.1 --- a/src/routing/olsr/olsr-agent-impl.cc Fri Feb 01 19:29:56 2008 +0000
1.2 +++ b/src/routing/olsr/olsr-agent-impl.cc Fri Feb 01 19:37:27 2008 +0000
1.3 @@ -349,29 +349,21 @@
1.4
1.5 if (duplicated == NULL)
1.6 {
1.7 - // Note: normally inetSourceAddr.GetIpv4 () should be equal
1.8 - // to messageHeader.GetOriginatorAddress (), but something
1.9 - // was broken inside NS-3 UDP sockets and the ability to
1.10 - // override source address (via Bind()) is no longer
1.11 - // available. Bottom line is, OLSR packets are no longer
1.12 - // being sent with the main address, and to work around this
1.13 - // issue we look at the Originator Address field of OLSR
1.14 - // messages contained in the packet.
1.15 switch (messageHeader.GetMessageType ())
1.16 {
1.17 case olsr::MessageHeader::HELLO_MESSAGE:
1.18 NS_LOG_DEBUG ("OLSR node received HELLO message of size " << messageHeader.GetSerializedSize ());
1.19 - ProcessHello (messageHeader, m_mainAddress, messageHeader.GetOriginatorAddress ());
1.20 + ProcessHello (messageHeader, m_mainAddress, inetSourceAddr.GetIpv4 ());
1.21 break;
1.22
1.23 case olsr::MessageHeader::TC_MESSAGE:
1.24 NS_LOG_DEBUG ("OLSR node received TC message of size " << messageHeader.GetSerializedSize ());
1.25 - ProcessTc (messageHeader, messageHeader.GetOriginatorAddress ());
1.26 + ProcessTc (messageHeader, inetSourceAddr.GetIpv4 ());
1.27 break;
1.28
1.29 case olsr::MessageHeader::MID_MESSAGE:
1.30 NS_LOG_DEBUG ("OLSR node received MID message of size " << messageHeader.GetSerializedSize ());
1.31 - ProcessMid (messageHeader, messageHeader.GetOriginatorAddress ());
1.32 + ProcessMid (messageHeader, inetSourceAddr.GetIpv4 ());
1.33 break;
1.34
1.35 default:
1.36 @@ -404,7 +396,7 @@
1.37 // Remaining messages are also forwarded using the default algorithm.
1.38 if (messageHeader.GetMessageType () != olsr::MessageHeader::HELLO_MESSAGE)
1.39 ForwardDefault (messageHeader, duplicated,
1.40 - m_mainAddress, messageHeader.GetOriginatorAddress ());
1.41 + m_mainAddress, inetSourceAddr.GetIpv4 ());
1.42 }
1.43
1.44 }