UDP sockets are fixed, remove the hack and note.
authorGustavo J. A. M. Carneiro <gjc@inescporto.pt>
Fri Feb 01 19:37:27 2008 +0000 (2008-02-01)
changeset 230178185ba7b17e
parent 2300 055ff23aa034
child 2302 4ff250c881e5
UDP sockets are fixed, remove the hack and note.
src/routing/olsr/olsr-agent-impl.cc
     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      }