From b0cf0eaa2c50b4afb7fb9c9fd995dda96026601c Mon Sep 17 00:00:00 2001 From: tangjjia Date: Mon, 23 May 2022 08:52:43 +0000 Subject: [PATCH 1/6] Telemetry configuration YANG models --- .../an-inet-types@2020-09-22.yang | 284 +++++++ .../an-telemetry-ext@2020-11-05.yang | 199 +++++ .../an-telemetry-types@2020-09-22.yang | 85 ++ .../an-telemetry@2020-09-22.yang | 728 ++++++++++++++++++ 4 files changed, 1296 insertions(+) create mode 100644 Configuration Models/an-inet-types@2020-09-22.yang create mode 100644 Configuration Models/an-telemetry-ext@2020-11-05.yang create mode 100644 Configuration Models/an-telemetry-types@2020-09-22.yang create mode 100644 Configuration Models/an-telemetry@2020-09-22.yang diff --git a/Configuration Models/an-inet-types@2020-09-22.yang b/Configuration Models/an-inet-types@2020-09-22.yang new file mode 100644 index 0000000..165a501 --- /dev/null +++ b/Configuration Models/an-inet-types@2020-09-22.yang @@ -0,0 +1,284 @@ +module an-inet-types { + yang-version "1.1"; + namespace "urn:an:yang:an-inet-types"; + prefix "an-inet"; + + description + "This module contains a set of Internet address related + types for use in access network modules. + + Portions of this code were derived from IETF RFC 6021. + + This file is modified from openconfig-telemetry.yang, the original author of openconfig-telemetry.yang is OpenConfig, + OpenConfig holds the copyright of the original work. openconfig-telemetry.yang is licensed under the Apache License 2.0, + For details, please refer to https://www.openconfig.net/ and https://github.com/openconfig/public/blob/master/LICENSE"; + + revision "2020-09-22"; + + // IPv4 and IPv6 types. + + typedef ipv4-address { + type string { + pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' + + '25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' + + '[0-9]|25[0-5])'; + } + description + "An IPv4 address in dotted quad notation using the default + zone."; + } + + typedef ipv4-address-zoned { + type string { + pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' + + '25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' + + '[0-9]|25[0-5])(%[a-zA-Z0-9_]+)'; + } + description + "An IPv4 address in dotted quad notation. This type allows + specification of a zone index to disambiguate identical + address values. For link-local addresses, the index is + typically the interface index or interface name."; + } + + typedef ipv6-address { + type string { + pattern + // Must support compression through different lengths + // therefore this regexp is complex. + '(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,7}:|' + + '([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|' + + '([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|' + + '([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|' + + '([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|' + + '[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|' + + ':((:[0-9a-fA-F]{1,4}){1,7}|:)' + + ')'; + } + description + "An IPv6 address represented as either a full address; shortened + or mixed-shortened formats, using the default zone."; + } + + typedef ipv6-address-zoned { + type string { + pattern + // Must support compression through different lengths + // therefore this regexp is complex. + '(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,7}:|' + + '([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|' + + '([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|' + + '([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|' + + '([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|' + + '[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|' + + ':((:[0-9a-fA-F]{1,4}){1,7}|:)' + + ')(%[a-zA-Z0-9_]+)'; + } + description + "An IPv6 address represented as either a full address; shortened + or mixed-shortened formats. This type allows specification of + a zone index to disambiguate identical address values. For + link-local addresses, the index is typically the interface + index or interface name."; + } + + typedef ipv4-prefix { + type string { + pattern '(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' + + '25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' + + '[0-9]|25[0-5])/(([0-9])|([1-2][0-9])|(3[0-2]))'; + } + description + "An IPv4 prefix represented in dotted quad notation followed by + a slash and a CIDR mask (0 <= mask <= 32)."; + } + + typedef ipv6-prefix { + type string { + pattern + '(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,7}:|' + + '([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|' + + '([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|' + + '([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|' + + '([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|' + + '([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|' + + '[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|' + + ':((:[0-9a-fA-F]{1,4}){1,7}|:)' + + ')/(12[0-8]|1[0-1][0-9]|[1-9][0-9]|[0-9])'; + } + description + "An IPv6 prefix represented in full, shortened, or mixed + shortened format followed by a slash and CIDR mask + (0 <= mask <= 128)."; + } + + typedef ip-address { + type union { + type ipv4-address; + type ipv6-address; + } + description + "An IPv4 or IPv6 address with no prefix specified."; + } + + typedef ip-prefix { + type union { + type ipv4-prefix; + type ipv6-prefix; + } + description + "An IPv4 or IPv6 prefix."; + } + + typedef ip-version { + type enumeration { + enum UNKNOWN { + value 0; + description + "An unknown or unspecified version of the Internet + protocol."; + } + enum IPV4 { + value 4; + description + "The IPv4 protocol as defined in RFC 791."; + } + enum IPV6 { + value 6; + description + "The IPv6 protocol as defined in RFC 2460."; + } + } + description + "This value represents the version of the IP protocol. + Note that integer representation of the enumerated values + are not specified, and are not required to follow the + InetVersion textual convention in SMIv2."; + reference + "RFC 791: Internet Protocol + RFC 2460: Internet Protocol, Version 6 (IPv6) Specification + RFC 4001: Textual Conventions for Internet Network Addresses"; + } + + typedef domain-name { + type string { + length "1..253"; + pattern + '((([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.)*' + + '([a-zA-Z0-9_]([a-zA-Z0-9\-_]){0,61})?[a-zA-Z0-9]\.?)' + + '|\.'; + } + description + "The domain-name type represents a DNS domain name. + Fully quallified left to the models which utilize this type. + + Internet domain names are only loosely specified. Section + 3.5 of RFC 1034 recommends a syntax (modified in Section + 2.1 of RFC 1123). The pattern above is intended to allow + for current practice in domain name use, and some possible + future expansion. It is designed to hold various types of + domain names, including names used for A or AAAA records + (host names) and other records, such as SRV records. Note + that Internet host names have a stricter syntax (described + in RFC 952) than the DNS recommendations in RFCs 1034 and + 1123, and that systems that want to store host names in + schema nodes using the domain-name type are recommended to + adhere to this stricter standard to ensure interoperability. + + The encoding of DNS names in the DNS protocol is limited + to 255 characters. Since the encoding consists of labels + prefixed by a length bytes and there is a trailing NULL + byte, only 253 characters can appear in the textual dotted + notation. + + Domain-name values use the US-ASCII encoding. Their canonical + format uses lowercase US-ASCII characters. Internationalized + domain names MUST be encoded in punycode as described in RFC + 3492"; + } + + typedef host { + type union { + type ip-address; + type domain-name; + } + description + "The host type represents either an unzoned IP address or a DNS + domain name."; + } + + typedef as-number { + type uint32; + description + "A numeric identifier for an autonomous system (AS). An AS is a + single domain, under common administrative control, which forms + a unit of routing policy. Autonomous systems can be assigned a + 2-byte identifier, or a 4-byte identifier which may have public + or private scope. Private ASNs are assigned from dedicated + ranges. Public ASNs are assigned from ranges allocated by IANA + to the regional internet registries (RIRs)."; + reference + "RFC 1930 Guidelines for creation, selection, and registration + of an Autonomous System (AS) + RFC 4271 A Border Gateway Protocol 4 (BGP-4)"; + } + + typedef dscp { + type uint8 { + range "0..63"; + } + description + "A differentiated services code point (DSCP) marking within the + IP header."; + reference + "RFC 2474 Definition of the Differentiated Services Field + (DS Field) in the IPv4 and IPv6 Headers"; + } + + typedef ipv6-flow-label { + type uint32 { + range "0..1048575"; + } + description + "The IPv6 flow-label is a 20-bit value within the IPv6 header + which is optionally used by the source of the IPv6 packet to + label sets of packets for which special handling may be + required."; + reference + "RFC 2460 Internet Protocol, Version 6 (IPv6) Specification"; + } + + typedef port-number { + type uint16; + description + "A 16-bit port number used by a transport protocol such as TCP + or UDP."; + reference + "RFC 768 User Datagram Protocol + RFC 793 Transmission Control Protocol"; + } + + typedef uri { + type string; + description + "An ASCII-encoded Uniform Resource Identifier (URI) as defined + in RFC 3986."; + reference + "RFC 3986 Uniform Resource Identifier (URI): Generic Syntax"; + } + + typedef url { + type string; + description + "An ASCII-encoded Uniform Resource Locator (URL) as defined + in RFC 3986, section 1.1.3"; + reference + "RFC 3986, paragraph 1.1.3"; + } + +} diff --git a/Configuration Models/an-telemetry-ext@2020-11-05.yang b/Configuration Models/an-telemetry-ext@2020-11-05.yang new file mode 100644 index 0000000..813ecf8 --- /dev/null +++ b/Configuration Models/an-telemetry-ext@2020-11-05.yang @@ -0,0 +1,199 @@ +module an-telemetry-ext { + // namespace + namespace "urn:an:yang:an-telemetry-ext"; + + prefix "an-telemetry-ext"; + + import an-telemetry { + prefix an-telemetry; + } + + description "Data model which creates the condition for the telemetry."; + + revision 2020-11-05; + + grouping telemetry-sensor-path-condition-op-config { + description + "Parameters for a filter criterion."; + + leaf op-field{ + type string { + length "1..63"; + } + description + "Reference field in the filter criterion. Different paths support different reference fields."; + } + + leaf op-type{ + type enumeration { + enum eq { + value 0; + description + "Equal."; + } + enum gt { + value 1; + description + "Greater than."; + } + enum ge { + value 2; + description + "Greater than or equal."; + } + enum lt { + value 3; + description + "Less than."; + } + enum le { + value 4; + description + "Less than or equal."; + } + } + description + "Reference to the op-type of the filter criterion."; + } + + leaf op-value{ + type string { + length "1..63"; + } + description + "Comparison value of the filter criterion.For the actual value range, see the definition of op-field in the YANG model."; + } + + } + + grouping telemetry-sensor-path-filter-condition-config { + description + "Parameters for filter criteria."; + + container conditions { + description + "Top level container for filter criteria, including the filter information such as op-field, op-type, and op-value."; + + list condition { + key "op-field op-type op-value"; + max-elements "2"; + description + "List of filter criteria."; + + leaf "op-field" { + type leafref { + path "../config/op-field"; + } + description + "Reference to the op-field of the filter criterion."; + } + + leaf "op-type" { + type leafref { + path "../config/op-type"; + } + description + "Reference to the op-type of the filter criterion."; + } + + leaf "op-value" { + type leafref { + path "../config/op-value"; + } + description + "Comparison value of the filter criterion. Op-value must be an integer and the maximum value range is [0, 4294967295]. For the actual value range, see the definition of op-field in the YANG model."; + } + + container config { + description + "Configuration parameters for a filter criterion."; + uses telemetry-sensor-path-condition-op-config; + } + container state { + config false; + description + "State information for a filter criterion."; + uses telemetry-sensor-path-condition-op-config; + } + } + } + } + + grouping telemetry-sensor-path-filter-attribute-config { + description + "Configuration parameters relating to the configured name of the telemetry sensor path filter."; + + leaf name { + type string { + length "1..8"; + pattern "[A-Za-z0-9]+"; + } + description "Filter name for the telemetry sensor path filter."; + } + + leaf condition-relation{ + type enumeration { + enum and { + value 1; + description + "The relationship between filter criteria in a filter of a sampling path is and."; + } + enum or { + value 2; + description + "The relationship between filter criteria in a filter of a sampling path is or."; + } + } + default "and"; + description + "Relationship between filter criteria in a filter of a sampling path."; + } + } + + grouping telemetry-sensor-path-filter-config { + description + "Condition-based filtering's parameter of the sampling path. If the conditions are met, the data is reported."; + + container filters { + description + "Top level container for filters. If the filter criteria are met, sampled data is sent to a collector. A filter and heartbeat interval or redundancy suppression cannot be configured at the same time."; + + list filter { + key "name"; + max-elements "1"; + description + "Filter list of a sampling path."; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Filter name of a sampling path."; + } + + container config { + description + "Configuration parameters for a filter in a sampling path."; + uses telemetry-sensor-path-filter-attribute-config; + } + + container state { + config false; + description + "State information for a filter in a sampling path."; + uses telemetry-sensor-path-filter-attribute-config; + } + + uses telemetry-sensor-path-filter-condition-config; + } + } + } + + augment "/an-telemetry:telemetry-system/an-telemetry:sensor-groups/an-telemetry:sensor-group/an-telemetry:sensor-paths/an-telemetry:sensor-path"{ + description + "List of paths in the model which together comprise a sensor grouping. Filters for each path to exclude items are also provided."; + + uses telemetry-sensor-path-filter-config; + } +} diff --git a/Configuration Models/an-telemetry-types@2020-09-22.yang b/Configuration Models/an-telemetry-types@2020-09-22.yang new file mode 100644 index 0000000..34bf60d --- /dev/null +++ b/Configuration Models/an-telemetry-types@2020-09-22.yang @@ -0,0 +1,85 @@ +module an-telemetry-types { + yang-version "1.1"; + namespace "urn:an:yang:an-telemetry-types"; + + prefix "an-telemetry-types"; + + description + "This module defines type and identities used by the access network + telemetry model. + + This file is modified from openconfig-telemetry.yang, the original author of openconfig-telemetry.yang is OpenConfig, + OpenConfig holds the copyright of the original work. openconfig-telemetry.yang is licensed under the Apache License 2.0, + For details, please refer to https://www.openconfig.net/ and https://github.com/openconfig/public/blob/master/LICENSE"; + + revision "2020-09-22"; + + identity DATA_ENCODING_METHOD { + description + "Base identity for supported encoding for configuration and + operational state data"; + } + + identity ENC_XML { + base DATA_ENCODING_METHOD; + description + "XML encoding"; + } + + identity ENC_JSON_IETF { + base DATA_ENCODING_METHOD; + description + "JSON encoded based on IETF draft standard"; + reference + "draft-ietf-netmod-yang-json"; + } + + identity ENC_PROTO3 { + base DATA_ENCODING_METHOD; + description + "Protocol buffers v3"; + reference + "https://developers.google.com/protocol-buffers/docs/overview"; + } + + identity STREAM_PROTOCOL { + description "Base identity for a telemetry stream protocol"; + } + + identity STREAM_SSH { + base "STREAM_PROTOCOL"; + description + "Telemetry stream is carried over a SSH connection"; + } + + identity STREAM_GRPC { + base "STREAM_PROTOCOL"; + description + "Telemetry stream is carried over via the gRPC framework"; + } + + identity STREAM_UDP { + base "STREAM_PROTOCOL"; + description + "Telemetry stream is carried over via the UDP framework"; + } + + identity STREAM_JSON_RPC { + base "STREAM_PROTOCOL"; + description + "Telemetry stream is carried via the JSON-RPC framework"; + } + + identity STREAM_THRIFT_RPC { + base "STREAM_PROTOCOL"; + description + "Telemetry stream is carried via the Apache Thrift framework"; + } + + identity STREAM_WEBSOCKET_RPC { + base "STREAM_PROTOCOL"; + description + "Telemetry stream is carried by the WebSocket framework"; + } + // typedef statements +} diff --git a/Configuration Models/an-telemetry@2020-09-22.yang b/Configuration Models/an-telemetry@2020-09-22.yang new file mode 100644 index 0000000..ba185d3 --- /dev/null +++ b/Configuration Models/an-telemetry@2020-09-22.yang @@ -0,0 +1,728 @@ +module an-telemetry { + yang-version "1.1"; + namespace "urn:an:yang:an-telemetry"; + + prefix "an-telemetry"; + + import an-inet-types { + prefix an-inet; + } + import an-telemetry-types { + prefix an-telemetry-types; + } + + description + "Data model which creates the configuration for the telemetry + systems and functions on the device. + + This file is modified from openconfig-telemetry.yang, the original author of openconfig-telemetry.yang is OpenConfig, + OpenConfig holds the copyright of the original work. openconfig-telemetry.yang is licensed under the Apache License 2.0, + For details, please refer to https://www.openconfig.net/ and https://github.com/openconfig/public/blob/master/LICENSE"; + + revision "2020-09-22"; + + grouping telemetry-top { + description + "Top level grouping for telemetry configuration and operational + state data"; + + container telemetry-system { + description + "Top level configuration and state for the + device's telemetry system."; + + container sensor-groups { + description + "Top level container for sensor-groups."; + + list sensor-group { + key "sensor-group-id"; + description + "List of telemetry sensory groups on the local + system, where a sensor grouping represents a resuable + grouping of multiple paths and exclude filters."; + + leaf sensor-group-id { + type leafref { + path "../config/sensor-group-id"; + } + description + "Reference to the name or identifier of the + sensor grouping"; + } + + container config { + description + "Configuration parameters relating to the + telemetry sensor grouping"; + uses telemetry-sensor-group-config; + } + + container state { + config false; + description + "State information relating to the telemetry + sensor group"; + uses telemetry-sensor-group-config; + } + + container sensor-paths { + description + "Top level container to hold a set of sensor + paths grouped together"; + + list sensor-path { + key "path"; + description + "List of paths in the model which together + comprise a sensor grouping. Filters for each path + to exclude items are also provided."; + + leaf path { + type leafref { + path "../config/path"; + } + description + "Reference to the path of interest"; + } + + container config { + description + "Configuration parameters to configure a set + of data model paths as a sensor grouping"; + uses telemetry-sensor-path-config; + } + + container state { + config false; + description + "Configuration parameters to configure a set + of data model paths as a sensor grouping"; + uses telemetry-sensor-path-config; + } + } + } + } + } + + container destination-groups { + description + "Top level container for destination group configuration + and state."; + + list destination-group { + key "group-id"; + description + "List of destination-groups. Destination groups allow the + reuse of common telemetry destinations across the + telemetry configuration. An operator references a + set of destinations via the configurable + destination-group-identifier. + + A destination group may contain one or more telemetry + destinations"; + + leaf group-id { + type leafref { + path "../config/group-id"; + } + description + "Unique identifier for the destination group"; + } + + container config { + description + "Top level config container for destination groups"; + leaf group-id { + type string; + description + "Unique identifier for the destination group"; + } + } + + container state { + config false; + description + "Top level state container for destination groups"; + + leaf group-id { + type string; + description + "Unique identifier for destination group"; + } + } + + container destinations { + description + "The destination container lists the destination + information such as IP address and port of the + telemetry messages from the network element."; + list destination { + key "destination-address destination-port"; + description + "List of telemetry stream destinations"; + + leaf destination-address { + type leafref { + path "../config/destination-address"; + } + description + "Reference to the destination address of the + telemetry stream"; + } + + leaf destination-port { + type leafref { + path "../config/destination-port"; + } + description + "Reference to the port number of the stream + destination"; + } + + container config { + description + "Configuration parameters relating to + telemetry destinations"; + uses telemetry-stream-destination-config; + } + + container state { + config false; + description + "State information associated with + telemetry destinations"; + uses telemetry-stream-destination-config; + } + } + } + } + } + + container subscriptions { + description + "This container holds information for both persistent + and dynamic telemetry subscriptions."; + + container persistent-subscriptions { + description + "This container holds information relating to persistent + telemetry subscriptions. A persistent telemetry + subscription is configued locally on the device through + configuration, and is persistent across device restarts or + other redundancy changes."; + + list persistent-subscription { + key "name"; + description + "List of telemetry subscriptions. A telemetry + subscription consists of a set of collection + destinations, stream attributes, and associated paths to + state information in the model (sensor data)"; + + leaf name { + type leafref { + path "../config/name"; + } + description + "Reference to the identifier of the subscription + itself. The id will be the handle to refer to the + subscription once created"; + } + + container config { + description + "Config parameters relating to the telemetry + subscriptions on the local device"; + + uses telemetry-subscription-name-config; + uses telemetry-local-source-address-config; + uses telemetry-qos-marking-config; + uses telemetry-stream-protocol-config; + uses telemetry-stream-encoding-config; + } + + container state { + config false; + description + "State parameters relating to the telemetry + subscriptions on the local device"; + + uses telemetry-subscription-name-config; + uses telemetry-subscription-config; + uses telemetry-subscription-state; + uses telemetry-local-source-address-config; + uses telemetry-qos-marking-config; + uses telemetry-stream-protocol-config; + uses telemetry-stream-encoding-config; + } + + container sensor-profiles { + description + "A sensor profile is a set of sensor groups or + individual sensor paths which are associated with a + telemetry subscription. This is the source of the + telemetry data for the subscription to send to the + defined collectors."; + list sensor-profile { + key "sensor-group"; + description + "List of telemetry sensor groups used + in the subscription"; + + leaf sensor-group { + type leafref { + path "../config/sensor-group"; + } + description + "Reference to the telemetry sensor group name"; + } + + container config { + description + "Configuration parameters related to the sensor + profile for a subscription"; + uses telemetry-sensor-profile-config; + } + + container state { + config false; + description + "State information relating to the sensor profile + for a subscription"; + uses telemetry-sensor-profile-config; + } + } + } + + container destination-groups { + description + "A subscription may specify destination addresses. + If the subscription supplies destination addresses, + the network element will be the initiator of the + telemetry streaming, sending it to the destination(s) + specified. + + If the destination set is omitted, the subscription + preconfigures certain elements such as paths and + sample intervals under a specified subscription ID. + In this case, the network element will NOT initiate an + outbound connection for telemetry, but will wait for + an inbound connection from a network management + system. + + It is expected that the network management system + connecting to the network element will reference + the preconfigured subscription ID when initiating + a subscription."; + + list destination-group { + key "group-id"; + description + "Identifier of the previously defined destination + group"; + + leaf group-id { + type leafref { + path "../config/group-id"; + } + description + "The destination group id references a configured + group of destinations for the telemetry stream."; + } + + container config { + description + "Configuration parameters related to telemetry + destinations."; + + leaf group-id { + type leafref { + path "../../../../../../../destination-groups" + + "/destination-group/group-id"; + } + description + "The destination group id references a reusable + group of destination addresses and ports for + the telemetry stream."; + } + } + + container state { + config false; + description + "State information related to telemetry + destinations"; + + leaf group-id { + type leafref { + path "../../../../../../../destination-groups" + + "/destination-group/group-id"; + } + description + "The destination group id references a reusable + group of destination addresses and ports for + the telemetry stream."; + } + } + } + } + } + } + + container dynamic-subscriptions { + description + "This container holds information relating to dynamic + telemetry subscriptions. A dynamic subscription is + typically configured through an RPC channel, and does not + persist across device restarts, or if the RPC channel is + reset or otherwise torn down."; + + + list dynamic-subscription { + key "id"; + + config false; + description + "List representation of telemetry subscriptions that + are configured via an inline RPC, otherwise known + as dynamic telemetry subscriptions."; + + leaf id { + type leafref { + path "../state/id"; + } + + description + "Reference to the identifier of the subscription + itself. The id will be the handle to refer to the + subscription once created"; + } + + container state { + config false; + description + "State information relating to dynamic telemetry + subscriptions."; + + uses telemetry-subscription-config; + uses telemetry-stream-destination-config; + uses telemetry-stream-frequency-config; + uses telemetry-heartbeat-config; + uses telemetry-suppress-redundant-config; + uses telemetry-qos-marking-config; + uses telemetry-stream-protocol-config; + uses telemetry-stream-encoding-config; + } + + container sensor-paths { + description + "Top level container to hold a set of sensor + paths grouped together"; + + list sensor-path { + key "path"; + description + "List of paths in the model which together + comprise a sensor grouping. Filters for each path + to exclude items are also provided."; + + leaf path { + type leafref { + path "../state/path"; + } + description + "Reference to the path of interest"; + } + + container state { + config false; + description + "State information for a dynamic subscription's + paths of interest"; + uses telemetry-sensor-path-config; + } + } + } + } + } + } + } + } + + // identity statements + + // typedef statements + + // grouping statements + + grouping telemetry-sensor-path-config { + description + "Configuration parameters relating to the + grouping of data model paths comprising a + sensor grouping"; + leaf path { + type string; + description + "Path to a section of operational state of interest + (the sensor)."; + } + + leaf exclude-filter { + type string; + description + "Filter to exclude certain values out of the state + values"; + //May not be necessary. Could remove. + } + } + + grouping telemetry-heartbeat-config { + description + "Configuration parameters relating to the + heartbeat of the telemetry subscription"; + leaf heartbeat-interval { + type uint64; + description + "Maximum time interval in seconds that may pass + between updates from a device to a telemetry collector. + If this interval expires, but there is no updated data to + send (such as if suppress_updates has been configured), the + device must send a telemetry message to the collector."; + } + } + + grouping telemetry-suppress-redundant-config { + description + "Configuration parameters relating to suppression of + redundant upstream updates"; + leaf suppress-redundant { + type boolean; + description + "Boolean flag to control suppression of redundant + telemetry updates to the collector platform. If this flag is + set to TRUE, then the collector will only send an update at + the configured interval if a subscribed data value has + changed. Otherwise, the device will not send an update to + the collector until expiration of the heartbeat interval."; + } + } + + grouping telemetry-sensor-profile-config { + description + "Configuration parameters relating to the sensor groups + used in the sensor profile"; + leaf sensor-group { + type leafref { + path "../../../../../../../sensor-groups/sensor-group" + + "/config/sensor-group-id"; + } + description + "Reference to the sensor group which is used in the profile"; + } + uses telemetry-stream-subscription-config; + } + + grouping telemetry-stream-subscription-config { + description + "Configuration used when the sensor is a stream based sensor."; + + uses telemetry-stream-frequency-config; + uses telemetry-heartbeat-config; + uses telemetry-suppress-redundant-config; + + } + + grouping telemetry-qos-marking-config { + description + "Config parameters relating to the quality of service + marking on device generated telemetry packets"; + + leaf originated-qos-marking { + type an-inet:dscp; + description + "DSCP marking of packets generated by the telemetry + subsystem on the network device."; + } + } + + + grouping telemetry-sensor-group-config { + description + "Config parameters related to the sensor groups + on the device"; + leaf sensor-group-id { + type string; + description + "Name or identifier for the sensor group itself. + Will be referenced by other configuration specifying a + sensor group"; + } + } + + grouping telemetry-subscription-config { + description + "Configuration parameters relating to the telemetry + subscription"; + + leaf id { + type uint64; + description + "System generated identifer of the telemetry + subscription."; + } + } + + grouping telemetry-subscription-name-config { + description + "Configuration parameters relating to the configured + name of the telemetry subscription. The name is a user + configured string value which uniquely identifies the + subscription in the configuration database."; + + leaf name { + type string; + description + "User configured identifier of the telemetry + subscription. This value is used primarily for + subscriptions configured locally on the network + element."; + } + } + + grouping telemetry-subscription-state { + description + "State values for the telemetry subscription"; + //TODO add values + } + + grouping telemetry-stream-protocol-config { + description + "Configuration parameters relating to the + transport protocol carrying telemetry + data."; + + leaf protocol { + type identityref { + base an-telemetry-types:STREAM_PROTOCOL; + } + description + "Selection of the transport protocol for the telemetry + stream."; + } + } + + grouping telemetry-stream-encoding-config { + description + "Configuration parameters relating to the + encoding of telemetry data to and from the + network element. The encoding method controls + specifically the wire format of the telemetry + data, and also controls which RPC framework + may be in use to exchange telemetry data."; + + leaf encoding { + type identityref { + base an-telemetry-types:DATA_ENCODING_METHOD; + } + description + "Selection of the specific encoding or RPC framework + for telemetry messages to and from the network element."; + } + } + + grouping telemetry-stream-destination-config { + description + "Configuration parameters for the stream destinations"; + leaf destination-address { + type an-inet:ip-address; + description + "IP address of the telemetry stream destination"; + } + leaf destination-port { + type uint16; + description + "Protocol (udp or tcp) port number for the telemetry + stream destination"; + } + } + + grouping telemetry-stream-frequency-config { + description + "Config parameters for the frequency of updates to + the collector"; + leaf sample-interval { + type uint64; + description + " The accuracy of the collected data reported by the device +to the collector"; + } + } + + grouping telemetry-sensor-specification { + description + "Config related to creating telemetry sensor groups. A sensor + group is a related set of sensor paths and/or filters to + exclude items. A group is assigned a reusable identifer, so + it can be used in multiple telemetry subscriptions."; + list telemetry-sensor-group { + key "telemetry-sensor-group-id"; + description + "List of telemetry sensor groups"; + + leaf telemetry-sensor-group-id { + type string; + description + "The sensor group identifer is a reusable handle which + identifies a single sensor group. It is referenced from + the subscription configuration."; + } + uses telemetry-sensor-paths; + } + } + + grouping telemetry-sensor-paths { + description + "This grouping contains these paths to leaves or containers + in the data model which are the sources of telemetry + information."; + + list telemetry-sensor-paths { + key "telemetry-sensor-path"; + description + "A list of sensor paths and exclude filters which comprise + a sensor grouping"; + + leaf telemetry-sensor-path { + type string; + description + "The sensor path is a path to a portion of operational + state of interest in the data model"; + } + } + } + + + grouping telemetry-local-source-address-config { + description + "Config relating to the local source address for telemetry + messages"; + // TODO: Make this a reference to an interface. + leaf local-source-address { + type an-inet:ip-address; + description + "The IP address which will be the source of packets from + the device to a telemetry collector destination."; + } + } + + // data definition statements + + uses telemetry-top; + + // augment statements + + // rpc statements + + // notification statements +} -- GitLab From a02a47aee73fcac138b9e524fecc16a88aba87c4 Mon Sep 17 00:00:00 2001 From: tangjjia Date: Wed, 15 Jun 2022 07:26:57 +0000 Subject: [PATCH 2/6] Update Collection Models/Traffic Collection/an-epon-pm-onu-traffic.proto, Collection Models/Traffic Collection/an-gpon-pm-onu-traffic.proto, Collection Models/Traffic Collection/an-bb-queue-kpi.proto, Collection Models/Traffic Collection/an-bb-service-flow-kpi.proto, Collection Models/Traffic Collection/an-epon-pm-olt-traffic.proto, Collection Models/Traffic Collection/an-ethernet-kpi.proto, Collection Models/Traffic Collection/an-gpon-pm-olt-traffic.proto, Collection Models/Optical Link Information Collection/an-epon-pm-olt-transceivers.proto, Collection Models/Optical Link Information Collection/an-gpon-pm-olt-transceivers.proto, Collection Models/ONU Information Collection/an-epon-onu-transceivers.proto, Collection Models/ONU Information Collection/an-epon-pm-onu-local-info.proto, Collection Models/ONU Information Collection/an-gpon-onu-transceivers.proto, Collection Models/ONU Information Collection/an-gpon-pm-onu-local-info.proto, Collection Models/ONU Information Collection/an-epon-pm-onu-remote-info.proto, Collection Models/ONU Information Collection/an-gpon-pm-onu-remote-info.proto, Collection Models/ONU Information Collection/an-gpon-pm-onu-line-quality.proto files --- .../an-epon-onu-transceivers.proto | 31 ++++++ .../an-epon-pm-onu-local-info.proto | 25 +++++ .../an-epon-pm-onu-remote-info.proto | 28 +++++ .../an-gpon-onu-transceivers.proto | 31 ++++++ .../an-gpon-pm-onu-line-quality.proto | 49 ++++++++ .../an-gpon-pm-onu-local-info.proto | 25 +++++ .../an-gpon-pm-onu-remote-info.proto | 55 +++++++++ .../an-epon-pm-olt-transceivers.proto | 46 ++++++++ .../an-gpon-pm-olt-transceivers.proto | 46 ++++++++ .../Traffic Collection/an-bb-queue-kpi.proto | 43 +++++++ .../an-bb-service-flow-kpi.proto | 46 ++++++++ .../an-epon-pm-olt-traffic.proto | 104 +++++++++++++++++ .../an-epon-pm-onu-traffic.proto | 22 ++++ .../Traffic Collection/an-ethernet-kpi.proto | 79 +++++++++++++ .../an-gpon-pm-olt-traffic.proto | 105 ++++++++++++++++++ .../an-gpon-pm-onu-traffic.proto | 22 ++++ 16 files changed, 757 insertions(+) create mode 100644 Collection Models/ONU Information Collection/an-epon-onu-transceivers.proto create mode 100644 Collection Models/ONU Information Collection/an-epon-pm-onu-local-info.proto create mode 100644 Collection Models/ONU Information Collection/an-epon-pm-onu-remote-info.proto create mode 100644 Collection Models/ONU Information Collection/an-gpon-onu-transceivers.proto create mode 100644 Collection Models/ONU Information Collection/an-gpon-pm-onu-line-quality.proto create mode 100644 Collection Models/ONU Information Collection/an-gpon-pm-onu-local-info.proto create mode 100644 Collection Models/ONU Information Collection/an-gpon-pm-onu-remote-info.proto create mode 100644 Collection Models/Optical Link Information Collection/an-epon-pm-olt-transceivers.proto create mode 100644 Collection Models/Optical Link Information Collection/an-gpon-pm-olt-transceivers.proto create mode 100644 Collection Models/Traffic Collection/an-bb-queue-kpi.proto create mode 100644 Collection Models/Traffic Collection/an-bb-service-flow-kpi.proto create mode 100644 Collection Models/Traffic Collection/an-epon-pm-olt-traffic.proto create mode 100644 Collection Models/Traffic Collection/an-epon-pm-onu-traffic.proto create mode 100644 Collection Models/Traffic Collection/an-ethernet-kpi.proto create mode 100644 Collection Models/Traffic Collection/an-gpon-pm-olt-traffic.proto create mode 100644 Collection Models/Traffic Collection/an-gpon-pm-onu-traffic.proto diff --git a/Collection Models/ONU Information Collection/an-epon-onu-transceivers.proto b/Collection Models/ONU Information Collection/an-epon-onu-transceivers.proto new file mode 100644 index 0000000..52479a6 --- /dev/null +++ b/Collection Models/ONU Information Collection/an-epon-onu-transceivers.proto @@ -0,0 +1,31 @@ +syntax = "proto3"; +package an_epon_onu_transceivers; + +message EponOnuTransceivers { + message EponOnuTransceiver { + //The name of ONU. + string name = 1; + + //Received optical power.The unit is 0.01dBm. + int32 optical_unit_rx_power = 2; + + //Transmit optical power.The unit is 0.01dBm. + int32 optical_unit_tx_power = 3; + + //The current bias of the port.The unit is 0.01mA. + int32 optical_unit_laser_bias_current = 4; + + //The current temperature of the optical module.The unit is 0.01℃. + int32 optical_unit_temperature = 5; + + //The current voltage of the optical module.The unit is 0.01V. + int32 optical_unit_voltage = 6; + + // Optical module type.(0:unknown,1:gpon,2:xg-pon,3:xgs-pon,4:gpon-and-xgpon,5:gpon-and-xgspon,-1:invalid) + int32 module_type = 7; + + //Optical module subtype. + string module_sub_type = 8; + } + repeated EponOnuTransceiver epon_onu_transceiver = 1; +} diff --git a/Collection Models/ONU Information Collection/an-epon-pm-onu-local-info.proto b/Collection Models/ONU Information Collection/an-epon-pm-onu-local-info.proto new file mode 100644 index 0000000..6db5973 --- /dev/null +++ b/Collection Models/ONU Information Collection/an-epon-pm-onu-local-info.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; +package an_epon_pm_onu_local_info; + +message EponPmOnuLocalInfos { + message EponPmOnuLocalInfo { + ///The name of ONU. + string name = 1; + + //The optical power received by the OLT transceiver.The unit is 0.01dBm. + int32 olt_rx_power = 2; + + //The ONU online time.The unit is second. + uint32 online_duration = 3; + + //The last offline time of ONU.It is timestamp format. + uint32 last_down_time = 4; + + //The reason for last offline of ONU. + uint32 last_down_cause = 5; + + //The ONU status.(1-online,2-offline,255-invalid). + uint32 onu_status = 6; + } + repeated EponPmOnuLocalInfo epon_pm_onu_local_info = 1; +} diff --git a/Collection Models/ONU Information Collection/an-epon-pm-onu-remote-info.proto b/Collection Models/ONU Information Collection/an-epon-pm-onu-remote-info.proto new file mode 100644 index 0000000..c0411b5 --- /dev/null +++ b/Collection Models/ONU Information Collection/an-epon-pm-onu-remote-info.proto @@ -0,0 +1,28 @@ +syntax = "proto3"; +package an_epon_pm_onu_remote_info; + +message EponPmOnuRemoteInfos { + message EponPmOnuRemoteInfo { + //The name of ONU. + string name = 1; + + //Memory utilization of ONU.The unit is %. + uint32 mem_occup = 2; + + //CPU utilization of ONU.The unit is %. + uint32 cpu_occup = 3; + + //CPU temperature of ONU.The unit is ℃. + int32 cpu_temp = 4; + + //Number of packets sent by the ONU PON port. + uint64 onu_pon_send_packets = 5; + + //Number of packets received by the ONU PON port. + uint64 onu_pon_recv_packets = 6; + + //Number of error packets received by the ONU PON port. + uint64 onu_pon_recv_errors_packets = 7; + } + repeated EponPmOnuRemoteInfo epon_pm_onu_remote_info = 1; +} diff --git a/Collection Models/ONU Information Collection/an-gpon-onu-transceivers.proto b/Collection Models/ONU Information Collection/an-gpon-onu-transceivers.proto new file mode 100644 index 0000000..395d0a8 --- /dev/null +++ b/Collection Models/ONU Information Collection/an-gpon-onu-transceivers.proto @@ -0,0 +1,31 @@ +syntax = "proto3"; +package an_gpon_onu_transceivers; + +message GponOnuTransceivers { + message GponOnuTransceiver { + //The name of ONU. + string name = 1; + + //Received optical power.The unit is 0.01dBm. + int32 optical_unit_rx_power = 2; + + //Transmit optical power.The unit is 0.01dBm. + int32 optical_unit_tx_power = 3; + + //The current bias of the port.The unit is 0.01mA. + int32 optical_unit_laser_bias_current = 4; + + //The current temperature of the optical module.The unit is 0.01℃. + int32 optical_unit_temperature = 5; + + //The current voltage of the optical module.The unit is 0.01V. + int32 optical_unit_voltage = 6; + + // Optical module type.(0:unknown,1:gpon,2:xg-pon,3:xgs-pon,4:gpon-and-xgpon,5:gpon-and-xgspon,-1:invalid) + int32 module_type = 7; + + //Optical module subtype. + string module_sub_type = 8; + } + repeated GponOnuTransceiver gpon_onu_transceiver = 1; +} diff --git a/Collection Models/ONU Information Collection/an-gpon-pm-onu-line-quality.proto b/Collection Models/ONU Information Collection/an-gpon-pm-onu-line-quality.proto new file mode 100644 index 0000000..1af9f92 --- /dev/null +++ b/Collection Models/ONU Information Collection/an-gpon-pm-onu-line-quality.proto @@ -0,0 +1,49 @@ +syntax = "proto3"; +package an_gpon_pm_onu_line_quality; + +message GponPmOnuLineQualitys { + message GponPmOnuLineQuality { + //The name of ONU. + string name = 1; + + //The number of Loss of Frame of ONU indication (LOFi, Loss of Frame of ONU indication) alarms of the OLT for the ONU. GPON ONU is valid, XGPON ONU does not support. + uint32 lofi_alarm_count = 2; + + //The number of drift window (DOWi, Drift of Window of ONU) alarms after the ONU is started by the OLT. GPON/XGPON ONU valid. + uint32 dowi_alarm_count = 3; + + //The number of uplink frame delimitation errors after the ONU goes online. GPON ONU is valid, XGPON ONU does not support. + uint32 upstream_delimiter_error_count = 4; + + //After the ONU is started, the number of Bit-interleaved parity errors in the upstream frame. GPON/XGPON ONU is valid. + uint64 upstream_bip_error_count = 5; + + //After the ONU is started, the number of Bit-interleaved parity errors in the downstream frame. GPON ONU is valid, XGPON ONU does not support. + uint64 downstream_bip_error_count = 6; + + //Number of corrected blocks in upstream FEC (forward error correction) decoding. + uint64 upstream_fec_block = 7; + + // Number of uncorrected blocks in upstream FEC (forward error correction) decoding. + uint64 upstream_fec_error_block = 8; + + //The total number of corrected blocks in upstream FEC (forward error correction) decoding. + uint64 upstream_fec_total_block = 9; + + //Upstream FEC correction bytes. GPON/XGPON ONU is valid. + uint64 upstream_fec_byte = 10; + + //Upstream HEC (Header Error Code) error times. GPON/XGPON ONU is valid. + uint64 upstream_hec_error_count = 11; + + //Number of upstream GEM frames. + uint64 upstream_gem_count = 12; + + //Number of ONU LOSi (loss of signal) alarms. + uint32 losi_alarm_count = 13; + + //Number of ONU DGi (Dying Gasp) alarms. + uint32 dgi_alarm_count = 14; + } + repeated GponPmOnuLineQuality gpon_pm_onu_line_quality = 1; +} diff --git a/Collection Models/ONU Information Collection/an-gpon-pm-onu-local-info.proto b/Collection Models/ONU Information Collection/an-gpon-pm-onu-local-info.proto new file mode 100644 index 0000000..dd70f8f --- /dev/null +++ b/Collection Models/ONU Information Collection/an-gpon-pm-onu-local-info.proto @@ -0,0 +1,25 @@ +syntax = "proto3"; +package an_gpon_pm_onu_local_info; + +message GponPmOnuLocalInfos { + message GponPmOnuLocalInfo { + //The name of ONU. + string name = 1; + + //The optical power received by the OLT transceiver.The unit is 0.01dBm. + int32 olt_rx_power = 2; + + //The ONU online time.The unit is second. + uint32 online_duration = 3; + + //The last offline time of ONU.It is timestamp format. + uint32 last_down_time = 4; + + //The reason for last offline of ONU. + uint32 last_down_cause = 5; + + //The ONU status.(1-online,2-offline,255-invalid). + uint32 onu_status = 6; + } + repeated GponPmOnuLocalInfo gpon_pm_onu_local_info = 1; +} diff --git a/Collection Models/ONU Information Collection/an-gpon-pm-onu-remote-info.proto b/Collection Models/ONU Information Collection/an-gpon-pm-onu-remote-info.proto new file mode 100644 index 0000000..1c48ff6 --- /dev/null +++ b/Collection Models/ONU Information Collection/an-gpon-pm-onu-remote-info.proto @@ -0,0 +1,55 @@ +syntax = "proto3"; +package an_gpon_pm_onu_remote_info; + +message GponPmOnuRemoteInfos { + message GponPmOnuRemoteInfo { + //The name of ONU. + string name = 1; + + //Number of downstream FEC (forward error correction) corrected bytes. + uint64 ds_fec_corrected_bytes = 2; + + //Number of downstream FEC corrected words. + uint64 ds_fec_corrected_words = 3; + + //Number of downstream FEC uncorrected words. + uint64 ds_fec_uncorrected_words = 4; + + //The total number of downstream received code words. + uint64 ds_total_rx_code_words = 5; + + //Downstream FEC correction time. + uint32 ds_fec_seconds = 6; + + //Number of GEM HEC errors received by ONU. + uint64 xgpon_gem_hec_error_count = 7; + + //Number of discarded XG-PON GEM frames + uint64 xgpon_gem_key_error_count = 8; + + //Memory utilization of ONU.The unit is %. + uint32 mem_occup = 9; + + //CPU utilization of ONU.The unit is %. + uint32 cpu_occup = 10; + + //CPU temperature of ONU.The unit is ℃. + int32 cpu_temp = 11; + + //Number of packets sent by the ONU PON port. + uint64 onu_pon_send_packets = 12; + + //Number of packets received by the ONU PON port. + uint64 onu_pon_recv_packets = 13; + + //Number of error packets received by the ONU PON port. + uint64 onu_pon_recv_errors_packets = 14; + + //Number of packets discarded in all TCONT queues of the ONU. + uint64 tcont_queue_dropped_packets = 15; + + //Number of packets forwarded in all TCONT queues of the ONU. + uint64 tcont_queue_passing_packets = 16; + } + repeated GponPmOnuRemoteInfo gpon_pm_onu_remote_info = 1; +} diff --git a/Collection Models/Optical Link Information Collection/an-epon-pm-olt-transceivers.proto b/Collection Models/Optical Link Information Collection/an-epon-pm-olt-transceivers.proto new file mode 100644 index 0000000..4d1c353 --- /dev/null +++ b/Collection Models/Optical Link Information Collection/an-epon-pm-olt-transceivers.proto @@ -0,0 +1,46 @@ +syntax = "proto3"; +package an_epon_pm_olt_transceivers; + +message EponPmOltTransceivers { + message EponPmOltTransceiver { + //The name of EPON port. + string name = 1; + + //Optical module temperature.The uint is 0.01℃. + int32 temperature = 2; + + //Type of channel 1. The unit is 0.01V. + int32 supply_voltage = 3; + + //Type of channel 1. + int32 channel_1_type = 4; + + //Current transmit bias of channel 1.The unit is 0.01mA. + int32 channel_1_tx_bias = 5; + + //Transmit power of channel 1.The unit is 0.01dBm. + int32 channel_1_tx_power = 6; + + //Optical power at idle time of channel 1.The unit is 0.01dBm. + int32 channel_1_idle_rssi = 7; + + //Type of channel 2. + int32 channel_2_type = 8; + + //Current transmit bias of channel 2.The unit is 0.01mA. + int32 channel_2_tx_bias = 9; + + //Transmit power of channel 2.The unit is 0.01dBm. + int32 channel_2_tx_power = 10; + + //Optical power at idle time of channel 2.The unit is 0.01dBm. + int32 channel_2_idle_rssi = 11; + + //Optical module type.(0:unknown,1:gpon,2:xg-pon,3:xgs-pon,4:gpon-and-xgpon,5:gpon-and-xgspon,-1:invalid) + int32 module_type = 12; + + //Optical module subtype + string module_sub_type = 13; + } + repeated EponPmOltTransceiver epon_pm_olt_transceiver = 1; +} diff --git a/Collection Models/Optical Link Information Collection/an-gpon-pm-olt-transceivers.proto b/Collection Models/Optical Link Information Collection/an-gpon-pm-olt-transceivers.proto new file mode 100644 index 0000000..11267b7 --- /dev/null +++ b/Collection Models/Optical Link Information Collection/an-gpon-pm-olt-transceivers.proto @@ -0,0 +1,46 @@ +syntax = "proto3"; +package an_gpon_olt_transceivers; + +message GponOltTransceivers { + message GponOltTransceiver { + //The name of GPON port. + string name = 1; + + //Optical module temperature.The uint is 0.01℃. + int32 temperature = 2; + + //Type of channel 1. The unit is 0.01V. + int32 supply_voltage = 3; + + //Type of channel 1. + int32 channel_1_type = 4; + + //Current transmit bias of channel 1.The unit is 0.01mA. + int32 channel_1_tx_bias = 5; + + //Transmit power of channel 1.The unit is 0.01dBm. + int32 channel_1_tx_power = 6; + + //Optical power at idle time of channel 1.The unit is 0.01dBm. + int32 channel_1_idle_rssi = 7; + + //Type of channel 2. + int32 channel_2_type = 8; + + //Current transmit bias of channel 2.The unit is 0.01mA. + int32 channel_2_tx_bias = 9; + + //Transmit power of channel 2.The unit is 0.01dBm. + int32 channel_2_tx_power = 10; + + //Optical power at idle time of channel 2.The unit is 0.01dBm. + int32 channel_2_idle_rssi = 11; + + //Optical module type.(0:unknown,1:gpon,2:xg-pon,3:xgs-pon,4:gpon-and-xgpon,5:gpon-and-xgspon,-1:invalid) + int32 module_type = 12; + + //Optical module subtype + string module_sub_type = 13; + } + repeated GponOltTransceiver gpon_olt_transceiver = 1; +} diff --git a/Collection Models/Traffic Collection/an-bb-queue-kpi.proto b/Collection Models/Traffic Collection/an-bb-queue-kpi.proto new file mode 100644 index 0000000..ee7af22 --- /dev/null +++ b/Collection Models/Traffic Collection/an-bb-queue-kpi.proto @@ -0,0 +1,43 @@ +syntax = "proto3"; +package an_bb_queue_kpi; + +message QueueKpiRecords { + message QueueKpiRecord { + //Port name + string name = 1; + + //Channel number of the port + string channel = 2; + + //The index of the queue,which range is from 0 to 7. + uint32 index = 3; + + //Number of bytes forwarded by the queue. + uint64 pass_bytes = 4; + + //Number of packets forwarded by the queue. + uint64 pass_packets = 5; + + //Number of packets discarded (red traffic) by the queue. + uint64 drop_packets = 6; + + //Number of bytes of green traffic forwarded by the queue. + uint64 pass_green_bytes = 7; + + //Number of packets of green traffic forwarded by the queue. + uint64 pass_green_packets = 8; + + //Number of packets of green traffic discarded by the queue. + uint64 drop_green_packets = 9; + + //Number of bytes of yellow traffic forwarded by the queue. + uint64 pass_yellow_bytes = 10; + + //Number of packets of yellow traffic forwarded by the queue. + uint64 pass_yellow_packets = 11; + + //Number of packets of yellow traffic discarded by the queue. + uint64 drop_yellow_packets = 12; + } + repeated QueueKpiRecord queue_kpi_record = 1; +} diff --git a/Collection Models/Traffic Collection/an-bb-service-flow-kpi.proto b/Collection Models/Traffic Collection/an-bb-service-flow-kpi.proto new file mode 100644 index 0000000..933ee4a --- /dev/null +++ b/Collection Models/Traffic Collection/an-bb-service-flow-kpi.proto @@ -0,0 +1,46 @@ +syntax = "proto3"; +package an_bb_service_flow_kpi; + +message ServiceFlowKpiRecords { + message ServiceFlowKpiRecord { + //The name of service flow which means a flow identified by a VLAN ID + string name = 1; + + //The total number of packets dropped by the queue in the downstream direction. + uint64 downstream_flow_drop_cnt = 2; + + //The total number of packets passed through the queue in the downstream direction. + uint64 downstream_flow_pass_cnt = 3; + + //The maximum number of packets drop in a second-level queue in the downstream direction. + uint32 downstream_flow_drop_max = 4; + + //The minimum number of packets drop in a second-level queue in the downstream direction. + uint32 downstream_flow_drop_min = 5; + + //The maximum packet loss rate in seconds in the downstream queue.The unit is 10^-5. + uint32 downstream_flow_drop_rate_max = 6; + + //The minimum packet loss rate in seconds in the downstream queue.The unit is 10^-5. + uint32 downstream_flow_drop_rate_min = 7; + + //The minimum packet loss rate of the queue in the downstream direction in seconds. + uint32 downstream_flow_drop_seconds_cnt = 8; + + //The average rate in the downlink direction. + uint64 downstream_flow_pass_bytes = 9; + + //The average rate in the downlink direction. + uint32 downstream_mfr_avg = 10; + + //Bytes passed by the queue in the upstream direction. + uint64 upstream_pass_bytes = 11; + + //The total number of packets passed by the queue in the upstream direction. + uint64 upstream_pass_cnt = 12; + + //The total number of packets dropped by the queue in the upstream direction. + uint64 upstream_drop_cnt = 13; + } + repeated ServiceFlowKpiRecord service_flow_kpi_record = 1; +} diff --git a/Collection Models/Traffic Collection/an-epon-pm-olt-traffic.proto b/Collection Models/Traffic Collection/an-epon-pm-olt-traffic.proto new file mode 100644 index 0000000..3dc17a0 --- /dev/null +++ b/Collection Models/Traffic Collection/an-epon-pm-olt-traffic.proto @@ -0,0 +1,104 @@ +syntax = "proto3"; +package an_epon_pm_olt_traffic; + +message EponPmOltTraffics { + message EponPmOltTraffic { + //The name of EPON port. + string name = 1; + + //Ethernet frame bytes sent by the EPON port. + uint64 port_tx_bytes = 2; + + //Ethernet frame bytes received by the EPON port. + uint64 port_rx_bytes = 3; + + //Number of Ethernet packets sent by the EPON port. + uint64 port_tx_pkt = 4; + + //Number of Ethernet packets received by the EPON port. + uint64 port_rx_pkt = 5; + + //Packet loss statistics in the downlink queue of the EPON port. + uint64 port_tx_discard_pkt = 6; + + //Number of Ethernet packets (usually packets with errors in the MAC layer) discarded in the receiving direction of the EPON port. + uint64 port_rx_discard_pkt = 7; + + //Number of packets with CRC errors of Ethernet in the receiving direction of the EPON port. + uint64 port_rx_crc_error_pkt = 8; + + //Number of oversized Ethernet packets discarded in the receiving direction of the EPON port. + uint64 port_rx_oversized_discard_pkt = 9; + + //Number of undersized Ethernet packets (packet size is smaller than 64bytes and contains correct CRC) discarded in the receiving direction of the EPON port. + uint64 port_rx_undersized_discard_pkt = 10; + + //Number of Ethernet error packets received by the EPON port. + uint64 port_rx_error_pkt = 11; + + //Average transmit rate of the EPON port. The unit is kbps. + uint32 port_tx_rate = 12; + + //Average receive rate of the EPON port.The unit is kbps. + uint32 port_rx_rate = 13; + + //Peak transmit rate of the EPON port in seconds.The unit is kbps. + uint32 port_tx_peak_rate = 14; + + //Peak receive rate of the EPON port in seconds.The unit is kbps. + uint32 port_rx_peak_rate = 15; + } + repeated EponPmOltTraffic pm_olt_traffic = 1; +} +message EponPmOltChannelTraffics { + message EponPmOltChannelTraffic { + //The name of EPON port. + string name = 1; + + //The number of EPON port channel. + uint32 channel = 2; + + //Ethernet frame bytes sent by the EPON port. + uint64 port_tx_bytes = 3; + + //Ethernet frame bytes received by the EPON port. + uint64 port_rx_bytes = 4; + + //Number of Ethernet packets sent by the EPON port. + uint64 port_tx_pkt = 5; + + //Number of Ethernet packets received by the EPON port. + uint64 port_rx_pkt = 6; + + //Packet loss statistics in the downlink queue of the EPON port. + uint64 port_tx_discard_pkt = 7; + + //Number of Ethernet packets (usually packets with errors in the MAC layer) discarded in the receiving direction of the EPON port. + uint64 port_rx_discard_pkt = 8; + + //Number of packets with CRC errors of Ethernet in the receiving direction of the EPON port. + uint64 port_rx_crc_error_pkt = 9; + + //Number of oversized Ethernet packets discarded in the receiving direction of the EPON port. + uint64 port_rx_oversized_discard_pkt = 10; + + //Number of undersized Ethernet packets (packet size is smaller than 64bytes and contains correct CRC) discarded in the receiving direction of the EPON port. + uint64 port_rx_undersized_discard_pkt = 11; + + //Number of Ethernet error packets received by the EPON port. + uint64 port_rx_error_pkt = 12; + + //Average transmit rate of the EPON port. The unit is kbps. + uint32 port_tx_rate = 13; + + //Average receive rate of the EPON port.The unit is kbps. + uint32 port_rx_rate = 14; + + //Peak transmit rate of the EPON port in seconds.The unit is kbps. + uint32 port_tx_peak_rate = 15; + + //Peak receive rate of the EPON port in seconds.The unit is kbps. + uint32 port_rx_peak_rate = 16; + } + repeated EponPmOltChannelTraffic pm_olt_channel_traffic =1; +} diff --git a/Collection Models/Traffic Collection/an-epon-pm-onu-traffic.proto b/Collection Models/Traffic Collection/an-epon-pm-onu-traffic.proto new file mode 100644 index 0000000..85a89b0 --- /dev/null +++ b/Collection Models/Traffic Collection/an-epon-pm-onu-traffic.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; +package an_epon_pm_onu_traffic; + +message EponPmOnuTraffics { + message EponPmOnuTraffic { + //The name of ONU. + string name = 1; + + //Average transmit rate of the ONU.The unit is kbps. + uint32 tx_rate = 2; + + //Average receive rate of the ONU.The unit is kbps. + uint32 rx_rate = 3; + + //Peak transmit rate of the ONU in seconds,The unit is kbps + uint32 tx_peak_rate = 4; + + //Peak receive rate of the port in seconds.The unit is kbps + uint32 rx_peak_rate = 5; + } + repeated EponPmOnuTraffic epon_pm_onu_traffic = 1; +} diff --git a/Collection Models/Traffic Collection/an-ethernet-kpi.proto b/Collection Models/Traffic Collection/an-ethernet-kpi.proto new file mode 100644 index 0000000..dec4a9a --- /dev/null +++ b/Collection Models/Traffic Collection/an-ethernet-kpi.proto @@ -0,0 +1,79 @@ +syntax = "proto3"; +package an_ethernet_kpi; + +message EthernetPortKpiRecords { + message EthernetPortKpiRecord { + //The name pf Ethernet port. + string name = 1; + + //Ethernet frame bytes sent by the Ethernet port. + uint64 port_tx_bytes = 2; + + //Ethernet frame bytes received by the Ethernet port. + uint64 port_rx_bytes = 3; + + //Number of Ethernet packets sent by the Ethernet port. + uint64 port_tx_packets = 4; + + //Number of Ethernet packets received by the Ethernet port. + uint64 port_rx_packets = 5; + + //Packet loss statistics in the downlink queue of the Ethernet port. + uint64 port_tx_discard_packets = 6; + + //Number of Ethernet packets (usually packets with errors in the MAC layer) discarded in the receiving direction of the Ethernet port. + uint64 port_rx_discard_packets = 7; + + //Number of Ethernet packets with misalignment (packet size is between 64bytes and 1518bytes and contains wrong CRC and misalignment). + uint64 port_rx_alignment_error_packets = 8; + + //Number of packets with CRC errors of Ethernet in the sending direction of the Ethernet port. + uint64 port_tx_crc_error_packets = 9; + + //Number of packets with CRC errors of Ethernet in the receiving direction of the Ethernet port. + uint64 port_rx_crc_error_packets = 10; + + //Number of packets with CRC errors of Ethernet in the sending direction of the Ethernet port. + uint64 port_tx_oversized_packets = 11; + + //Number of oversized Ethernet packets discarded in the receiving direction of the Ethernet port. + uint64 port_rx_oversized_packets = 12; + + //Number of undersized Ethernet packets (packet size is smaller than 64bytes and contains correct CRC) discarded in the sending direction of the Ethernet port. + uint64 port_tx_undersized_packets = 13; + + //Number of undersized Ethernet packets (packet size is smaller than 64bytes and contains correct CRC) discarded in the receiving direction of the Ethernet port. + uint64 port_rx_undersized_packets = 14; + + //Number of fragment packets (packet size is smaller than 64bytes and contains wrong CRC) sent by the Ethernet port. + uint64 port_tx_fragment_packets = 15; + + //Number of fragment packets (packet size is smaller than 64bytes and contains wrong CRC) received by the Ethernet port. + uint64 port_rx_fragment_packets = 16; + + //Number of jabber packets (packet size is bigger than 9396bytes and contains wrong CRC) received by the Ethernet port. + uint64 port_tx_jabber_packets = 17; + + // Number of jabber packets (packet size is bigger than 9396bytes and contains wrong CRC) received by the Ethernet port. + uint64 port_rx_jabber_packets = 18; + + //Number of Ethernet error packets sent by the Ethernet port. + uint64 port_tx_error_packets = 19; + + //Number of Ethernet error packets received by the Ethernet port. + uint64 port_rx_error_packets = 20; + + //Average transmit rate of the Ethernet port. The unit is kbps. + uint64 port_tx_rate = 21; + + //Average receive rate of the Ethernet port.The unit is kbps. + uint64 port_rx_rate = 22; + + //Peak transmit rate of the Ethernet port in seconds.The unit is kbps. + uint64 port_tx_peak_rate = 23; + + //Peak receive rate of the Ethernet port in seconds.The unit is kbps. + uint64 port_rx_peak_rate = 24; + } + repeated EthernetPortKpiRecord ethernet_port_kpi_record = 1; +} diff --git a/Collection Models/Traffic Collection/an-gpon-pm-olt-traffic.proto b/Collection Models/Traffic Collection/an-gpon-pm-olt-traffic.proto new file mode 100644 index 0000000..3ca8fcd --- /dev/null +++ b/Collection Models/Traffic Collection/an-gpon-pm-olt-traffic.proto @@ -0,0 +1,105 @@ +syntax = "proto3"; +package an_gpon_pm_olt_traffic; + +message GponPmOltTraffics { + message GponPmOltTraffic { + //The name of GPON port. + string name = 1; + + //Ethernet frame bytes sent by the GPON port. + uint64 port_tx_bytes = 2; + + //Ethernet frame bytes received by the GPON port. + uint64 port_rx_bytes = 3; + + //Number of Ethernet packets sent by the GPON port. + uint64 port_tx_pkt = 4; + + //Number of Ethernet packets received by the GPON port. + uint64 port_rx_pkt = 5; + + //Packet loss statistics in the downlink queue of the GPON port. + uint64 port_tx_discard_pkt = 6; + + //Number of Ethernet packets (usually packets with errors in the MAC layer) discarded in the receiving direction of the GPON port. + uint64 port_rx_discard_pkt = 7; + + //Number of packets with CRC errors of Ethernet in the receiving direction of the GPON port. + uint64 port_rx_crc_error_pkt = 8; + + //Number of oversized Ethernet packets discarded in the receiving direction of the GPON port. + uint64 port_rx_oversized_discard_pkt = 9; + + //Number of undersized Ethernet packets (packet size is smaller than 64bytes and contains correct CRC) discarded in the receiving direction of the GPON port. + uint64 port_rx_undersized_discard_pkt = 10; + + //Number of Ethernet error packets received by the GPON port. + uint64 port_rx_error_pkt = 11; + + //Average transmit rate of the GPON port. The unit is kbps. + uint32 port_tx_rate = 12; + + //Average receive rate of the GPON port.The unit is kbps. + uint32 port_rx_rate = 13; + + //Peak transmit rate of the GPON port in seconds.The unit is kbps. + uint32 port_tx_peak_rate = 14; + + //Peak receive rate of the GPON port in seconds.The unit is kbps. + uint32 port_rx_peak_rate = 15; + } + + repeated gponPmOltTraffic pm_olt_traffic = 1; +} +message GponPmOltChannelTraffics { + message GponPmOltChannelTraffic { + //The name of GPON port. + string name = 1; + + //The number of GPON port channel. + uint32 channel = 2; + + //Ethernet frame bytes sent by the GPON port. + uint64 port_tx_bytes = 3; + + //Ethernet frame bytes received by the GPON port. + uint64 port_rx_bytes = 4; + + //Number of Ethernet packets sent by the GPON port. + uint64 port_tx_pkt = 5; + + //Number of Ethernet packets received by the GPON port. + uint64 port_rx_pkt = 6; + + //Packet loss statistics in the downlink queue of the GPON port. + uint64 port_tx_discard_pkt = 7; + + //Number of Ethernet packets (usually packets with errors in the MAC layer) discarded in the receiving direction of the GPON port. + uint64 port_rx_discard_pkt = 8; + + //Number of packets with CRC errors of Ethernet in the receiving direction of the GPON port. + uint64 port_rx_crc_error_pkt = 9; + + //Number of oversized Ethernet packets discarded in the receiving direction of the GPON port. + uint64 port_rx_oversized_discard_pkt = 10; + + //Number of undersized Ethernet packets (packet size is smaller than 64bytes and contains correct CRC) discarded in the receiving direction of the GPON port. + uint64 port_rx_undersized_discard_pkt = 11; + + //Number of Ethernet error packets received by the GPON port. + uint64 port_rx_error_pkt = 12; + + //Average transmit rate of the GPON port. The unit is kbps. + uint32 port_tx_rate = 13; + + //Average receive rate of the GPON port.The unit is kbps. + uint32 port_rx_rate = 14; + + //Peak transmit rate of the GPON port in seconds.The unit is kbps. + uint32 port_tx_peak_rate = 15; + + //Peak receive rate of the GPON port in seconds.The unit is kbps. + uint32 port_rx_peak_rate = 16; + } + repeated GponPmOltChannelTraffic pm_olt_channel_traffic =1; +} diff --git a/Collection Models/Traffic Collection/an-gpon-pm-onu-traffic.proto b/Collection Models/Traffic Collection/an-gpon-pm-onu-traffic.proto new file mode 100644 index 0000000..f9395ab --- /dev/null +++ b/Collection Models/Traffic Collection/an-gpon-pm-onu-traffic.proto @@ -0,0 +1,22 @@ +syntax = "proto3"; +package an_gpon_pm_onu_traffic; + +message GponPmOnuTraffics { + message GponPmOnuTraffic { + //The name of ONU. + string name = 1; + + //Average transmit rate of the ONU.The unit is kbps. + uint32 tx_rate = 2; + + //Average receive rate of the ONU.The unit is kbps. + uint32 rx_rate = 3; + + //Peak transmit rate of the ONU in seconds,The unit is kbps + uint32 tx_peak_rate = 4; + + //Peak receive rate of the port in seconds.The unit is kbps + uint32 rx_peak_rate = 5; + } + repeated GponPmOnuTraffic gpon_pm_onu_traffic = 1; +} \ No newline at end of file -- GitLab From 9b2a8304682f24ab29c9fca13f1ae554051085cc Mon Sep 17 00:00:00 2001 From: tangjjia Date: Fri, 17 Jun 2022 03:10:59 +0000 Subject: [PATCH 3/6] Update Collection Models/ONU Information Collection/ONU local information/an-gpon-pm-onu-line-quality.proto, Collection Models/ONU Information Collection/ONU local information/an-epon-pm-onu-local-info.proto, Collection Models/ONU Information Collection/ONU local information/an-gpon-pm-onu-local-info.proto, Collection Models/ONU Information Collection/ONU remote information/an-gpon-pm-onu-remote-info.proto, Collection Models/ONU Information Collection/ONU remote information/an-epon-onu-transceivers.proto, Collection Models/ONU Information Collection/ONU remote information/an-epon-pm-onu-remote-info.proto, Collection Models/ONU Information Collection/ONU remote information/an-gpon-onu-transceivers.proto files --- .../{ => ONU local information}/an-epon-pm-onu-local-info.proto | 0 .../{ => ONU local information}/an-gpon-pm-onu-line-quality.proto | 0 .../{ => ONU local information}/an-gpon-pm-onu-local-info.proto | 0 .../{ => ONU remote information}/an-epon-onu-transceivers.proto | 0 .../{ => ONU remote information}/an-epon-pm-onu-remote-info.proto | 0 .../{ => ONU remote information}/an-gpon-onu-transceivers.proto | 0 .../{ => ONU remote information}/an-gpon-pm-onu-remote-info.proto | 0 7 files changed, 0 insertions(+), 0 deletions(-) rename Collection Models/ONU Information Collection/{ => ONU local information}/an-epon-pm-onu-local-info.proto (100%) rename Collection Models/ONU Information Collection/{ => ONU local information}/an-gpon-pm-onu-line-quality.proto (100%) rename Collection Models/ONU Information Collection/{ => ONU local information}/an-gpon-pm-onu-local-info.proto (100%) rename Collection Models/ONU Information Collection/{ => ONU remote information}/an-epon-onu-transceivers.proto (100%) rename Collection Models/ONU Information Collection/{ => ONU remote information}/an-epon-pm-onu-remote-info.proto (100%) rename Collection Models/ONU Information Collection/{ => ONU remote information}/an-gpon-onu-transceivers.proto (100%) rename Collection Models/ONU Information Collection/{ => ONU remote information}/an-gpon-pm-onu-remote-info.proto (100%) diff --git a/Collection Models/ONU Information Collection/an-epon-pm-onu-local-info.proto b/Collection Models/ONU Information Collection/ONU local information/an-epon-pm-onu-local-info.proto similarity index 100% rename from Collection Models/ONU Information Collection/an-epon-pm-onu-local-info.proto rename to Collection Models/ONU Information Collection/ONU local information/an-epon-pm-onu-local-info.proto diff --git a/Collection Models/ONU Information Collection/an-gpon-pm-onu-line-quality.proto b/Collection Models/ONU Information Collection/ONU local information/an-gpon-pm-onu-line-quality.proto similarity index 100% rename from Collection Models/ONU Information Collection/an-gpon-pm-onu-line-quality.proto rename to Collection Models/ONU Information Collection/ONU local information/an-gpon-pm-onu-line-quality.proto diff --git a/Collection Models/ONU Information Collection/an-gpon-pm-onu-local-info.proto b/Collection Models/ONU Information Collection/ONU local information/an-gpon-pm-onu-local-info.proto similarity index 100% rename from Collection Models/ONU Information Collection/an-gpon-pm-onu-local-info.proto rename to Collection Models/ONU Information Collection/ONU local information/an-gpon-pm-onu-local-info.proto diff --git a/Collection Models/ONU Information Collection/an-epon-onu-transceivers.proto b/Collection Models/ONU Information Collection/ONU remote information/an-epon-onu-transceivers.proto similarity index 100% rename from Collection Models/ONU Information Collection/an-epon-onu-transceivers.proto rename to Collection Models/ONU Information Collection/ONU remote information/an-epon-onu-transceivers.proto diff --git a/Collection Models/ONU Information Collection/an-epon-pm-onu-remote-info.proto b/Collection Models/ONU Information Collection/ONU remote information/an-epon-pm-onu-remote-info.proto similarity index 100% rename from Collection Models/ONU Information Collection/an-epon-pm-onu-remote-info.proto rename to Collection Models/ONU Information Collection/ONU remote information/an-epon-pm-onu-remote-info.proto diff --git a/Collection Models/ONU Information Collection/an-gpon-onu-transceivers.proto b/Collection Models/ONU Information Collection/ONU remote information/an-gpon-onu-transceivers.proto similarity index 100% rename from Collection Models/ONU Information Collection/an-gpon-onu-transceivers.proto rename to Collection Models/ONU Information Collection/ONU remote information/an-gpon-onu-transceivers.proto diff --git a/Collection Models/ONU Information Collection/an-gpon-pm-onu-remote-info.proto b/Collection Models/ONU Information Collection/ONU remote information/an-gpon-pm-onu-remote-info.proto similarity index 100% rename from Collection Models/ONU Information Collection/an-gpon-pm-onu-remote-info.proto rename to Collection Models/ONU Information Collection/ONU remote information/an-gpon-pm-onu-remote-info.proto -- GitLab From dda3cce0eff9adf6f35485656d92a8fe1fb3701c Mon Sep 17 00:00:00 2001 From: tangjjia Date: Mon, 27 Jun 2022 09:43:27 +0000 Subject: [PATCH 4/6] Delete date. Avoid multiple revisions in develop branch. --- .../{an-inet-types@2020-09-22.yang => an-inet-types.yang} | 0 .../{an-telemetry-ext@2020-11-05.yang => an-telemetry-ext.yang} | 0 ...an-telemetry-types@2020-09-22.yang => an-telemetry-types.yang} | 0 .../{an-telemetry@2020-09-22.yang => an-telemetry.yang} | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename Configuration Models/{an-inet-types@2020-09-22.yang => an-inet-types.yang} (100%) rename Configuration Models/{an-telemetry-ext@2020-11-05.yang => an-telemetry-ext.yang} (100%) rename Configuration Models/{an-telemetry-types@2020-09-22.yang => an-telemetry-types.yang} (100%) rename Configuration Models/{an-telemetry@2020-09-22.yang => an-telemetry.yang} (100%) diff --git a/Configuration Models/an-inet-types@2020-09-22.yang b/Configuration Models/an-inet-types.yang similarity index 100% rename from Configuration Models/an-inet-types@2020-09-22.yang rename to Configuration Models/an-inet-types.yang diff --git a/Configuration Models/an-telemetry-ext@2020-11-05.yang b/Configuration Models/an-telemetry-ext.yang similarity index 100% rename from Configuration Models/an-telemetry-ext@2020-11-05.yang rename to Configuration Models/an-telemetry-ext.yang diff --git a/Configuration Models/an-telemetry-types@2020-09-22.yang b/Configuration Models/an-telemetry-types.yang similarity index 100% rename from Configuration Models/an-telemetry-types@2020-09-22.yang rename to Configuration Models/an-telemetry-types.yang diff --git a/Configuration Models/an-telemetry@2020-09-22.yang b/Configuration Models/an-telemetry.yang similarity index 100% rename from Configuration Models/an-telemetry@2020-09-22.yang rename to Configuration Models/an-telemetry.yang -- GitLab From fed5bb9fa7a55f835292d23e3d3f0c8f70a3aea6 Mon Sep 17 00:00:00 2001 From: Marcus Date: Mon, 3 Oct 2022 17:41:35 +0200 Subject: [PATCH 5/6] contribution 0204 adding text on how to contribute, changes in theREADME file, and the addition of the LICINSE file --- How to Contribute/Contributing.jpg | Bin 0 -> 82626 bytes How to Contribute/Releasing.jpg | Bin 0 -> 117531 bytes How to Contribute/contribution_process_F5G.md | 69 ++++++++++++++++++ LICENSE | 23 ++++++ README.md | 1 + 5 files changed, 93 insertions(+) create mode 100644 How to Contribute/Contributing.jpg create mode 100644 How to Contribute/Releasing.jpg create mode 100644 How to Contribute/contribution_process_F5G.md create mode 100644 LICENSE diff --git a/How to Contribute/Contributing.jpg b/How to Contribute/Contributing.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5da908dab3e97e9bf176b642b737e557a501cbb1 GIT binary patch literal 82626 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 literal 0 HcmV?d00001 diff --git a/How to Contribute/Releasing.jpg b/How to Contribute/Releasing.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1f2fdc1475d6a29aa782aa3fa7525924edf7dc37 GIT binary patch literal 117531 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 Date: Mon, 3 Oct 2022 18:16:24 +0200 Subject: [PATCH 6/6] changed README --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 9b937c8..f1971a0 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,6 @@ The project is agreed as F5G Work Item #16 and can be found in the ETSI ISG F5G # How to contribute -The process on how to contribute and have the documents and the software contributions in sync are shown in [How to Contritbute](./How\ to\ Contribute.md) -ETSI Forge uses Gitlab to manage submissions to the repository. -For more information on setting up your environment and contributing, you may refer to the [ETSI Forge wiki](https://forge.etsi.org/wiki/index.php/Main_Page). +The process on how to contribute and have the documents and the software contributions in sync are shown in [How to Contritbute](./How\ to\ Contribute/contribution_process_F5G.md) + +ETSI Forge uses Gitlab to manage submissions to the repository. For more information on setting up your environment and contributing, you may refer to the [ETSI Forge wiki](https://forge.etsi.org/wiki/index.php/Main_Page). -- GitLab