UDP sockets are fixed, remove the hack and note.
authorGustavo J. A. M. Carneiro <gjc@inescporto.pt>
Fri, 01 Feb 2008 19:37:27 +0000
changeset 2301 78185ba7b17e
parent 2300 055ff23aa034
child 2302 4ff250c881e5
UDP sockets are fixed, remove the hack and note.
src/routing/olsr/olsr-agent-impl.cc
--- a/src/routing/olsr/olsr-agent-impl.cc	Fri Feb 01 19:29:56 2008 +0000
+++ b/src/routing/olsr/olsr-agent-impl.cc	Fri Feb 01 19:37:27 2008 +0000
@@ -349,29 +349,21 @@
       
       if (duplicated == NULL)
         {
-          // Note: normally inetSourceAddr.GetIpv4 () should be equal
-          // to messageHeader.GetOriginatorAddress (), but something
-          // was broken inside NS-3 UDP sockets and the ability to
-          // override source address (via Bind()) is no longer
-          // available.  Bottom line is, OLSR packets are no longer
-          // being sent with the main address, and to work around this
-          // issue we look at the Originator Address field of OLSR
-          // messages contained in the packet.
           switch (messageHeader.GetMessageType ())
             {
             case olsr::MessageHeader::HELLO_MESSAGE:
               NS_LOG_DEBUG ("OLSR node received HELLO message of size " << messageHeader.GetSerializedSize ());
-              ProcessHello (messageHeader, m_mainAddress, messageHeader.GetOriginatorAddress ());
+              ProcessHello (messageHeader, m_mainAddress, inetSourceAddr.GetIpv4 ());
               break;
 
             case olsr::MessageHeader::TC_MESSAGE:
               NS_LOG_DEBUG ("OLSR node received TC message of size " << messageHeader.GetSerializedSize ());
-              ProcessTc (messageHeader, messageHeader.GetOriginatorAddress ());
+              ProcessTc (messageHeader, inetSourceAddr.GetIpv4 ());
               break;
 
             case olsr::MessageHeader::MID_MESSAGE:
               NS_LOG_DEBUG ("OLSR node received MID message of size " << messageHeader.GetSerializedSize ());
-              ProcessMid (messageHeader, messageHeader.GetOriginatorAddress ());
+              ProcessMid (messageHeader, inetSourceAddr.GetIpv4 ());
               break;
 
             default:
@@ -404,7 +396,7 @@
           // Remaining messages are also forwarded using the default algorithm.
           if (messageHeader.GetMessageType ()  != olsr::MessageHeader::HELLO_MESSAGE)
             ForwardDefault (messageHeader, duplicated,
-                            m_mainAddress, messageHeader.GetOriginatorAddress ());
+                            m_mainAddress, inetSourceAddr.GetIpv4 ());
         }
 	
     }