Class P4RuntimeMeterProgrammable
- java.lang.Object
-
- org.onosproject.net.driver.AbstractBehaviour
-
- org.onosproject.net.driver.AbstractHandlerBehaviour
-
- org.onosproject.grpc.utils.AbstractGrpcHandlerBehaviour<org.onosproject.p4runtime.api.P4RuntimeClient,org.onosproject.p4runtime.api.P4RuntimeController>
-
- org.onosproject.drivers.p4runtime.AbstractP4RuntimeHandlerBehaviour
-
- org.onosproject.drivers.p4runtime.P4RuntimeMeterProgrammable
-
- All Implemented Interfaces:
org.onosproject.net.driver.Behaviour,org.onosproject.net.driver.HandlerBehaviour,org.onosproject.net.meter.MeterProgrammable
public class P4RuntimeMeterProgrammable extends AbstractP4RuntimeHandlerBehaviour implements org.onosproject.net.meter.MeterProgrammable
Implementation of MeterProgrammable behaviour for P4Runtime.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classP4RuntimeMeterProgrammable.P4RuntimeMeterFeaturesBuilderP4 meter features builder.
-
Field Summary
-
Fields inherited from class org.onosproject.drivers.p4runtime.AbstractP4RuntimeHandlerBehaviour
p4DeviceId, pipeconf
-
-
Constructor Summary
Constructors Constructor Description P4RuntimeMeterProgrammable()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompletableFuture<Collection<org.onosproject.net.meter.MeterFeatures>>getMeterFeatures()CompletableFuture<Collection<org.onosproject.net.meter.Meter>>getMeters()protected booleanisSimilar(org.onosproject.net.pi.runtime.PiMeterCellConfig onosMeter, org.onosproject.net.pi.runtime.PiMeterCellConfig deviceMeter)Returns true if the given PiMeterCellConfigs are similar enough to be deemed equal for reconciliation purposes.CompletableFuture<Boolean>performMeterOperation(org.onosproject.net.meter.MeterOperation meterOp)protected booleansetupBehaviour(String opName)Initializes this behaviour attributes.-
Methods inherited from class org.onosproject.grpc.utils.AbstractGrpcHandlerBehaviour
mgmtUriFromNetcfg
-
Methods inherited from class org.onosproject.net.driver.AbstractHandlerBehaviour
handler, setHandler
-
-
-
-
Method Detail
-
setupBehaviour
protected boolean setupBehaviour(String opName)
Description copied from class:AbstractP4RuntimeHandlerBehaviourInitializes this behaviour attributes. Returns true if the operation was successful, false otherwise.- Overrides:
setupBehaviourin classAbstractP4RuntimeHandlerBehaviour- Parameters:
opName- name of the operation- Returns:
- true if successful, false otherwise
-
performMeterOperation
public CompletableFuture<Boolean> performMeterOperation(org.onosproject.net.meter.MeterOperation meterOp)
- Specified by:
performMeterOperationin interfaceorg.onosproject.net.meter.MeterProgrammable
-
getMeters
public CompletableFuture<Collection<org.onosproject.net.meter.Meter>> getMeters()
- Specified by:
getMetersin interfaceorg.onosproject.net.meter.MeterProgrammable
-
getMeterFeatures
public CompletableFuture<Collection<org.onosproject.net.meter.MeterFeatures>> getMeterFeatures()
- Specified by:
getMeterFeaturesin interfaceorg.onosproject.net.meter.MeterProgrammable
-
isSimilar
protected boolean isSimilar(org.onosproject.net.pi.runtime.PiMeterCellConfig onosMeter, org.onosproject.net.pi.runtime.PiMeterCellConfig deviceMeter)Returns true if the given PiMeterCellConfigs are similar enough to be deemed equal for reconciliation purposes. This is required to handle read/write asymmetry in devices that allow variations in the meter rate/burst. E.g., devices that implement metering with a rate or burst size that is slightly higher/lower than the configured ones, so the values written by ONOS will be different than those read from the device.- Parameters:
onosMeter- the ONOS meterdeviceMeter- the meter in the device- Returns:
- true if the meters are similar, false otherwise
-
-