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