21 #ifndef IPV4_FLOW_PROBE_H
22 #define IPV4_FLOW_PROBE_H
24 #include "ns3/flow-probe.h"
25 #include "ns3/ipv4-flow-classifier.h"
26 #include "ns3/ipv4-l3-protocol.h"
27 #include "ns3/queue-item.h"
void ForwardUpLogger(const Ipv4Header &ipHeader, Ptr< const Packet > ipPayload, uint32_t interface)
Log a packet being received by the destination.
Interface is down so can not send packet.
Smart pointer class similar to boost::intrusive_ptr.
virtual void DoDispose(void)
Destructor implementation.
DropReason
enumeration of possible reasons why a packet may be dropped
Packet dropped due to TTL decremented to zero during IPv4 forwarding.
Ipv4FlowProbe(Ptr< FlowMonitor > monitor, Ptr< Ipv4FlowClassifier > classifier, Ptr< Node > node)
Constructor.
void SendOutgoingLogger(const Ipv4Header &ipHeader, Ptr< const Packet > ipPayload, uint32_t interface)
Log a packet being sent.
void ForwardLogger(const Ipv4Header &ipHeader, Ptr< const Packet > ipPayload, uint32_t interface)
Log a packet being forwarded.
void QueueDropLogger(Ptr< const Packet > ipPayload)
Log a packet being dropped by a queue.
Packet dropped due to queue overflow.
Fragment timeout exceeded.
void QueueDiscDropLogger(Ptr< const QueueDiscItem > item)
Log a packet being dropped by a queue disc.
Packet dropped due to invalid checksum in the IPv4 header.
Every class exported by the ns3 library is enclosed in the ns3 namespace.
Ptr< Ipv4FlowClassifier > m_classifier
the Ipv4FlowClassifier this probe is associated with
The FlowProbe class is responsible for listening for packet events in a specific point of the simulat...
Fallback reason (no known reason)
Class that monitors flows at the IPv4 layer of a Node.
Packet dropped due to missing route to the destination.
DropReason
Reason why a packet has been dropped.
static TypeId GetTypeId(void)
Register this type.
Packet dropped by the queue disc.
a unique identifier for an interface.
Ptr< Ipv4L3Protocol > m_ipv4
the Ipv4L3Protocol this probe is bound to
void DropLogger(const Ipv4Header &ipHeader, Ptr< const Packet > ipPayload, Ipv4L3Protocol::DropReason reason, Ptr< Ipv4 > ipv4, uint32_t ifIndex)
Log a packet being dropped.