|
ns-3
|
#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. | |
Public Member Functions inherited from ns3::Object | |
| virtual TypeId | GetInstanceTypeId (void) const |
| template<typename T > | |
| Ptr< T > | GetObject (void) const |
| template<typename T > | |
| Ptr< T > | GetObject (TypeId tid) const |
| void | Dispose (void) |
| void | AggregateObject (Ptr< Object > other) |
| AggregateIterator | GetAggregateIterator (void) const |
| void | Start (void) |
Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| SimpleRefCount (const SimpleRefCount &o) | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) |
| void | Ref (void) const |
| void | Unref (void) const |
| uint32_t | GetReferenceCount (void) const |
Public Member Functions inherited from ns3::ObjectBase | |
| void | SetAttribute (std::string name, const AttributeValue &value) |
| bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) |
| void | GetAttribute (std::string name, AttributeValue &value) const |
| bool | GetAttributeFailSafe (std::string name, AttributeValue &attribute) const |
| 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 | |
| virtual void | SendToSwitch (Ptr< OpenFlowSwitchNetDevice > swtch, void *msg, size_t length) |
| 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) |
Protected Member Functions inherited from ns3::Object | |
| virtual void | NotifyNewAggregate (void) |
| virtual void | DoStart (void) |
| virtual void | DoDispose (void) |
| Object (const Object &o) | |
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.
|
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.