# HG changeset patch # User Raj Bhattacharjea # Date 1205352331 14400 # Node ID 89da0ca7c55e13a6fea5e584ddbab3b21f323140 # Parent a78056f7a7b425934183df022833772d14edd852 undoes 2326:eec07777d1a2 because localInterface is no longer needed (see bug 136) diff -r a78056f7a7b4 -r 89da0ca7c55e src/internet-node/ipv4-end-point-demux.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) diff -r a78056f7a7b4 -r 89da0ca7c55e src/internet-node/ipv4-end-point-demux.h --- 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 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); diff -r a78056f7a7b4 -r 89da0ca7c55e src/internet-node/ipv4-end-point.cc --- 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) { diff -r a78056f7a7b4 -r 89da0ca7c55e src/internet-node/ipv4-end-point.h --- 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, Ipv4Address, uint16_t> m_rxCallback; Callback 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 diff -r a78056f7a7b4 -r 89da0ca7c55e src/internet-node/tcp-l4-protocol.cc --- 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 diff -r a78056f7a7b4 -r 89da0ca7c55e src/internet-node/tcp-l4-protocol.h --- 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 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); diff -r a78056f7a7b4 -r 89da0ca7c55e src/internet-node/tcp-socket.cc --- 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_api = m_node->GetObject (); - // 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 "<Allocate (ipv4, port, localInterface); + m_endPoint = m_tcp->Allocate (ipv4, port); NS_LOG_LOGIC ("TcpSocket "<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 diff -r a78056f7a7b4 -r 89da0ca7c55e src/internet-node/udp-l4-protocol.cc --- 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 diff -r a78056f7a7b4 -r 89da0ca7c55e src/internet-node/udp-l4-protocol.h --- 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 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); diff -r a78056f7a7b4 -r 89da0ca7c55e src/internet-node/udp-socket.cc --- 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_api = m_node->GetObject (); - // 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 ();