src/internet-node/ipv4-loopback-interface.cc
changeset 1430 25fa26a6533e
parent 1271 c04a400a54c9
child 1451 e421081dd580
equal deleted inserted replaced
1429:31cb0668defd 1430:25fa26a6533e
    17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    18  *
    18  *
    19  * Authors: 
    19  * Authors: 
    20  *  Mathieu Lacage <mathieu.lacage@sophia.inria.fr>,
    20  *  Mathieu Lacage <mathieu.lacage@sophia.inria.fr>,
    21  */
    21  */
       
    22 
       
    23 #include "ns3/debug.h"
    22 #include "ns3/empty-trace-resolver.h"
    24 #include "ns3/empty-trace-resolver.h"
    23 #include "ns3/net-device.h"
    25 #include "ns3/net-device.h"
    24 #include "ns3/node.h"
    26 #include "ns3/node.h"
    25 #include "ns3/eui48-address.h"
    27 #include "ns3/eui48-address.h"
    26 #include "ipv4-loopback-interface.h"
    28 #include "ipv4-loopback-interface.h"
    27 #include "ipv4-l3-protocol.h"
    29 #include "ipv4-l3-protocol.h"
    28 
    30 
       
    31 NS_DEBUG_COMPONENT_DEFINE ("Ipv4LoopbackInterface");
       
    32 
    29 namespace ns3 {
    33 namespace ns3 {
    30 
    34 
    31 Ipv4LoopbackInterface::Ipv4LoopbackInterface (Ptr<Node> node)
    35 Ipv4LoopbackInterface::Ipv4LoopbackInterface (Ptr<Node> node)
    32   : Ipv4Interface (0),
    36   : Ipv4Interface (0),
    33     m_node (node)
    37     m_node (node)
    34 {}
    38 {
       
    39   NS_DEBUG("Ipv4LoopbackInterface::Ipv4LoopbackInterface ()");
       
    40 }
       
    41 
    35 Ipv4LoopbackInterface::~Ipv4LoopbackInterface ()
    42 Ipv4LoopbackInterface::~Ipv4LoopbackInterface ()
    36 {}
    43 {
       
    44   NS_DEBUG("Ipv4LoopbackInterface::~Ipv4LoopbackInterface ()");
       
    45 }
    37 
    46 
    38 TraceResolver *
    47 TraceResolver *
    39 Ipv4LoopbackInterface::DoCreateTraceResolver (TraceContext const &context)
    48 Ipv4LoopbackInterface::DoCreateTraceResolver (TraceContext const &context)
    40 {
    49 {
       
    50   NS_DEBUG("Ipv4LoopbackInterface::DoCreateTraceResolver ()");
    41   return new EmptyTraceResolver (context);
    51   return new EmptyTraceResolver (context);
    42 }
    52 }
    43 
    53 
    44 void 
    54 void 
    45 Ipv4LoopbackInterface::SendTo (Packet packet, Ipv4Address dest)
    55 Ipv4LoopbackInterface::SendTo (Packet packet, Ipv4Address dest)
    46 {
    56 {
    47   Ptr<Ipv4L3Protocol> ipv4 = m_node->QueryInterface<Ipv4L3Protocol> (Ipv4L3Protocol::iid);
    57   NS_DEBUG("Ipv4LoopbackInterface::SendTo (" << &packet << ", " << 
    48   ipv4->Receive (GetDevice (), packet, Ipv4L3Protocol::PROT_NUMBER, Eui48Address ("ff:ff:ff:ff:ff:ff"));
    58     dest << ")");
       
    59 
       
    60   Ptr<Ipv4L3Protocol> ipv4 = 
       
    61     m_node->QueryInterface<Ipv4L3Protocol> (Ipv4L3Protocol::iid);
       
    62 
       
    63   ipv4->Receive (GetDevice (), packet, Ipv4L3Protocol::PROT_NUMBER, 
       
    64     Eui48Address ("ff:ff:ff:ff:ff:ff"));
    49 }
    65 }
    50 
    66 
    51 }//namespace ns3
    67 }//namespace ns3