From f1edda9de614f2eb85535fa311462caf8d7e5276 Mon Sep 17 00:00:00 2001 From: pierventre Date: Fri, 4 Mar 2022 15:21:09 -0800 Subject: [PATCH] Filter out meters default config There is no need to further process meters default config in ONOS, there will not be any trace in the ONOS stores. Filtering out in advance allows to save memory and time. Change-Id: I57f598aba3f2ba32923e8170f6c47f9efe27edd4 --- .../drivers/p4runtime/P4RuntimeMeterProgrammable.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/P4RuntimeMeterProgrammable.java b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/P4RuntimeMeterProgrammable.java index 223089319d..8bb4fc7ad4 100644 --- a/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/P4RuntimeMeterProgrammable.java +++ b/drivers/p4runtime/src/main/java/org/onosproject/drivers/p4runtime/P4RuntimeMeterProgrammable.java @@ -50,6 +50,7 @@ import java.util.Optional; import java.util.Set; import java.util.concurrent.CompletableFuture; import java.util.concurrent.locks.Lock; +import java.util.stream.Collectors; import static com.google.common.base.Preconditions.checkNotNull; import static org.onosproject.p4runtime.api.P4RuntimeWriteClient.UpdateType; @@ -148,7 +149,10 @@ public class P4RuntimeMeterProgrammable extends AbstractP4RuntimeHandlerBehaviou } piMeterCellConfigs = client.read(p4DeviceId, pipeconf) - .meterCells(meterIds).submitSync().all(PiMeterCellConfig.class); + .meterCells(meterIds).submitSync().all(PiMeterCellConfig.class) + .stream() + .filter(piMeterCellConfig -> !piMeterCellConfig.isDefaultConfig()) + .collect(Collectors.toList()); meterMirror.sync(deviceId, piMeterCellConfigs);