X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=data-model%2Fyang%2Fpublished%2Fo-ran%2Fru-fh%2Fo-ran-transceiver%402022-12-05.yang;fp=data-model%2Fyang%2Fpublished%2Fo-ran%2Fru-fh%2Fo-ran-transceiver%402022-12-05.yang;h=8928facc0c69564e0b973d1f42901a3b003bff11;hb=5a4d5f6105bb5f5fcf3ba92d2e50346766f2f485;hp=0000000000000000000000000000000000000000;hpb=ee63226cb62a49d3e08f14a78280d9d8d2a56992;p=scp%2Foam%2Fmodeling.git diff --git a/data-model/yang/published/o-ran/ru-fh/o-ran-transceiver@2022-12-05.yang b/data-model/yang/published/o-ran/ru-fh/o-ran-transceiver@2022-12-05.yang new file mode 100644 index 0000000..8928fac --- /dev/null +++ b/data-model/yang/published/o-ran/ru-fh/o-ran-transceiver@2022-12-05.yang @@ -0,0 +1,592 @@ +module o-ran-transceiver { + yang-version 1.1; + namespace "urn:o-ran:transceiver:1.0"; + prefix "o-ran-transceiver"; + + import o-ran-interfaces { + prefix "o-ran-int"; + } + + import ietf-interfaces { + prefix "if"; + } + + organization "O-RAN Alliance"; + + contact + "www.o-ran.org"; + + description + "This module defines the operational state data for SFP transceivers used in + an O-RAN Radio Unit. + + Copyright 2019 the O-RAN Alliance. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS' + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + POSSIBILITY OF SUCH DAMAGE. + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the above disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the above disclaimer in the documentation + and/or other materials provided with the distribution. + * Neither the Members of the O-RAN Alliance nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission."; + + revision "2022-12-05" { + description + "version 11.0.0 + + 1) enable more than one interface to be accessible through a transceiver"; + + reference "ORAN-WG4.M.0-v11.00"; + } + + + revision "2022-08-15" { + description + "version 10.0.0 + + 1) introduced new SFP compliance codes and updated references"; + + reference "ORAN-WG4.M.0-v10.00"; + } + + revision "2021-12-01" { + description + "version 2.1.0 + + 1) typographical corrections in descriptions + 2) clarifying vendor name follows SFF 8472"; + + reference "ORAN-WG4.M.0-v02.00"; + } + + + revision "2019-07-03" { + description + "version 2.0.0 + + 1) introduction of reporting for QSFP. + 2) backward compatible changes to introduce groupings."; + + reference "ORAN-WG4.M.0-v02.00"; + } + + revision "2019-02-04" { + description + "version 1.0.0 + + 1) imported model from xRAN + 2) changed namespace and reference from xran to o-ran"; + + reference "ORAN-WG4.M.0-v01.00"; + } + + + // Groupings + + grouping transceiver-group { + description "a transceiver grouping"; + list port-transceiver-data { + key "interface-name port-number"; + description + "Data recovered from port transceivers. + A single entry in the list is created per transceiver."; + leaf interface-name { + type leafref { + path "/if:interfaces/if:interface/if:name"; + } + description + "Name of an interface accessible through the transceiver. + + If operating with a QSFP, then the interface corresponds + to an interface accessible through the lane/channel 1 of the QSFP. + + If more than one interface is accessible through the transceiver + or the lane/channel 1 of the QSFP, then O-RU arbitrarily chooses + the referenced interface instance."; + } + + leaf port-number { + type leafref { + path "/if:interfaces/if:interface[if:name = current()/../interface-name]" + "/o-ran-int:port-reference/o-ran-int:port-number"; + } + description + "A number which identifies a port. In case of SFP/SFP+ + port, port number value is 0 to N-1 where N is number of ports + in the device. Numbers 0 to N-1 are assigned to ports in order + following order of labels on the device (labels for ports are + not necessarily numbers starting from zero)"; + } + + leaf-list interface-names { + type leafref { + path "/if:interfaces/if:interface/if:name"; + } + description + "Names of all interfaces accessible through the transceiver. + + If operating with a QSFP, then the interfaces correspond + to all interfaces accessible through the lane/channel 1 of the QSFP. + + O-RU provides the values only if more than one interface is + accessible through the transceiver or the lane/channel 1 of the QSFP."; + } + + leaf name { + type string { + length "1..255"; + } + description + "A name that is unique across the O-RU that identifies a transceiver instance. + This name may be used in fault management to refer to a fault source + or affected object"; + } + + leaf present { + type boolean; + config false; + mandatory true; + description + "Indicates if pluggable transceiver module is present."; + } + + leaf vendor-id { + type string { + length 1..16; + } + config false; + description + "Name of the transceiver vendor Full name of transceiver vendor, + that contains ASCII characters, left-aligned with + any padding on the right with ASCII spaces (20h), or ASCII nul + (00h) removed, and ASCII less-than (3Ch) replaced with ASCII + open-brace (7Bh) and ASCII more-than (3Eh) replaced with ASCII + close-brace (7Dh). + + Optional node included when the NETCONF Server has determined + the vendor ID. When used, the content of this schema node + follows the definition of Vendor name field in SFF-8472."; + } + + leaf vendor-part { + type string { + length 1..16; + } + config false; + description + "Transceiver vendors part number, that contains ASCII characters, + left-aligned with any padding on the right with ASCII spaces + (20h), or ASCII nul (00h) removed, and ASCII less-than (3Ch) + replaced with ASCII open-brace (7Bh) and ASCII more-than (3Eh) + replaced with ASCII close-brace (7Dh). + + Optional node included when the NETCONF Server has determined + the vendor part number. When used, the content of this schema node + follows the definition of Vendor PN field in SFF-8472."; + } + + leaf vendor-rev { + type string { + length 1..2; + } + config false; + description + "Transceiver vendors revision number. 2-octet field that + contains ASCII characters. + + Optional node included when the NETCONF Server has determined + the vendor revision number. When used, the content of this schema + node follows the definition of Vendor Rev field in SFF-8472."; + } + + leaf serial-no { + type string { + length 1..16; + } + config false; + description + "Transceiver serial number encoded using ASCII characters, + left-aligned with any padding on the right with ASCII spaces + (20h), or ASCII nul (00h) removed, and ASCII less-than (3Ch) + replaced with ASCII open-brace (7Bh) and ASCII more-than (3Eh) + replaced with ASCII close-brace (7Dh). + + Optional node included when the NETCONF Server has determined + the serial number."; + } + + leaf SFF8472-compliance-code { + type enumeration { + enum diagnostics-undefined { + description "undefined compliance code"; + } + enum rev9.3-diagnostics { + description "diagnostics published 08-01-02"; + } + enum rev9.5-diagnostics{ + description "diagnostics published 06-01-04"; + } + enum rev10.2-diagnostics{ + description "diagnostics published 06-01-07"; + } + enum rev11.0-diagnostics{ + description "diagnostics published 05-21-10"; + } + enum rev11.3-diagnostics{ + description "diagnostics published 06-11-13"; + } + enum rev11.4-diagnostics{ + description "diagnostics published 07-24-14"; + } + enum rev12.0-diagnostics{ + status deprecated; + description + "diagnostics published 08-28-14 + Note: Deprecated as it does not exists in SFF-8472 v12.4"; + } + enum rev10.4-diagnostics{ + description "diagnostics published 30-01-09"; + } + enum rev12.3-diagnostics{ + description "diagnostics published 29-07-18"; + } + enum rev12.4-diagnostics{ + description "diagnostics published 31-03-21"; + } + } + config false; + description + "Indication of which feature set(s) are + implemented in the transceiver from Byte 94 of address A0h + https://members.snia.org/document/dl/25916 v12.4 + + Optional node included when the NETCONF Server has determined + the compliance code."; + + reference "https://members.snia.org/document/dl/25916"; + } + + leaf connector-type { + type enumeration { + enum unknown { + description "encoded as 00h in Table 4-3 of SFF-8024"; + } + enum subscrber-connector { + description "encoded as 01h in Table 4-3 of SFF-8024"; + } + enum fiber-jack { + description "encoded as 06h in Table 4-3 of SFF-8024"; + } + enum lucent-connector { + description "encoded as 07h in Table 4-3 of SFF-8024"; + } + enum mt-rj { + description "encoded as 08h in Table 4-3 of SFF-8024"; + } + enum multiple-optical { + description "encoded as 09h in Table 4-3 of SFF-8024"; + } + enum sg { + description "encoded as 0Ah in Table 4-3 of SFF-8024"; + } + enum optical-pigtail { + description "encoded as 0Bh in Table 4-3 of SFF-8024"; + } + enum multi-fiber-parralel-optic-1x12 { + description "encoded as 0Ch in Table 4-3 of SFF-8024"; + } + enum multi-fiber-parralel-optic-2x16 { + description "encoded as 0Dh in Table 4-3 of SFF-8024"; + } + enum hssdc_2{ + description "encoded as 20h in Table 4-3 of SFF-8024"; + } + enum copper-pigtail{ + description "encoded as 21h in Table 4-3 of SFF-8024"; + } + enum rj45{ + description "encoded as 22h in Table 4-3 of SFF-8024"; + } + enum no-separable-connector{ + description "encoded as 23h in Table 4-3 of SFF-8024"; + } + enum mxc-2x16{ + description "encoded as 24h in Table 4-3 of SFF-8024"; + } + } + config false; + // TOCHECK: Remove any enumerations which are not applicable + description + "Connector-type indicates the external optical or electrical cable + connector provided as the media interface as defined in the connector + types derived from table 4-3 in SFF-8024. + + Optional node included when the NETCONF Server has determined + the connector type."; + reference "https://ta.snia.org/higherlogic/ws/public/document?document_id=944"; + } + + leaf identifier { + type enumeration { + enum unknown { + description "encoded as 00h in Table 4-1 of SFF-8024"; + } + enum gbic { + description "encoded as 01h in Table 4-1 of SFF-8024"; + } + enum soldered { + description "encoded as 02h in Table 4-1 of SFF-8024"; + } + enum sfp { + description "encoded as 03h in Table 4-1 of SFF-8024"; + } + enum xbi { + description "encoded as 04h in Table 4-1 of SFF-8024"; + } + enum xenpack { + description "encoded as 05h in Table 4-1 of SFF-8024"; + } + enum xfp { + description "encoded as 06h in Table 4-1 of SFF-8024"; + } + enum xff { + description "encoded as 07h in Table 4-1 of SFF-8024"; + } + enum xfp-e { + description "encoded as 08h in Table 4-1 of SFF-8024"; + } + enum xpak { + description "encoded as 09h in Table 4-1 of SFF-8024"; + } + enum x2 { + description "encoded as 0Ah in Table 4-1 of SFF-8024"; + } + enum dwdm-sfp { + description "encoded as 0Bh in Table 4-1 of SFF-8024"; + } + enum qsfp { + description "encoded as 0Ch in Table 4-1 of SFF-8024"; + } + enum qsfp+ { + description "encoded as 0Dh in Table 4-1 of SFF-8024"; + } + } + config false; + description + "Connector identifier as defined in the identifier + types derived from table 4-1 in SFF-8024. + + Optional node included when the NETCONF Server has determined + the identifier type."; + reference "https://members.snia.org/document/dl/26423"; + } + + leaf nominal-bitrate { + type uint32; + config false; + description + "Nominal bitrate in Mb/s (10^6 bits per second). + If needed actual value is rounded to the nearest integer. + + Optional node included when the NETCONF Server has determined + the nominal bit rate."; + } + + leaf low-bitrate-margin { + type uint8; + config false; + description + "Minimum supported bitrate as percentage of nominal bitrate + below nominal bitrate. + + Optional node included when the NETCONF Server has determined + the low bit rate margin"; + } + + leaf high-bitrate-margin { + type uint8; + config false; + description + "Maximum supported bitrate as percentage of nominal bitrate + above nominal bitrate. + + Optional node included when the NETCONF Server has determined + the high bitrate margin."; + } + + leaf rx-power-type { + type enumeration { + enum oma { + description "oma = optical modulation amplitude"; + } + enum avp{ + description "avp = average power"; + } + } + config false; + description + "Received power measurement type + oma = optical modulation amplitude + avp = average power + + Optional node included when the NETCONF Server has determined + the rx power type."; + } + + leaf rx-power { + type decimal64{ + fraction-digits 4; + } + config false; + description + "Measured RX input power in mW. + + Optional node included when the NETCONF Server has determined + the measured RX power. + + If operating with QSFP, this power corresponds to that of + Lane/Channel 1."; + } + + leaf tx-power { + type decimal64{ + fraction-digits 4; + } + config false; + description + "Measured coupled TX output power in mW. + + Optional node included when the NETCONF Server has determined + the measured coupled TX power."; + } + + leaf tx-bias-current { + type decimal64{ + fraction-digits 4; + } + config false; + description + "Measured transmitter laser bias current in mA. + + Optional node included when the NETCONF Server has determined + the tx bias current. + + If operating with QSFP, this bias current corresponds to that of + Lane/Channel 1."; + } + + leaf voltage { + type decimal64{ + fraction-digits 4; + } + config false; + description + "Internally measured supply voltage in mV. + + Optional node included when the NETCONF Server has determined + the internally measured voltage."; + } + + leaf temperature { + type decimal64 { + fraction-digits 4; + } + config false; + description + "Internally measured module temperature in degrees Celsius. + + Optional node included when the NETCONF Server has determined + the temperature."; + } + + list additional-multi-lane-reporting { + when "(../identifier ='qsfp')or(../identifier ='qsfp+')"; + key lane; + config false; + description + "Additional reporting according to SFF8436 which specifies real time + channel monitoring for each transmit and receive channel and includes + optical input power and Tx bias current. "; + + leaf lane { + type uint8 { + range "2..4"; + } + description + "the specific lane/channel associated with the report parameters"; + } + leaf-list interface-names { + type leafref { + path "/if:interfaces/if:interface/if:name"; + } + description + "Names of all interfaces accessible through a particular lane/channel."; + } + leaf rx-power { + type decimal64{ + fraction-digits 4; + } + config false; + description + "Measured RX input power in mW. + + Optional node included when the NETCONF Server has determined + the measured RX power for a particular lane/channel + - see tabel 7-10 of SFF-8636."; + } + leaf tx-bias-current { + type decimal64{ + fraction-digits 4; + } + config false; + description + "Measured transmitter laser bias current in mA. + + Optional node included when the NETCONF Server has determined + the tx bias current for a particular lane/channel + - see tabel 7-10 of SFF-8636."; + } + leaf tx-power { + type decimal64{ + fraction-digits 4; + } + config false; + description + "Measured coupled TX output power in mW. + + Optional node included when the NETCONF Server has determined + the measured coupled TX power or a particular lane/channel + - see tabel 7010 of SFF-8636."; + } + } + } + + } + + // Top Level Container + + container port-transceivers { + description + "Container for Port transceiver information. + Leaf nodes providing parameters status and diagnostic + information for pluggable transceiver module (like SFP, + SFP+, SFP28)"; + + uses transceiver-group; + } +}