undoes 2326:eec07777d1a2 because localInterface is no longer needed (see bug 136)
authorRaj Bhattacharjea <raj.b@gatech.edu>
Wed, 12 Mar 2008 16:05:31 -0400
changeset 2365 89da0ca7c55e
parent 2364 a78056f7a7b4
child 2366 c5c038661cde
undoes 2326:eec07777d1a2 because localInterface is no longer needed (see bug 136)
src/internet-node/ipv4-end-point-demux.cc
src/internet-node/ipv4-end-point-demux.h
src/internet-node/ipv4-end-point.cc
src/internet-node/ipv4-end-point.h
src/internet-node/tcp-l4-protocol.cc
src/internet-node/tcp-l4-protocol.h
src/internet-node/tcp-socket.cc
src/internet-node/udp-l4-protocol.cc
src/internet-node/udp-l4-protocol.h
src/internet-node/udp-socket.cc
--- a/src/internet-node/ipv4-end-point-demux.cc	Wed Mar 12 15:33:11 2008 -0400
+++ b/src/internet-node/ipv4-end-point-demux.cc	Wed Mar 12 16:05:31 2008 -0400
@@ -83,14 +83,14 @@
       NS_LOG_WARN ("Ephemeral port allocation failed.");
       return 0;
     }
-  Ipv4EndPoint *endPoint = new Ipv4EndPoint (Ipv4Address::GetAny (), port, Ipv4Address::GetAny ());
+  Ipv4EndPoint *endPoint = new Ipv4EndPoint (Ipv4Address::GetAny (), port);
   m_endPoints.push_back (endPoint);
   NS_LOG_DEBUG ("Now have >>" << m_endPoints.size () << "<< endpoints.");
   return endPoint;
 }
 
 Ipv4EndPoint *
-Ipv4EndPointDemux::Allocate (Ipv4Address address, Ipv4Address localInterface)
+Ipv4EndPointDemux::Allocate (Ipv4Address address)
 {
   NS_LOG_FUNCTION;
   NS_LOG_PARAMS (this << address);
@@ -100,7 +100,7 @@
       NS_LOG_WARN ("Ephemeral port allocation failed.");
       return 0;
     }
-  Ipv4EndPoint *endPoint = new Ipv4EndPoint (address, port, localInterface);
+  Ipv4EndPoint *endPoint = new Ipv4EndPoint (address, port);
   m_endPoints.push_back (endPoint);
   NS_LOG_DEBUG ("Now have >>" << m_endPoints.size () << "<< endpoints.");
   return endPoint;
@@ -112,20 +112,20 @@
   NS_LOG_FUNCTION;
   NS_LOG_PARAMS (this <<  port);
 
-  return Allocate (Ipv4Address::GetAny (), port, Ipv4Address::GetAny ());
+  return Allocate (Ipv4Address::GetAny (), port);
 }
 
 Ipv4EndPoint *
-Ipv4EndPointDemux::Allocate (Ipv4Address address, uint16_t port, Ipv4Address localInterface)
+Ipv4EndPointDemux::Allocate (Ipv4Address address, uint16_t port)
 {
   NS_LOG_FUNCTION;
-  NS_LOG_PARAMS (this << address << port << localInterface);
+  NS_LOG_PARAMS (this << address << port);
   if (LookupLocal (address, port)) 
     {
       NS_LOG_WARN ("Duplicate address/port; failing.");
       return 0;
     }
-  Ipv4EndPoint *endPoint = new Ipv4EndPoint (address, port, localInterface);
+  Ipv4EndPoint *endPoint = new Ipv4EndPoint (address, port);
   m_endPoints.push_back (endPoint);
   NS_LOG_DEBUG ("Now have >>" << m_endPoints.size () << "<< endpoints.");
   return endPoint;
@@ -133,8 +133,7 @@
 
 Ipv4EndPoint *
 Ipv4EndPointDemux::Allocate (Ipv4Address localAddress, uint16_t localPort,
-			     Ipv4Address peerAddress, uint16_t peerPort,
-                             Ipv4Address localInterface)
+			     Ipv4Address peerAddress, uint16_t peerPort)
 {
   NS_LOG_FUNCTION;
   NS_LOG_PARAMS (this << localAddress << localPort << peerAddress << peerPort);
@@ -150,7 +149,7 @@
           return 0;
         }
     }
-  Ipv4EndPoint *endPoint = new Ipv4EndPoint (localAddress, localPort, localInterface);
+  Ipv4EndPoint *endPoint = new Ipv4EndPoint (localAddress, localPort);
   endPoint->SetPeer (peerAddress, peerPort);
   m_endPoints.push_back (endPoint);
 
@@ -219,11 +218,9 @@
          daddr.IsSubnetDirectedBroadcast (
              incomingInterface->GetNetworkMask ()));
       Ipv4Address incomingInterfaceAddr = incomingInterface->GetAddress ();
