Controller 0 installs the rule to forward packets from host 0 to 1 (port 1 to 2). More...
Protected Member Functions | |
void | HandshakeSuccessful (Ptr< const RemoteSwitch > swtch) override |
Function invoked after a successfully handshake procedure between this controller and a remote switch. More... | |
![]() | |
uint32_t | GetNextXid () |
Ptr< const RemoteSwitch > | GetRemoteSwitch (uint64_t dpId) const |
Get the remote switch for this OpenFlow datapath ID. More... | |
void | SendBarrierRequest (Ptr< const RemoteSwitch > swtch) |
Send a barrier request message to switch, and wait for a non-blocking reply. More... | |
void | SendEchoRequest (Ptr< const RemoteSwitch > swtch, size_t payloadSize=0) |
Send an echo request message to switch, and wait for a non-blocking reply. More... | |
int | SendToSwitch (Ptr< const RemoteSwitch > swtch, struct ofl_msg_header *msg, uint32_t xid=0) |
Send a OFLib message to a registered switch. More... | |
void | StartApplication () override |
Application specific startup code. More... | |
void | StopApplication () override |
Application specific shutdown code. More... | |
ofl_err | HandleEchoRequest (struct ofl_msg_echo *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
ofl_err | HandleEchoReply (struct ofl_msg_echo *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
ofl_err | HandleBarrierReply (struct ofl_msg_header *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
ofl_err | HandleHello (struct ofl_msg_header *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
ofl_err | HandleFeaturesReply (struct ofl_msg_features_reply *msg, Ptr< RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
virtual ofl_err | HandlePacketIn (struct ofl_msg_packet_in *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
virtual ofl_err | HandleError (struct ofl_msg_error *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
virtual ofl_err | HandleGetConfigReply (struct ofl_msg_get_config_reply *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
virtual ofl_err | HandleFlowRemoved (struct ofl_msg_flow_removed *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
virtual ofl_err | HandlePortStatus (struct ofl_msg_port_status *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
virtual ofl_err | HandleAsyncReply (struct ofl_msg_async_config *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
virtual ofl_err | HandleMultipartReply (struct ofl_msg_multipart_reply_header *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
virtual ofl_err | HandleRoleReply (struct ofl_msg_role_request *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
virtual ofl_err | HandleQueueGetConfigReply (struct ofl_msg_queue_get_config_reply *msg, Ptr< const RemoteSwitch > swtch, uint32_t xid) |
Called when an OpenFlow message is received from a switch. More... | |
![]() | |
void | DoInitialize () override |
Initialize() implementation. More... | |
![]() | |
Object (const Object &o) | |
Copy an Object. More... | |
virtual void | NotifyNewAggregate () |
Notify all Objects aggregated to this one of a new Object being aggregated. More... | |
![]() | |
void | ConstructSelf (const AttributeConstructionList &attributes) |
Complete construction of ObjectBase; invoked by derived classes. More... | |
virtual void | NotifyConstructionCompleted () |
Notifier called once the ObjectBase is fully constructed. More... | |
Additional Inherited Members | |
![]() | |
typedef void(* | DelayAddressCallback) (const Time &delay, const Address &from) |
Common callback signature for packet delay and address. More... | |
typedef void(* | StateTransitionCallback) (const std::string &oldState, const std::string &newState) |
Common signature used by callbacks to application's state transition trace source. More... | |
![]() | |
OFSwitch13Controller () | |
Default constructor. More... | |
~OFSwitch13Controller () override | |
Dummy destructor, see DoDispose. More... | |
void | DoDispose () override |
Destructor implementation. More... | |
int | DpctlExecute (uint64_t dpId, const std::string textCmd) |
Execute a dpctl command to interact with the remote switch. More... | |
![]() | |
Application () | |
~Application () override | |
Ptr< Node > | GetNode () const |
void | SetNode (Ptr< Node > node) |
void | SetStartTime (Time start) |
Specify application start time. More... | |
void | SetStopTime (Time stop) |
Specify application stop time. More... | |
![]() | |
Object () | |
Constructor. More... | |
~Object () override | |
Destructor. More... | |
void | AggregateObject (Ptr< Object > other) |
Aggregate two Objects together. More... | |
void | Dispose () |
Dispose of this Object. More... | |
AggregateIterator | GetAggregateIterator () const |
Get an iterator to the Objects aggregated to this one. More... | |
TypeId | GetInstanceTypeId () const override |
Get the most derived TypeId for this Object. More... | |
template<typename T > | |
Ptr< T > | GetObject () const |
Get a pointer to the requested aggregated Object. More... | |
template<> | |
Ptr< Object > | GetObject () const |
Specialization of () for objects of type ns3::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 (TypeId tid) const |
Specialization of (TypeId tid) for objects of type ns3::Object. More... | |
void | Initialize () |
Invoke DoInitialize on all Objects aggregated to this one. More... | |
bool | IsInitialized () const |
Check if the object has been initialized. More... | |
![]() | |
SimpleRefCount () | |
Default constructor. More... | |
SimpleRefCount (const SimpleRefCount &o[[maybe_unused]]) | |
Copy constructor. More... | |
uint32_t | GetReferenceCount () const |
Get the reference count of the object. More... | |
SimpleRefCount & | operator= (const SimpleRefCount &o[[maybe_unused]]) |
Assignment operator. More... | |
void | Ref () const |
Increment the reference count. More... | |
void | Unref () const |
Decrement the reference count. More... | |
![]() | |
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 errors. 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 void | DpctlSendAndPrint (struct vconn *vconn, struct ofl_msg_header *msg) |
Overriding BOFUSS dpctl_send_and_print and dpctl_transact_and_print weak functions from utilities/dpctl.c. More... | |
static TypeId | GetTypeId () |
Register this type. More... | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. More... | |
![]() | |
static TypeId | GetTypeId () |
Register this type. More... | |
![]() | |
static TypeId | GetTypeId () |
Get the type ID. More... | |
![]() | |
Ptr< Node > | m_node |
The node that this application is installed on. More... | |
EventId | m_startEvent |
The event that will fire at m_startTime to start the application. More... | |
Time | m_startTime |
The simulation time that the application will start. More... | |
EventId | m_stopEvent |
The event that will fire at m_stopTime to end the application. More... | |
Time | m_stopTime |
The simulation time that the application will end. More... | |
![]() | |
static TypeId | GetObjectIid () |
Ensure the TypeId for ObjectBase gets fully configured to anchor the inheritance tree properly. More... | |
Controller 0 installs the rule to forward packets from host 0 to 1 (port 1 to 2).
Definition at line 143 of file ofswitch13-multiple-controllers.cc.
|
overrideprotectedvirtual |
Function invoked after a successfully handshake procedure between this controller and a remote switch.
Derived classes can override this function to implement any relevant logic, as sending initial configuration messages to the switch.
swtch | The remote switch. |
Reimplemented from ns3::OFSwitch13Controller.
Definition at line 151 of file ofswitch13-multiple-controllers.cc.