예제 #1
0
 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)
예제 #2
0
 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)
예제 #3
0
 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)
예제 #4
0
 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)
예제 #5
0
 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)
예제 #6
0
 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)