20 #ifndef OFSWITCH13_STATS_CALCULATOR_H
21 #define OFSWITCH13_STATS_CALCULATOR_H
23 #include <ns3/ofswitch13-device.h>
Class for representing data rates.
This class monitors a single OpenFlow switch device to collect statistics and periodically write them...
uint32_t GetEwmaGroupTableEntries() const
std::string m_filename
Output file name.
void NotifyConstructionCompleted() override
OpenFlow switch device.
double m_ewmaBufferEntries
DataRate GetEwmaCpuLoad() const
uint32_t GetAvgCpuUsage() const
OpenFlow switch device.
void DumpStatistics()
Read statistics from switch, update internal counters, and dump data into output file.
uint32_t GetEwmaFlowTableEntries(uint8_t tableId) const
~OFSwitch13StatsCalculator() override
Default destructor.
uint32_t GetEwmaSumFlowEntries() const
double m_ewmaMeterEntries
static TypeId GetTypeId()
Register this type.
double m_ewmaGroupEntries
uint32_t GetEwmaBufferEntries() const
void NotifyTableDrop(Ptr< const Packet > packet, uint8_t tableId)
Notify when an unmatched packet is dropped by a flow table without a table-miss entry.
std::vector< double > m_ewmaFlowEntries
uint32_t GetEwmaMeterTableEntries() const
Ptr< OFSwitch13Device > m_device
OpenFlow switch device.
double m_ewmaPipelineDelay
uint32_t GetAvgGroupTableUsage() const
OpenFlow switch device.
double m_alpha
EWMA alpha parameter.
uint32_t GetAvgFlowTableUsage(uint8_t tableId) const
OpenFlow switch device.
uint32_t GetAvgBufferUsage() const
OpenFlow switch device.
Ptr< OutputStreamWrapper > m_wrapper
Output file wrapper.
uint32_t GetAvgActFlowTableUsage() const
OpenFlow switch device.
void NotifyOverloadDrop(Ptr< const Packet > packet)
Notify when a packet is dropped due to pipeline load.
bool m_details
Pipeline table details.
uint32_t GetAvgMeterTableUsage() const
OpenFlow switch device.
void HookSinks(Ptr< OFSwitch13Device > device)
Hook switch device trace sources to internal stats calculator trace sinks.
Time GetEwmaPipelineDelay() const
Time m_lastUpdate
Last update time.
uint64_t m_lastPacketsOut
void NotifyMeterDrop(Ptr< const Packet > packet, uint32_t meterId)
Notify when a packet is dropped by a meter band.
OFSwitch13StatsCalculator()
Default constructor.
void NotifyPipelinePacket(Ptr< const Packet > packet)
Notify when a packet is sent to pipeline.
void DoDispose() override
Destructor implementation.
Time m_timeout
Update timeout.
void NotifyDatapathTimeout(Ptr< const OFSwitch13Device > device)
Notify when a datapath timeout operation is completed.
double m_ewmaSumFlowEntries
A base class which provides memory management and object aggregation.
Smart pointer class similar to boost::intrusive_ptr.
Simulation virtual time values and global simulation resolution.
a unique identifier for an interface.
Every class exported by the ns3 library is enclosed in the ns3 namespace.