21 #include "ns3/ipv4-flow-probe.h"
22 #include "ns3/ipv4-flow-classifier.h"
24 #include "ns3/packet.h"
25 #include "ns3/flow-monitor.h"
27 #include "ns3/pointer.h"
28 #include "ns3/config.h"
29 #include "ns3/flow-id-tag.h"
47 virtual void Print (std::ostream &os)
const;
68 .AddConstructor<Ipv4FlowProbeTag> ()
109 :
Tag (), m_flowId (flowId), m_packetId (packetId), m_packetSize (packetSize)
152 m_classifier (classifier)
158 if (!ipv4->TraceConnectWithoutContext (
"SendOutgoing",
163 if (!ipv4->TraceConnectWithoutContext (
"UnicastForward",
168 if (!ipv4->TraceConnectWithoutContext (
"LocalDeliver",
174 if (!ipv4->TraceConnectWithoutContext (
"Drop",
181 std::ostringstream oss;
182 oss <<
"/NodeList/" << node->
GetId () <<
"/DeviceList/*/TxQueue/Drop";
205 NS_LOG_DEBUG (
"ReportFirstTx ("<<
this<<
", "<<flowId<<
", "<<packetId<<
", "<<size<<
"); "
206 << ipHeader << *ipPayload);
225 NS_LOG_DEBUG (
"ReportForwarding ("<<
this<<
", "<<flowId<<
", "<<packetId<<
", "<<size<<
");");
243 ConstCast<Packet> (ipPayload)->RemovePacketTag (fTag);
246 NS_LOG_DEBUG (
"ReportLastRx ("<<
this<<
", "<<flowId<<
", "<<packetId<<
", "<<size<<
");");
264 Ipv4Mask maski = m_ipv4->GetNetworkMask (ifIndex);
282 ConstCast<Packet> (ipPayload)->RemovePacketTag (fTag);
285 NS_LOG_DEBUG (
"Drop ("<<
this<<
", "<<flowId<<
", "<<packetId<<
", "<<size<<
", " << reason
287 <<
"HDR: " << ipHeader <<
" PKT: " << *ipPayload);
336 tagFound = ConstCast<Packet> (ipPayload)->RemovePacketTag (fTag);