-      NS_LOG_DEBUG ("dest addr " << daddr << " broadcast? " << isBroadcast
-                    << " localInterface="<< endP->GetLocalInterface ());
+      NS_LOG_DEBUG ("dest addr " << daddr << " broadcast? " << isBroadcast);
       bool localAddressMatchesWildCard = 
-        (endP->GetLocalAddress() == Ipv4Address::GetAny()) &&
-        (endP->GetLocalInterface() == Ipv4Address::GetAny());
+        endP->GetLocalAddress() == Ipv4Address::GetAny();
       bool localAddressMatchesExact = endP->GetLocalAddress () == daddr;
 
       if (isBroadcast)
--- a/src/internet-node/ipv4-end-point-demux.h	Wed Mar 12 15:33:11 2008 -0400
+++ b/src/internet-node/ipv4-end-point-demux.h	Wed Mar 12 16:05:31 2008 -0400
@@ -48,13 +48,13 @@
                     Ptr<Ipv4Interface> incomingInterface);
 
   Ipv4EndPoint *Allocate (void);
-  Ipv4EndPoint *Allocate (Ipv4Address address, Ipv4Address localInterface);
+  Ipv4EndPoint *Allocate (Ipv4Address address);
   Ipv4EndPoint *Allocate (uint16_t port);
-  Ipv4EndPoint *Allocate (Ipv4Address address, uint16_t port, Ipv4Address localInterface);
+  Ipv4EndPoint *Allocate (Ipv4Address address, uint16_t port);
   Ipv4EndPoint *Allocate (Ipv4Address localAddress, 
                           uint16_t localPort,
                           Ipv4Address peerAddress, 
-                          uint16_t peerPort, Ipv4Address localInterface);
+                          uint16_t peerPort);
 
   void DeAllocate (Ipv4EndPoint *endPoint);
 
--- a/src/internet-node/ipv4-end-point.cc	Wed Mar 12 15:33:11 2008 -0400
+++ b/src/internet-node/ipv4-end-point.cc	Wed Mar 12 16:05:31 2008 -0400
@@ -24,12 +24,11 @@
 
 namespace ns3 {
 
-Ipv4EndPoint::Ipv4EndPoint (Ipv4Address address, uint16_t port, Ipv4Address localInterface)
+Ipv4EndPoint::Ipv4EndPoint (Ipv4Address address, uint16_t port)
   : m_localAddr (address), 
     m_localPort (port),
     m_peerAddr (Ipv4Address::GetAny ()),
-    m_peerPort (0),
-    m_localInterface (localInterface)
+    m_peerPort (0)
 {}
 Ipv4EndPoint::~Ipv4EndPoint ()
 {
@@ -51,17 +50,6 @@
   m_localAddr = address;
 }
 
-Ipv4Address Ipv4EndPoint::GetLocalInterface (void) const
-{
-  return m_localInterface;
-}
-
-void
-Ipv4EndPoint::SetLocalInterface (Ipv4Address localInterface)
-{
-  m_localInterface = localInterface;
-}
-
 uint16_t 
 Ipv4EndPoint::GetLocalPort (void)
 {
--- a/src/internet-node/ipv4-end-point.h	Wed Mar 12 15:33:11 2008 -0400
+++ b/src/internet-node/ipv4-end-point.h	Wed Mar 12 16:05:31 2008 -0400
@@ -33,7 +33,7 @@
 
 class Ipv4EndPoint {
 public:
-  Ipv4EndPoint (Ipv4Address address, uint16_t port, Ipv4Address localInterface);
+  Ipv4EndPoint (Ipv4Address address, uint16_t port);
   ~Ipv4EndPoint ();
 
   Ipv4Address GetLocalAddress (void);
@@ -41,8 +41,6 @@
   uint16_t GetLocalPort (void);
   Ipv4Address GetPeerAddress (void);
   uint16_t GetPeerPort (void);
-  Ipv4Address GetLocalInterface (void) const;
-  void SetLocalInterface (Ipv4Address localInterface);
 
   void SetPeer (Ipv4Address address, uint16_t port);
 
@@ -58,11 +56,6 @@
   uint16_t m_peerPort;
   Callback<void,Ptr<Packet>, Ipv4Address, uint16_t> m_rxCallback;
   Callback<void> m_destroyCallback;
-
-  // If the corresponding socket is bound to a specific local
-  // interface, m_localInterface contains that interface's ipv4
-  // address, else it contains the value Ipv4Address::GetAny ().
-  Ipv4Address m_localInterface;
 };
 
 }; // namespace ns3
--- a/src/internet-node/tcp-l4-protocol.cc	Wed Mar 12 15:33:11 2008 -0400
+++ b/src/internet-node/tcp-l4-protocol.cc	Wed Mar 12 16:05:31 2008 -0400
@@ -354,11 +354,11 @@
 }
 
 Ipv4EndPoint *
