Add digest to P4InfoBrowser
Change-Id: Ie79b61d2ecfc5a52c8b027a5384b86a555623db7
(cherry picked from commit 08be25533d09c3ba8023f4d34e07f4555d6013aa)
diff --git a/protocols/p4runtime/utils/src/main/java/org/onosproject/p4runtime/ctl/utils/P4InfoBrowser.java b/protocols/p4runtime/utils/src/main/java/org/onosproject/p4runtime/ctl/utils/P4InfoBrowser.java
index 0b5e610..c220050 100644
--- a/protocols/p4runtime/utils/src/main/java/org/onosproject/p4runtime/ctl/utils/P4InfoBrowser.java
+++ b/protocols/p4runtime/utils/src/main/java/org/onosproject/p4runtime/ctl/utils/P4InfoBrowser.java
@@ -23,6 +23,7 @@
import p4.config.v1.P4InfoOuterClass.ActionProfile;
import p4.config.v1.P4InfoOuterClass.ControllerPacketMetadata;
import p4.config.v1.P4InfoOuterClass.Counter;
+import p4.config.v1.P4InfoOuterClass.Digest;
import p4.config.v1.P4InfoOuterClass.DirectCounter;
import p4.config.v1.P4InfoOuterClass.DirectMeter;
import p4.config.v1.P4InfoOuterClass.MatchField;
@@ -56,6 +57,7 @@
private final Map<Integer, EntityBrowser<MatchField>> matchFields = Maps.newHashMap();
private final Map<Integer, EntityBrowser<ControllerPacketMetadata.Metadata>> ctrlPktMetadatasMetadata =
Maps.newHashMap();
+ private final EntityBrowser<Digest> digests = new EntityBrowser<>("digest");
private final Map<String, Boolean> isTypeString = Maps.newHashMap();
/**
@@ -118,6 +120,9 @@
entity.getMetadataList().forEach(m -> metadataBrowser.add(m.getName(), null, m.getId(), m));
ctrlPktMetadatasMetadata.put(ctrlPktMetadataId, metadataBrowser);
});
+
+ p4info.getDigestsList().forEach(
+ entity -> digests.addWithPreamble(entity.getPreamble(), entity));
p4info.getTypeInfo().getNewTypesMap().forEach(
(s, p4NewTypeSpec) ->
isTypeString.put(s,
@@ -199,6 +204,15 @@
}
/**
+ * Returns a browser for digests.
+ *
+ * @return digest browser
+ */
+ public EntityBrowser<Digest> digests() {
+ return digests;
+ }
+
+ /**
* Returns a browser for params of the given action.
*
* @param actionId action identifier