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 |