faucet.valve_pipeline module¶
Manages movement of packets through the faucet pipeline.
-
class
faucet.valve_pipeline.
ValvePipeline
(dp)[source]¶ Bases:
faucet.valve_manager_base.ValveManagerBase
Responsible for maintaing the integrity of the Faucet pipeline for a single valve.
Controls what packets a module sees in its tables and how it can pass packets through the pipeline.
Responsible for installing flows in the vlan, egress and classification tables
-
accept_to_classification
(actions=None)[source]¶ Get instructions to forward packet through the pipeline to classification table. :param actions: (optional) list of actions to apply to packet.
- Returns
list of instructions
-
accept_to_egress
(actions=None)[source]¶ Get instructions to forward packet through the pipeline to egress table
Raises an assertion error if egress pipeline is not configured
- Parameters
actions – (optional) list of actions to apply to the packet
- Returns
- Return type
list of instructions
-
accept_to_l2_forwarding
(actions=None)[source]¶ Get instructions to forward packet through the pipeline to l2 forwarding. :param actions: (optional) list of actions to apply to packet.
- Returns
list of instructions
-
accept_to_vlan
(actions=None)[source]¶ Get instructions to forward packet through the pipeline to vlan table. :param actions: (optional) list of actions to apply to packet.
- Returns
list of instructions
-
filter_packets
(match_dict, priority_offset=0)[source]¶ get a list of flow modification messages to filter packets from the pipeline. :param match_dict: a dictionary specifying the match fields :param priority_offset: used to prevent overlapping entries
-
output
(port, vlan, hairpin=False, loop_protect_field=None)[source]¶ Get instructions list to output a packet through the regular pipeline.
- Parameters
port – Port object of port to output packet to
vlan – Vlan object of vlan to output packet on
hairpin – if True, hairpinning is required
apply_egress_acl – if True the packet will be sent to the egress acl table before being output
- Returns
list of Instructions
-