Flow handler.
A flow handler is notified when the status of configured flows changes.
Public Functions
Registers this class to receive updates on changes to flow state. Expects a boolean signifying whether notifications should be propagated to this instance or not.
Registers this class to receive updates on changes to flow state for the given flow name. Expects the name of the flow to watch and a boolean signifying whether notifications should be propagated to this instance or not.
Handler called when flow status changes.
An iterator providing forwards iteration through the configured flows.
Private Functions
Friends
DirectFlow configuration and status manager.
Public Functions
Iterate across all configured flows.
Tests for existence of a flow entry with the given name.
Return the flow entry with the given name.
Insert or update a flow.
Delete a flow.
Return the status of the given flow.
The reason a flow was not programmed. Only valid if the flow’s status is FLOW_REJECTED
Return the counters for a flow.
Protected Functions
Private Members
Friends
Typedefs
Enums
Flow entry status.
Values:
Flow created or modified in hardware.
Flow removed from hardware.
Flow not created.
Reason why a flow was not successfully created in hardware.
Values:
Flow not created due to bad match criteria.
Flow not created due to bad action criteria.
Flow not created due to insufficient resources.
Flow not created for some other reason.
Defines the set of fields to match on flow.
Public Functions
Returns a string representation of the current object’s values.
Private Members
Friends
A utility stream operator that adds a string representation of flow_match_field_set_t to the ostream.
Match criteria for a flow.
Public Functions
Getter for ‘match_field_set’: the fields to match on.
Setter for ‘match_field_set’.
Getter for ‘input_intfs’: the input interfaces to match on.
Setter for ‘input_intfs’.
inserts one input_intf of ‘value’ to the set.
deletes one input_intf of ‘value’ from the set.
Getter for ‘eth_src’: the source Ethernet address to match on.
Setter for ‘eth_src’.
Getter for ‘eth_dst’: the destination Ethernet address to match on.
Setter for ‘eth_dst’.
Getter for ‘eth_type’: the Ethernet type to match on.
Setter for ‘eth_type’.
Getter for ‘vlan_id’: the VLAN id to match.
Setter for ‘vlan_id’.
Getter for ‘cos’: the class of service to match on, only used if vlan_id is set to something other than 0.
Setter for ‘cos’.
Getter for ‘ip_src’: the source IPv4 address to match on.
Setter for ‘ip_src’.
Getter for ‘ip_dst’: the destination IPv4 address to match on.
Setter for ‘ip_dst’.
Returns a string representation of the current object’s values.
Private Members
Friends
A utility stream operator that adds a string representation of flow_match_t to the ostream.
Defines the set of enabled actions.
Public Functions
Returns a string representation of the current object’s values.
Private Members
Friends
A utility stream operator that adds a string representation of flow_action_set_t to the ostream.
Defines the actions to take on a matching flow.
Public Functions
Getter for ‘action_set’: actions that are enabled.
Setter for ‘action_set’.
Getter for ‘output_intfs’: 0 or more the output interfaces, passing in the empty set will cause the packet to be dropped.
Setter for ‘output_intfs’.
inserts one output_intf of ‘value’ to the set.
deletes one output_intf of ‘value’ from the set.
Getter for ‘cos’: the class of service.
Setter for ‘cos’.
Getter for ‘eth_src’: the source Ethernet address.
Setter for ‘eth_src’.
Getter for ‘eth_dst’: the destination Ethernet address.
Setter for ‘eth_dst’.
Getter for ‘ip_src’: the source IPv4 address.
Setter for ‘ip_src’.
Getter for ‘ip_dst’: the destination IPv4 address.
Setter for ‘ip_dst’.
Returns a string representation of the current object’s values.
Private Members
Friends
A utility stream operator that adds a string representation of flow_action_t to the ostream.
Defines a flow entry.
Public Functions
Returns a string representation of the current object’s values.
Private Members
Friends
A utility stream operator that adds a string representation of flow_entry_t to the ostream.
Defines counters for a flow.
Public Functions
Returns a string representation of the current object’s values.
Private Members
Friends
A utility stream operator that adds a string representation of flow_counters_t to the ostream.