#include <openflow-interface.h>
Classes | |
struct | LearnedState |
Public Member Functions | |
virtual | ~LearningController () |
void | ReceiveFromSwitch (Ptr< OpenFlowSwitchNetDevice > swtch, ofpbuf *buffer) |
Public Member Functions inherited from ns3::ofi::Controller | |
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. | |
Public Member Functions inherited from ns3::Object | |
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 | Start (void) |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
SimpleRefCount () | |
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 | |
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) |
This method returns the TypeId associated to ns3::Object. |
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) |
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 |
This method returns the TypeId associated to ns3::Object.
No Attributes defined for this type.
No TraceSources defined for this type.
Reimplemented from ns3::ofi::Controller.
|
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().