Demonstration of a Drop controller. More...
#include "openflow-interface.h"
 Inheritance diagram for ns3::ofi::DropController:
 Inheritance diagram for ns3::ofi::DropController: Collaboration diagram for ns3::ofi::DropController:
 Collaboration diagram for ns3::ofi::DropController:| Public Member Functions | |
| void | ReceiveFromSwitch (Ptr< OpenFlowSwitchNetDevice > swtch, ofpbuf *buffer) | 
| A switch calls this method to pass a message on to the Controller.  More... | |
|  Public Member Functions inherited from ns3::ofi::Controller | |
| virtual | ~Controller () | 
| Destructor.  More... | |
| virtual void | AddSwitch (Ptr< OpenFlowSwitchNetDevice > swtch) | 
| Adds a switch to the controller.  More... | |
| 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 | |
| Object () | |
| Constructor.  More... | |
| virtual | ~Object () | 
| Destructor.  More... | |
| void | AggregateObject (Ptr< Object > other) | 
| Aggregate two Objects together.  More... | |
| void | Dispose (void) | 
| Dispose of this Object.  More... | |
| AggregateIterator | GetAggregateIterator (void) const | 
| Get an iterator to the Objects aggregated to this one.  More... | |
| virtual TypeId | GetInstanceTypeId (void) const | 
| Get the most derived TypeId for this Object.  More... | |
| template<typename T > | |
| Ptr< T > | GetObject (void) const | 
| Get a pointer to the requested aggregated Object.  More... | |
| template<typename T > | |
| Ptr< T > | GetObject (TypeId tid) const | 
| Get a pointer to the requested aggregated Object by TypeId.  More... | |
| template<> | |
| Ptr< Object > | GetObject () const | 
| template<> | |
| Ptr< Object > | GetObject (TypeId tid) const | 
| void | Initialize (void) | 
| Invoke DoInitialize on all Objects aggregated to this one.  More... | |
| bool | IsInitialized (void) const | 
| Check if the object has been initialized.  More... | |
|  Public Member Functions inherited from ns3::SimpleRefCount< Object, ObjectBase, ObjectDeleter > | |
| SimpleRefCount () | |
| Default constructor.  More... | |
| SimpleRefCount (const SimpleRefCount &o) | |
| Copy constructor.  More... | |
| uint32_t | GetReferenceCount (void) const | 
| Get the reference count of the object.  More... | |
| SimpleRefCount & | operator= (const SimpleRefCount &o) | 
| Assignment operator.  More... | |
| void | Ref (void) const | 
| Increment the reference count.  More... | |
| void | Unref (void) const | 
| Decrement the reference count.  More... | |
|  Public Member Functions inherited from ns3::ObjectBase | |
| virtual | ~ObjectBase () | 
| Virtual destructor.  More... | |
| void | GetAttribute (std::string name, AttributeValue &value) const | 
| Get the value of an attribute, raising fatal errors if unsuccessful.  More... | |
| bool | GetAttributeFailSafe (std::string name, AttributeValue &value) const | 
| Get the value of an attribute without raising erros.  More... | |
| void | SetAttribute (std::string name, const AttributeValue &value) | 
| Set a single attribute, raising fatal errors if unsuccessful.  More... | |
| bool | SetAttributeFailSafe (std::string name, const AttributeValue &value) | 
| Set a single attribute without raising errors.  More... | |
| bool | TraceConnect (std::string name, std::string context, const CallbackBase &cb) | 
| Connect a TraceSource to a Callback with a context.  More... | |
| bool | TraceConnectWithoutContext (std::string name, const CallbackBase &cb) | 
| Connect a TraceSource to a Callback without a context.  More... | |
| bool | TraceDisconnect (std::string name, std::string context, const CallbackBase &cb) | 
| Disconnect from a TraceSource a Callback previously connected with a context.  More... | |
| bool | TraceDisconnectWithoutContext (std::string name, const CallbackBase &cb) | 
| Disconnect from a TraceSource a Callback previously connected without a context.  More... | |
| Static Public Member Functions | |
| static TypeId | GetTypeId (void) | 
| Register this type.  More... | |
|  Static Public Member Functions inherited from ns3::ofi::Controller | |
| static TypeId | GetTypeId (void) | 
| Register this type.  More... | |
|  Static Public Member Functions inherited from ns3::Object | |
| static TypeId | GetTypeId (void) | 
| Register this type.  More... | |
|  Static Public Member Functions inherited from ns3::ObjectBase | |
| static TypeId | GetTypeId (void) | 
| Get the type ID.  More... | |
| Additional Inherited Members | |
|  Protected Types inherited from ns3::ofi::Controller | |
| typedef std::set< Ptr< OpenFlowSwitchNetDevice > > | Switches_t | 
|  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) | 
| Construct flow data from a matching key to build a flow entry for adding, modifying, or deleting a flow.  More... | |
| uint8_t | GetPacketType (ofpbuf *buffer) | 
| Get the packet type on the buffer, which can then be used to determine how to handle the buffer.  More... | |
| virtual void | SendToSwitch (Ptr< OpenFlowSwitchNetDevice > swtch, void *msg, size_t length) | 
| However the controller is implemented, this method is to be used to pass a message on to a switch.  More... | |
|  Protected Member Functions inherited from ns3::Object | |
| Object (const Object &o) | |
| Copy an Object.  More... | |
| virtual void | DoDispose (void) | 
| Destructor implementation.  More... | |
| virtual void | DoInitialize (void) | 
| Initialize() implementation.  More... | |
| virtual void | NotifyNewAggregate (void) | 
| Notify all Objects aggregated to this one of a new Object being aggregated.  More... | |
|  Protected Member Functions inherited from ns3::ObjectBase | |
| void | ConstructSelf (const AttributeConstructionList &attributes) | 
| Complete construction of ObjectBase; invoked by derived classes.  More... | |
| virtual void | NotifyConstructionCompleted (void) | 
| Notifier called once the ObjectBase is fully constructed.  More... | |
|  Protected Attributes inherited from ns3::ofi::Controller | |
| Switches_t | m_switches | 
| The collection of switches registered to this controller.  More... | |
|  Related Functions inherited from ns3::ObjectBase | |
| static TypeId | GetObjectIid (void) | 
| Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly.  More... | |
Demonstration of a Drop controller.
When a connected switch passes it a packet the switch doesn't recognize, the controller configures the switch to make a flow that drops alike packets.
Definition at line 436 of file openflow-interface.h.
| 
 | static | 
Register this type.
| 
 | 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.