#include <openflow-interface.h>
Classes | |
struct | LearnedState |
Public Member Functions | |
void | ReceiveFromSwitch (Ptr< OpenFlowSwitchNetDevice > swtch, ofpbuf *buffer) |
Public Member Functions inherited from ns3::ofi::Controller | |
virtual void | AddSwitch (Ptr< OpenFlowSwitchNetDevice > swtch) |
void | StartDump (StatsDumpCallback *cb) |
Starts a callback-based, reliable, possibly multi-message reply to a request made by the controller. More... | |
Public Member Functions inherited from ns3::Object | |
void | AggregateObject (Ptr< Object > other) |
void | Dispose (void) |
AggregateIterator | GetAggregateIterator (void) const |
virtual TypeId | GetInstanceTypeId (void) const |
template<typename T > | |
Ptr< T > | GetObject (void) const |
template<typename T > | |
Ptr< T > | GetObject (TypeId tid) const |
void | Initialize (void) |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
Public Member Functions inherited from ns3::ObjectBase | |
void | GetAttribute (std::string name, AttributeValue &value) const |
bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
void | SetAttribute (std::string name, const AttributeValue &value) |
bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) |
bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) |
bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) |
Static Public Member Functions | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::ofi::Controller | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::Object | |
static TypeId | GetTypeId (void) |
Static Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
static void | Cleanup (void) |
Static Public Member Functions inherited from ns3::ObjectBase | |
static TypeId | GetTypeId (void) |
Protected Types | |
typedef std::map< Mac48Address, LearnedState > | LearnState_t |
Protected Types inherited from ns3::ofi::Controller | |
typedef std::set< Ptr < OpenFlowSwitchNetDevice > > | Switches_t |
Protected Attributes | |
Time | m_expirationTime |
Time it takes for learned MAC state entry/created flow to expire. | |
LearnState_t | m_learnState |
Learned state data. | |
Protected Attributes inherited from ns3::ofi::Controller | |
Switches_t | m_switches |
The collection of switches registered to this controller. | |
Additional Inherited Members | |
Protected Member Functions inherited from ns3::ofi::Controller | |
ofp_flow_mod * | BuildFlow (sw_flow_key key, uint32_t buffer_id, uint16_t command, void *acts, size_t actions_len, int idle_timeout, int hard_timeout) |
uint8_t | GetPacketType (ofpbuf *buffer) |
virtual void | SendToSwitch (Ptr< OpenFlowSwitchNetDevice > swtch, void *msg, size_t length) |
Protected Member Functions inherited from ns3::Object | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
Protected Member Functions inherited from ns3::ObjectBase | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
virtual void | NotifyConstructionCompleted (void) |
Demonstration of a Learning controller. When a connected switch passes it a packet the switch doesn't recognize, the controller delves into its learned states and figures out if we know what port the packet is supposed to go to, flooding if unknown, and adjusts the switch's flow table accordingly.
Definition at line 462 of file openflow-interface.h.
|
virtual |
A switch calls this method to pass a message on to the Controller.
swtch | The switch the message was received from. |
buffer | The message. |
Reimplemented from ns3::ofi::Controller.