Classes | |
| struct | Action |
| Class for handling flow table actions. More... | |
| class | Controller |
| An interface for a Controller of OpenFlowSwitchNetDevices. More... | |
| class | DropController |
| Demonstration of a Drop controller. More... | |
| struct | EricssonAction |
| Class for handling Ericsson Vendor-defined actions. More... | |
| class | LearningController |
| Demonstration of a Learning controller. More... | |
| struct | Port |
| Port and its metadata. More... | |
| class | Stats |
| OpenFlow statistics. More... | |
| struct | StatsDumpCallback |
| Callback for a stats dump request. More... | |
| struct | SwitchPacketMetadata |
| Packet Metadata, allows us to track the packet's metadata as it passes through the switch. More... | |
| struct | VPortAction |
| Class for handling virtual port table actions. More... | |
Functions | |
| void | ExecuteActions (Ptr< OpenFlowSwitchNetDevice > swtch, uint64_t packet_uid, ofpbuf *buffer, sw_flow_key *key, const ofp_action_header *actions, size_t actions_len, int ignore_no_fwd) |
| Executes a list of flow table actions. | |
| void | ExecuteVendor (ofpbuf *buffer, const sw_flow_key *key, const ofp_action_header *ah) |
| Executes a vendor-defined action. | |
| void | ExecuteVPortActions (Ptr< OpenFlowSwitchNetDevice > swtch, uint64_t packet_uid, ofpbuf *buffer, sw_flow_key *key, const ofp_action_header *actions, size_t actions_len) |
| Executes a list of virtual port table entry actions. | |
| int | Stats_AggregateDumpCallback (sw_flow *flow, void *state) |
| int | Stats_FlowDumpCallback (sw_flow *flow, void *state) |
| uint16_t | ValidateActions (const sw_flow_key *key, const ofp_action_header *actions, size_t actions_len) |
| Validates a list of flow table actions. | |
| uint16_t | ValidateVendor (const sw_flow_key *key, const ofp_action_header *ah, uint16_t len) |
| Validates a vendor-defined action. | |
| uint16_t | ValidateVPortActions (const ofp_action_header *actions, size_t actions_len) |
| Validates a list of virtual port table entry actions. | |
| void ns3::ofi::ExecuteActions | ( | Ptr< OpenFlowSwitchNetDevice > | swtch, |
| uint64_t | packet_uid, | ||
| ofpbuf * | buffer, | ||
| sw_flow_key * | key, | ||
| const ofp_action_header * | actions, | ||
| size_t | actions_len, | ||
| int | ignore_no_fwd | ||
| ) |
Executes a list of flow table actions.
| swtch | OpenFlowSwitchNetDevice these actions are being executed on. |
| packet_uid | Packet UID; used to fetch the packet and its metadata. |
| buffer | The Packet OpenFlow buffer. |
| key | The matching key for the flow tied to this list of actions. |
| actions | A buffer of actions. |
| actions_len | Length of actions buffer. |
| ignore_no_fwd | If true, during port forwarding actions, ports that are set to not forward are forced to forward. |
Definition at line 950 of file openflow-interface.cc.
References ns3::ofi::Action::Execute(), ExecuteVendor(), ns3::ofi::Action::IsValidType(), NS_LOG_FUNCTION_NOARGS, and NS_LOG_INFO.
Referenced by ns3::OpenFlowSwitchNetDevice::AddFlow(), ns3::OpenFlowSwitchNetDevice::FlowTableLookup(), ns3::OpenFlowSwitchNetDevice::ModFlow(), and ns3::OpenFlowSwitchNetDevice::ReceivePacketOut().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::ofi::ExecuteVendor | ( | ofpbuf * | buffer, |
| const sw_flow_key * | key, | ||
| const ofp_action_header * | ah | ||
| ) |
Executes a vendor-defined action.
| buffer | The Packet OpenFlow buffer. |
| key | The matching key for the flow tied to this list of actions. |
| ah | Header of the action. |
Definition at line 1178 of file openflow-interface.cc.
References ns3::ofi::EricssonAction::Execute(), and NS_LOG_INFO.
Referenced by ExecuteActions().
Here is the call graph for this function:
Here is the caller graph for this function:| void ns3::ofi::ExecuteVPortActions | ( | Ptr< OpenFlowSwitchNetDevice > | swtch, |
| uint64_t | packet_uid, | ||
| ofpbuf * | buffer, | ||
| sw_flow_key * | key, | ||
| const ofp_action_header * | actions, | ||
| size_t | actions_len | ||
| ) |
Executes a list of virtual port table entry actions.
| swtch | OpenFlowSwitchNetDevice these actions are being executed on. |
| packet_uid | Packet UID; used to fetch the packet and its metadata. |
| buffer | The Packet OpenFlow buffer. |
| key | The matching key for the flow tied to this list of actions. |
| actions | A buffer of actions. |
| actions_len | Length of actions buffer. |
Definition at line 1077 of file openflow-interface.cc.
References ns3::ofi::VPortAction::Execute().
Referenced by ns3::OpenFlowSwitchNetDevice::RunThroughVPortTable().
Here is the call graph for this function:
Here is the caller graph for this function:| int ns3::ofi::Stats_AggregateDumpCallback | ( | sw_flow * | flow, |
| void * | state | ||
| ) |
Definition at line 242 of file openflow-interface.cc.
| int ns3::ofi::Stats_FlowDumpCallback | ( | sw_flow * | flow, |
| void * | state | ||
| ) |
Definition at line 171 of file openflow-interface.cc.
References MAX_FLOW_STATS_BYTES.
| uint16_t ns3::ofi::ValidateActions | ( | const sw_flow_key * | key, |
| const ofp_action_header * | actions, | ||
| size_t | actions_len | ||
| ) |
Validates a list of flow table actions.
| key | The matching key for the flow tied to this list of actions. |
| actions | A buffer of actions. |
| actions_len | Length of actions buffer. |
Definition at line 1023 of file openflow-interface.cc.
References ns3::ofi::Action::IsValidType(), ns3::ofi::Action::Validate(), and ValidateVendor().
Referenced by ns3::OpenFlowSwitchNetDevice::AddFlow(), ns3::OpenFlowSwitchNetDevice::ModFlow(), and ns3::OpenFlowSwitchNetDevice::ReceivePacketOut().
Here is the call graph for this function:
Here is the caller graph for this function:| uint16_t ns3::ofi::ValidateVendor | ( | const sw_flow_key * | key, |
| const ofp_action_header * | ah, | ||
| uint16_t | len | ||
| ) |
Validates a vendor-defined action.
| key | The matching key for the flow tied to this list of actions. |
| ah | Header of the action. |
| len | Length of the action. |
Definition at line 1200 of file openflow-interface.cc.
References ns3::ofi::EricssonAction::Validate().
Referenced by ValidateActions().
Here is the call graph for this function:
Here is the caller graph for this function:| uint16_t ns3::ofi::ValidateVPortActions | ( | const ofp_action_header * | actions, |
| size_t | actions_len | ||
| ) |
Validates a list of virtual port table entry actions.
| actions | A buffer of actions. |
| actions_len | Length of actions buffer. |
Definition at line 1131 of file openflow-interface.cc.
References ns3::ofi::VPortAction::IsValidType(), and ns3::ofi::VPortAction::Validate().
Referenced by ns3::OpenFlowSwitchNetDevice::AddVPort().
Here is the call graph for this function:
Here is the caller graph for this function: