equal
deleted
inserted
replaced
18 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
18 * Author: Mathieu Lacage <mathieu.lacage@sophia.inria.fr> |
19 */ |
19 */ |
20 |
20 |
21 #include "ipv4-end-point.h" |
21 #include "ipv4-end-point.h" |
22 #include "ns3/packet.h" |
22 #include "ns3/packet.h" |
|
23 #include "ns3/log.h" |
|
24 |
|
25 NS_LOG_COMPONENT_DEFINE ("Ipv4EndPoint"); |
23 |
26 |
24 namespace ns3 { |
27 namespace ns3 { |
25 |
28 |
26 Ipv4EndPoint::Ipv4EndPoint (Ipv4Address address, uint16_t port) |
29 Ipv4EndPoint::Ipv4EndPoint (Ipv4Address address, uint16_t port) |
27 : m_localAddr (address), |
30 : m_localAddr (address), |
74 void |
77 void |
75 Ipv4EndPoint::SetRxCallback (Callback<void,Ptr<Packet>, Ipv4Address, uint16_t> callback) |
78 Ipv4EndPoint::SetRxCallback (Callback<void,Ptr<Packet>, Ipv4Address, uint16_t> callback) |
76 { |
79 { |
77 m_rxCallback = callback; |
80 m_rxCallback = callback; |
78 } |
81 } |
|
82 void |
|
83 Ipv4EndPoint::SetIcmpCallback (Callback<void,Ipv4Address,uint8_t,uint8_t,uint8_t,uint32_t> callback) |
|
84 { |
|
85 m_icmpCallback = callback; |
|
86 } |
79 |
87 |
80 void |
88 void |
81 Ipv4EndPoint::SetDestroyCallback (Callback<void> callback) |
89 Ipv4EndPoint::SetDestroyCallback (Callback<void> callback) |
82 { |
90 { |
83 m_destroyCallback = callback; |
91 m_destroyCallback = callback; |
90 { |
98 { |
91 m_rxCallback (p, saddr, sport); |
99 m_rxCallback (p, saddr, sport); |
92 } |
100 } |
93 } |
101 } |
94 |
102 |
95 |
103 void |
|
104 Ipv4EndPoint::ForwardIcmp (Ipv4Address icmpSource, uint8_t icmpTtl, |
|
105 uint8_t icmpType, uint8_t icmpCode, |
|
106 uint32_t icmpInfo) |
|
107 { |
|
108 NS_LOG_FUNCTION (this << icmpSource << (uint32_t)icmpTtl << (uint32_t)icmpType << |
|
109 (uint32_t)icmpCode << icmpInfo); |
|
110 if (!m_icmpCallback.IsNull ()) |
|
111 { |
|
112 m_icmpCallback (icmpSource,icmpTtl,icmpType,icmpCode,icmpInfo); |
|
113 } |
|
114 } |
96 |
115 |
97 }; // namespace ns3 |
116 }; // namespace ns3 |