[VOL-4282] Introduce PON-ID, [VOL-4281] Introduce mapping_label for ports

Change-Id: Id8011f654bd06eb2d042867e7dc243dfc7fa4f26
diff --git a/protos/dmi/hw.proto b/protos/dmi/hw.proto
index edc5bb9..d31f441 100644
--- a/protos/dmi/hw.proto
+++ b/protos/dmi/hw.proto
@@ -186,6 +186,23 @@
     Speed speed = 2;

     Protocol protocol = 3;

     string physical_label = 4;

+    // The mapping_label can be used to map ports between the DMI interface and other systems like VOLTHA

+    // The value of the mapping_label should be exactly the same as generated for the same port by the other

+    // system

+    string mapping_label = 5;

+    PonIdConfig pon_id_config = 6;

+}

+

+message PortComponentChangeAttributes {

+    PonIdConfig pon_id_config = 1;

+}

+

+message PonIdConfig {

+    // The pon_id and pon_id_transmit_periodicity attributes are valid only for ports of type GPON, XGPON and XGSPON

+    // For GPON pon_id is a 7 byte value

+    // For XGS-PON, it's a 32 bit value, should be encoded in the first 4 bytes of pon_id in network byte order

+    bytes pon_id = 1;

+    uint32 pon_id_transmit_periodicity = 2; // The value is in seconds and defaults to 1 second

 }

 

 message ContainerComponentAttributes{

@@ -299,4 +316,8 @@
     string asset_id = 6;

     Uri uri = 7;

     ComponentAdminState admin_state = 8;

+    // The attribute 'specific' can be populated for specific class of components

+    oneof specific {

+        PortComponentChangeAttributes port_attr = 50;

+    }

 }