-TcpL4Protocol::Allocate (Ipv4Address address, Ipv4Address localInterface)
+TcpL4Protocol::Allocate (Ipv4Address address)
 {
   NS_LOG_FUNCTION;
   NS_LOG_PARAMS (this << address);
-  return m_endPoints->Allocate (address, localInterface);
+  return m_endPoints->Allocate (address);
 }
 
 Ipv4EndPoint *
@@ -370,23 +370,21 @@
 }
 
 Ipv4EndPoint *
-TcpL4Protocol::Allocate (Ipv4Address address, uint16_t port, Ipv4Address localInterface)
+TcpL4Protocol::Allocate (Ipv4Address address, uint16_t port)
 {
   NS_LOG_FUNCTION;
   NS_LOG_PARAMS (this << address << port);
-  return m_endPoints->Allocate (address, port, localInterface);
+  return m_endPoints->Allocate (address, port);
 }
 
 Ipv4EndPoint *
 TcpL4Protocol::Allocate (Ipv4Address localAddress, uint16_t localPort,
-                         Ipv4Address peerAddress, uint16_t peerPort,
-                         Ipv4Address localInterface)
+                         Ipv4Address peerAddress, uint16_t peerPort)
 {
   NS_LOG_FUNCTION;
   NS_LOG_PARAMS (this << localAddress << localPort << peerAddress << peerPort);
   return m_endPoints->Allocate (localAddress, localPort,
-                                peerAddress, peerPort,
-                                localInterface);
+                                peerAddress, peerPort);
 }
 
 void 
--- a/src/internet-node/tcp-l4-protocol.h	Wed Mar 12 15:33:11 2008 -0400
+++ b/src/internet-node/tcp-l4-protocol.h	Wed Mar 12 16:05:31 2008 -0400
@@ -60,12 +60,11 @@
   Ptr<Socket> CreateSocket (void);
 
   Ipv4EndPoint *Allocate (void);
-  Ipv4EndPoint *Allocate (Ipv4Address address, Ipv4Address localInterface);
+  Ipv4EndPoint *Allocate (Ipv4Address address);
   Ipv4EndPoint *Allocate (uint16_t port);
-  Ipv4EndPoint *Allocate (Ipv4Address address, uint16_t port, Ipv4Address localInterface);
+  Ipv4EndPoint *Allocate (Ipv4Address address, uint16_t port);
   Ipv4EndPoint *Allocate (Ipv4Address localAddress, uint16_t localPort,
-                          Ipv4Address peerAddress, uint16_t peerPort,
-                          Ipv4Address localInterface);
+                          Ipv4Address peerAddress, uint16_t peerPort);
 
   void DeAllocate (Ipv4EndPoint *endPoint);
 
--- a/src/internet-node/tcp-socket.cc	Wed Mar 12 15:33:11 2008 -0400
+++ b/src/internet-node/tcp-socket.cc	Wed Mar 12 16:05:31 2008 -0400
@@ -211,14 +211,6 @@
   InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
   Ipv4Address ipv4 = transport.GetIpv4 ();
   uint16_t port = transport.GetPort ();
-  Ipv4Address localInterface = Ipv4Address::GetAny ();
-  if (ipv4 != Ipv4Address::GetAny ())
-    {
-      Ptr<Ipv4> ipv4_api = m_node->GetObject<Ipv4> ();
-      // Assert that the given address matches an existing local interface
-      NS_ASSERT (ipv4_api->FindInterfaceForAddr (ipv4) != 0);
-      localInterface = ipv4;
-    }
   if (ipv4 == Ipv4Address::GetAny () && port == 0)
     {
       m_endPoint = m_tcp->Allocate ();
@@ -231,12 +223,12 @@
     }
   else if (ipv4 != Ipv4Address::GetAny () && port == 0)
     {
-      m_endPoint = m_tcp->Allocate (ipv4, localInterface);
+      m_endPoint = m_tcp->Allocate (ipv4);
       NS_LOG_LOGIC ("TcpSocket "<<this<<" got an endpoint: "<<m_endPoint);
     }
   else if (ipv4 != Ipv4Address::GetAny () && port != 0)
     {
-      m_endPoint = m_tcp->Allocate (ipv4, port, localInterface);
+      m_endPoint = m_tcp->Allocate (ipv4, port);
       NS_LOG_LOGIC ("TcpSocket "<<this<<" got an endpoint: "<<m_endPoint);
     }
 
