ONOS-7078 Fixed inconsistencies when encoding/decoding P4Runtime msgs

Now P4InfoBrowser permits looking up entities by name only, not alias.
Applications should use names as defined in the P4Info when
creating PI IDs (e.g. PiCounterId). However, to avoid breaking support
with BMv2-based pipeline models, when referring to header fields in
tables, i.e. match fields, application should drop any scope identifier
from field names, e.g. "hdr.ethernet.src_addr" should be referred by
applications as "ethernet.src_addr". Such inconsistency will be fixed
with ONOS-7066.

Change-Id: I4d6dceadd233a293b845dba84e62a49680ac930b
diff --git a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiHeaderFieldId.java b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiHeaderFieldId.java
index 6af08ef..99f7e75 100644
--- a/core/api/src/main/java/org/onosproject/net/pi/runtime/PiHeaderFieldId.java
+++ b/core/api/src/main/java/org/onosproject/net/pi/runtime/PiHeaderFieldId.java
@@ -26,6 +26,10 @@
  */
 public final class PiHeaderFieldId extends Identifier<String> {
 
+    // FIXME: this abstraction is brittle and we should drop any string-composition logic.
+    // e.g. in P4_14 there is no scope for match fields.
+    // In light of ONOS-7066, the best solution seems to have IDs defined as arbitrary
+    // strings equal to the entity names defined in the P4Info.
     private final String headerName;
     private final String fieldName;
     private final int index;