faucet.valve_acl module

Compose ACLs on ports.

class faucet.valve_acl.ValveAclManager(port_acl_table, vlan_acl_table, pipeline, meters, dp_acls=None)[source]

Bases: faucet.valve_manager_base.ValveManagerBase

Handle installation of ACLs on a DP

add_authed_mac(port_num, mac)[source]

Add authed mac address

add_port(port)[source]

Install port acls if configured

add_vlan(vlan)[source]

Install vlan acls if configured

cold_start_port(port)[source]

Reload acl for a port by deleting existing rules and calling add_port

create_dot1x_flow_pair(dot1x_port, nfv_sw_port, mac)[source]
del_authed_mac(port_num, mac=None)[source]

remove authed mac address

del_dot1x_flow_pair(dot1x_port, nfv_sw_port, mac)[source]
initialise_tables()[source]

Install dp acls if configured

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)[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)[source]

Build flow/groupmods for all entries in an ACL.

faucet.valve_acl.build_output_actions(acl_table, output_dict)[source]

Implement actions to alter packet/output.

faucet.valve_acl.push_vlan(acl_table, vlan_vid)[source]

Push a VLAN tag with optional selection of eth type.

faucet.valve_acl.rewrite_vlan(acl_table, output_dict)[source]

Implement actions to rewrite VLAN headers.