@@ -762,9 +754,7 @@
   m_endPoint = m_tcp->Allocate (m_localAddress,
                                 m_localPort,
                                 m_remoteAddress,
-                                m_remotePort,
-                                Ipv4Address::GetAny()
-                                );
+                                m_remotePort);
   //the cloned socket with be in listen state, so manually change state
   m_state = SYN_RCVD;
   //equivalent to FinishBind
--- a/src/internet-node/udp-l4-protocol.cc	Wed Mar 12 15:33:11 2008 -0400
+++ b/src/internet-node/udp-l4-protocol.cc	Wed Mar 12 16:05:31 2008 -0400
@@ -80,11 +80,11 @@
 }
 
 Ipv4EndPoint *
-UdpL4Protocol::Allocate (Ipv4Address address, Ipv4Address localInterface)
+UdpL4Protocol::Allocate (Ipv4Address address)
 {
   NS_LOG_FUNCTION;
   NS_LOG_PARAMS (this << address);
-  return m_endPoints->Allocate (address, localInterface);
+  return m_endPoints->Allocate (address);
 }
 
 Ipv4EndPoint *
@@ -96,21 +96,20 @@
 }
 
 Ipv4EndPoint *
-UdpL4Protocol::Allocate (Ipv4Address address, uint16_t port, Ipv4Address localInterface)
+UdpL4Protocol::Allocate (Ipv4Address address, uint16_t port)
 {
   NS_LOG_FUNCTION;
   NS_LOG_PARAMS (this << address << port);
-  return m_endPoints->Allocate (address, port, localInterface);
+  return m_endPoints->Allocate (address, port);
 }
 Ipv4EndPoint *
 UdpL4Protocol::Allocate (Ipv4Address localAddress, uint16_t localPort,
-                         Ipv4Address peerAddress, uint16_t peerPort,
-                         Ipv4Address localInterface)
+                         Ipv4Address peerAddress, uint16_t peerPort)
 {
   NS_LOG_FUNCTION; 
   NS_LOG_PARAMS (this << localAddress << localPort << peerAddress << peerPort);
   return m_endPoints->Allocate (localAddress, localPort,
-                                peerAddress, peerPort, localInterface);
+                                peerAddress, peerPort);
 }
 
 void 
--- a/src/internet-node/udp-l4-protocol.h	Wed Mar 12 15:33:11 2008 -0400
+++ b/src/internet-node/udp-l4-protocol.h	Wed Mar 12 16:05:31 2008 -0400
@@ -56,13 +56,11 @@
   Ptr<Socket> CreateSocket (void);
 
   Ipv4EndPoint *Allocate (void);
-  Ipv4EndPoint *Allocate (Ipv4Address address, Ipv4Address localInterface);
+  Ipv4EndPoint *Allocate (Ipv4Address address);
   Ipv4EndPoint *Allocate (uint16_t port);
-  Ipv4EndPoint *Allocate (Ipv4Address address, uint16_t port,
-                          Ipv4Address localInterface);
+  Ipv4EndPoint *Allocate (Ipv4Address address, uint16_t port);
   Ipv4EndPoint *Allocate (Ipv4Address localAddress, uint16_t localPort,
-                          Ipv4Address peerAddress, uint16_t peerPort,
-                          Ipv4Address localInterface);
+                          Ipv4Address peerAddress, uint16_t peerPort);
 
   void DeAllocate (Ipv4EndPoint *endPoint);
 
--- a/src/internet-node/udp-socket.cc	Wed Mar 12 15:33:11 2008 -0400
+++ b/src/internet-node/udp-socket.cc	Wed Mar 12 16:05:31 2008 -0400
@@ -127,16 +127,6 @@
   InetSocketAddress transport = InetSocketAddress::ConvertFrom (address);
   Ipv4Address ipv4 = transport.GetIpv4 ();
   uint16_t port = transport.GetPort ();
-
-  Ipv4Address localInterface = Ipv4Address::GetAny ();
-  if (ipv4 != Ipv4Address::GetAny ())
-    {
-      Ptr<Ipv4> ipv4_api = m_node->GetObject<Ipv4> ();
-      // Assert that the given address matches an existing local interface
-      NS_ASSERT (ipv4_api->FindInterfaceForAddr (ipv4) != 0);
-      localInterface = ipv4;
-    }
-
   if (ipv4 == Ipv4Address::GetAny () && port == 0)
     {
       m_endPoint = m_udp->Allocate ();
@@ -147,11 +137,11 @@
     }
   else if (ipv4 != Ipv4Address::GetAny () && port == 0)
     {
-      m_endPoint = m_udp->Allocate (ipv4, localInterface);
+      m_endPoint = m_udp->Allocate (ipv4);
     }
   else if (ipv4 != Ipv4Address::GetAny () && port != 0)
     {
-      m_endPoint = m_udp->Allocate (ipv4, port, localInterface);
+      m_endPoint = m_udp->Allocate (ipv4, port);
     }
 
   return FinishBind ();