Bug 1304 - (temporary fix) Tag information changed after transmission
authorTommaso Pecorella <tommaso.pecorella@unifi.it>
Tue, 20 Mar 2012 21:21:14 +0100
changeset 7775 62dee74123ca
parent 7774 f794f31dc0be
child 7776 19174ba45009
Bug 1304 - (temporary fix) Tag information changed after transmission
src/internet/model/ipv4-packet-info-tag.cc
src/internet/model/ipv6-packet-info-tag.cc
src/internet/model/nsc-tcp-l4-protocol.cc
src/internet/model/nsc-tcp-socket-impl.cc
--- a/src/internet/model/ipv4-packet-info-tag.cc	Tue Mar 20 09:50:51 2012 -0700
+++ b/src/internet/model/ipv4-packet-info-tag.cc	Tue Mar 20 21:21:14 2012 +0100
@@ -121,9 +121,9 @@
 { 
   uint8_t buf[4];
   i.Read (buf, 4);
-  m_addr.Deserialize (buf);
+  m_addr = Ipv4Address::Deserialize (buf);
   i.Read (buf, 4);
-  m_spec_dst.Deserialize (buf);
+  m_spec_dst = Ipv4Address::Deserialize (buf);
   m_ifindex = i.ReadU32 ();
   m_ttl = i.ReadU8 ();
 }
--- a/src/internet/model/ipv6-packet-info-tag.cc	Tue Mar 20 09:50:51 2012 -0700
+++ b/src/internet/model/ipv6-packet-info-tag.cc	Tue Mar 20 21:21:14 2012 +0100
@@ -120,7 +120,7 @@
 { 
   uint8_t buf[16];
   i.Read (buf, 16);
-  m_addr.Deserialize (buf);
+  m_addr = Ipv6Address::Deserialize (buf);
   m_ifindex = i.ReadU8 ();
   m_hoplimit = i.ReadU8 ();
   m_tclass = i.ReadU8 ();
--- a/src/internet/model/nsc-tcp-l4-protocol.cc	Tue Mar 20 09:50:51 2012 -0700
+++ b/src/internet/model/nsc-tcp-l4-protocol.cc	Tue Mar 20 21:21:14 2012 +0100
@@ -454,7 +454,7 @@
           // All we need is another address on the same network as the interface. This
           // will force the stack to output the packet out of the network interface.
           addrBytes[3]++;
-          addr.Deserialize (addrBytes);
+          addr = Ipv4Address::Deserialize (addrBytes);
           addrOss.str ("");
           addr.Print (addrOss);
           m_nscStack->add_default_gateway (addrOss.str ().c_str ());
--- a/src/internet/model/nsc-tcp-socket-impl.cc	Tue Mar 20 09:50:51 2012 -0700
+++ b/src/internet/model/nsc-tcp-socket-impl.cc	Tue Mar 20 21:21:14 2012 +0100
@@ -497,7 +497,7 @@
 
   if (0 == m_nscTcpSocket->getpeername ((struct sockaddr*) &sin, &sin_len)) {
       m_remotePort = ntohs (sin.sin_port);
-      m_remoteAddress = m_remoteAddress.Deserialize ((const uint8_t*) &sin.sin_addr);
+      m_remoteAddress = Ipv4Address::Deserialize ((const uint8_t*) &sin.sin_addr);
       m_peerAddress = InetSocketAddress (m_remoteAddress, m_remotePort);
     }
 
@@ -510,7 +510,7 @@
   sin_len = sizeof(sin);
 
   if (0 == m_nscTcpSocket->getsockname ((struct sockaddr *) &sin, &sin_len))
-    m_localAddress = m_localAddress.Deserialize ((const uint8_t*) &sin.sin_addr);
+    m_localAddress = Ipv4Address::Deserialize ((const uint8_t*) &sin.sin_addr);
 
   NS_LOG_LOGIC ("NscTcpSocketImpl " << this << " accepted connection from " 
                                     << m_remoteAddress << ":" << m_remotePort
@@ -529,7 +529,7 @@
   struct sockaddr_in sin;
   size_t sin_len = sizeof(sin);
   if (0 == m_nscTcpSocket->getsockname ((struct sockaddr *) &sin, &sin_len)) {
-      m_localAddress = m_localAddress.Deserialize ((const uint8_t*)&sin.sin_addr);
+      m_localAddress = Ipv4Address::Deserialize ((const uint8_t*)&sin.sin_addr);
       m_localPort = ntohs (sin.sin_port);
     }