def _build_flood_local_rule_actions(vlan, exclude_unicast, in_port): """Return a list of flood actions to flood packets from a port.""" exclude_ports = vlan.exclude_same_lag_member_ports(in_port) return valve_of.flood_port_outputs( vlan.tagged_flood_ports(exclude_unicast), vlan.untagged_flood_ports(exclude_unicast), in_port=in_port, exclude_ports=exclude_ports)
def _build_flood_local_rule_actions(vlan, exclude_unicast, in_port, exclude_all_external): """Return a list of flood actions to flood packets from a port.""" external_ports = vlan.loop_protect_external_ports_up() exclude_ports = vlan.exclude_same_lag_member_ports(in_port) exclude_ports.update(vlan.exclude_native_if_dot1x()) if external_ports: if (exclude_all_external or in_port is not None and in_port.loop_protect_external): exclude_ports |= set(external_ports) return valve_of.flood_port_outputs( vlan.tagged_flood_ports(exclude_unicast), vlan.untagged_flood_ports(exclude_unicast), in_port=in_port, exclude_ports=exclude_ports)
def _build_flood_local_rule_actions(self, vlan, exclude_unicast, in_port, exclude_all_external): """Return a list of flood actions to flood packets from a port.""" external_ports = self.canonical_port_order(vlan.loop_protect_external_ports_up()) exclude_ports = vlan.exclude_same_lag_member_ports(in_port) exclude_ports.update(vlan.exclude_native_if_dot1x()) if exclude_all_external or (in_port is not None and in_port.loop_protect_external): exclude_ports.update(set(external_ports)) else: exclude_ports.update(set(external_ports[1:])) return valve_of.flood_port_outputs( vlan.tagged_flood_ports(exclude_unicast), vlan.untagged_flood_ports(exclude_unicast), in_port=in_port, exclude_ports=exclude_ports)
def _build_flood_local_rule_actions(vlan, exclude_unicast, in_port, exclude_all_external): """Return a list of flood actions to flood packets from a port.""" external_ports = vlan.loop_protect_external_ports_up() exclude_ports = vlan.exclude_same_lag_member_ports(in_port) if external_ports: if (exclude_all_external or in_port is not None and in_port.loop_protect_external): exclude_ports |= set(external_ports) else: exclude_ports |= set(external_ports[1:]) return valve_of.flood_port_outputs( vlan.tagged_flood_ports(exclude_unicast), vlan.untagged_flood_ports(exclude_unicast), in_port=in_port, exclude_ports=exclude_ports)
def _build_flood_local_rule_actions(self, vlan, exclude_unicast, in_port, # pylint: disable=too-many-arguments exclude_all_external, exclude_restricted_bcast_arpnd): """Return a list of flood actions to flood packets from a port.""" external_ports = self.canonical_port_order(vlan.loop_protect_external_ports_up()) exclude_ports = vlan.excluded_lag_ports(in_port) exclude_ports.update(vlan.exclude_native_if_dot1x()) if exclude_all_external or (in_port is not None and in_port.loop_protect_external): exclude_ports.update(set(external_ports)) else: exclude_ports.update(set(external_ports[1:])) if exclude_restricted_bcast_arpnd: exclude_ports.update(set(vlan.restricted_bcast_arpnd_ports())) return valve_of.flood_port_outputs( vlan.tagged_flood_ports(exclude_unicast), vlan.untagged_flood_ports(exclude_unicast), in_port=in_port, exclude_ports=exclude_ports)