faucet.valve_acl module
Compose ACLs on ports.
- class faucet.valve_acl.ValveAclManager(port_acl_table, vlan_acl_table, egress_acl_table, pipeline, meters, dp_acls=None)[source]
Bases:
ValveManagerBase
Handle installation of ACLs on a DP
- build_reverse_tunnel_rules_ofmsgs(source_id, tunnel_id, acl)[source]
Build a (reverse) tunnel only generated rule
- build_tunnel_acl_rule_ofmsgs(source_id, tunnel_id, acl)[source]
Build a rule of an ACL that contains a tunnel
- cold_start_port(port)[source]
Reload acl for a port by deleting existing rules and calling add_port
- create_mab_flow(port_num, nfv_sw_port_num, mac)[source]
- Create MAB ACL for sending IP Activity to Chewie NFV
Returns flowmods to send all IP traffic to Chewie
- Parameters:
port_num (int) – Number of port in
nfv_sw_port_num (int) – Number of port out
mac (str) – MAC address of the valve/port combo
- faucet.valve_acl.add_mac_address_to_match(match, eth_src)[source]
Add or change the value of a match type
- faucet.valve_acl.build_acl_entry(acl_table, rule_conf, meters, acl_allow_inst, acl_force_port_vlan_inst, port_num=None, vlan_vid=None, tunnel_rules=None, source_id=None)[source]
Build flow/groupmods for one ACL rule entry.
- faucet.valve_acl.build_acl_ofmsgs(acls, acl_table, acl_allow_inst, acl_force_port_vlan_inst, highest_priority, meters, exact_match, port_num=None, vlan_vid=None, tunnel_rules=None, source_id=None, flowdel=False)[source]
Build flow/groupmods for all entries in an ACL.
- faucet.valve_acl.build_acl_port_of_msgs(acl, vid, port_num, acl_table, goto_table, priority)[source]
A Helper function for building Openflow Mod Messages for Port ACLs
- faucet.valve_acl.build_ordered_output_actions(acl_table, output_list, tunnel_rules=None, source_id=None)[source]
Build actions from ordered ACL output list
- faucet.valve_acl.build_output_actions(acl_table, output_dict, tunnel_rules=None, source_id=None)[source]
Implement actions to alter packet/output.
- faucet.valve_acl.build_rule_ofmsgs(rule_conf, acl_table, acl_allow_inst, acl_force_port_vlan_inst, highest_priority, acl_rule_priority, meters, exact_match, port_num=None, vlan_vid=None, tunnel_rules=None, source_id=None, flowdel=False)[source]
Build an ACL rule and return OFMSGs
- faucet.valve_acl.build_tunnel_ofmsgs(rule_conf, acl_table, priority, port_num=None, vlan_vid=None, flowdel=False, reverse=False)[source]
Build a specific tunnel only ofmsgs