openBackhaul / synchronization

Synchronization model according to ITU-T G.7721-2018
Apache License 2.0
1 stars 0 forks source link

Mandatory Attributes #49

Open PrathibaJee opened 1 year ago

PrathibaJee commented 1 year ago

The latest UML2YANG tool will include mandatory substatement to attributes that has "Multiplicity 1 + no default values defined". The following attributes will be mandatory in the upcoming YANG.

class attribute Mandatory Optional
object-creation-notification created-object X 1)
object-deletion-notification deleted-object X 1)
attribute-value-changed-notification changed-attribute X 1)
clock-spec layer-protocol-name X 1)
ptp-sync-pac ptp-transparent-clock-default-dataset 2)
external-time-port-dataset grand-master-identity 2)
external-time-port-dataset time-source 2)

1) Thorsten Heinze: In my opinion, this is necessary for the model to function properly. 2) Thorsten Heinze: Must be evaluated by a technology-specific expert.

openBackhaul commented 1 year ago

Decision made during the 5G-xhaul call on 26th of July 2023:

The attributes marked as "Mandatory" shall stick with multiplicity [1].

The attributes marked as "Optional" shall change to multiplicity [0..1].

class attribute Mandatory Optional
object-creation-notification created-object X
object-deletion-notification deleted-object X
attribute-value-changed-notification changed-attribute X
clock-spec layer-protocol-name X
ptp-sync-pac ptp-transparent-clock-default-dataset n.a. 1) n.a.
external-time-port-dataset grand-master-identity X
external-time-port-dataset time-source X

1) Will be replaced by a container

The following default values shall be assigned to the "Optional" attributes:

PrathibaJee commented 1 year ago

As per RFC 6020 (section 7.15), "If the target node is in another module, then nodes added by the augmentation MUST NOT be mandatory nodes.”

Since , clock-spec/layer-protocol-name is augmented to the clock in the same module( to synchronization:clock-collection/synchronization:clock) , making layer-protocol-name mandatory will not be a problem.

augment "/core-model:control-construct/synchronization:clock-collection/synchronization:clock" {
    uses clock-spec;
    description
      "none";
  }

Verified : no error in the Pyang output