#include <openflow-interface.h>
Classes | |
struct | LearnedState |
Public Member Functions | |
virtual | ~LearningController () |
void | ReceiveFromSwitch (Ptr< OpenFlowSwitchNetDevice > swtch, ofpbuf *buffer) |
![]() | |
virtual | ~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... | |
![]() | |
Object () | |
virtual | ~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) |
![]() | |
SimpleRefCount () | |
SimpleRefCount (const SimpleRefCount &o) | |
uint32_t | GetReferenceCount (void) const |
SimpleRefCount & | operator= (const SimpleRefCount &o) |
void | Ref (void) const |
void | Unref (void) const |
![]() | |
virtual | ~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 TypeId | GetTypeId (void) |
![]() | |
static TypeId | GetTypeId (void) |
![]() | |
static void | Cleanup (void) |
![]() | |
static TypeId | GetTypeId (void) |
Protected Types | |
typedef std::map< Mac48Address, LearnedState > | LearnState_t |
![]() | |
typedef std::set< Ptr < OpenFlowSwitchNetDevice > > | Switches_t |
Protected Attributes | |
Time | m_expirationTime |
Time it takes for learned MAC state entry/created flow to expire. More... | |
LearnState_t | m_learnState |
Learned state data. More... | |
![]() | |
Switches_t | m_switches |
The collection of switches registered to this controller. More... | |
Additional Inherited Members | |
![]() | |
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) |
![]() | |
Object (const Object &o) | |
virtual void | DoDispose (void) |
virtual void | DoInitialize (void) |
virtual void | NotifyNewAggregate (void) |
![]() | |
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.
|
protected |
Definition at line 480 of file openflow-interface.h.
|
inlinevirtual |
Definition at line 467 of file openflow-interface.h.
References m_learnState.
|
static |
|
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.
|
protected |
Time it takes for learned MAC state entry/created flow to expire.
Definition at line 479 of file openflow-interface.h.
|
protected |
Learned state data.
Definition at line 481 of file openflow-interface.h.
Referenced by ~LearningController().