X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?a=blobdiff_plain;f=ntsimulator%2Fyang%2Fo-ran-transceiver.yang;fp=ntsimulator%2Fyang%2Fo-ran-transceiver.yang;h=312b11ef80b13a8dd0d09c6068a8590698976cb9;hb=29ce368a8b49cb41f3a1640581ff9958ea50ad8c;hp=0000000000000000000000000000000000000000;hpb=1d6c03fcfde03df735f82913ea795a75cd3068d9;p=sim%2Fo1-interface.git diff --git a/ntsimulator/yang/o-ran-transceiver.yang b/ntsimulator/yang/o-ran-transceiver.yang new file mode 100644 index 0000000..312b11e --- /dev/null +++ b/ntsimulator/yang/o-ran-transceiver.yang @@ -0,0 +1,396 @@ +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 "2019-03-07" { + description + "version 1.0.1 + + 1) backward compatible changes to introduce groupings."; + + reference "ORAN-WG4.M.0-v01.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 { + list port-transceiver-data { + key "interface-name port-number"; + description "data recovered from port transceivers"; + leaf interface-name { + type leafref { + path "/if:interfaces/if:interface/if:name"; + } + description "Name of interface"; + } + 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 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 transciever 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."; + } + + 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."; + } + + 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"; + } + + 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{ + description "diagnostics published 08-28-14"; + } + } + config false; + description + "Indication of which feature set(s) are + implemented in the transceiver from Byte 94 of address A0h + https://ta.snia.org/higherlogic/ws/public/download/294/SFF-8472.PDF + + Optional node included when the NETCONF Server has determined + the compliance code."; + + reference "https://ta.snia.org/higherlogic/ws/public/download/294/SFF-8472.PDF"; + } + + 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 nominal-bitrate { + type uint32; + config false; + description + "Nominal bitrate in Mb/s (10^6 bits per second). + If needed actual value is rounded to 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 + "Receieved 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."; + } + + 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."; + } + + 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 Celcius. + + Optional node included when the NETCONF Server has determined + the temperature."; + } + } + } + + // 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; + } +}