faucet.valve_flood module¶
Manage flooding to ports on VLANs.
-
class
faucet.valve_flood.
ValveFloodManager
(logger, flood_table, pipeline, use_group_table, groups, combinatorial_port_flood, canonical_port_order)[source]¶ Bases:
faucet.valve_manager_base.ValveManagerBase
Implement dataplane based flooding for standalone dataplanes.
-
FLOOD_DSTS
= ((True, None, None), (False, '01:80:c2:00:00:00', 'ff:ff:ff:00:00:00'), (False, '01:00:5E:00:00:00', 'ff:ff:ff:00:00:00'), (False, '33:33:00:00:00:00', 'ff:ff:00:00:00:00'), (False, 'ff:ff:ff:ff:ff:ff', 'ff:ff:ff:ff:ff:ff'))¶
-
build_flood_rules
(vlan, modify=False)[source]¶ Add flows to flood packets to unknown destinations on a VLAN.
-
static
edge_learn_port
(_other_valves, pkt_meta)[source]¶ Possibly learn a host on a port.
- Parameters
other_valves (list) – All Valves other than this one.
pkt_meta (PacketMeta) – PacketMeta instance for packet received.
- Returns
port to learn host on.
-
-
class
faucet.valve_flood.
ValveFloodStackManager
(logger, flood_table, pipeline, use_group_table, groups, combinatorial_port_flood, canonical_port_order, stack_ports, has_externals, dp_shortest_path_to_root, shortest_path_port, longest_path_to_root_len, is_stack_root, graph)[source]¶ Bases:
faucet.valve_flood.ValveFloodManager
Implement dataplane based flooding for stacked dataplanes.
-
edge_learn_port
(other_valves, pkt_meta)[source]¶ Find a port towards the edge DP where the packet originated from
- Parameters
other_valves (list) – All Valves other than this one.
pkt_meta (PacketMeta) – PacketMeta instance for packet received.
- Returns
port to learn host on, or None.
-