<groupId>org.o-ran-sc.oam-oam-controller.distribution</groupId>
<artifactId>sdnr-distribution</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>SDNR distribution</name>
<properties>
<base.sdnc.image.repo>nexus3.onap.org:10001/onap/sdnc-image:2.6.0</base.sdnc.image.repo>
- <base.image.repo>eclipse-temurin:21.0.5_11-jdk-alpine</base.image.repo>
+ <base.image.repo>eclipse-temurin:21.0.9_10-jdk-alpine</base.image.repo>
<image.repo>10.20.6.10:30000</image.repo>
<image.name>o-ran-sc/oam-oam-controller/sdnr-image</image.name>
- <image.version>14.0.0-SNAPSHOT</image.version>
- <odl.karaf.version>0.21.2</odl.karaf.version>
- <odl.aaa.version>0.20.8</odl.aaa.version>
- <odl.ops4j.version>8.0.27</odl.ops4j.version>
- <sdnr.features.version>14.0.0-SNAPSHOT</sdnr.features.version>
+ <image.version>14.0.1-SNAPSHOT</image.version>
+ <odl.karaf.version>0.22.1</odl.karaf.version>
+ <odl.aaa.version>0.21.2</odl.aaa.version>
+ <odl.ops4j.version>8.0.33</odl.ops4j.version>
+
+ <sdnr.features.version>${project.version}</sdnr.features.version>
<sdnr.feature.groupid>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</sdnr.feature.groupid>
<sdnr.feature.repopath>system/org/o-ran-sc/oam-oam-controller/features/sdnr/wt</sdnr.feature.repopath>
<sdnr.project.version>${project.version}</sdnr.project.version>
<docker.release.registry>nexus3.o-ran-sc.org:10002</docker.release.registry>
<docker.snapshot.registry>nexus3.o-ran-sc.org:10003</docker.snapshot.registry>
<docker.pull.registry>nexus3.o-ran-sc.org:10001</docker.pull.registry>
- <!-- <docker.push.registry>nexus3.o-ran-sc.org:10003</docker.push.registry> -->
+ <!-- <docker.push.registry>nexus3.o-ran-sc.org:10003</docker.push.registry> -->
</properties>
<distributionManagement>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
- <execution>
+ <execution>
<id>copy-with-alternalte-repo-2</id>
<phase>generate-sources</phase>
<goals>
<overWriteSnapshots>true</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
- </execution>
+ </execution>
</executions>
</plugin>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>iana-crypt-hash</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>ietf-alarms</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>openroadm-pm-types</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-common-yang</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>rfc7317-ietf-system</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>rfc8341</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-test-yang</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath />
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-yang-utils</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-common</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<modelVersion>4.0.0</modelVersion>
<parent>
- <groupId>org.onap.ccsdk.parent.scandium.sr2</groupId>
+ <groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>2.0.0-SNAPSHOT</version>
+ <version>14.0.0-SNAPSHOT</version>
<relativePath/>
</parent>
- <groupId>org.onap.ccsdk.features.sdnr.wt.scandium.sr2</groupId>
+ <groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-common</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>14.0.0-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-data-provider-dblib</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-data-provider-feature</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-data-provider-installer</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>installed-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-data-provider-model</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-data-provider-top</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-data-provider-provider</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
if (onapCCSDKVersion == null) {
return def;
}
+
+ if (onapCCSDKVersion.startsWith("14.0.")) {
+ return "N-Release";
+ }
+ if (onapCCSDKVersion.startsWith("3.1.")) {
+ return "ONAP Quebec";
+ }
+ if (onapCCSDKVersion.startsWith("3.0.")) {
+ return "ONAP Paris";
+ }
if (onapCCSDKVersion.startsWith("2.8.")) {
return "ONAP Oslo";
}
}
if(odlMdsalVersionLUT==null) {
odlMdsalVersionLUT = new HashMap<>();
+ odlMdsalVersionLUT.put("14.0.18","titanium-SR1 (0.22.1)");
+ odlMdsalVersionLUT.put("14.0.13","titanium-SR0 (0.22.0)");
+ // odlMdsalVersionLUT.put("14.0.18","scandium-SR3 (0.21.3)");
odlMdsalVersionLUT.put("14.0.11","scandium-SR2 (0.21.2)");
odlMdsalVersionLUT.put("14.0.4","scandium-SR1 (0.21.1)");
odlMdsalVersionLUT.put("14.0.2","scandium-SR0 (0.21.0)");
}
public static String getOnapVersion(String baseOdlDirectory, String def) {
- return getFeatureVersionByFolder(baseOdlDirectory, "system/org/onap/sdnc/northbound/sdnc-northbound-all/", def);
+ return getFeatureVersionByFolder(baseOdlDirectory, "system/org/o-ran-sc/oam-oam-controller/features/sdnr/wt/sdnr-wt-devicemanager-core-feature/", def);
}
public static String getMdSalVersion(String baseOdlDirectory, String def) {
{
"version-info":{
- "ONAP-release":"{release-name}",
- "ONAP-release-version":"{release-version}",
+ "Release":"{release-name}",
+ "Release-version":"{release-version}",
"Opendaylight-release":"{odl-version}",
- "ONAP-CCSDK-version":"{ccsdk-version}",
+ "CCSDK-version":"{ccsdk-version}",
"Build-timestamp":"{build-time}",
"Yangtools-version":"{yangtools-version}",
"MD-SAL-version":"{mdsal-version}",
## Version Info
| | |
| --- | ----- |
-| ONAP release | {release-name} |
-| ONAP release version | {release-version} |
+| Release | {release-name} |
+| Release version | {release-version} |
| Opendaylight release | {odl-version} |
-| ONAP CCSDK version | {ccsdk-version} |
+| CCSDK version | {ccsdk-version} |
| Build timestamp | {build-time} |
| Yangtools version | {yangtools-version} |
| MD-SAL version | {mdsal-version} |
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-data-provider-setup</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-devicemanager-core-feature</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-devicemanager-core-installer</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-devicemanager-core-model</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<build>
<plugins>
+ <plugin>
+ <groupId>org.jsonschema2pojo</groupId>
+ <artifactId>jsonschema2pojo-maven-plugin</artifactId>
+ <version>1.2.1</version>
+ <executions>
+ <execution>
+ <id>generate-onap-stddfn-models</id>
+ <goals>
+ <goal>generate</goal>
+ </goals>
+ <configuration>
+ <sourcePaths>${project.basedir}/src/main/resources</sourcePaths>
+ <targetPackage>org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves
+ </targetPackage>
+ <generateBuilders>true</generateBuilders>
+ <includeTypeInfo>false</includeTypeInfo>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
import org.eclipse.jdt.annotation.NonNull;
import org.onap.ccsdk.features.sdnr.wt.common.configuration.ConfigurationFileRepresentation;
import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfNodeStateService;
import org.onap.ccsdk.features.sdnr.wt.websocketmanager.model.WebsocketManagerService;
public interface DeviceManagerServiceProvider {
/** @return Get VES Collector Service for publishing VES messages to the VES Collector */
@NonNull
VESCollectorService getVESCollectorService();
+
+ @NonNull
+ NetconfNodeStateService getNetconfNodeStateService();
}
import com.fasterxml.jackson.core.JsonProcessingException;
import org.eclipse.jdt.annotation.NonNull;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESFaultFieldsPOJO;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESMessage;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESNotificationFieldsPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESPNFRegistrationFieldsPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESStndDefinedFieldsPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.FaultFields;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.NotificationFields;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.PnfRegistrationFields;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.StndDefinedFields;
+
/**
* Interface used for publishing VES messages to the VES Collector
* @param vesMsg
* @return
*/
- boolean publishVESMessage(VESMessage vesMsg);
+ boolean publishVESMessage(VESMessage vesMsg) throws JsonProcessingException;
/**
* clients interested in VES Collector configuration changes can call the registerForChanges method so as to be notified when configuration changes are made
* @return VESMessage - representing the VESEvent JSON
* @throws JsonProcessingException
*/
- VESMessage generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader, VESNotificationFieldsPOJO notifFields) throws JsonProcessingException;
+ VESMessage generateVESEvent(CommonEventHeader commonEventHeader, NotificationFields notifFields) throws JsonProcessingException;
/**
* Generates VES Event JSON containing commonEventHeader and faultFields fields
* @return VESMessage - representing the VES Event JSON
* @throws JsonProcessingException
*/
- VESMessage generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader, VESFaultFieldsPOJO faultFields) throws JsonProcessingException;
+ VESMessage generateVESEvent(CommonEventHeader commonEventHeader, FaultFields faultFields) throws JsonProcessingException;
/**
* Generates VES Event JSON containing commonEventHeader and pnfRegistration fields
* @return VESMessage - representing the VES Event JSON
* @throws JsonProcessingException
*/
- VESMessage generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader, VESPNFRegistrationFieldsPOJO faultFields) throws JsonProcessingException;
+ VESMessage generateVESEvent(CommonEventHeader commonEventHeader, PnfRegistrationFields faultFields) throws JsonProcessingException;
/**
* Generates VES Event JSON containing commonEventHeader and stndDefined fields
* @return VESMessage - representing the VES Event JSON
* @throws JsonProcessingException
*/
- VESMessage generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader, VESStndDefinedFieldsPOJO stndDefinedFields) throws JsonProcessingException;
+ VESMessage generateVESEvent(CommonEventHeader commonEventHeader, StndDefinedFields stndDefinedFields) throws JsonProcessingException;
}
*/
package org.onap.ccsdk.features.sdnr.wt.devicemanager.types;
-public class VESMessage {
+import com.fasterxml.jackson.annotation.JsonInclude;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.Event;
- private String message;
- public VESMessage(String vesMessage) {
- this.message = vesMessage;
- }
+@Getter
+@Setter
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+@JsonInclude(JsonInclude.Include.NON_NULL)
+public class VESMessage {
- public String getMessage() {
- return message;
- }
+ private Event event;
}
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.util;
+
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Domain;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Priority;
+
+public class Constants {
+
+ public static final Domain VES_DOMAIN = Domain.NOTIFICATION;
+ public static final Priority VES_PRIORITY = Priority.NORMAL;
+ public static final String VES_CHANGETYPE = "ConnectionState";
+
+
+}
--- /dev/null
+/*
+ * ============LICENSE_START=======================================================
+ * ONAP : ccsdk features
+ * ================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ *
+ */
+package org.onap.ccsdk.features.sdnr.wt.devicemanager.util;
+
+import java.time.Instant;
+import lombok.AllArgsConstructor;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorCfgService;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESMessage;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Domain;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Priority;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.Event;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.NotificationFields;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev241009.ConnectionOper.ConnectionStatus;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+@AllArgsConstructor
+public class MountpointStateVESMessageFormatter {
+
+ private static final Logger LOG = LoggerFactory.getLogger(MountpointStateVESMessageFormatter.class);
+
+ public static final String NODE_CHANGE_LEAVE_CONNECTED = "Unmounted";
+ public static final String NODE_CHANGE_REMOVED = "Removed";
+ static int sequenceNo = 0;
+ private final String reportingEntityId;
+ private final String reportingEntityName;
+
+ public MountpointStateVESMessageFormatter(VESCollectorCfgService cfg) {
+ this(cfg.getReportingEntityId(), cfg.getReportingEntityName());
+ }
+
+ private static void incrSequenceNo() {
+ sequenceNo++;
+ }
+
+ private int getSequenceNo() {
+ return sequenceNo;
+ }
+
+ public VESMessage createVESMessage(String nodeId, ConnectionStatus connectionStatus) {
+ return this.createVESMessage(nodeId, connectionStatus, java.time.Clock.systemUTC().instant());
+ }
+ public VESMessage createVESMessage(String nodeId, String connectionStatus) {
+ return this.createVESMessage(nodeId, connectionStatus, java.time.Clock.systemUTC().instant());
+ }
+ public VESMessage createVESMessage(String nodeId, ConnectionStatus connectionStatus, Instant timestamp) {
+ return this.createVESMessage(nodeId, connectionStatus.toString(), timestamp);
+ }
+
+ public VESMessage createVESMessage(String nodeId, String connectionStatus, Instant timestamp) {
+
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("format to VES from {}, {}, {}", nodeId, connectionStatus, timestamp);
+ }
+
+ MountpointStateVESMessageFormatter.incrSequenceNo();
+
+ CommonEventHeader vesCommonEventHeader = createVESCommonEventHeader(nodeId, connectionStatus.toString(),
+ timestamp);
+ NotificationFields vesNotificationFields = createVESNotificationFields(nodeId, connectionStatus.toString());
+
+ return VESMessage.builder().event(new Event().withCommonEventHeader(vesCommonEventHeader)
+ .withNotificationFields(vesNotificationFields)).build();
+
+ }
+
+ private NotificationFields createVESNotificationFields(String nodeId, String connectionStatus) {
+ return new NotificationFields()
+ .withChangeIdentifier(nodeId)
+ .withChangeType(Constants.VES_CHANGETYPE)
+ .withNewState(connectionStatus);
+ }
+
+ private CommonEventHeader createVESCommonEventHeader(String nodeId, String connectionStatus, Instant timestamp) {
+
+ return new CommonEventHeader()
+ .withDomain(Domain.NOTIFICATION)
+ .withEventId(nodeId + "_" + connectionStatus + "_" + getSequenceNo())
+ .withEventName(nodeId + "_" + connectionStatus + "_" + getSequenceNo())
+ .withSourceName(nodeId)
+ .withPriority(Priority.NORMAL)
+ .withReportingEntityId(this.reportingEntityId)
+ .withReportingEntityName(this.reportingEntityName)
+ .withSequence(getSequenceNo())
+ .withLastEpochMicrosec(timestamp.toEpochMilli() * 1000.0)
+ .withStartEpochMicrosec(timestamp.toEpochMilli() * 1000.0);
+
+ }
+}
--- /dev/null
+{
+ "$schema": "http://json-schema.org/draft-04/schema#",
+ "title": "VES Event Listener Common Event Format",
+ "type": "object",
+ "properties": {
+ "event": {
+ "$ref": "#/definitions/event"
+ },
+ "eventList": {
+ "$ref": "#/definitions/eventList"
+ }
+ },
+ "definitions": {
+ "schemaHeaderBlock": {
+ "description": "schema date, version, author and associated API",
+ "type": "object",
+ "properties": {
+ "associatedApi": {
+ "description": "VES Event Listener",
+ "type": "string"
+ },
+ "lastUpdatedBy": {
+ "description": "damian.nowak@nokia.com",
+ "type": "string"
+ },
+ "schemaDate": {
+ "description": "Jan 04, 2021",
+ "type": "string"
+ },
+ "schemaVersion": {
+ "description": "30.2.1",
+ "type": "number"
+ }
+ }
+ },
+ "schemaLicenseAndCopyrightNotice": {
+ "description": "Copyright (c) 2020, AT&T Intellectual Property. All rights reserved. Modification Copyright (c) 2021, Nokia Solutions and Networks.",
+ "type": "object",
+ "properties": {
+ "apacheLicense2.0": {
+ "description": "Licensed under the Apache License, Version 2.0 (the 'License'); you may not use this file except in compliance with the License. You may obtain a copy of the License at:",
+ "type": "string"
+ },
+ "licenseUrl": {
+ "description": "http://www.apache.org/licenses/LICENSE-2.0",
+ "type": "string"
+ },
+ "asIsClause": {
+ "description": "Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an 'AS IS' BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.",
+ "type": "string"
+ },
+ "permissionsAndLimitations": {
+ "description": "See the License for the specific language governing permissions and limitations under the License.",
+ "type": "string"
+ }
+ }
+ },
+ "arrayOfJsonObject": {
+ "description": "array of json objects described by name, schema and other meta-information",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/jsonObject"
+ }
+ },
+ "arrayOfNamedHashMap": {
+ "description": "array of named hashMaps",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/namedHashMap"
+ }
+ },
+ "codecsInUse": {
+ "description": "number of times an identified codec was used over the measurementInterval",
+ "type": "object",
+ "properties": {
+ "codecIdentifier": {
+ "type": "string"
+ },
+ "numberInUse": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "codecIdentifier",
+ "numberInUse"
+ ]
+ },
+ "commonEventHeader": {
+ "description": "fields common to all events",
+ "type": "object",
+ "properties": {
+ "domain": {
+ "description": "the eventing domain associated with the event",
+ "type": "string",
+ "enum": [
+ "fault",
+ "heartbeat",
+ "measurement",
+ "mobileFlow",
+ "notification",
+ "other",
+ "perf3gpp",
+ "pnfRegistration",
+ "sipSignaling",
+ "stateChange",
+ "stndDefined",
+ "syslog",
+ "thresholdCrossingAlert",
+ "voiceQuality"
+ ]
+ },
+ "eventId": {
+ "description": "event key that is unique to the event source",
+ "type": "string"
+ },
+ "eventName": {
+ "description": "unique event name",
+ "type": "string"
+ },
+ "eventType": {
+ "description": "for example - applicationNf, guestOS, hostOS, platform",
+ "type": "string"
+ },
+ "internalHeaderFields": {
+ "$ref": "#/definitions/internalHeaderFields"
+ },
+ "lastEpochMicrosec": {
+ "description": "the latest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds",
+ "type": "number"
+ },
+ "nfcNamingCode": {
+ "description": "3 character network function component type, aligned with vfc naming standards",
+ "type": "string"
+ },
+ "nfNamingCode": {
+ "description": "4 character network function type, aligned with nf naming standards",
+ "type": "string"
+ },
+ "nfVendorName": {
+ "description": "network function vendor name",
+ "type": "string"
+ },
+ "priority": {
+ "description": "processing priority",
+ "type": "string",
+ "enum": [
+ "High",
+ "Medium",
+ "Normal",
+ "Low"
+ ]
+ },
+ "reportingEntityId": {
+ "description": "UUID identifying the entity reporting the event, for example an OAM VM; must be populated by the ATT enrichment process",
+ "type": "string"
+ },
+ "reportingEntityName": {
+ "description": "name of the entity reporting the event, for example, an EMS name; may be the same as sourceName",
+ "type": "string"
+ },
+ "sequence": {
+ "description": "ordering of events communicated by an event source instance or 0 if not needed",
+ "type": "integer"
+ },
+ "sourceId": {
+ "description": "UUID identifying the entity experiencing the event issue; must be populated by the ATT enrichment process",
+ "type": "string"
+ },
+ "sourceName": {
+ "description": "name of the entity experiencing the event issue",
+ "type": "string"
+ },
+ "startEpochMicrosec": {
+ "description": "the earliest unix time aka epoch time associated with the event from any component--as microseconds elapsed since 1 Jan 1970 not including leap seconds",
+ "type": "number"
+ },
+ "stndDefinedNamespace": {
+ "description": "Standards organization defined event namespace; expected usage includes event routing by the event listener",
+ "type": "string"
+ },
+ "timeZoneOffset": {
+ "description": "UTC offset for the local time zone of the device as UTC+/-hh.mm",
+ "type": "string"
+ },
+ "version": {
+ "description": "version of the event header",
+ "type": "string",
+ "enum": [
+ "4.0",
+ "4.0.1",
+ "4.1",
+ "3"
+ ]
+ },
+ "vesEventListenerVersion": {
+ "description": "version of the VES Event Listener API",
+ "type": "string",
+ "enum": [
+ "7.0",
+ "7.0.1",
+ "7.1",
+ "7.1.1",
+ "7.2",
+ "7.2.1"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "domain",
+ "eventId",
+ "eventName",
+ "lastEpochMicrosec",
+ "priority",
+ "reportingEntityName",
+ "sequence",
+ "sourceName",
+ "startEpochMicrosec",
+ "version",
+ "vesEventListenerVersion"
+ ]
+ },
+ "counter": {
+ "description": "performance counter",
+ "type": "object",
+ "properties": {
+ "criticality": {
+ "type": "string",
+ "enum": [
+ "CRIT",
+ "MAJ"
+ ]
+ },
+ "hashMap": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "thresholdCrossed": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "criticality",
+ "hashMap",
+ "thresholdCrossed"
+ ]
+ },
+ "cpuUsage": {
+ "description": "usage of an identified CPU",
+ "type": "object",
+ "properties": {
+ "cpuCapacityContention": {
+ "description": "the amount of time the CPU cannot run due to contention, in milliseconds over the measurementInterval",
+ "type": "number"
+ },
+ "cpuDemandAvg": {
+ "description": "the total CPU time that the NF/NFC/VM could use if there was no contention, in milliseconds over the measurementInterval",
+ "type": "number"
+ },
+ "cpuDemandMhz": {
+ "description": "CPU demand in megahertz",
+ "type": "number"
+ },
+ "cpuDemandPct": {
+ "description": "CPU demand as a percentage of the provisioned capacity",
+ "type": "number"
+ },
+ "cpuIdentifier": {
+ "description": "cpu identifer",
+ "type": "string"
+ },
+ "cpuIdle": {
+ "description": "percentage of CPU time spent in the idle task",
+ "type": "number"
+ },
+ "cpuLatencyAvg": {
+ "description": "percentage of time the VM is unable to run because it is contending for access to the physical CPUs",
+ "type": "number"
+ },
+ "cpuOverheadAvg": {
+ "description": "the overhead demand above available allocations and reservations, in milliseconds over the measurementInterval",
+ "type": "number"
+ },
+ "cpuSwapWaitTime": {
+ "description": "swap wait time. in milliseconds over the measurementInterval",
+ "type": "number"
+ },
+ "cpuUsageInterrupt": {
+ "description": "percentage of time spent servicing interrupts",
+ "type": "number"
+ },
+ "cpuUsageNice": {
+ "description": "percentage of time spent running user space processes that have been niced",
+ "type": "number"
+ },
+ "cpuUsageSoftIrq": {
+ "description": "percentage of time spent handling soft irq interrupts",
+ "type": "number"
+ },
+ "cpuUsageSteal": {
+ "description": "percentage of time spent in involuntary wait which is neither user, system or idle time and is effectively time that went missing",
+ "type": "number"
+ },
+ "cpuUsageSystem": {
+ "description": "percentage of time spent on system tasks running the kernel",
+ "type": "number"
+ },
+ "cpuUsageUser": {
+ "description": "percentage of time spent running un-niced user space processes",
+ "type": "number"
+ },
+ "cpuWait": {
+ "description": "percentage of CPU time spent waiting for I/O operations to complete",
+ "type": "number"
+ },
+ "percentUsage": {
+ "description": "aggregate cpu usage of the virtual machine on which the xNFC reporting the event is running",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "cpuIdentifier",
+ "percentUsage"
+ ]
+ },
+ "diskUsage": {
+ "description": "usage of an identified disk",
+ "type": "object",
+ "properties": {
+ "diskBusResets": {
+ "description": "number of bus resets over the measurementInterval",
+ "type": "number"
+ },
+ "diskCommandsAborted": {
+ "description": "number of disk commands aborted over the measurementInterval",
+ "type": "number"
+ },
+ "diskCommandsAvg": {
+ "description": "average number of commands per second over the measurementInterval",
+ "type": "number"
+ },
+ "diskFlushRequests": {
+ "description": "total flush requests of the disk cache over the measurementInterval",
+ "type": "number"
+ },
+ "diskFlushTime": {
+ "description": "milliseconds spent on disk cache flushing over the measurementInterval",
+ "type": "number"
+ },
+ "diskIdentifier": {
+ "description": "disk identifier",
+ "type": "string"
+ },
+ "diskIoTimeAvg": {
+ "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the average over the measurement interval",
+ "type": "number"
+ },
+ "diskIoTimeLast": {
+ "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the last value measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskIoTimeMax": {
+ "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the maximum value measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskIoTimeMin": {
+ "description": "milliseconds spent doing input/output operations over 1 sec; treat this metric as a device load percentage where 1000ms matches 100% load; provide the minimum value measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskMergedReadAvg": {
+ "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the average measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskMergedReadLast": {
+ "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the last value measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskMergedReadMax": {
+ "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the maximum value measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskMergedReadMin": {
+ "description": "number of logical read operations that were merged into physical read operations, e.g., two logical reads were served by one physical disk access; provide the minimum value measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskMergedWriteAvg": {
+ "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the average measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskMergedWriteLast": {
+ "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the last value measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskMergedWriteMax": {
+ "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the maximum value measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskMergedWriteMin": {
+ "description": "number of logical write operations that were merged into physical write operations, e.g., two logical writes were served by one physical disk access; provide the minimum value measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOctetsReadAvg": {
+ "description": "number of octets per second read from a disk or partition; provide the average measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOctetsReadLast": {
+ "description": "number of octets per second read from a disk or partition; provide the last measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOctetsReadMax": {
+ "description": "number of octets per second read from a disk or partition; provide the maximum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOctetsReadMin": {
+ "description": "number of octets per second read from a disk or partition; provide the minimum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOctetsWriteAvg": {
+ "description": "number of octets per second written to a disk or partition; provide the average measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOctetsWriteLast": {
+ "description": "number of octets per second written to a disk or partition; provide the last measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOctetsWriteMax": {
+ "description": "number of octets per second written to a disk or partition; provide the maximum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOctetsWriteMin": {
+ "description": "number of octets per second written to a disk or partition; provide the minimum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOpsReadAvg": {
+ "description": "number of read operations per second issued to the disk; provide the average measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOpsReadLast": {
+ "description": "number of read operations per second issued to the disk; provide the last measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOpsReadMax": {
+ "description": "number of read operations per second issued to the disk; provide the maximum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOpsReadMin": {
+ "description": "number of read operations per second issued to the disk; provide the minimum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOpsWriteAvg": {
+ "description": "number of write operations per second issued to the disk; provide the average measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOpsWriteLast": {
+ "description": "number of write operations per second issued to the disk; provide the last measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOpsWriteMax": {
+ "description": "number of write operations per second issued to the disk; provide the maximum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskOpsWriteMin": {
+ "description": "number of write operations per second issued to the disk; provide the minimum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskPendingOperationsAvg": {
+ "description": "queue size of pending I/O operations per second; provide the average measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskPendingOperationsLast": {
+ "description": "queue size of pending I/O operations per second; provide the last measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskPendingOperationsMax": {
+ "description": "queue size of pending I/O operations per second; provide the maximum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskPendingOperationsMin": {
+ "description": "queue size of pending I/O operations per second; provide the minimum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskReadCommandsAvg": {
+ "description": "average number of read commands issued per second to the disk over the measurementInterval",
+ "type": "number"
+ },
+ "diskTime": {
+ "description": "nanoseconds spent on disk cache reads/writes within the measurement interval",
+ "type": "number"
+ },
+ "diskTimeReadAvg": {
+ "description": "milliseconds a read operation took to complete; provide the average measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskTimeReadLast": {
+ "description": "milliseconds a read operation took to complete; provide the last measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskTimeReadMax": {
+ "description": "milliseconds a read operation took to complete; provide the maximum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskTimeReadMin": {
+ "description": "milliseconds a read operation took to complete; provide the minimum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskTimeWriteAvg": {
+ "description": "milliseconds a write operation took to complete; provide the average measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskTimeWriteLast": {
+ "description": "milliseconds a write operation took to complete; provide the last measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskTimeWriteMax": {
+ "description": "milliseconds a write operation took to complete; provide the maximum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskTimeWriteMin": {
+ "description": "milliseconds a write operation took to complete; provide the minimum measurement within the measurement interval",
+ "type": "number"
+ },
+ "diskTotalReadLatencyAvg": {
+ "description": "average read time from the perspective of a Guest OS: sum of the Kernel Read Latency and Physical Device Read Latency in milliseconds over the measurement interval",
+ "type": "number"
+ },
+ "diskTotalWriteLatencyAvg": {
+ "description": "average write time from the perspective of a Guest OS: sum of the Kernel Write Latency and Physical Device Write Latency in milliseconds over the measurement interval",
+ "type": "number"
+ },
+ "diskWeightedIoTimeAvg": {
+ "description": "measure in ms over 1 sec of both I/O completion time and the backlog that may be accumulating; value is the average within the collection interval",
+ "type": "number"
+ },
+ "diskWeightedIoTimeLast": {
+ "description": "measure in ms over 1 sec of both I/O completion time and the backlog that may be accumulating; value is the last within the collection interval",
+ "type": "number"
+ },
+ "diskWeightedIoTimeMax": {
+ "description": "measure in ms over 1 sec of both I/O completion time and the backlog that may be accumulating; value is the maximum within the collection interval",
+ "type": "number"
+ },
+ "diskWeightedIoTimeMin": {
+ "description": "measure in ms over 1 sec of both I/O completion time and the backlog that may be accumulating; value is the minimum within the collection interval",
+ "type": "number"
+ },
+ "diskWriteCommandsAvg": {
+ "description": "average number of write commands issued per second to the disk over the measurementInterval",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "diskIdentifier"
+ ]
+ },
+ "endOfCallVqmSummaries": {
+ "description": "provides end of call voice quality metrics",
+ "type": "object",
+ "properties": {
+ "adjacencyName": {
+ "description": " adjacency name",
+ "type": "string"
+ },
+ "endpointAverageJitter": {
+ "description": "endpoint average jitter",
+ "type": "number"
+ },
+ "endpointDescription": {
+ "description": "either Caller or Callee",
+ "type": "string",
+ "enum": [
+ "Caller",
+ "Callee"
+ ]
+ },
+ "endpointMaxJitter": {
+ "description": "endpoint maximum jitter",
+ "type": "number"
+ },
+ "endpointRtpOctetsDiscarded": {
+ "description": "",
+ "type": "number"
+ },
+ "endpointRtpOctetsLost": {
+ "description": "endpoint RTP octets lost",
+ "type": "number"
+ },
+ "endpointRtpOctetsReceived": {
+ "description": "",
+ "type": "number"
+ },
+ "endpointRtpOctetsSent": {
+ "description": "",
+ "type": "number"
+ },
+ "endpointRtpPacketsDiscarded": {
+ "description": "",
+ "type": "number"
+ },
+ "endpointRtpPacketsLost": {
+ "description": "endpoint RTP packets lost",
+ "type": "number"
+ },
+ "endpointRtpPacketsReceived": {
+ "description": "",
+ "type": "number"
+ },
+ "endpointRtpPacketsSent": {
+ "description": "",
+ "type": "number"
+ },
+ "localAverageJitter": {
+ "description": "Local average jitter",
+ "type": "number"
+ },
+ "localAverageJitterBufferDelay": {
+ "description": "Local average jitter delay",
+ "type": "number"
+ },
+ "localMaxJitter": {
+ "description": "Local maximum jitter",
+ "type": "number"
+ },
+ "localMaxJitterBufferDelay": {
+ "description": "Local maximum jitter delay",
+ "type": "number"
+ },
+ "localRtpOctetsDiscarded": {
+ "description": "",
+ "type": "number"
+ },
+ "localRtpOctetsLost": {
+ "description": "Local RTP octets lost",
+ "type": "number"
+ },
+ "localRtpOctetsReceived": {
+ "description": "",
+ "type": "number"
+ },
+ "localRtpOctetsSent": {
+ "description": "",
+ "type": "number"
+ },
+ "localRtpPacketsDiscarded": {
+ "description": "",
+ "type": "number"
+ },
+ "localRtpPacketsLost": {
+ "description": "Local RTP packets lost",
+ "type": "number"
+ },
+ "localRtpPacketsReceived": {
+ "description": "",
+ "type": "number"
+ },
+ "localRtpPacketsSent": {
+ "description": "",
+ "type": "number"
+ },
+ "mosCqe": {
+ "description": "1-5 1dp",
+ "type": "number"
+ },
+ "oneWayDelay": {
+ "description": "one-way path delay in milliseconds",
+ "type": "number"
+ },
+ "packetLossPercent": {
+ "description": "Calculated percentage packet loss based on Endpoint RTP packets lost (as reported in RTCP) and Local RTP packets sent. Direction is based on Endpoint description (Caller, Callee). Decimal (2 dp)",
+ "type": "number"
+ },
+ "rFactor": {
+ "description": "0-100",
+ "type": "number"
+ },
+ "roundTripDelay": {
+ "description": "millisecs",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "adjacencyName",
+ "endpointDescription"
+ ]
+ },
+ "event": {
+ "description": "the root level of the common event format",
+ "type": "object",
+ "properties": {
+ "commonEventHeader": {
+ "$ref": "#/definitions/commonEventHeader"
+ },
+ "faultFields": {
+ "$ref": "#/definitions/faultFields"
+ },
+ "heartbeatFields": {
+ "$ref": "#/definitions/heartbeatFields"
+ },
+ "measurementFields": {
+ "$ref": "#/definitions/measurementFields"
+ },
+ "mobileFlowFields": {
+ "$ref": "#/definitions/mobileFlowFields"
+ },
+ "notificationFields": {
+ "$ref": "#/definitions/notificationFields"
+ },
+ "otherFields": {
+ "$ref": "#/definitions/otherFields"
+ },
+ "perf3gppFields": {
+ "$ref": "#/definitions/perf3gppFields"
+ },
+ "pnfRegistrationFields": {
+ "$ref": "#/definitions/pnfRegistrationFields"
+ },
+ "sipSignalingFields": {
+ "$ref": "#/definitions/sipSignalingFields"
+ },
+ "stateChangeFields": {
+ "$ref": "#/definitions/stateChangeFields"
+ },
+ "stndDefinedFields": {
+ "$ref": "#/definitions/stndDefinedFields"
+ },
+ "syslogFields": {
+ "$ref": "#/definitions/syslogFields"
+ },
+ "thresholdCrossingAlertFields": {
+ "$ref": "#/definitions/thresholdCrossingAlertFields"
+ },
+ "voiceQualityFields": {
+ "$ref": "#/definitions/voiceQualityFields"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "commonEventHeader"
+ ]
+ },
+ "eventList": {
+ "description": "array of events",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/event"
+ }
+ },
+ "faultFields": {
+ "description": "fields specific to fault events",
+ "type": "object",
+ "properties": {
+ "alarmAdditionalInformation": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "alarmCondition": {
+ "description": "alarm condition reported by the device",
+ "type": "string"
+ },
+ "alarmInterfaceA": {
+ "description": "card, port, channel or interface name of the device generating the alarm",
+ "type": "string"
+ },
+ "eventCategory": {
+ "description": "Event category, for example: license, link, routing, security, signaling",
+ "type": "string"
+ },
+ "eventSeverity": {
+ "description": "event severity",
+ "type": "string",
+ "enum": [
+ "CRITICAL",
+ "MAJOR",
+ "MINOR",
+ "WARNING",
+ "NORMAL"
+ ]
+ },
+ "eventSourceType": {
+ "description": "type of event source; examples: card, host, other, port, portThreshold, router, slotThreshold, switch, virtualMachine, virtualNetworkFunction",
+ "type": "string"
+ },
+ "faultFieldsVersion": {
+ "description": "version of the faultFields block",
+ "type": "string",
+ "enum": [
+ "4.0",
+ "3"
+ ]
+ },
+ "specificProblem": {
+ "description": "short description of the alarm or problem",
+ "type": "string"
+ },
+ "vfStatus": {
+ "description": "virtual function status enumeration",
+ "type": "string",
+ "enum": [
+ "Active",
+ "Idle",
+ "Preparing to terminate",
+ "Ready to terminate",
+ "Requesting termination"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "alarmCondition",
+ "eventSeverity",
+ "eventSourceType",
+ "faultFieldsVersion",
+ "specificProblem",
+ "vfStatus"
+ ]
+ },
+ "filesystemUsage": {
+ "description": "disk usage of an identified virtual machine in gigabytes and/or gigabytes per second",
+ "type": "object",
+ "properties": {
+ "blockConfigured": {
+ "type": "number"
+ },
+ "blockIops": {
+ "type": "number"
+ },
+ "blockUsed": {
+ "type": "number"
+ },
+ "ephemeralConfigured": {
+ "type": "number"
+ },
+ "ephemeralIops": {
+ "type": "number"
+ },
+ "ephemeralUsed": {
+ "type": "number"
+ },
+ "filesystemName": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "blockConfigured",
+ "blockIops",
+ "blockUsed",
+ "ephemeralConfigured",
+ "ephemeralIops",
+ "ephemeralUsed",
+ "filesystemName"
+ ]
+ },
+ "gtpPerFlowMetrics": {
+ "description": "Mobility GTP Protocol per flow metrics",
+ "type": "object",
+ "properties": {
+ "avgBitErrorRate": {
+ "description": "average bit error rate",
+ "type": "number"
+ },
+ "avgPacketDelayVariation": {
+ "description": "Average packet delay variation or jitter in milliseconds for received packets: Average difference between the packet timestamp and time received for all pairs of consecutive packets",
+ "type": "number"
+ },
+ "avgPacketLatency": {
+ "description": "average delivery latency",
+ "type": "number"
+ },
+ "avgReceiveThroughput": {
+ "description": "average receive throughput",
+ "type": "number"
+ },
+ "avgTransmitThroughput": {
+ "description": "average transmit throughput",
+ "type": "number"
+ },
+ "durConnectionFailedStatus": {
+ "description": "duration of failed state in milliseconds, computed as the cumulative time between a failed echo request and the next following successful error request, over this reporting interval",
+ "type": "number"
+ },
+ "durTunnelFailedStatus": {
+ "description": "Duration of errored state, computed as the cumulative time between a tunnel error indicator and the next following non-errored indicator, over this reporting interval",
+ "type": "number"
+ },
+ "flowActivatedBy": {
+ "description": "Endpoint activating the flow",
+ "type": "string"
+ },
+ "flowActivationEpoch": {
+ "description": "Time the connection is activated in the flow (connection) being reported on, or transmission time of the first packet if activation time is not available",
+ "type": "number"
+ },
+ "flowActivationMicrosec": {
+ "description": "Integer microseconds for the start of the flow connection",
+ "type": "number"
+ },
+ "flowActivationTime": {
+ "description": "time the connection is activated in the flow being reported on, or transmission time of the first packet if activation time is not available; with RFC 2822 compliant format: Sat, 13 Mar 2010 11:29:05 -0800",
+ "type": "string"
+ },
+ "flowDeactivatedBy": {
+ "description": "Endpoint deactivating the flow",
+ "type": "string"
+ },
+ "flowDeactivationEpoch": {
+ "description": "Time for the start of the flow connection, in integer UTC epoch time aka UNIX time",
+ "type": "number"
+ },
+ "flowDeactivationMicrosec": {
+ "description": "Integer microseconds for the start of the flow connection",
+ "type": "number"
+ },
+ "flowDeactivationTime": {
+ "description": "Transmission time of the first packet in the flow connection being reported on; with RFC 2822 compliant format: Sat, 13 Mar 2010 11:29:05 -0800",
+ "type": "string"
+ },
+ "flowStatus": {
+ "description": "connection status at reporting time as a working / inactive / failed indicator value",
+ "type": "string"
+ },
+ "gtpConnectionStatus": {
+ "description": "Current connection state at reporting time",
+ "type": "string"
+ },
+ "gtpTunnelStatus": {
+ "description": "Current tunnel state at reporting time",
+ "type": "string"
+ },
+ "ipTosCountList": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "ipTosList": {
+ "description": "Array of unique IP Type-of-Service values observed in the flow where values range from '0' to '255'",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "largePacketRtt": {
+ "description": "large packet round trip time",
+ "type": "number"
+ },
+ "largePacketThreshold": {
+ "description": "large packet threshold being applied",
+ "type": "number"
+ },
+ "maxPacketDelayVariation": {
+ "description": "Maximum packet delay variation or jitter in milliseconds for received packets: Maximum of the difference between the packet timestamp and time received for all pairs of consecutive packets",
+ "type": "number"
+ },
+ "maxReceiveBitRate": {
+ "description": "maximum receive bit rate",
+ "type": "number"
+ },
+ "maxTransmitBitRate": {
+ "description": "maximum transmit bit rate",
+ "type": "number"
+ },
+ "mobileQciCosCountList": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "mobileQciCosList": {
+ "description": "Array of unique LTE QCI or UMTS class-of-service values observed in the flow",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "numActivationFailures": {
+ "description": "Number of failed activation requests, as observed by the reporting node",
+ "type": "number"
+ },
+ "numBitErrors": {
+ "description": "number of errored bits",
+ "type": "number"
+ },
+ "numBytesReceived": {
+ "description": "number of bytes received, including retransmissions",
+ "type": "number"
+ },
+ "numBytesTransmitted": {
+ "description": "number of bytes transmitted, including retransmissions",
+ "type": "number"
+ },
+ "numDroppedPackets": {
+ "description": "number of received packets dropped due to errors per virtual interface",
+ "type": "number"
+ },
+ "numGtpEchoFailures": {
+ "description": "Number of Echo request path failures where failed paths are defined in 3GPP TS 29.281 sec 7.2.1 and 3GPP TS 29.060 sec. 11.2",
+ "type": "number"
+ },
+ "numGtpTunnelErrors": {
+ "description": "Number of tunnel error indications where errors are defined in 3GPP TS 29.281 sec 7.3.1 and 3GPP TS 29.060 sec. 11.1",
+ "type": "number"
+ },
+ "numHttpErrors": {
+ "description": "Http error count",
+ "type": "number"
+ },
+ "numL7BytesReceived": {
+ "description": "number of tunneled layer 7 bytes received, including retransmissions",
+ "type": "number"
+ },
+ "numL7BytesTransmitted": {
+ "description": "number of tunneled layer 7 bytes transmitted, excluding retransmissions",
+ "type": "number"
+ },
+ "numLostPackets": {
+ "description": "number of lost packets",
+ "type": "number"
+ },
+ "numOutOfOrderPackets": {
+ "description": "number of out-of-order packets",
+ "type": "number"
+ },
+ "numPacketErrors": {
+ "description": "number of errored packets",
+ "type": "number"
+ },
+ "numPacketsReceivedExclRetrans": {
+ "description": "number of packets received, excluding retransmission",
+ "type": "number"
+ },
+ "numPacketsReceivedInclRetrans": {
+ "description": "number of packets received, including retransmission",
+ "type": "number"
+ },
+ "numPacketsTransmittedInclRetrans": {
+ "description": "number of packets transmitted, including retransmissions",
+ "type": "number"
+ },
+ "numRetries": {
+ "description": "number of packet retries",
+ "type": "number"
+ },
+ "numTimeouts": {
+ "description": "number of packet timeouts",
+ "type": "number"
+ },
+ "numTunneledL7BytesReceived": {
+ "description": "number of tunneled layer 7 bytes received, excluding retransmissions",
+ "type": "number"
+ },
+ "roundTripTime": {
+ "description": "round trip time",
+ "type": "number"
+ },
+ "tcpFlagCountList": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "tcpFlagList": {
+ "description": "Array of unique TCP Flags observed in the flow",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "timeToFirstByte": {
+ "description": "Time in milliseconds between the connection activation and first byte received",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "avgBitErrorRate",
+ "avgPacketDelayVariation",
+ "avgPacketLatency",
+ "avgReceiveThroughput",
+ "avgTransmitThroughput",
+ "flowActivationEpoch",
+ "flowActivationMicrosec",
+ "flowDeactivationEpoch",
+ "flowDeactivationMicrosec",
+ "flowDeactivationTime",
+ "flowStatus",
+ "maxPacketDelayVariation",
+ "numActivationFailures",
+ "numBitErrors",
+ "numBytesReceived",
+ "numBytesTransmitted",
+ "numDroppedPackets",
+ "numL7BytesReceived",
+ "numL7BytesTransmitted",
+ "numLostPackets",
+ "numOutOfOrderPackets",
+ "numPacketErrors",
+ "numPacketsReceivedExclRetrans",
+ "numPacketsReceivedInclRetrans",
+ "numPacketsTransmittedInclRetrans",
+ "numRetries",
+ "numTimeouts",
+ "numTunneledL7BytesReceived",
+ "roundTripTime",
+ "timeToFirstByte"
+ ]
+ },
+ "hashMap": {
+ "description": "an associative array which is an array of key:value pairs",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "default": {}
+ },
+ "heartbeatFields": {
+ "description": "optional field block for fields specific to heartbeat events",
+ "type": "object",
+ "properties": {
+ "additionalFields": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "heartbeatFieldsVersion": {
+ "description": "version of the heartbeatFields block",
+ "type": "string",
+ "enum": [
+ "3.0"
+ ]
+ },
+ "heartbeatInterval": {
+ "description": "current heartbeat interval in seconds",
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "heartbeatFieldsVersion",
+ "heartbeatInterval"
+ ]
+ },
+ "hugePages": {
+ "description": "metrics on system hugepages",
+ "type": "object",
+ "properties": {
+ "bytesFree": {
+ "description": "number of free hugepages in bytes",
+ "type": "number"
+ },
+ "bytesUsed": {
+ "description": "number of used hugepages in bytes",
+ "type": "number"
+ },
+ "hugePagesIdentifier": {
+ "description": "hugePages identifier",
+ "type": "string"
+ },
+ "percentFree": {
+ "description": "number of free hugepages in percent",
+ "type": "number"
+ },
+ "percentUsed": {
+ "description": "number of free hugepages in percent",
+ "type": "number"
+ },
+ "vmPageNumberFree": {
+ "description": "number of free vmPages in numbers",
+ "type": "number"
+ },
+ "vmPageNumberUsed": {
+ "description": "number of used vmPages in numbers",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "hugePagesIdentifier"
+ ]
+ },
+ "internalHeaderFields": {
+ "description": "enrichment fields for internal VES Event Listener service use only, not supplied by event sources",
+ "type": "object"
+ },
+ "ipmi": {
+ "description": "intelligent platform management interface metrics",
+ "type": "object",
+ "properties": {
+ "exitAirTemperature": {
+ "description": "system fan exit air flow temperature in celsius",
+ "type": "number"
+ },
+ "frontPanelTemperature": {
+ "description": "front panel temperature in celsius",
+ "type": "number"
+ },
+ "ioModuleTemperature": {
+ "description": "io module temperature in celsius",
+ "type": "number"
+ },
+ "ipmiBaseboardTemperatureArray": {
+ "description": "array of ipmiBaseboardTemperature objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ipmiBaseboardTemperature"
+ }
+ },
+ "ipmiBaseboardVoltageRegulatorArray": {
+ "description": "array of ipmiBaseboardVoltageRegulator objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ipmiBaseboardVoltageRegulator"
+ }
+ },
+ "ipmiBatteryArray": {
+ "description": "array of ipmiBattery objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ipmiBattery"
+ }
+ },
+ "ipmiFanArray": {
+ "description": "array of ipmiFan objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ipmiFan"
+ }
+ },
+ "ipmiHsbpArray": {
+ "description": "array of ipmiHsbp objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ipmiHsbp"
+ }
+ },
+ "ipmiGlobalAggregateTemperatureMarginArray": {
+ "description": "array of ipmiGlobalAggregateTemperatureMargin objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ipmiGlobalAggregateTemperatureMargin"
+ }
+ },
+ "ipmiNicArray": {
+ "description": "array of ipmiNic objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ipmiNic"
+ }
+ },
+ "ipmiPowerSupplyArray": {
+ "description": "array of ipmiPowerSupply objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ipmiPowerSupply"
+ }
+ },
+ "ipmiProcessorArray": {
+ "description": "array of ipmiProcessor objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ipmiProcessor"
+ }
+ },
+ "systemAirflow": {
+ "description": "airfflow in cubic feet per minute (cfm)",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false
+ },
+ "ipmiBaseboardTemperature": {
+ "description": "intelligent platform management interface (ipmi) baseboard temperature metrics",
+ "type": "object",
+ "properties": {
+ "baseboardTemperatureIdentifier": {
+ "description": "identifier for the location where the temperature is taken",
+ "type": "string"
+ },
+ "baseboardTemperature": {
+ "description": "baseboard temperature in celsius",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "baseboardTemperatureIdentifier"
+ ]
+ },
+ "ipmiBaseboardVoltageRegulator": {
+ "description": "intelligent platform management interface (ipmi) baseboard voltage regulator metrics",
+ "type": "object",
+ "properties": {
+ "baseboardVoltageRegulatorIdentifier": {
+ "description": "identifier for the baseboard voltage regulator",
+ "type": "string"
+ },
+ "voltageRegulatorTemperature": {
+ "description": "voltage regulator temperature in celsius",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "baseboardVoltageRegulatorIdentifier"
+ ]
+ },
+ "ipmiBattery": {
+ "description": "intelligent platform management interface (ipmi) battery metrics",
+ "type": "object",
+ "properties": {
+ "batteryIdentifier": {
+ "description": "identifier for the battery",
+ "type": "string"
+ },
+ "batteryType": {
+ "description": "type of battery",
+ "type": "string"
+ },
+ "batteryVoltageLevel": {
+ "description": "battery voltage level",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "batteryIdentifier"
+ ]
+ },
+ "ipmiFan": {
+ "description": "intelligent platform management interface (ipmi) fan metrics",
+ "type": "object",
+ "properties": {
+ "fanIdentifier": {
+ "description": "identifier for the fan",
+ "type": "string"
+ },
+ "fanSpeed": {
+ "description": "fan speed in revolutions per minute (rpm)",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "fanIdentifier"
+ ]
+ },
+ "ipmiGlobalAggregateTemperatureMargin": {
+ "description": "intelligent platform management interface (ipmi) global aggregate temperature margin",
+ "type": "object",
+ "properties": {
+ "globalAggregateTemperatureMarginIdentifier": {
+ "description": "identifier for the ipmi global aggregate temperature margin metrics",
+ "type": "string"
+ },
+ "globalAggregateTemperatureMargin": {
+ "description": "the difference between the current global aggregate temperature, in celsius, and the global aggregate throttling thermal trip point",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "globalAggregateTemperatureMarginIdentifier",
+ "globalAggregateTemperatureMargin"
+ ]
+ },
+ "ipmiHsbp": {
+ "description": "intelligent platform management interface (ipmi) hot swap backplane power metrics",
+ "type": "object",
+ "properties": {
+ "hsbpIdentifier": {
+ "description": "identifier for the hot swap backplane power unit",
+ "type": "string"
+ },
+ "hsbpTemperature": {
+ "description": "hot swap backplane power temperature in celsius",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "hsbpIdentifier"
+ ]
+ },
+ "ipmiNic": {
+ "description": "intelligent platform management interface (ipmi) network interface control card (nic) metrics",
+ "type": "object",
+ "properties": {
+ "nicIdentifier": {
+ "description": "identifier for the network interface control card",
+ "type": "string"
+ },
+ "nicTemperature": {
+ "description": "nic temperature in celsius",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "nicIdentifier"
+ ]
+ },
+ "ipmiPowerSupply": {
+ "description": "intelligent platform management interface (ipmi) power supply metrics",
+ "type": "object",
+ "properties": {
+ "powerSupplyIdentifier": {
+ "description": "identifier for the power supply",
+ "type": "string"
+ },
+ "powerSupplyInputPower": {
+ "description": "input power in watts",
+ "type": "number"
+ },
+ "powerSupplyCurrentOutputPercent": {
+ "description": "current output voltage as a percentage of the design specified level",
+ "type": "number"
+ },
+ "powerSupplyTemperature": {
+ "description": "power supply temperature in celsius",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "powerSupplyIdentifier"
+ ]
+ },
+ "ipmiProcessor": {
+ "description": "intelligent platform management interface processor metrics",
+ "type": "object",
+ "properties": {
+ "processorIdentifier": {
+ "description": "identifier for an ipmi processor",
+ "type": "string"
+ },
+ "processorThermalControlPercent": {
+ "description": "io module temperature in celsius",
+ "type": "number"
+ },
+ "processorDtsThermalMargin": {
+ "description": "front panel temperature in celsius",
+ "type": "number"
+ },
+ "processorDimmAggregateThermalMarginArray": {
+ "description": "array of processorDimmAggregateThermalMargin objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/processorDimmAggregateThermalMargin"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "processorIdentifier"
+ ]
+ },
+ "jsonObject": {
+ "description": "json object schema, name and other meta-information along with one or more object instances",
+ "type": "object",
+ "properties": {
+ "objectInstances": {
+ "description": "one or more instances of the jsonObject",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/jsonObjectInstance"
+ }
+ },
+ "objectName": {
+ "description": "name of the JSON Object",
+ "type": "string"
+ },
+ "objectSchema": {
+ "description": "json schema for the object",
+ "type": "string"
+ },
+ "objectSchemaUrl": {
+ "description": "Url to the json schema for the object",
+ "type": "string"
+ },
+ "nfSubscribedObjectName": {
+ "description": "name of the object associated with the nfSubscriptonId",
+ "type": "string"
+ },
+ "nfSubscriptionId": {
+ "description": "identifies an openConfig telemetry subscription on a network function, which configures the network function to send complex object data associated with the jsonObject",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "objectInstances",
+ "objectName"
+ ]
+ },
+ "jsonObjectInstance": {
+ "description": "meta-information about an instance of a jsonObject along with the actual object instance",
+ "type": "object",
+ "properties": {
+ "jsonObject": {
+ "$ref": "#/definitions/jsonObject"
+ },
+ "objectInstance": {
+ "description": "an instance conforming to the jsonObject objectSchema",
+ "type": "object"
+ },
+ "objectInstanceEpochMicrosec": {
+ "description": "the unix time aka epoch time associated with this objectInstance--as microseconds elapsed since 1 Jan 1970 not including leap seconds",
+ "type": "number"
+ },
+ "objectKeys": {
+ "description": "an ordered set of keys that identifies this particular instance of jsonObject",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/key"
+ }
+ }
+ },
+ "additionalProperties": false
+ },
+ "key": {
+ "description": "tuple which provides the name of a key along with its value and relative order",
+ "type": "object",
+ "properties": {
+ "keyName": {
+ "description": "name of the key",
+ "type": "string"
+ },
+ "keyOrder": {
+ "description": "relative sequence or order of the key with respect to other keys",
+ "type": "integer"
+ },
+ "keyValue": {
+ "description": "value of the key",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "keyName"
+ ]
+ },
+ "latencyBucketMeasure": {
+ "description": "number of counts falling within a defined latency bucket",
+ "type": "object",
+ "properties": {
+ "countsInTheBucket": {
+ "type": "number"
+ },
+ "highEndOfLatencyBucket": {
+ "type": "number"
+ },
+ "lowEndOfLatencyBucket": {
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "countsInTheBucket"
+ ]
+ },
+ "load": {
+ "description": "/proc/loadavg cpu utilization and io utilization metrics",
+ "type": "object",
+ "properties": {
+ "longTerm": {
+ "description": "number of jobs in the run queue (state R, cpu utilization) or waiting for disk I/O (state D, io utilization) averaged over 15 minutes using /proc/loadavg",
+ "type": "number"
+ },
+ "midTerm": {
+ "description": "number of jobs in the run queue (state R, cpu utilization) or waiting for disk I/O (state D, io utilization) averaged over 5 minutes using /proc/loadavg",
+ "type": "number"
+ },
+ "shortTerm": {
+ "description": "number of jobs in the run queue (state R, cpu utilization) or waiting for disk I/O (state D, io utilization) averaged over 1 minute using /proc/loadavg",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false
+ },
+ "machineCheckException": {
+ "description": "metrics on vm machine check exceptions",
+ "type": "object",
+ "properties": {
+ "correctedMemoryErrors": {
+ "description": "total hardware errors that were corrected by the hardware (e.g. data corruption corrected via ECC) over the measurementInterval",
+ "type": "number"
+ },
+ "correctedMemoryErrorsIn1Hr": {
+ "description": "total hardware errors that were corrected by the hardware over the last one hour",
+ "type": "number"
+ },
+ "uncorrectedMemoryErrors": {
+ "description": "total uncorrected hardware errors that were detected by the hardware (e.g., causing data corruption) over the measurementInterval",
+ "type": "number"
+ },
+ "uncorrectedMemoryErrorsIn1Hr": {
+ "description": "total uncorrected hardware errors that were detected by the hardware over the last one hour",
+ "type": "number"
+ },
+ "vmIdentifier": {
+ "description": "virtual machine identifier associated with the machine check exception",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "vmIdentifier"
+ ]
+ },
+ "measDataCollection": {
+ "description": "3GPP measurement collection structure aligned with 3GPP PM format",
+ "type": "object",
+ "properties": {
+ "formatVersion": {
+ "description": "3gpp PM reporting file format version from pre-standard TS 28.550 v2.0.0",
+ "type": "string"
+ },
+ "granularityPeriod": {
+ "description": "granularity period for the PM report in seconds",
+ "type": "number"
+ },
+ "measInfoList": {
+ "description": "array of measurements",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/measInfo"
+ }
+ },
+ "measObjInstIdList": {
+ "description": "array of monitored object local distinguished name ids per 3GPP TS 32.300",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "measuredEntityDn": {
+ "description": "distinguished name per 3GPP TS 28.550",
+ "type": "string"
+ },
+ "measuredEntitySoftwareVersion": {
+ "description": "software version for the NF providing the PM data as specified in 3GPP TS 28.550",
+ "type": "string"
+ },
+ "measuredEntityUserName": {
+ "description": "user definable name for the measured object per 3GPP TS 28.550",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "granularityPeriod",
+ "measInfoList",
+ "measuredEntityDn"
+ ]
+ },
+ "measInfo": {
+ "description": "measurement information.",
+ "type": "object",
+ "properties": {
+ "jobId": {
+ "description": "name of the measurement job",
+ "type": "string"
+ },
+ "measInfoId": {
+ "description": "measurement group identifier",
+ "oneOf": [
+ {
+ "$ref": "#/definitions/measInfoIdInteger"
+ },
+ {
+ "$ref": "#/definitions/measInfoIdString"
+ }
+ ]
+ },
+ "measTypes": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/measTypesInteger"
+ },
+ {
+ "$ref": "#/definitions/measTypesString"
+ }
+ ]
+ },
+ "measValuesList": {
+ "description": "an array of measurement values",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/measValues"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "measTypes",
+ "measValuesList"
+ ]
+ },
+ "measInfoIdInteger": {
+ "description": "integer measurement group identifier",
+ "type": "object",
+ "properties": {
+ "iMeasInfoId": {
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "iMeasInfoId"
+ ]
+ },
+ "measInfoIdString": {
+ "description": "string measurement group identifier",
+ "type": "object",
+ "properties": {
+ "sMeasInfoId": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "sMeasInfoId"
+ ]
+ },
+ "measResultInteger": {
+ "description": "integer 3GPP PM measurement result",
+ "type": "object",
+ "properties": {
+ "p": {
+ "description": "integer reference to the counter",
+ "type": "integer"
+ },
+ "iValue": {
+ "description": "integer counter value",
+ "type": "integer"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "p",
+ "iValue"
+ ]
+ },
+ "measResultNull": {
+ "description": "null 3GPP PM measurement result",
+ "type": "object",
+ "properties": {
+ "p": {
+ "description": "integer reference to the counter",
+ "type": "integer"
+ },
+ "isNull": {
+ "description": "true if the counter has no value",
+ "type": "string",
+ "enum": [
+ "true",
+ "false"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "p",
+ "isNull"
+ ]
+ },
+ "measResultNumber": {
+ "description": "number 3GPP PM measurement result",
+ "type": "object",
+ "properties": {
+ "p": {
+ "description": "integer reference to the counter",
+ "type": "integer"
+ },
+ "rValue": {
+ "description": "numeric counter value",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "p",
+ "rValue"
+ ]
+ },
+ "measResultString": {
+ "description": "string 3GPP PM measurement result",
+ "type": "object",
+ "properties": {
+ "p": {
+ "description": "integer reference to the counter",
+ "type": "integer"
+ },
+ "sValue": {
+ "description": "string counter value",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "p",
+ "sValue"
+ ]
+ },
+ "measTypesInteger": {
+ "description": "object containing an array of integer measurement identifiers associated with the measurement results",
+ "type": "object",
+ "properties": {
+ "iMeasTypesList": {
+ "type": "array",
+ "items": {
+ "type": "integer"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "iMeasTypesList"
+ ]
+ },
+ "measTypesString": {
+ "description": "object containing an array of string measurement identifiers associated with the measurement results",
+ "type": "object",
+ "properties": {
+ "sMeasTypesList": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "sMeasTypesList"
+ ]
+ },
+ "measurementFields": {
+ "description": "measurement fields",
+ "type": "object",
+ "properties": {
+ "additionalFields": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "additionalMeasurements": {
+ "$ref": "#/definitions/arrayOfNamedHashMap"
+ },
+ "additionalObjects": {
+ "$ref": "#/definitions/arrayOfJsonObject"
+ },
+ "codecUsageArray": {
+ "description": "array of codecs in use",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/codecsInUse"
+ }
+ },
+ "concurrentSessions": {
+ "description": "peak concurrent sessions for the VM or xNF over the measurementInterval",
+ "type": "integer"
+ },
+ "configuredEntities": {
+ "description": "over the measurementInterval, peak total number of: users, subscribers, devices, adjacencies, etc., for the VM, or subscribers, devices, etc., for the xNF",
+ "type": "integer"
+ },
+ "cpuUsageArray": {
+ "description": "usage of an array of CPUs",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/cpuUsage"
+ }
+ },
+ "diskUsageArray": {
+ "description": "usage of an array of disks",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/diskUsage"
+ }
+ },
+ "featureUsageArray": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "filesystemUsageArray": {
+ "description": "filesystem usage of the VM on which the xNFC reporting the event is running",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/filesystemUsage"
+ }
+ },
+ "hugePagesArray": {
+ "description": "array of metrics on hugepPages",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/hugePages"
+ }
+ },
+ "ipmi": {
+ "$ref": "#/definitions/ipmi"
+ },
+ "latencyDistribution": {
+ "description": "array of integers representing counts of requests whose latency in milliseconds falls within per-xNF configured ranges",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/latencyBucketMeasure"
+ }
+ },
+ "loadArray": {
+ "description": "array of system load metrics",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/load"
+ }
+ },
+ "machineCheckExceptionArray": {
+ "description": "array of machine check exceptions",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/machineCheckException"
+ }
+ },
+ "meanRequestLatency": {
+ "description": "mean seconds required to respond to each request for the VM on which the xNFC reporting the event is running",
+ "type": "number"
+ },
+ "measurementInterval": {
+ "description": "interval over which measurements are being reported in seconds",
+ "type": "number"
+ },
+ "measurementFieldsVersion": {
+ "description": "version of the measurementFields block",
+ "type": "string",
+ "enum": [
+ "4.0"
+ ]
+ },
+ "memoryUsageArray": {
+ "description": "memory usage of an array of VMs",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/memoryUsage"
+ }
+ },
+ "numberOfMediaPortsInUse": {
+ "description": "number of media ports in use",
+ "type": "integer"
+ },
+ "requestRate": {
+ "description": "peak rate of service requests per second to the xNF over the measurementInterval",
+ "type": "number"
+ },
+ "nfcScalingMetric": {
+ "description": "represents busy-ness of the network function from 0 to 100 as reported by the xNFC",
+ "type": "integer"
+ },
+ "nicPerformanceArray": {
+ "description": "usage of an array of network interface cards",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/nicPerformance"
+ }
+ },
+ "processStatsArray": {
+ "description": "array of metrics on system processes",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/processStats"
+ }
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "measurementInterval",
+ "measurementFieldsVersion"
+ ]
+ },
+ "measValues": {
+ "description": "3GPP measurement values",
+ "type": "object",
+ "properties": {
+ "measObjAddlFlds": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "measObjInstId": {
+ "description": "monitored object local distinguished name per 3GPP TS 32.300 and 3GPP TS 32.432",
+ "type": "string"
+ },
+ "measResults": {
+ "description": "array of results",
+ "type": "array",
+ "items": {
+ "oneOf": [
+ {
+ "$ref": "#/definitions/measResultInteger"
+ },
+ {
+ "$ref": "#/definitions/measResultNull"
+ },
+ {
+ "$ref": "#/definitions/measResultNumber"
+ },
+ {
+ "$ref": "#/definitions/measResultString"
+ }
+ ]
+ }
+ },
+ "suspectFlag": {
+ "description": "indicates if the values are suspect",
+ "type": "string",
+ "enum": [
+ "true",
+ "false"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "measObjInstId",
+ "measResults"
+ ]
+ },
+ "memoryUsage": {
+ "description": "memory usage of an identified virtual machine",
+ "type": "object",
+ "properties": {
+ "memoryBuffered": {
+ "description": "kibibytes of temporary storage for raw disk blocks",
+ "type": "number"
+ },
+ "memoryCached": {
+ "description": "kibibytes of memory used for cache",
+ "type": "number"
+ },
+ "memoryConfigured": {
+ "description": "kibibytes of memory configured in the virtual machine on which the xNFC reporting the event is running",
+ "type": "number"
+ },
+ "memoryDemand": {
+ "description": "host demand in kibibytes",
+ "type": "number"
+ },
+ "memoryFree": {
+ "description": "kibibytes of physical RAM left unused by the system",
+ "type": "number"
+ },
+ "memoryLatencyAvg": {
+ "description": "Percentage of time the VM is waiting to access swapped or compressed memory",
+ "type": "number"
+ },
+ "memorySharedAvg": {
+ "description": "shared memory in kilobytes",
+ "type": "number"
+ },
+ "memorySlabRecl": {
+ "description": "the part of the slab that can be reclaimed such as caches measured in kibibytes",
+ "type": "number"
+ },
+ "memorySlabUnrecl": {
+ "description": "the part of the slab that cannot be reclaimed even when lacking memory measured in kibibytes",
+ "type": "number"
+ },
+ "memorySwapInAvg": {
+ "description": "Amount of memory swapped-in from host cache in kibibytes",
+ "type": "number"
+ },
+ "memorySwapInRateAvg": {
+ "description": "rate at which memory is swapped from disk into active memory during the interval in kilobytes per second",
+ "type": "number"
+ },
+ "memorySwapOutAvg": {
+ "description": "Amount of memory swapped-out to host cache in kibibytes",
+ "type": "number"
+ },
+ "memorySwapOutRateAvg": {
+ "description": "rate at which memory is being swapped from active memory to disk during the current interval in kilobytes per second",
+ "type": "number"
+ },
+ "memorySwapUsedAvg": {
+ "description": "space used for caching swapped pages in the host cache in kibibytes",
+ "type": "number"
+ },
+ "memoryUsed": {
+ "description": "total memory minus the sum of free, buffered, cached and slab memory measured in kibibytes",
+ "type": "number"
+ },
+ "percentMemoryUsage": {
+ "description": "Percentage of memory usage; value = (memoryUsed / (memoryUsed + memoryFree) x 100 if denomintor is nonzero, or 0, if otherwise",
+ "type": "number"
+ },
+ "vmIdentifier": {
+ "description": "virtual machine identifier associated with the memory metrics",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "memoryFree",
+ "memoryUsed",
+ "vmIdentifier"
+ ]
+ },
+ "mobileFlowFields": {
+ "description": "mobileFlow fields",
+ "type": "object",
+ "properties": {
+ "additionalFields": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "applicationType": {
+ "description": "Application type inferred",
+ "type": "string"
+ },
+ "appProtocolType": {
+ "description": "application protocol",
+ "type": "string"
+ },
+ "appProtocolVersion": {
+ "description": "application protocol version",
+ "type": "string"
+ },
+ "cid": {
+ "description": "cell id",
+ "type": "string"
+ },
+ "connectionType": {
+ "description": "Abbreviation referencing a 3GPP reference point e.g., S1-U, S11, etc",
+ "type": "string"
+ },
+ "ecgi": {
+ "description": "Evolved Cell Global Id",
+ "type": "string"
+ },
+ "flowDirection": {
+ "description": "Flow direction, indicating if the reporting node is the source of the flow or destination for the flow",
+ "type": "string"
+ },
+ "gtpPerFlowMetrics": {
+ "$ref": "#/definitions/gtpPerFlowMetrics"
+ },
+ "gtpProtocolType": {
+ "description": "GTP protocol",
+ "type": "string"
+ },
+ "gtpVersion": {
+ "description": "GTP protocol version",
+ "type": "string"
+ },
+ "httpHeader": {
+ "description": "HTTP request header, if the flow connects to a node referenced by HTTP",
+ "type": "string"
+ },
+ "imei": {
+ "description": "IMEI for the subscriber UE used in this flow, if the flow connects to a mobile device",
+ "type": "string"
+ },
+ "imsi": {
+ "description": "IMSI for the subscriber UE used in this flow, if the flow connects to a mobile device",
+ "type": "string"
+ },
+ "ipProtocolType": {
+ "description": "IP protocol type e.g., TCP, UDP, RTP...",
+ "type": "string"
+ },
+ "ipVersion": {
+ "description": "IP protocol version e.g., IPv4, IPv6",
+ "type": "string"
+ },
+ "lac": {
+ "description": "location area code",
+ "type": "string"
+ },
+ "mcc": {
+ "description": "mobile country code",
+ "type": "string"
+ },
+ "mnc": {
+ "description": "mobile network code",
+ "type": "string"
+ },
+ "mobileFlowFieldsVersion": {
+ "description": "version of the mobileFlowFields block",
+ "type": "string",
+ "enum": [
+ "4.0"
+ ]
+ },
+ "msisdn": {
+ "description": "MSISDN for the subscriber UE used in this flow, as an integer, if the flow connects to a mobile device",
+ "type": "string"
+ },
+ "otherEndpointIpAddress": {
+ "description": "IP address for the other endpoint, as used for the flow being reported on",
+ "type": "string"
+ },
+ "otherEndpointPort": {
+ "description": "IP Port for the reporting entity, as used for the flow being reported on",
+ "type": "integer"
+ },
+ "otherFunctionalRole": {
+ "description": "Functional role of the other endpoint for the flow being reported on e.g., MME, S-GW, P-GW, PCRF...",
+ "type": "string"
+ },
+ "rac": {
+ "description": "routing area code",
+ "type": "string"
+ },
+ "radioAccessTechnology": {
+ "description": "Radio Access Technology e.g., 2G, 3G, LTE",
+ "type": "string"
+ },
+ "reportingEndpointIpAddr": {
+ "description": "IP address for the reporting entity, as used for the flow being reported on",
+ "type": "string"
+ },
+ "reportingEndpointPort": {
+ "description": "IP port for the reporting entity, as used for the flow being reported on",
+ "type": "integer"
+ },
+ "sac": {
+ "description": "service area code",
+ "type": "string"
+ },
+ "samplingAlgorithm": {
+ "description": "Integer identifier for the sampling algorithm or rule being applied in calculating the flow metrics if metrics are calculated based on a sample of packets, or 0 if no sampling is applied",
+ "type": "integer"
+ },
+ "tac": {
+ "description": "transport area code",
+ "type": "string"
+ },
+ "tunnelId": {
+ "description": "tunnel identifier",
+ "type": "string"
+ },
+ "vlanId": {
+ "description": "VLAN identifier used by this flow",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "flowDirection",
+ "gtpPerFlowMetrics",
+ "ipProtocolType",
+ "ipVersion",
+ "mobileFlowFieldsVersion",
+ "otherEndpointIpAddress",
+ "otherEndpointPort",
+ "reportingEndpointIpAddr",
+ "reportingEndpointPort"
+ ]
+ },
+ "namedHashMap": {
+ "description": "a hashMap which is associated with and described by a name",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string"
+ },
+ "hashMap": {
+ "$ref": "#/definitions/hashMap"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "name",
+ "hashMap"
+ ]
+ },
+ "nicPerformance": {
+ "description": "describes the performance and errors of an identified network interface card",
+ "type": "object",
+ "properties": {
+ "administrativeState": {
+ "description": "administrative state",
+ "type": "string",
+ "enum": [
+ "inService",
+ "outOfService"
+ ]
+ },
+ "nicIdentifier": {
+ "description": "nic identification",
+ "type": "string"
+ },
+ "operationalState": {
+ "description": "operational state",
+ "type": "string",
+ "enum": [
+ "inService",
+ "outOfService"
+ ]
+ },
+ "receivedBroadcastPacketsAccumulated": {
+ "description": "Cumulative count of broadcast packets received as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "receivedBroadcastPacketsDelta": {
+ "description": "Count of broadcast packets received within the measurement interval",
+ "type": "number"
+ },
+ "receivedDiscardedPacketsAccumulated": {
+ "description": "Cumulative count of discarded packets received as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "receivedDiscardedPacketsDelta": {
+ "description": "Count of discarded packets received within the measurement interval",
+ "type": "number"
+ },
+ "receivedErrorPacketsAccumulated": {
+ "description": "Cumulative count of error packets received as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "receivedErrorPacketsDelta": {
+ "description": "Count of error packets received within the measurement interval",
+ "type": "number"
+ },
+ "receivedMulticastPacketsAccumulated": {
+ "description": "Cumulative count of multicast packets received as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "receivedMulticastPacketsDelta": {
+ "description": "Count of multicast packets received within the measurement interval",
+ "type": "number"
+ },
+ "receivedOctetsAccumulated": {
+ "description": "Cumulative count of octets received as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "receivedOctetsDelta": {
+ "description": "Count of octets received within the measurement interval",
+ "type": "number"
+ },
+ "receivedTotalPacketsAccumulated": {
+ "description": "Cumulative count of all packets received as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "receivedPercentDiscard": {
+ "description": "Percentage of discarded packets received; value = (receivedDiscardedPacketsDelta / receivedTotalPacketsDelta) x 100, if denominator is nonzero, or 0, if otherwise",
+ "type": "number"
+ },
+ "receivedPercentError": {
+ "description": "Percentage of error packets received; value = (receivedErrorPacketsDelta / receivedTotalPacketsDelta) x 100, if denominator is nonzero, or 0, if otherwise.",
+ "type": "number"
+ },
+ "receivedTotalPacketsDelta": {
+ "description": "Count of all packets received within the measurement interval",
+ "type": "number"
+ },
+ "receivedUnicastPacketsAccumulated": {
+ "description": "Cumulative count of unicast packets received as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "receivedUnicastPacketsDelta": {
+ "description": "Count of unicast packets received within the measurement interval",
+ "type": "number"
+ },
+ "receivedUtilization": {
+ "description": "Percentage of utilization received; value = (receivedOctetsDelta / (speed x (lastEpochMicrosec - startEpochMicrosec))) x 100, if denominator is nonzero, or 0, if otherwise",
+ "type": "number"
+ },
+ "speed": {
+ "description": "Speed configured in mbps",
+ "type": "number"
+ },
+ "transmittedBroadcastPacketsAccumulated": {
+ "description": "Cumulative count of broadcast packets transmitted as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "transmittedBroadcastPacketsDelta": {
+ "description": "Count of broadcast packets transmitted within the measurement interval",
+ "type": "number"
+ },
+ "transmittedDiscardedPacketsAccumulated": {
+ "description": "Cumulative count of discarded packets transmitted as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "transmittedDiscardedPacketsDelta": {
+ "description": "Count of discarded packets transmitted within the measurement interval",
+ "type": "number"
+ },
+ "transmittedErrorPacketsAccumulated": {
+ "description": "Cumulative count of error packets transmitted as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "transmittedErrorPacketsDelta": {
+ "description": "Count of error packets transmitted within the measurement interval",
+ "type": "number"
+ },
+ "transmittedMulticastPacketsAccumulated": {
+ "description": "Cumulative count of multicast packets transmitted as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "transmittedMulticastPacketsDelta": {
+ "description": "Count of multicast packets transmitted within the measurement interval",
+ "type": "number"
+ },
+ "transmittedOctetsAccumulated": {
+ "description": "Cumulative count of octets transmitted as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "transmittedOctetsDelta": {
+ "description": "Count of octets transmitted within the measurement interval",
+ "type": "number"
+ },
+ "transmittedTotalPacketsAccumulated": {
+ "description": "Cumulative count of all packets transmitted as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "transmittedTotalPacketsDelta": {
+ "description": "Count of all packets transmitted within the measurement interval",
+ "type": "number"
+ },
+ "transmittedUnicastPacketsAccumulated": {
+ "description": "Cumulative count of unicast packets transmitted as read at the end of the measurement interval",
+ "type": "number"
+ },
+ "transmittedUnicastPacketsDelta": {
+ "description": "Count of unicast packets transmitted within the measurement interval",
+ "type": "number"
+ },
+ "transmittedPercentDiscard": {
+ "description": "Percentage of discarded packets transmitted; value = (transmittedDiscardedPacketsDelta / transmittedTotalPacketsDelta) x 100, if denominator is nonzero, or 0, if otherwise",
+ "type": "number"
+ },
+ "transmittedPercentError": {
+ "description": "Percentage of error packets received; value = (transmittedErrorPacketsDelta / transmittedTotalPacketsDelta) x 100, if denominator is nonzero, or 0, if otherwise",
+ "type": "number"
+ },
+ "transmittedUtilization": {
+ "description": "Percentage of utilization transmitted; value = (transmittedOctetsDelta / (speed x (lastEpochMicrosec - startEpochMicrosec))) x 100, if denominator is nonzero, or 0, if otherwise.",
+ "type": "number"
+ },
+ "valuesAreSuspect": {
+ "description": "Indicates whether vNicPerformance values are likely inaccurate due to counter overflow or other condtions",
+ "type": "string",
+ "enum": [
+ "true",
+ "false"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "nicIdentifier",
+ "valuesAreSuspect"
+ ]
+ },
+ "notificationFields": {
+ "description": "notification fields",
+ "type": "object",
+ "properties": {
+ "additionalFields": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "arrayOfNamedHashMap": {
+ "$ref": "#/definitions/arrayOfNamedHashMap"
+ },
+ "changeContact": {
+ "description": "identifier for a contact related to the change",
+ "type": "string"
+ },
+ "changeIdentifier": {
+ "description": "system or session identifier associated with the change",
+ "type": "string"
+ },
+ "changeType": {
+ "description": "describes what has changed for the entity",
+ "type": "string"
+ },
+ "newState": {
+ "description": "new state of the entity",
+ "type": "string"
+ },
+ "oldState": {
+ "description": "previous state of the entity",
+ "type": "string"
+ },
+ "notificationFieldsVersion": {
+ "description": "version of the notificationFields block",
+ "type": "string",
+ "enum": [
+ "2.0"
+ ]
+ },
+ "stateInterface": {
+ "description": "card or port name of the entity that changed state",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "changeIdentifier",
+ "changeType",
+ "notificationFieldsVersion"
+ ]
+ },
+ "otherFields": {
+ "description": "fields for events belonging to the 'other' domain of the commonEventHeader domain enumeration",
+ "type": "object",
+ "properties": {
+ "arrayOfNamedHashMap": {
+ "$ref": "#/definitions/arrayOfNamedHashMap"
+ },
+ "hashMap": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "jsonObjects": {
+ "$ref": "#/definitions/arrayOfJsonObject"
+ },
+ "otherFieldsVersion": {
+ "description": "version of the otherFields block",
+ "type": "string",
+ "enum": [
+ "3.0"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "otherFieldsVersion"
+ ]
+ },
+ "perf3gppFields": {
+ "description": "fields for 3GPP PM format events, based on 3GPP TS 28.550, belonging to the 'perf3gpp' domain of the commonEventHeader domain enumeration",
+ "type": "object",
+ "properties": {
+ "eventAddlFields": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "measDataCollection": {
+ "$ref": "#/definitions/measDataCollection"
+ },
+ "perf3gppFieldsVersion": {
+ "description": "version of the perf3gppFields block",
+ "type": "string",
+ "enum": [
+ "1.0",
+ "1.0.1"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "measDataCollection",
+ "perf3gppFieldsVersion"
+ ]
+ },
+ "pnfRegistrationFields": {
+ "description": "hardware device registration fields",
+ "type": "object",
+ "properties": {
+ "additionalFields": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "lastServiceDate": {
+ "description": "TS 32.692 dateOfLastService = date of last service; e.g. 15022017",
+ "type": "string"
+ },
+ "macAddress": {
+ "description": "MAC address of OAM interface of the unit",
+ "type": "string"
+ },
+ "manufactureDate": {
+ "description": "TS 32.692 dateOfManufacture = manufacture date of the unit; 24032016",
+ "type": "string"
+ },
+ "modelNumber": {
+ "description": "TS 32.692 versionNumber = version of the unit from vendor; e.g. AJ02. Maps to AAI equip-model",
+ "type": "string"
+ },
+ "oamV4IpAddress": {
+ "description": "IPv4 m-plane IP address to be used by the manager to contact the PNF",
+ "type": "string",
+ "format":"ipv4"
+ },
+ "oamV6IpAddress": {
+ "description": "IPv6 m-plane IP address to be used by the manager to contact the PNF",
+ "type": "string",
+ "format":"ipv6"
+ },
+ "pnfRegistrationFieldsVersion": {
+ "description": "version of the pnfRegistrationFields block",
+ "type": "string",
+ "enum": [
+ "2.0",
+ "2.1"
+ ]
+ },
+ "serialNumber": {
+ "description": "TS 32.692 serialNumber = serial number of the unit; e.g. 6061ZW3",
+ "type": "string"
+ },
+ "softwareVersion": {
+ "description": "TS 32.692 swName = active SW running on the unit; e.g. 5gDUv18.05.201",
+ "type": "string"
+ },
+ "unitFamily": {
+ "description": "TS 32.692 vendorUnitFamilyType = general type of HW unit; e.g. BBU",
+ "type": "string"
+ },
+ "unitType": {
+ "description": "TS 32.692 vendorUnitTypeNumber = vendor name for the unit; e.g. Airscale",
+ "type": "string"
+ },
+ "vendorName": {
+ "description": "TS 32.692 vendorName = name of manufacturer; e.g. Nokia. Maps to AAI equip-vendor",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "pnfRegistrationFieldsVersion"
+ ]
+ },
+ "processorDimmAggregateThermalMargin": {
+ "description": "intelligent platform management interface (ipmi) processor dual inline memory module aggregate thermal margin metrics",
+ "type": "object",
+ "properties": {
+ "processorDimmAggregateThermalMarginIdentifier": {
+ "description": "identifier for the aggregate thermal margin metrics from the processor dual inline memory module",
+ "type": "string"
+ },
+ "thermalMargin": {
+ "description": "the difference between the DIMM's current temperature, in celsius, and the DIMM's throttling thermal trip point",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "processorDimmAggregateThermalMarginIdentifier",
+ "thermalMargin"
+ ]
+ },
+ "processStats": {
+ "description": "metrics on system processes",
+ "type": "object",
+ "properties": {
+ "forkRate": {
+ "description": "the number of threads created since the last reboot",
+ "type": "number"
+ },
+ "processIdentifier": {
+ "description": "processIdentifier",
+ "type": "string"
+ },
+ "psStateBlocked": {
+ "description": "the number of processes in a blocked state",
+ "type": "number"
+ },
+ "psStatePaging": {
+ "description": "the number of processes in a paging state",
+ "type": "number"
+ },
+ "psStateRunning": {
+ "description": "the number of processes in a running state",
+ "type": "number"
+ },
+ "psStateSleeping": {
+ "description": "the number of processes in a sleeping state",
+ "type": "number"
+ },
+ "psStateStopped": {
+ "description": "the number of processes in a stopped state",
+ "type": "number"
+ },
+ "psStateZombie": {
+ "description": "the number of processes in a zombie state",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "processIdentifier"
+ ]
+ },
+ "requestError": {
+ "description": "standard request error data structure",
+ "type": "object",
+ "properties": {
+ "messageId": {
+ "description": "Unique message identifier of the format ABCnnnn where ABC is either SVC for Service Exceptions or POL for Policy Exception",
+ "type": "string"
+ },
+ "text": {
+ "description": "Message text, with replacement variables marked with %n, where n is an index into the list of <variables> elements, starting at 1",
+ "type": "string"
+ },
+ "url": {
+ "description": "Hyperlink to a detailed error resource e.g., an HTML page for browser user agents",
+ "type": "string"
+ },
+ "variables": {
+ "description": "List of zero or more strings that represent the contents of the variables used by the message text",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "messageId",
+ "text"
+ ]
+ },
+ "sipSignalingFields": {
+ "description": "sip signaling fields",
+ "type": "object",
+ "properties": {
+ "additionalInformation": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "compressedSip": {
+ "description": "the full SIP request/response including headers and bodies",
+ "type": "string"
+ },
+ "correlator": {
+ "description": "this is the same for all events on this call",
+ "type": "string"
+ },
+ "localIpAddress": {
+ "description": "IP address on xNF",
+ "type": "string"
+ },
+ "localPort": {
+ "description": "port on xNF",
+ "type": "string"
+ },
+ "remoteIpAddress": {
+ "description": "IP address of peer endpoint",
+ "type": "string"
+ },
+ "remotePort": {
+ "description": "port of peer endpoint",
+ "type": "string"
+ },
+ "sipSignalingFieldsVersion": {
+ "description": "version of the sipSignalingFields block",
+ "type": "string",
+ "enum": [
+ "3.0"
+ ]
+ },
+ "summarySip": {
+ "description": "the SIP Method or Response ('INVITE', '200 OK', 'BYE', etc)",
+ "type": "string"
+ },
+ "vendorNfNameFields": {
+ "$ref": "#/definitions/vendorNfNameFields"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "correlator",
+ "localIpAddress",
+ "localPort",
+ "remoteIpAddress",
+ "remotePort",
+ "sipSignalingFieldsVersion",
+ "vendorNfNameFields"
+ ]
+ },
+ "stateChangeFields": {
+ "description": "stateChange fields",
+ "type": "object",
+ "properties": {
+ "additionalFields": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "newState": {
+ "description": "new state of the entity",
+ "type": "string",
+ "enum": [
+ "inService",
+ "maintenance",
+ "outOfService"
+ ]
+ },
+ "oldState": {
+ "description": "previous state of the entity",
+ "type": "string",
+ "enum": [
+ "inService",
+ "maintenance",
+ "outOfService"
+ ]
+ },
+ "stateChangeFieldsVersion": {
+ "description": "version of the stateChangeFields block",
+ "type": "string",
+ "enum": [
+ "4.0"
+ ]
+ },
+ "stateInterface": {
+ "description": "card or port name of the entity that changed state",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "newState",
+ "oldState",
+ "stateChangeFieldsVersion",
+ "stateInterface"
+ ]
+ },
+ "stndDefinedFields": {
+ "description": "stndDefined fields",
+ "type": "object",
+ "properties": {
+ "schemaReference": {
+ "description": "a uri of a standards-defined JSON object schema; used to valide the stndDefinedFields.data property contents",
+ "type": "string",
+ "format": "uri"
+ },
+ "data": {
+ "description": "a native standards-defined JSON notification",
+ "type": "object"
+ },
+ "stndDefinedFieldsVersion": {
+ "description": "version of stndDefinedFields block",
+ "type": "string",
+ "enum": [
+ "1.0"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "data",
+ "stndDefinedFieldsVersion"
+ ]
+ },
+ "syslogFields": {
+ "description": "sysLog fields",
+ "type": "object",
+ "properties": {
+ "additionalFields": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "eventSourceHost": {
+ "description": "hostname of the device",
+ "type": "string"
+ },
+ "eventSourceType": {
+ "description": "type of event source; examples: other, router, switch, host, card, port, slotThreshold, portThreshold, virtualMachine, virtualNetworkFunction",
+ "type": "string"
+ },
+ "syslogFacility": {
+ "description": "numeric code from 0 to 23 for facility--see table in documentation",
+ "type": "integer"
+ },
+ "syslogFieldsVersion": {
+ "description": "version of the syslogFields block",
+ "type": "string",
+ "enum": [
+ "4.0"
+ ]
+ },
+ "syslogMsg": {
+ "description": "syslog message",
+ "type": "string"
+ },
+ "syslogMsgHost": {
+ "description": "hostname parsed from non-VES syslog message",
+ "type": "string"
+ },
+ "syslogPri": {
+ "description": "0-192 combined severity and facility",
+ "type": "integer"
+ },
+ "syslogProc": {
+ "description": "identifies the application that originated the message",
+ "type": "string"
+ },
+ "syslogProcId": {
+ "description": "a change in the value of this field indicates a discontinuity in syslog reporting",
+ "type": "number"
+ },
+ "syslogSData": {
+ "description": "syslog structured data consisting of a structured data Id followed by a set of key value pairs",
+ "type": "string"
+ },
+ "syslogSdId": {
+ "description": "0-32 char in format name@number for example ourSDID@32473",
+ "type": "string"
+ },
+ "syslogSev": {
+ "description": "numerical Code for severity derived from syslogPri as remaider of syslogPri / 8",
+ "type": "string",
+ "enum": [
+ "Alert",
+ "Critical",
+ "Debug",
+ "Emergency",
+ "Error",
+ "Info",
+ "Notice",
+ "Warning"
+ ]
+ },
+ "syslogTag": {
+ "description": "msgId indicating the type of message such as TCPOUT or TCPIN; NILVALUE should be used when no other value can be provided",
+ "type": "string"
+ },
+ "syslogTs": {
+ "description": "timestamp parsed from non-VES syslog message",
+ "type": "string"
+ },
+ "syslogVer": {
+ "description": "IANA assigned version of the syslog protocol specification - typically 1",
+ "type": "number"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "eventSourceType",
+ "syslogFieldsVersion",
+ "syslogMsg",
+ "syslogTag"
+ ]
+ },
+ "thresholdCrossingAlertFields": {
+ "description": "fields specific to threshold crossing alert events",
+ "type": "object",
+ "properties": {
+ "additionalFields": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "additionalParameters": {
+ "description": "performance counters",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/counter"
+ }
+ },
+ "alertAction": {
+ "description": "Event action",
+ "type": "string",
+ "enum": [
+ "CLEAR",
+ "CONT",
+ "SET"
+ ]
+ },
+ "alertDescription": {
+ "description": "Unique short alert description such as IF-SHUB-ERRDROP",
+ "type": "string"
+ },
+ "alertType": {
+ "description": "Event type",
+ "type": "string",
+ "enum": [
+ "CARD-ANOMALY",
+ "ELEMENT-ANOMALY",
+ "INTERFACE-ANOMALY",
+ "SERVICE-ANOMALY"
+ ]
+ },
+ "alertValue": {
+ "description": "Calculated API value (if applicable)",
+ "type": "string"
+ },
+ "associatedAlertIdList": {
+ "description": "List of eventIds associated with the event being reported",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "collectionTimestamp": {
+ "description": "Time when the performance collector picked up the data; with RFC 2822 compliant format: Sat, 13 Mar 2010 11:29:05 -0800",
+ "type": "string"
+ },
+ "dataCollector": {
+ "description": "Specific performance collector instance used",
+ "type": "string"
+ },
+ "elementType": {
+ "description": "type of network element - internal ATT field",
+ "type": "string"
+ },
+ "eventSeverity": {
+ "description": "event severity or priority",
+ "type": "string",
+ "enum": [
+ "CRITICAL",
+ "MAJOR",
+ "MINOR",
+ "WARNING",
+ "NORMAL"
+ ]
+ },
+ "eventStartTimestamp": {
+ "description": "Time closest to when the measurement was made; with RFC 2822 compliant format: Sat, 13 Mar 2010 11:29:05 -0800",
+ "type": "string"
+ },
+ "interfaceName": {
+ "description": "Physical or logical port or card (if applicable)",
+ "type": "string"
+ },
+ "networkService": {
+ "description": "network name - internal ATT field",
+ "type": "string"
+ },
+ "possibleRootCause": {
+ "description": "Reserved for future use",
+ "type": "string"
+ },
+ "thresholdCrossingFieldsVersion": {
+ "description": "version of the thresholdCrossingAlertFields block",
+ "type": "string",
+ "enum": [
+ "4.0"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "additionalParameters",
+ "alertAction",
+ "alertDescription",
+ "alertType",
+ "collectionTimestamp",
+ "eventSeverity",
+ "eventStartTimestamp",
+ "thresholdCrossingFieldsVersion"
+ ]
+ },
+ "vendorNfNameFields": {
+ "description": "provides vendor, nf and nfModule identifying information",
+ "type": "object",
+ "properties": {
+ "vendorName": {
+ "description": "network function vendor name",
+ "type": "string"
+ },
+ "nfModuleName": {
+ "description": "name of the nfModule generating the event",
+ "type": "string"
+ },
+ "nfName": {
+ "description": "name of the network function generating the event",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "vendorName"
+ ]
+ },
+ "voiceQualityFields": {
+ "description": "provides statistics related to customer facing voice products",
+ "type": "object",
+ "properties": {
+ "additionalInformation": {
+ "$ref": "#/definitions/hashMap"
+ },
+ "calleeSideCodec": {
+ "description": "callee codec for the call",
+ "type": "string"
+ },
+ "callerSideCodec": {
+ "description": "caller codec for the call",
+ "type": "string"
+ },
+ "correlator": {
+ "description": "this is the same for all events on this call",
+ "type": "string"
+ },
+ "endOfCallVqmSummaries": {
+ "$ref": "#/definitions/endOfCallVqmSummaries"
+ },
+ "phoneNumber": {
+ "description": "phone number associated with the correlator",
+ "type": "string"
+ },
+ "midCallRtcp": {
+ "description": "Base64 encoding of the binary RTCP data excluding Eth/IP/UDP headers",
+ "type": "string"
+ },
+ "vendorNfNameFields": {
+ "$ref": "#/definitions/vendorNfNameFields"
+ },
+ "voiceQualityFieldsVersion": {
+ "description": "version of the voiceQualityFields block",
+ "type": "string",
+ "enum": [
+ "4.0"
+ ]
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "calleeSideCodec",
+ "callerSideCodec",
+ "correlator",
+ "midCallRtcp",
+ "vendorNfNameFields",
+ "voiceQualityFieldsVersion"
+ ]
+ }
+ }
+}
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-devicemanager-core-top</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-devicemanager-core-provider</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
return this.vesCollectorServiceImpl;
}
+ @Override
+ public @NonNull NetconfNodeStateService getNetconfNodeStateService() {
+ return this.netconfNodeStateService;
+ }
+
@Override
public WebsocketManagerService getWebsocketService() {
return this.websocketmanagerService;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.NotificationProxyParser;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorConfigChangeListener;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESFaultFieldsPOJO;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESMessage;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESNotificationFieldsPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESPNFRegistrationFieldsPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESStndDefinedFieldsPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.Event;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.FaultFields;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.NotificationFields;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.PnfRegistrationFields;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.StndDefinedFields;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.vescollectorconnector.impl.config.VESCollectorCfgImpl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
}
@Override
- public boolean publishVESMessage(VESMessage message) {
- LOG.debug("In VESClient - {} ", message.getMessage());
+ public boolean publishVESMessage(VESMessage vesMessage) throws JsonProcessingException {
+ final var strMessage = this.objMapper.writeValueAsString(vesMessage);
+ LOG.debug("In VESClient - {} ", vesMessage);
BaseHTTPResponse response;
try {
String uri = "eventListener" + "/" + getConfig().getVersion();
- response = httpClient.sendRequest(uri, "POST", message.getMessage(), headerMap);
+ response = httpClient.sendRequest(uri, "POST", strMessage, headerMap);
LOG.debug("finished with responsecode {}", response.code);
return response.code == 200;
} catch (IOException e) {
* @param commonEventHeader
* @param notifFields
* @return VESMessage - representing the VESEvent JSON
- * @throws JsonProcessingException
*/
@Override
- public VESMessage generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader,
- VESNotificationFieldsPOJO notifFields) throws JsonProcessingException {
- final var evt = Map.of("event",
- Map.of("commonEventHeader", commonEventHeader, "notificationFields", notifFields));
- final var str = objMapper.writeValueAsString(evt);
- LOG.debug("In generateVESEvent - {}", str);
- return new VESMessage(str);
+ public VESMessage generateVESEvent(CommonEventHeader commonEventHeader,
+ NotificationFields notifFields) {
+ return VESMessage.builder()
+ .event(new Event().withCommonEventHeader(commonEventHeader).withNotificationFields(notifFields))
+ .build();
+
}
/**
* @param commonEventHeader
* @param faultFields
* @return VESMessage - representing the VES Event JSON
- * @throws JsonProcessingException
*/
@Override
- public VESMessage generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader, VESFaultFieldsPOJO faultFields)
- throws JsonProcessingException {
- final var evt = Map.of("event",
- Map.of("commonEventHeader", commonEventHeader, "faultFields", faultFields));
- return new VESMessage(objMapper.writeValueAsString(evt));
+ public VESMessage generateVESEvent(CommonEventHeader commonEventHeader, FaultFields faultFields) {
+ return VESMessage.builder()
+ .event(new Event().withCommonEventHeader(commonEventHeader).withFaultFields(faultFields))
+ .build();
}
/**
* @param commonEventHeader
* @param pnfRegistrationFields
* @return VESMessage - representing the VES Event JSON
- * @throws JsonProcessingException
*/
@Override
- public VESMessage generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader,
- VESPNFRegistrationFieldsPOJO pnfRegistrationFields) throws JsonProcessingException {
- final var evt = Map.of("event",
- Map.of("commonEventHeader", commonEventHeader, "pnfRegistrationFields", pnfRegistrationFields));
- return new VESMessage(objMapper.writeValueAsString(evt));
+ public VESMessage generateVESEvent(CommonEventHeader commonEventHeader,
+ PnfRegistrationFields pnfRegistrationFields) {
+ return VESMessage.builder().event(new Event().withCommonEventHeader(commonEventHeader)
+ .withPnfRegistrationFields(pnfRegistrationFields)).build();
}
/**
* @param commonEventHeader
* @param stndDefinedFields
* @return VESMessage - representing the VES Event JSON
- * @throws JsonProcessingException
*/
@Override
- public VESMessage generateVESEvent(VESCommonEventHeaderPOJO commonEventHeader,
- VESStndDefinedFieldsPOJO stndDefinedFields) throws JsonProcessingException {
- final var evt = Map.of("event",
- Map.of("commonEventHeader", commonEventHeader, "stndDefinedFields", stndDefinedFields));
- return new VESMessage(objMapper.writeValueAsString(evt));
+ public VESMessage generateVESEvent(CommonEventHeader commonEventHeader,
+ StndDefinedFields stndDefinedFields) {
+ return VESMessage.builder()
+ .event(new Event().withCommonEventHeader(commonEventHeader).withStndDefinedFields(stndDefinedFields)
+ ).build();
}
}
-module core-model {\r
- namespace "urn:onf:params:xml:ns:yang:core-model";\r
- prefix core-model;\r
- organization "ONF (Open Networking Foundation) Open Transport Working Group - Wireless Transport Project";\r
- contact "WG Web: <https://www.opennetworking.org/technical-communities/areas/specification/1931-optical-transport>\r
- WG List: <mailto:wireless-transport@login.opennetworking.org>\r
- WG Chair: Lyndon Ong\r
- <mailto:lyong@ciena.com>\r
- WG Chair: Giorgio Cazzaniga\r
- <mailto:giorgio.cazzaniga@sm-optics.com>\r
- Editors: Thorsten Heinze\r
- <mailto:thorsten.heinze@telefonica.com>\r
- Martin Skorupski\r
- <mailto:martin.skorupski@highstreet-technologies.com>";\r
- description "This module contains a collection of YANG definitions for managing wireless networks.";\r
- revision 2017-03-20 {\r
- description "Initial version";\r
- reference "ONF TR 532: A YANG Data Model for Wireless Networks.";\r
- }\r
- /***********************\r
- * package core-network-model\r
- **********************/ \r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- /***********************\r
- * package resilience\r
- **********************/ \r
- typedef protection-reason {\r
- type enumeration {\r
- enum wait-to-revert {\r
- description "The resource is selected as control is waiting to restore to a preferred resource.";\r
- }\r
- enum signal-degrade {\r
- description "The resource is selected as the best preferred resource is in signal degrade.";\r
- }\r
- enum signal-fail {\r
- description "The resource is selected as the best preferred resource is in signal fail.";\r
- }\r
- }\r
- description "The cause of the current protection state.";\r
- }\r
- typedef route-selection-control {\r
- type enumeration {\r
- enum normal {\r
- description "No administrative control applied to the switch.";\r
- }\r
- enum manual {\r
- description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.\r
- Preferred resource has highest priority.\r
- Temporarily overrides reversion.\r
- If this resource fails will switch to best available resource. \r
- If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.\r
- If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- Can be returned to NORMAL by configuration action.";\r
- }\r
- enum forced {\r
- description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.\r
- Preferred resource has highest priority.\r
- Temporarily overrides reversion.\r
- If this resource fails will NOT switch. \r
- If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- Can be returned to NORMAL by configuration action.";\r
- }\r
- enum lock-out {\r
- description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.\r
- This overrides all other protection control states including forced.\r
- If the item is locked out then it cannot be used under any circumstances.\r
- Note: Only relevant when part of a protection scheme.";\r
- }\r
- }\r
- description "Possible degrees of administrative control applied to the Route selection.";\r
- }\r
- typedef route-selection-reason {\r
- type enumeration {\r
- enum wait-to-revert {\r
- description "The resource is selected as control is waiting to restore to a preferred resource.";\r
- }\r
- enum signal-degrade {\r
- description "The resource is selected as the best preferred resource is in signal degrade.";\r
- }\r
- enum signal-fail {\r
- description "The resource is selected as the best preferred resource is in signal fail.";\r
- }\r
- enum normal {\r
- description "No administrative control applied to the switch.";\r
- }\r
- enum manual {\r
- description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.\r
- Preferred resource has highest priority.\r
- Temporarily overrides reversion.\r
- If this resource fails will switch to best available resource. \r
- If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.\r
- If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- Can be returned to NORMAL by configuration action.";\r
- }\r
- enum forced {\r
- description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.\r
- Preferred resource has highest priority.\r
- Temporarily overrides reversion.\r
- If this resource fails will NOT switch. \r
- If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- Can be returned to NORMAL by configuration action.";\r
- }\r
- enum lock-out {\r
- description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.\r
- This overrides all other protection control states including forced.\r
- If the item is locked out then it cannot be used under any circumstances.\r
- Note: Only relevant when part of a protection scheme.";\r
- }\r
- }\r
- description "The cause of the current route selection.";\r
- }\r
- typedef switch-control {\r
- type enumeration {\r
- enum normal {\r
- description "No administrative control applied to the switch.";\r
- }\r
- enum manual {\r
- description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.\r
- Preferred resource has highest priority.\r
- Temporarily overrides reversion.\r
- If this resource fails will switch to best available resource. \r
- If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.\r
- If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- Can be returned to NORMAL by configuration action.";\r
- }\r
- enum forced {\r
- description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.\r
- Preferred resource has highest priority.\r
- Temporarily overrides reversion.\r
- If this resource fails will NOT switch. \r
- If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- Can be returned to NORMAL by configuration action.";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef switch-state-reason {\r
- type enumeration {\r
- enum wait-to-revert {\r
- description "The resource is selected as control is waiting to restore to a preferred resource.";\r
- }\r
- enum signal-degrade {\r
- description "The resource is selected as the best preferred resource is in signal degrade.";\r
- }\r
- enum signal-fail {\r
- description "The resource is selected as the best preferred resource is in signal fail.";\r
- }\r
- enum normal {\r
- description "No administrative control applied to the switch.";\r
- }\r
- enum manual {\r
- description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.\r
- Preferred resource has highest priority.\r
- Temporarily overrides reversion.\r
- If this resource fails will switch to best available resource. \r
- If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.\r
- If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- Can be returned to NORMAL by configuration action.";\r
- }\r
- enum forced {\r
- description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.\r
- Preferred resource has highest priority.\r
- Temporarily overrides reversion.\r
- If this resource fails will NOT switch. \r
- If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.\r
- Can be returned to NORMAL by configuration action.";\r
- }\r
- }\r
- description "Explains the reason for the current switch state.";\r
- }\r
- typedef reversion-mode {\r
- type enumeration {\r
- enum revertive {\r
- description "An FC switched to a lower priority (non-preferred) resource will revert to a higher priority (preferred) resource when that recovers (potentially after some hold-off time).";\r
- }\r
- enum non-revertive {\r
- description "An FC switched to a lower priority (non-preferred) resource will not revert to a higher priority (preferred) resource when that recovers.";\r
- }\r
- }\r
- description "The reversion mode associated with protection.";\r
- }\r
- grouping global-pac-g {\r
- uses global-class-g;\r
- description "Provides the properties of a GlobalClass via composition.";\r
- }\r
- grouping local-pac-g {\r
- uses local-class-g;\r
- description "Provides the properties of a LocalClass via composition.";\r
- }\r
- typedef protection-type {\r
- type string;\r
- description "Identifies the type of protection of an FcSwitch.";\r
- }\r
-\r
- typedef layer-protocol-name {\r
- type string;\r
- description "Provides a controlled list of layer protocol names and indicates the naming authority.\r
- Note that it is expected that attributes will be added to this structure to convey the naming authority name, the name of the layer protocol using a human readable string and any particular standard reference.\r
- Layer protocol names include:\r
- - Layer 1 (L1): OTU, ODU\r
- - Layer 2 (L2): Carrier Grade Ethernet (ETY, ETH), MPLS-TP (MT)\r
- ";\r
- }\r
- typedef port-role {\r
- type string;\r
- description "The role of a port in the context of the function of the forwarding entity that it bounds.";\r
- }\r
- typedef port-direction {\r
- type enumeration {\r
- enum bidirectional {\r
- description "The Port has both an INPUT flow and an OUTPUT flow defined.";\r
- }\r
- enum input {\r
- description "The Port only has definition for a flow into the Forwarding entity (i.e. an ingress flow).";\r
- }\r
- enum output {\r
- description "The Port only has definition for a flow out of the Forwarding entity (i.e. an egress flow).";\r
- }\r
- enum unidentified-or-unknown {\r
- description "Not a normal state. The system is unable to determine the correct value.";\r
- }\r
- }\r
- description "The orientation of flow at the Port of a Forwarding entity";\r
- }\r
- typedef forwarding-direction {\r
- type enumeration {\r
- enum bidirectional {\r
- description "The Forwarding entity supports both BIDIRECTIONAL flows at all Ports (i.e. all Ports have both an INPUT flow and an OUTPUT flow defined).";\r
- }\r
- enum unidirectional {\r
- description "The Forwarding entity has Ports that are either INPUT or OUTPUT. It has no BIDIRECTIONAL Ports.";\r
- }\r
- enum undefined-or-unknown {\r
- description "Not a normal state. The system is unable to determine the correct value.";\r
- }\r
- }\r
- description "The directionality of a Forwarding entity.";\r
- }\r
- typedef termination-direction {\r
- type enumeration {\r
- enum bidirectional {\r
- description "A Termination with both SINK and SOURCE flows.";\r
- }\r
- enum sink {\r
- description "The flow is up the layer stack from the server side to the client side. \r
- Considering an example of a Termination function within the termination entity, a SINK flow:\r
- - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component\r
- - then will be decoded and deconstructed \r
- - then relevant parts of the flow will be sent out of the termination function (the client side) where it is essentially at an OUTPUT from the termination component\r
- A SINK termination is one that only supports a SINK flow.\r
- A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";\r
- }\r
- enum source {\r
- description "The flow is down the layer stack from the server side to the client side. \r
- Considering an example of a Termination function within the termination entity, a SOURCE flow:\r
- - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component\r
- - then will be assembled with various overheads etc and will be coded \r
- - then coded form of the assembly of flow will be sent out of the termination function (the server side) where it is essentially at an OUTPUT from the termination component\r
- A SOURCE termination is one that only supports a SOURCE flow.\r
- A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";\r
- }\r
- enum undefined-or-unknown {\r
- description "Not a normal state. The system is unable to determine the correct value.";\r
- }\r
- }\r
- description "The directionality of a termination entity.";\r
- }\r
- typedef extended-termination-direction {\r
- type enumeration {\r
- enum bidirectional {\r
- description "A Termination with both SINK and SOURCE flows.";\r
- }\r
- enum sink {\r
- description "The flow is up the layer stack from the server side to the client side. \r
- Considering an example of a Termination function within the termination entity, a SINK flow:\r
- - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component\r
- - then will be decoded and deconstructed \r
- - then relevant parts of the flow will be sent out of the termination function (the client side) where it is essentially at an OUTPUT from the termination component\r
- A SINK termination is one that only supports a SINK flow.\r
- A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";\r
- }\r
- enum source {\r
- description "The flow is down the layer stack from the server side to the client side. \r
- Considering an example of a Termination function within the termination entity, a SOURCE flow:\r
- - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component\r
- - then will be assembled with various overheads etc and will be coded \r
- - then coded form of the assembly of flow will be sent out of the termination function (the server side) where it is essentially at an OUTPUT from the termination component\r
- A SOURCE termination is one that only supports a SOURCE flow.\r
- A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";\r
- }\r
- enum undefined-or-unknown {\r
- description "Not a normal state. The system is unable to determine the correct value.";\r
- }\r
- enum contra-direction-sink {\r
- description "The essential flow of the Termination entity is SINK (i.e. up the layer stack) but the INPUT flow of the Termination entity was provided by a SOURCE OUTPUT or taken from a SOURCE INPUT (duplicating the input signal) hence reversing the flow orientation from down the layer stack to up the layer stack.";\r
- }\r
- enum contra-direction-source {\r
- description "The essential flow of the Termination entity is SOURCE (i.e. down the layer stack) but the OUTPUT flow of the Termination entity was fed to (and replaces) a SINK OUTPUT or was fed to a SINK INPUT (replacing the normal flow) hence reversing the flow orientation from down the layer stack to up the layer stack.";\r
- }\r
- }\r
- description "Extended to include contra-direction considerations. Only applies to LP and elements of LP not to LTP.";\r
- }\r
- typedef termination-state {\r
- type enumeration {\r
- enum lp-can-never-terminate {\r
- description "A non-flexible case that can never be terminated.";\r
- }\r
- enum lt-not-terminated {\r
- description "A flexible termination that can terminate but is currently not terminated.";\r
- }\r
- enum terminated-server-to-client-flow {\r
- description "A flexible termination that is currently terminated for server to client flow only.";\r
- }\r
- enum terminated-client-to-server-flow {\r
- description "A flexible termination that is currently terminated for client to server flow only.";\r
- }\r
- enum terminated-bidirectional {\r
- description "A flexible termination that is currently terminated in both directions of flow.";\r
- }\r
- enum lt-permenantly-terminated {\r
- description "A non-flexible termination that is always terminated (in both directions of flow for a bidirectional case and in the one direction of flow for both unidirectional cases).";\r
- }\r
- enum termination-state-unknown {\r
- description "There TerminationState cannot be determined.";\r
- }\r
- }\r
- description "Provides support for the range of behaviours and specific states that an LP can take with respect to termination of the signal.\r
- Indicates to what degree the LayerTermination is terminated.";\r
- }\r
-\r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- /***********************\r
- * package resilience\r
- **********************/ \r
- grouping configuration-and-switch-controller-g {\r
- leaf switch-rule {\r
- type to-be-defined;\r
- description "A sketch of the presence of complex rules governing the switch behavior.";\r
- }\r
- leaf-list fc-switch {\r
- type leafref {\r
- path '/forwarding-construct/fc-switch/uuid';\r
- }\r
- description "The switch being controlled.";\r
- }\r
- container control-parameters {\r
- uses control-parameters-pac-g;\r
- description "The control parameters to be applied if local parameters are used rather than profiles";\r
- }\r
- leaf-list profile-proxy {\r
- type string;\r
- description "Applied profiles.";\r
- }\r
- container local-pac {\r
- uses local-pac-g;\r
- description "none";\r
- }\r
- container global-pac {\r
- uses global-pac-g;\r
- description "none";\r
- }\r
- leaf is-frozen {\r
- type boolean;\r
- description "Temporarily prevents any switch action to be taken and, as such, freezes the current state. \r
- Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored.\r
- All administrative controls of any aspect of protection are rejected.";\r
- }\r
- leaf is-coordinated-switching-both-ends {\r
- type boolean;\r
- description "The C&SC is operating such that switching at both ends of each flow acorss the FC is coordinated at both ingress and egress ends.";\r
- }\r
- leaf-list subordinate-controller {\r
- type leafref {\r
- path '/network-element/ltp/lp/config-and-switch-controller/switch-rule';\r
- }\r
- description "A C&SC that is fully or partially subordinate this C&SC. \r
- A peer is considered as partially subordinate in that the peer will respond to requests for action from this C&SC but will also make requests for action to be carried out by this C&SC.\r
- Where there is a peer relationship each controller in the peering will see the other controller as subordinate.";\r
- }\r
- description "Represents the capability to control and coordinate switches, to add/delete/modify FCs and to add/delete/modify LTPs/LPs so as to realize a protection scheme.";\r
- }\r
- grouping control-parameters-pac-g {\r
- leaf reversion-mode {\r
- type reversion-mode;\r
- description "Indcates whether the protection scheme is revertive or non-revertive.";\r
- }\r
- leaf wait-to-revert-time {\r
- type int64;\r
- default 15;\r
- description "If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource.";\r
- }\r
- leaf prot-type {\r
- type protection-type;\r
- description "Indicates the protection scheme that is used for the ProtectionGroup.";\r
- }\r
- leaf hold-off-time {\r
- type int64;\r
- description "This attribute indicates the time, in milliseconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm.";\r
- }\r
- leaf network-scheme-specification {\r
- type string;\r
- description "none";\r
- }\r
- description "A list of control parameters to apply to a switch.";\r
- }\r
- grouping fc-switch-g {\r
- leaf hold-off-time {\r
- type int64;\r
- description "Moved to ControlParameter_Pac... This attribute indicates the time, in seconds, between declaration of unacceptable quality of signal on the currently selected FcPort, and the initialization of the protection switching algorithm. ";\r
- }\r
- leaf prot-type {\r
- type protection-type;\r
- description "Indicates the protection scheme that is used for the ProtectionGroup.";\r
- }\r
- leaf reversion-mode {\r
- type reversion-mode;\r
- description "Moved to ControlParameter_Pac... This attribute whether or not the protection scheme is revertive or non-revertive. ";\r
- }\r
- leaf-list selected-fc-port {\r
- type leafref {\r
- path '/forwarding-construct/fc-port/uuid';\r
- }\r
- description "Indicates which points are selected by the switch.\r
- Depending on the switch spec (via Fcspec)\r
- - more than one FcPort can be selected at any one time (e.g. egress switch, ingress packet switch)\r
- - zero FcPorts can be selected. For an ingress switch this indicates that the switch common (egress) is 'high impedance'\r
-.";\r
- }\r
- leaf-list profile-proxy {\r
- type string;\r
- description "Provides a set of predefined values for switch control in place of the direct values available via the FcSwitch or via _configurationAndSwitchControl.";\r
- }\r
- container internal-configuration-and-switch-control {\r
- uses configuration-and-switch-controller-g;\r
- description "A switch controller encapsulated in the FcSwitch.";\r
- }\r
- leaf switch-control {\r
- type switch-control;\r
- description "Degree of administrative control applied to the switch selection.";\r
- }\r
- leaf switch-selects-ports {\r
- type port-direction;\r
- description "Indicates whether the switch selects from ingress to the FC or to egress of the FC, or both.";\r
- }\r
- leaf switch-selection-reason {\r
- type switch-state-reason;\r
- config false;\r
- description "The reason for the current switch selection.";\r
- }\r
- container control-parameters {\r
- uses control-parameters-pac-g;\r
- description "none";\r
- }\r
- leaf wait-to-restore-time {\r
- type int64;\r
- description "Moved to ControlParameter_Pac and changed to waitToRevert... If the protection system is revertive, this attribute specifies the amount of time, in seconds, to wait after the preferred FcPort returns to an acceptable state of operation (e.g. a fault has cleared) before restoring traffic to that preferred FcPort.";\r
- }\r
- uses local-class-g;\r
- description "The FcSwitch class models the switched forwarding of traffic (traffic flow) between FcPorts and is present where there is protection functionality in the FC. \r
- If an FC exposes protection (having two or more FcPorts that provide alternative identical inputs/outputs), the FC will have one or more associated FcSwitch objects to represent the alternative flow choices visible at the edge of the FC.\r
- The FC switch represents and defines a protection switch structure encapsulated in the FC. \r
- Essentially performs one of the functions of the Protection Group in a traditional model. It associates to 2 or more FcPorts each playing the role of a Protection Unit. \r
- One or more protection, i.e. standby/backup, FcPorts provide protection for one or more working (i.e. regular/main/preferred) FcPorts where either protection or working can feed one or more protected FcPort.\r
- The switch may be used in revertive or non-revertive (symmetric) mode. When in revertive mode it may define a waitToRestore time.\r
- It may be used in one of several modes including source switch, destination switched, source and destination switched etc (covering cases such as 1+1 and 1:1).\r
- It may be locked out (prevented from switching), force switched or manual switched.\r
- It will indicate switch state and change of state.\r
- The switch can be switched away from all sources such that it becomes open and hence two coordinated switches can both feed the same LTP so long as at least one of the two is switched away from all sources (is 'open').\r
- The ability for a Switch to be 'high impedance' allows bidirectional ForwardingConstructs to be overlaid on the same bidirectional LTP where the appropriate control is enabled to prevent signal conflict.\r
- This ability allows multiple alternate routes to be present that otherwise would be in conflict.";\r
- }\r
-\r
- grouping forwarding-domain-g {\r
- leaf-list layer-protocol-name {\r
- type layer-protocol-name;\r
- min-elements 1;\r
- description "One or more protocol layers at which the FD represents the opportunity to enable forwarding between LTP that bound it.";\r
- }\r
- leaf-list lower-level-fd {\r
- type leafref {\r
- path '/network-element/fd/uuid';\r
- }\r
- description "The FD class supports a recursive aggregation relationship (HigherLevelFdEncompassesLowerLevelFds) such that the internal construction of an FD can be exposed as multiple lower level FDs and associated Links (partitioning).\r
- The aggregated FDs and Links form an interconnected topology that provides and describes the capability of the aggregating FD.\r
- Note that the model actually represents aggregation of lower level FDs into higher level FDs as views rather than FD partition, and supports multiple views. \r
- Aggregation allow reallocation of capacity from lower level FDs to different higher level FDs as if the network is reorganized (as the association is aggregation not composition).";\r
- }\r
- leaf-list fc {\r
- type leafref {\r
- path '/forwarding-construct/uuid';\r
- }\r
- description "An FD aggregares one or more FCs. A aggregated FC connects LTPs that bound the FD.";\r
- }\r
- leaf-list ltp {\r
- type leafref {\r
- path '/network-element/ltp/uuid';\r
- }\r
- description "An instance of FD is associated with zero or more LTP objects. \r
- The LTPs that bound the FD provide capacity for forwarding.";\r
- }\r
- leaf-list lower-level-link {\r
- type string;\r
- description "The FD encompasses Links that interconnect lower level FDs and collect links that are wholly within the bounds of the FD.\r
- See also _lowerLevelFd.";\r
- }\r
- uses global-class-g;\r
- description "The ForwardingDomain (FD) class models the topological component that represents the opportunity to enable forwarding (of specific transport characteristic information at one or more protocol layers) between points represented by the LTP in the model.\r
- The FD object provides the context for and constrains the formation, adjustment and removal of FCs and hence offers the potential to enable forwarding. \r
- The LTPs available are those defined at the boundary of the FD.\r
- At a lower level of recursion an FD could represent a fabric (switch matrix) in a Network Element (NE). \r
- An NE can encompass more than one switch matrix and hence more than one FD. The FD representing a switch matrix can be further partitioned.\r
- The FD corresponds to a subnetwork [ITU-T G.800], FlowDomain [TMF 612] and a MultiLayerSubNetwork (MLSN) [TMF 612]. As in the TMF concept of MLSN and unlike the ITU-T concet of subnetwork model the FD can support more than one layer-protocol.";\r
- }\r
- grouping forwarding-construct-g {\r
- leaf layer-protocol-name {\r
- type layer-protocol-name;\r
- description "The layerProtocol at which the FC enables the potential for forwarding.";\r
- }\r
- leaf-list lower-level-fc {\r
- type leafref {\r
- path '/forwarding-construct/uuid';\r
- }\r
- description "An FC object supports a recursive aggregation relationship such that the internal construction of an FC can be exposed as multiple lower level FC objects (partitioning).\r
- Aggregation is used as for the FD to allow changes in hierarchy. \r
- FC aggregation reflects FD aggregation. \r
- The FC represents a Cross-Connection in an NE. The Cross-Connection in an NE is not necessarily the lowest level of FC partitioning.\r
- ";\r
- }\r
- leaf-list fc-route {\r
- type string;\r
- description "An FC object can have zero or more routes, each of which is defined as a list of lower level FC objects describing the flow across the network.";\r
- }\r
- list fc-port {\r
- key 'uuid';\r
- min-elements 2;\r
- uses fc-port-g;\r
- description "The association of the FC to LTPs is made via FcPorts (essentially the ports of the FC).";\r
- }\r
- list fc-switch {\r
- key 'uuid';\r
- uses fc-switch-g;\r
- description "If an FC exposes protection (having two FcPorts that provide alternative identical inputs/outputs), the FC will have one or more associated FcSwitch objects.\r
- The arrangement of switches for a particular instance is described by a referenced FcSpec";\r
- }\r
- leaf forwarding-direction {\r
- type forwarding-direction;\r
- description "The directionality of the ForwardingConstruct. \r
- Is applicable to simple ForwardingConstructs where all FcPorts are BIDIRECTIONAL (the ForwardingConstruct will be BIDIRECTIONAL) or UNIDIRECTIONAL (the ForwardingConstruct will be UNIDIRECTIONAL). \r
- Is not present in more complex cases.";\r
- }\r
- leaf is-protection-lock-out {\r
- if-feature protection-exclude-server;\r
- type boolean;\r
- description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.\r
- This overrides all other protection control states including forced.\r
- If the item is locked out then it cannot be used under any circumstances.\r
- Note: Only relevant when part of a protection scheme.";\r
- }\r
- leaf service-priority {\r
- type int64;\r
- description "Relevant where 'service' FCs are competing for server resources.\r
- Used to determine which signal FC is allocated resource. \r
- The priority of the 'service' with respect to other 'services'. \r
- Lower numeric value means higher priority. \r
- Covers cases such as preemptable.";\r
- }\r
- leaf-list supported-link {\r
- type string;\r
- description "An FC that spans between LTPs that terminate the LayerProtocol usually supports one or more links in the client layer.";\r
- }\r
- uses global-class-g;\r
- description "The ForwardingConstruct (FC) class models enabled constrained potential for forwarding between two or more LTPs at a particular specific layerProtocol.\r
- Like the LTP, the FC supports any transport protocol including all circuit and packet forms.\r
- It is used to effect forwarding of transport characteristic (layer protocol) information.\r
- An FC can be in only one FD.\r
- The ForwardingConstruct is a Forwarding entity.\r
- At a low level of the recursion, a FC represents a cross-connection within an NE. It may also represent a fragment of a cross-connection under certain circumstances.\r
- The FC object can be used to represent many different structures including point-to-point (P2P), point-to-multipoint (P2MP), rooted-multipoint (RMP) and multipoint-to-multipoint (MP2MP) bridge and selector structures for linear, ring or mesh protection schemes.";\r
- }\r
- container network-element {\r
- presence "";\r
- list fd {\r
- key 'uuid';\r
- uses forwarding-domain-g;\r
- description "Represents the FD that is completely within the boundary of the NE.\r
- At a low level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). \r
- Note that an NE can encompass multiple switch matrices (FDs) and the FD representing the switch matrix can be further partitioned.\r
- Where an FD is referenced by the NeEncompassesFd association, any FDs that it encompasses (i.e., that are associated with it by HigherLevelFdEncompassesLowerLevelFds), must also be encompassed by the NE and hence must have the NeEncompassesFd association.\r
- ";\r
- }\r
- list ltp {\r
- key 'uuid';\r
- uses logical-termination-point-g;\r
- description "An NE has associated LTPs that are at its boundary.\r
- The NeEncompassesFd association occurs for FDs that are within the bounds of the NetworkElement definition such that the FD is bounded by LTPs, all of which are on the boundary of the NetworkElement or are within the NetworkElement. \r
- An LTP can be independent of an NE.";\r
- }\r
- uses global-class-g;\r
- description "The Network Element (NE) class represents a network element (traditional NE) in the data plane.\r
- A data plane network element is essentially a consolidation of capabilities that can be viewed and controlled through a 'single' management-control port.\r
- In the direct interface from an SDN controller to a network element in the data plane, the NetworkElement object defines the scope of control for the resources within the network element\r
- For example internal transfer of user information between the external terminations (ports of the NE), encapsulation, multiplexing/demultiplexing, and OAM functions, etc. \r
- The NetworkElement provides the scope of the naming space for identifying objects representing the resources within the data plane network element.\r
- NE is really a product bundling or some view of management scope, management access, session. \r
- The NE is not directly part of topology but brings meaning to the FD context and the LTP context (and hence the links). ";\r
- }\r
- list forwarding-construct {\r
- key 'uuid';\r
- uses forwarding-construct-g;\r
- description "none";\r
- }\r
- grouping fc-port-g {\r
- leaf-list ltp {\r
- type leafref {\r
- path '/network-element/ltp/uuid';\r
- }\r
- max-elements 2;\r
- description "The FcPort may be associated with more than one LTP when the FcPort is bidirectional and the LTPs are unidirectional.\r
- Multiple Ltp\r
- - Bidirectional FcPort to two Uni Ltps\r
- Zero Ltp\r
- - BreakBeforeMake transition\r
- - Planned Ltp not yet in place\r
- - Off-network LTP referenced through other mechanism";\r
- }\r
- leaf role {\r
- type port-role;\r
- description "Each FcPort of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root) in the context of the FC with respect to the FC function. ";\r
- }\r
- leaf fc-port-direction {\r
- type port-direction;\r
- description "The orientation of defined flow at the FcPort.";\r
- }\r
- leaf is-protection-lock-out {\r
- if-feature protection-exclude-fc-port;\r
- type boolean;\r
- description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.\r
- This overrides all other protection control states including forced.\r
- If the item is locked out then it cannot be used under any circumstances.\r
- Note: Only relevant when part of a protection scheme.";\r
- }\r
- leaf selection-priority {\r
- type int64;\r
- description "The preference priority of the resource in the protection scheme for a particular FC. \r
- The lower the value the higher the priority.\r
- A lower value of selection priority is preferred\r
- If two resources have the same value they are of equal priory.\r
- There is no preference between equal priorities.\r
- If a resource with the lowest value selection priority fails then the next lowest value available (may be the same value) is picked.\r
- Hence on failure of the current resource the next best available will be selected.\r
- If there are several equal values the choice is essentially arbitrary).\r
- If the scheme is revertive then when a resource of higher priority than the currently selected resource recovers it will be selected.\r
- This is equivalent to working/protection but allows for all static scheme types with n:m capability. \r
- In simple schemes 0 = working and 1 = protecting.";\r
- }\r
- leaf is-internal-port {\r
- type boolean;\r
- config false;\r
- description "The FcPort is not exposed and cannot have associated LTPs.\r
- This form of FcPort is used to enable chaining of FcSwitches or FcRoutes in complex network protection scenarios.";\r
- }\r
- leaf-list fc-route-feeds-fc-port-egress {\r
- type string;\r
- description "Identifies which route(s) currently actively forward to the FcPort to exit the FC to an LTP (or for an internal FcPort to propagate to the next internal switch/route).";\r
- }\r
- uses local-class-g;\r
- description "The association of the FC to LTPs is made via FcPorts.\r
- The FcPort class models the access to the FC function. \r
- The traffic forwarding between the associated FcPorts of the FC depends upon the type of FC and may be associated with FcSwitch object instances. \r
- In cases where there is resilience, the FcPort may convey the resilience role of the access to the FC. \r
- It can represent a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.\r
- The FcPort replaces the Protection Unit of a traditional protection model. \r
- The ForwardingConstruct can be considered as a component and the FcPort as a Port on that component.";\r
- }\r
- grouping layer-protocol-g {\r
- leaf layer-protocol-name {\r
- type layer-protocol-name;\r
- description "Indicate the specific layer-protocol described by the LayerProtocol entity.";\r
- }\r
- leaf configured-client-capacity {\r
- type to-be-defined;\r
- description "Provides a summarized view of the client capacity that is configurable for use.\r
- Note the client LTP association should provide all necessary detail hence this attribute is questionable.";\r
- }\r
- leaf lp-direction {\r
- type termination-direction;\r
- description "The overall directionality of the LP. \r
- - A BIDIRECTIONAL LP will have some SINK and/or SOURCE flows.\r
- - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows\r
- - A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";\r
- }\r
- leaf termination-state {\r
- type termination-state;\r
- description "Indicates whether the layer is terminated and if so how.";\r
- }\r
- list config-and-switch-controller {\r
- key 'switch-rule';\r
- uses configuration-and-switch-controller-g;\r
- description "A switch controller external to the LayerProtocol.\r
- The controller will coordinate one or more switches in one or more FCs related to the LayerProtocol";\r
- }\r
- leaf is-protection-lock-out {\r
- if-feature protection-exclude-ltp;\r
- type boolean;\r
- description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.\r
- This overrides all other protection control states including forced.\r
- If the item is locked out then it cannot be used under any circumstances.\r
- Note: Only relevant when part of a protection scheme.";\r
- }\r
- leaf fc-blocks-signal-to-lp {\r
- type string;\r
- description "none";\r
- }\r
- uses local-class-g;\r
- description "The projection of an LTP into each transport layer is represented by a LayerProtocol (LP) instance. A LayerProtocol instances can be used for controlling termination and monitoring functionality. It can also be used for controlling the adaptation (i.e. encapsulation and/or multiplexing of client signal), tandem connection monitoring, traffic conditioning and/or shaping functionality at an intermediate point along a connection. Where the client - server relationship is fixed 1:1 and immutable, the layers can be encapsulated in a single LTP instance. Where there is a n:1 relationship between client and server, the layers must be split over two separate instances of LTP. ";\r
- }\r
- grouping logical-termination-point-g {\r
- leaf-list server-ltp {\r
- type leafref {\r
- path '/network-element/ltp/uuid';\r
- }\r
- description "References contained LTPs representing servers of this LTP in an inverse multiplexing configuration (e.g. VCAT).";\r
- }\r
- leaf-list client-ltp {\r
- type leafref {\r
- path '/network-element/ltp/uuid';\r
- }\r
- description "References contained LTPs representing client traffic of this LTP for normal cases of multiplexing.";\r
- }\r
- list lp {\r
- key 'uuid';\r
- min-elements 1;\r
- uses layer-protocol-g;\r
- description "Ordered list of LayerProtocols that this LTP is comprised of where the first entry in the list is the lowest server layer (e.g. physical).";\r
- }\r
- leaf connected-ltp {\r
- type leafref {\r
- path '/network-element/ltp/uuid';\r
- }\r
- description "Applicable in a simple context where two LTPs are associated via a non-adjustable enabled forwarding.\r
- Reduces clutter removing the need for two additional LTPs and an FC with a pair of FcPorts.";\r
- }\r
- leaf peer-ltp {\r
- type leafref {\r
- path '/network-element/ltp/uuid';\r
- }\r
- description "References contained LTPs representing the reversal of orientation of flow where two LTPs are associated via a non-adjustable enabled forwarding and where the referenced LTP is fully dependent on the this LTP.";\r
- }\r
- leaf-list physical-port-reference {\r
- type string;\r
- description "One or more text labels for the unmodelled physical port associated with the LTP.\r
- In many cases there is no associated physical port.";\r
- }\r
- leaf-list ltp-in-other-view {\r
- type leafref {\r
- path '/network-element/ltp/uuid';\r
- }\r
- description "References one or more LTPs in other views that represent this LTP. \r
- The referencing LTP is the provider of capability.";\r
- }\r
- leaf ltp-direction {\r
- type termination-direction;\r
- description "The overall directionality of the LTP. \r
- - A BIDIRECTIONAL LTP must have at least some LPs that are BIDIRECTIONAL but may also have some SINK and/or SOURCE LPs.\r
- - A SINK LTP can only contain SINK LPs\r
- - A SOURCE LTP can only contain SOURCE LPs";\r
- }\r
- uses global-class-g;\r
- description "The LogicalTerminationPoint (LTP) class encapsulates the termination and adaptation functions of one or more transport layers represented by instances of LayerProtocol.\r
- The encapsulated transport layers have a simple fixed 1:1 client-server relationship defined by association end ordering.\r
- The structure of LTP supports all transport protocols including circuit and packet forms.";\r
- }\r
- feature protection-exclude-server {\r
- description "In protection context if server of protection where entire server is to be excluded from use for protection.";\r
- }\r
- feature protection-exclude-fc-port {\r
- description "In protection context where the FcPort is to be excluded from use for protection.";\r
- }\r
- feature protection-exclude-ltp {\r
- description "In protection context if LTP of protection where entire LTP is to be excluded from use for protection.";\r
- }\r
-\r
- /***********************\r
- * package diagrams\r
- **********************/ \r
-\r
- /***********************\r
- * package associations\r
- **********************/ \r
-\r
-\r
- /***********************\r
- * package core-foundation-model\r
- **********************/ \r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- typedef date-and-time {\r
- type string;\r
- description "This primitive type defines the date and time according to the following structure:\r
- 'yyyyMMddhhmmss.s[Z|{+|-}HHMm]' where:\r
- yyyy '0000'..'9999' year\r
- MM '01'..'12' month\r
- dd '01'..'31' day\r
- hh '00'..'23' hour\r
- mm '00'..'59' minute\r
- ss '00'..'59' second\r
- s '.0'..'.9' tenth of second (set to '.0' if EMS or NE cannot support this granularity)\r
- Z 'Z' indicates UTC (rather than local time)\r
- {+|-} '+' or '-' delta from UTC\r
- HH '00'..'23' time zone difference in hours\r
- Mm '00'..'59' time zone difference in minutes.";\r
- }\r
- typedef bit-string {\r
- type string;\r
- description "This primitive type defines a bit oriented string.\r
- The size of the BitString will be defined in the valueRange property of the attribute; according to ASN.1 (X.680).\r
- The semantic of each bit position will be defined in the Documentation field of the attribute.";\r
- }\r
- typedef real {\r
- type string;\r
- description "This primitive type maps to the 'realnumber' defined in Recommendation X.680.";\r
- }\r
- typedef printable-string {\r
- type string;\r
- description "A string that only includes printable characters.";\r
- }\r
- typedef to-be-defined {\r
- type string;\r
- description "This type is used when the actual type of the attrbute is expected to be complex but where the type has not yet been developed. \r
- This type should only be used for attributes that are experimental.";\r
- }\r
-\r
- /***********************\r
- * package super-classes-and-common-packages\r
- **********************/ \r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping name-g {\r
- list name {\r
- key 'value-name';\r
- min-elements 1;\r
- uses name-and-value-g;\r
- description "List of names.";\r
- }\r
- description "Name: A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.";\r
- }\r
- grouping global-class-g {\r
- list local-id {\r
- key 'value-name';\r
- uses name-and-value-g;\r
- description "An identifier that is unique in the context of some scope that is less than the global scope.\r
- (consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself unique, and immutable. The identifier therefore represents the identity of the entity/role. An identifier carries no semantics with respect to the purpose of the entity.)";\r
- }\r
- leaf uuid {\r
- type universal-id;\r
- description "UUID: An identifier that is universally unique\r
- (consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself globally unique, and immutable. An identifier carries no semantics with respect to the purpose or state of the entity)\r
- The uuid should be treated as opaque by the user.";\r
- }\r
- uses name-g;\r
- uses label-g;\r
- uses extension-g;\r
- uses state-pac-g;\r
- description "Represents a type of thing (an Entity) that has instances which can exist in their own right (independently of any others).\r
- Entity: Has identity, defined boundary, properties, functionality and lifecycle in a global context.\r
- (consider in the context of a Class: (usage) The representation of a thing that may be an entity or an inseparable Entity Feature).";\r
- }\r
- grouping local-class-g {\r
- list local-id {\r
- key 'value-name';\r
- min-elements 1;\r
- uses name-and-value-g;\r
- description "An identifier that is unique in the context of some scope that is less than the global scope.\r
- (consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself unique, and immutable. The identifier therefore represents the identity of the entity/role. An identifier carries no semantics with respect to the purpose of the entity.)";\r
- }\r
- leaf uuid {\r
- type universal-id;\r
- description "A global identifier for the LocalClass, which is used as reference.";\r
- }\r
- uses name-g;\r
- uses label-g;\r
- uses extension-g;\r
- uses state-pac-g;\r
- description "A LocalClass represents a Feature of an Entity. It is inseparable from a GlobalClass but is a distinct feature of that GlobalClass such that the instances of LocalClass are able to have associations to other instances..\r
- Feature of an Entity: An inseparable, externally distinguishable part of an entity.\r
- The mandatory LocalId of the LocalClass instance is unique in the context of the GlobalClass from which it is inseparable.\r
- (consider in the context of a Class: (usage) The representation of a thing that may be an entity or an inseparable feature of an entity)\r
- ";\r
- }\r
- grouping label-g {\r
- list label {\r
- key 'value-name';\r
- uses name-and-value-g;\r
- description "List of labels.";\r
- }\r
- description "A property of an entity with a value that is not expected to be unique and is allowed to change. A label carries no semantics with respect to the purpose of the entity and has no effect on the entity behavior or state.";\r
- }\r
- grouping extension-g {\r
- list extension {\r
- key 'value-name';\r
- uses name-and-value-g;\r
- description "List of simple name-value extensions.";\r
- }\r
- description "Extension provides an opportunity to define properties not declared in the class that extend the class enabling a realization with simple ad-hoc extension of standard classes to be conformant.";\r
- }\r
- grouping universal-id-authority-g {\r
- leaf uuid {\r
- type universal-id;\r
- description "The UUID for the UUID authority.";\r
- }\r
- description "Represents the authority that controls the allocation of UUIDs.";\r
- }\r
- grouping name-and-value-authority-g {\r
- leaf uuid {\r
- type universal-id;\r
- description "The UUID for the NameValueAuthority.";\r
- }\r
- description "Represents the authority that controls the legal values for the names and values of a name/value attribute.";\r
- }\r
- grouping conditional-package-g {\r
- uses extension-g;\r
- uses label-g;\r
- description "The base class for conditional packages.";\r
- }\r
-\r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- grouping name-and-value-g {\r
- leaf value-name {\r
- type string;\r
- description "The name of the value. The value need not have a name.";\r
- }\r
- leaf value {\r
- type string;\r
- description "The value.";\r
- }\r
- description "A scoped name-value pair.";\r
- }\r
- typedef universal-id {\r
- type string;\r
- description "The universal ID value where the mechanism for generation is defined by some authority not directly referenced in the structure.\r
- A example structure is [IETF RFC4122].";\r
- }\r
- grouping address-g {\r
- leaf address-name {\r
- type string;\r
- description "The name of the address (to allow the specific hierarchy to be distinguished from others for the same entity).";\r
- }\r
- list address-element {\r
- key 'uuid';\r
- uses address-element-g;\r
- description "The elements of the address that form the recursive scope narrowing.";\r
- }\r
- description "A description of location via a hierarchy of narrowing contexts.";\r
- }\r
- grouping local-id-and-class-g {\r
- leaf class-of-instance {\r
- type string;\r
- description "The class to which the name refers.";\r
- }\r
- container local-id {\r
- uses name-and-value-g;\r
- description "The localId of the entity.";\r
- }\r
- description "The localId and the class of entity that it identifies.";\r
- }\r
- grouping name-and-class-g {\r
- leaf class-of-instance {\r
- type string;\r
- description "The class to which the name refers.";\r
- }\r
- container name {\r
- uses name-and-value-g;\r
- description "If the element is a name.";\r
- }\r
- description "The name and the class of entity that it names.";\r
- }\r
- grouping address-element-g {\r
- leaf address-element-name {\r
- type string;\r
- description "The name of the address element (e.g. 'shelf' as an element of a shelf/slot/port addressing scheme).\r
- The remainder of the structure has the reference for the shelf.\r
- ";\r
- }\r
- container local-id {\r
- uses local-id-and-class-g;\r
- description "If the element is a localId (where the element above in the hierarchy must be the context in which the specific localId is relevant).";\r
- }\r
- leaf uuid {\r
- type universal-id;\r
- description "If the element is a uuid (where this element could be the top of a hierarchy but may also be at some level in the hierarchy where address navigation is considered necessary to assist in location of the UUID).";\r
- }\r
- container name {\r
- uses name-and-class-g;\r
- description "If the element is a name.";\r
- }\r
- leaf arbitrary-element {\r
- type string;\r
- description "Where the element is from some external model that is not formally represented in this model.";\r
- }\r
- description "One element of a hierarchy of elements.\r
- Note that the element must have one and only one value chosen from a list of potential value types.";\r
- }\r
-\r
-\r
- /***********************\r
- * package state-model\r
- **********************/ \r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping state-pac-g {\r
- leaf operational-state {\r
- type operational-state;\r
- config false;\r
- description "The operational state is used to indicate whether or not the resource is installed and working.";\r
- }\r
- leaf administrative-control {\r
- type administrative-control;\r
- description "The administrativeControl state provides control of the availability of specific resources without modification to the provisioning of those resources.\r
- The value is the current control target. The actual administrativeState may or may not be at target.";\r
- }\r
- leaf administrative-state {\r
- type administrative-state;\r
- config false;\r
- description "Shows whether or not the client has permission to use or has a prohibition against using the resource.\r
- The administrative state expresses usage permissions for specific resources without modification to the provisioning of those resources.";\r
- }\r
- leaf lifecycle-state {\r
- type lifecycle-state;\r
- description "Used to track the planned deployment, allocation to clients and withdrawal of resources.";\r
- }\r
- description "Provides general state attributes.";\r
- }\r
-\r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- typedef operational-state {\r
- type enumeration {\r
- enum disabled {\r
- description "The resource is unable to meet the SLA of the user of the resource. If no (explicit) SLA is defined the resource is disabled if it is totally inoperable and unable to provide service to the user.";\r
- }\r
- enum enabled {\r
- description "The resource is partially or fully operable and available for use.";\r
- }\r
- }\r
- description "The possible values of the operationalState.";\r
- }\r
- typedef administrative-state {\r
- type enumeration {\r
- enum locked {\r
- description "Users are administratively prohibited from making use of the resource.";\r
- }\r
- enum unlocked {\r
- description "Users are allowed to use the resource.";\r
- }\r
- }\r
- description "The possible values of the administrativeState.";\r
- }\r
- typedef administrative-control {\r
- type enumeration {\r
- enum unlock {\r
- description "The intention is for the entity to become unlocked.\r
- The entity may already be UNLOCKED.";\r
- }\r
- enum lock-passive {\r
- description "The intention is for the entity to become locked but no effort is expected to move to the Locked state (the state will be achieved once all users stop using the resource). \r
- The entity may be LOCKED.";\r
- }\r
- enum lock-active {\r
- description "The intention is for the entity to become locked and it is expected that effort will be made to move to the Locked state (users will be actively removed). \r
- The entity may already be LOCKED.";\r
- }\r
- enum lock-immediate {\r
- description "The intention is for the entity to become locked and it is expected to move to the Locked state immediately (users will be force removed). \r
- The entity may already be LOCKED.";\r
- }\r
- }\r
- description "Reflects the current control action when the entity is not in the desired state.\r
- The possible values of the current target administrative state.";\r
- }\r
- typedef extended-admin-state {\r
- type enumeration {\r
- enum locked {\r
- description "Users are administratively prohibited from making use of the resource.";\r
- }\r
- enum unlocked {\r
- description "Users are allowed to use the resource.";\r
- }\r
- enum shutting-down-active {\r
- description "The entity is administratively restricted to existing instances of use only. There are specific actions to remove existing uses. There may be no new instances of use enabled. This corresponds to a control of LOCK_ACTIVE.";\r
- }\r
- enum shutting-down-passive {\r
- description "The entity is administratively restricted to existing instances of use only. There may be no new instances of use enabled. This corresponds to a control of LOCK_PASSIVE.";\r
- }\r
- }\r
- description "Possible extensions to AdministrativeState.";\r
- }\r
- typedef lifecycle-state {\r
- type enumeration {\r
- enum planned {\r
- description "The resource is planned but is not present in the network.";\r
- }\r
- enum potential {\r
- description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.o When a potential resource is configured and allocated to a client it is moved to the 'installed' state for that client.o If the potential resource has been consumed (e.g. allocated to another client) it is moved to the 'planned' state for all other clients.";\r
- }\r
- enum installed {\r
- description "The resource is present in the network and is capable of providing the service expected.";\r
- }\r
- enum pending-removal {\r
- description "The resource has been marked for removal.";\r
- }\r
- }\r
- description "The possible values of the lifecycleState.";\r
- }\r
-\r
-\r
-\r
- /***********************\r
- * package core-operations-model\r
- **********************/ \r
- /***********************\r
- * package pattern\r
- **********************/ \r
- /***********************\r
- * package data-types\r
- **********************/ \r
- typedef action-verbs {\r
- type enumeration {\r
- enum create-post-add {\r
- description "none";\r
- }\r
- enum set-update-put-modify-write-add {\r
- description "none";\r
- }\r
- enum get-read {\r
- description "none";\r
- }\r
- enum delete-remove {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef test-type {\r
- type string;\r
- description "none";\r
- }\r
- typedef activity-directive {\r
- type enumeration {\r
- enum structure-is-not {\r
- description "none";\r
- }\r
- enum new-structure-and-values {\r
- description "none";\r
- }\r
- enum incremental-structure-and-values {\r
- description "none";\r
- }\r
- enum only-values-in-existing-structure {\r
- description "none";\r
- }\r
- enum defined-by-verb {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package diagrams\r
- **********************/ \r
- typedef action-effort {\r
- type enumeration {\r
- enum best-effort {\r
- description "none";\r
- }\r
- enum exact-match {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef pause-resume-rule {\r
- type enumeration {\r
- enum no-pause-possible {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping general-directives-g {\r
- description "none";\r
- }\r
- grouping necessary-initial-condition-constraints-g {\r
- leaf is-not {\r
- type boolean;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping operation-details-g {\r
- leaf action-verb {\r
- type action-verbs;\r
- description "none";\r
- }\r
- list necessary-initialcondition-constraints {\r
- key 'is-not';\r
- uses necessary-initial-condition-constraints-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- container operation-envelope {\r
- presence "";\r
- list operation-set {\r
- key 'effort-and-action';\r
- min-elements 1;\r
- uses operation-set-g;\r
- description "none";\r
- }\r
- container generaldirectives {\r
- uses general-directives-g;\r
- description "none";\r
- }\r
- container operationidentifiers {\r
- uses operation-identifiers-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping operation-identifiers-g {\r
- description "none";\r
- }\r
- grouping operation-set-g {\r
- leaf-list after-operation-set {\r
- type leafref {\r
- path '/operation-envelope/operation-set/effort-and-action';\r
- }\r
- description "none";\r
- }\r
- leaf-list before-operation-set {\r
- type leafref {\r
- path '/operation-envelope/operation-set/effort-and-action';\r
- }\r
- description "none";\r
- }\r
- leaf effort-and-action {\r
- type action-effort;\r
- description "none";\r
- }\r
- leaf pause-resume-rule {\r
- type pause-resume-rule;\r
- description "none";\r
- }\r
- leaf-list operationset {\r
- type leafref {\r
- path '/operation-envelope/operation-set/effort-and-action';\r
- }\r
- description "none";\r
- }\r
- leaf is-short-lived {\r
- type boolean;\r
- default true;\r
- description "none";\r
- }\r
- list operation-details {\r
- key 'action-verb';\r
- min-elements 1;\r
- uses operation-details-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
-\r
-\r
-\r
- /***********************\r
- * package core-physical-model-initial\r
- **********************/ \r
- /***********************\r
- * package rule-models\r
- **********************/ \r
- /***********************\r
- * package connector-rules\r
- **********************/ \r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping connector-in-holder-g {\r
- leaf connector-on-equipment-for-holder {\r
- type universal-id;\r
- description "none";\r
- }\r
- uses connector-g;\r
- description "A rule class (an abstract specialization of Connector) that represents a connector that are only accessible to an equipment inserted in the holder.";\r
- }\r
- grouping connector-cable-end-g {\r
- leaf connector-on-equipment-for-cable {\r
- type universal-id;\r
- description "none";\r
- }\r
- uses connector-g;\r
- description "A rule class (an abstract specialization of Connector) that represents a connector on the end of a cable.";\r
- }\r
- grouping connector-on-equipment-for-cable-g {\r
- leaf connector-cable-end {\r
- type universal-id;\r
- description "none";\r
- }\r
- uses connector-g;\r
- description "A rule class (an abstract specialization of Connector) that represents a connector exposed on an equipment such that a cable may be plugged in.";\r
- }\r
- grouping connector-on-equipment-for-holder-g {\r
- leaf connector-in-holder {\r
- type universal-id;\r
- description "none";\r
- }\r
- uses connector-g;\r
- description "A rule class (an abstract specialization of Connector) that represents a connector on an equipment that is intended to mate with a connector in a holder.";\r
- }\r
-\r
-\r
-\r
- /***********************\r
- * package equipment-detail\r
- **********************/ \r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- /***********************\r
- * package dynamic-details\r
- **********************/ \r
- grouping function-enablers-g {\r
- leaf power-state {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- description "Represents the dynamic aspects of the properties that relate to the motive force that directly enable functionality to emerge from the equipment.";\r
- }\r
- grouping mechanical-functions-g {\r
- leaf rotation-speed {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- description "Represents the dynamic aspects of the mechanical functions of the equipment.";\r
- }\r
- grouping physical-properties-g {\r
- leaf temperature {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- description "Represents the dynamic aspects of the physical environmental properties of the equipment.";\r
- }\r
- grouping holder-monitors-g {\r
- leaf is-active {\r
- type boolean;\r
- description "none";\r
- }\r
- leaf is-actual-mismatch-with-expected {\r
- type boolean;\r
- description "none";\r
- }\r
- leaf aggregate-function {\r
- type string;\r
- description "none";\r
- }\r
- description "Represents the dynamic state of the holder instance. ";\r
- }\r
- grouping location-g {\r
- container equipment-location {\r
- uses address-g;\r
- description "none";\r
- }\r
- container geographical-location {\r
- uses address-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package invariant-details\r
- **********************/ \r
- grouping category-g {\r
- leaf category {\r
- type equipment-category;\r
- description "none";\r
- }\r
- description "Represents the form of the equipment.";\r
- }\r
- grouping equipment-instance-g {\r
- leaf manufacture-date {\r
- type string;\r
- description "none";\r
- }\r
- leaf serial-number {\r
- type string;\r
- description "none";\r
- }\r
- leaf asset-instance-identifier {\r
- type string;\r
- description "none";\r
- }\r
- description "Represents the per instance invariant properties of the equipment.";\r
- }\r
- grouping equipment-type-g {\r
- leaf description {\r
- type string;\r
- description "none";\r
- }\r
- leaf model-identifier {\r
- type string;\r
- description "none";\r
- }\r
- leaf part-type-identifier {\r
- type string;\r
- description "none";\r
- }\r
- leaf type-name {\r
- type string;\r
- description "none";\r
- }\r
- leaf version {\r
- type string;\r
- description "none";\r
- }\r
- description "Represents the invariant properties of the equipment that define and characterise the type.";\r
- }\r
- grouping holder-structure-g {\r
- leaf holder-category {\r
- type holder-category;\r
- description "none";\r
- }\r
- leaf is-captive {\r
- type boolean;\r
- description "none";\r
- }\r
- leaf is-guided {\r
- type boolean;\r
- description "none";\r
- }\r
- leaf is-quantized-space {\r
- type boolean;\r
- description "none";\r
- }\r
- description "Represents the form of the holder.";\r
- }\r
- grouping manufactured-thing-g {\r
- container manufacturer-properties {\r
- uses manufacturer-properties-g;\r
- description "none";\r
- }\r
- container equipment-type {\r
- uses equipment-type-g;\r
- description "none";\r
- }\r
- container equipment-instance {\r
- uses equipment-instance-g;\r
- description "none";\r
- }\r
- container operator-augmented-equipment-type {\r
- uses operator-augmented-equipment-type-g;\r
- description "none";\r
- }\r
- description "Collects all invariant aspects of a manufactured thing.";\r
- }\r
- grouping manufacturer-properties-g {\r
- leaf manufacturer-identifier {\r
- type string;\r
- description "none";\r
- }\r
- leaf manufacturer-name {\r
- type string;\r
- description "none";\r
- }\r
- description "Represents the properties of the manufacturer.";\r
- }\r
- grouping mechanical-features-g {\r
- description "Represents the invariant characteristics of dynamic mechanical features of a physical thing.";\r
- }\r
- grouping operator-augmented-equipment-type-g {\r
- leaf asset-type-identifier {\r
- type string;\r
- description "none";\r
- }\r
- description "Represents the invariant properties of the equipment asset allocated by the operator that define and characterise the type.";\r
- }\r
- grouping physical-characteristics-g {\r
- leaf weight-characteristics {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- leaf fire-characteristics {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- leaf materials {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- description "Represents the invariant physical characteristics (including composition and physical robustness) of the type.";\r
- }\r
- grouping physical-rating-g {\r
- leaf thermal-rating {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- leaf power-rating {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- description "Represents the invariant physical operational boundaries for the equipment/holder type.";\r
- }\r
- grouping position-g {\r
- leaf relative-position {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- description "Represents the invariant relative position of the holder (with respect to some frame of reference in an equipment) or connector on an equipment or pin in a connector.";\r
- }\r
- grouping spatial-properties-of-type-g {\r
- leaf height {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- leaf width {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- leaf length {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- description "Represents the basic invariant spatial properties of a physical thing.";\r
- }\r
- grouping swapability-g {\r
- leaf is-hot-swappable {\r
- type boolean;\r
- default true;\r
- description "none";\r
- }\r
- description "Represents the degree of field replacement that is possible for the equipment type.";\r
- }\r
-\r
-\r
-\r
- /***********************\r
- * package equipment-pattern-structure\r
- **********************/ \r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping cable-g {\r
- list connector {\r
- key 'uuid';\r
- min-elements 1;\r
- uses connector-g;\r
- description "none";\r
- }\r
- container manufactured-thing {\r
- uses manufactured-thing-g;\r
- description "none";\r
- }\r
- container physical-characteristics {\r
- uses physical-characteristics-g;\r
- description "none";\r
- }\r
- container mechanical-features {\r
- uses mechanical-features-g;\r
- description "none";\r
- }\r
- container spatial-properties-of-type {\r
- uses spatial-properties-of-type-g;\r
- description "none";\r
- }\r
- uses global-class-g;\r
- description "Basic model representing a cable with connectors fitted where the cable is 'short' (e.g. patch cord, in-station cabling).\r
- This is intentionally a very basic representation of a cable. \r
- In a more sophisticated representation cable ends might be represented that then associate to the attached connector. \r
- At this point it is assumed that the basic model is sufficient.";\r
- }\r
- grouping connector-g {\r
- leaf connector {\r
- type string;\r
- description "none";\r
- }\r
- list pin {\r
- key 'position';\r
- min-elements 1;\r
- uses pin-g;\r
- description "none";\r
- }\r
- leaf orientation {\r
- type connector-and-pin-orientation;\r
- description "none";\r
- }\r
- container manufactured-thing {\r
- uses manufactured-thing-g;\r
- description "none";\r
- }\r
- container position {\r
- uses position-g;\r
- description "none";\r
- }\r
- container mechanical-features {\r
- uses mechanical-features-g;\r
- description "none";\r
- }\r
- container pin-layout {\r
- uses pin-layout-g;\r
- description "none";\r
- }\r
- leaf connector-type {\r
- type to-be-defined;\r
- description "none";\r
- }\r
- uses local-class-g;\r
- uses group-of-pins-g;\r
- description "Represents a connector that may be fully exposed (e.g. to plug in a cable or on the end of a cable) or partially exposed (e.g. backplane to plug in another piece of equipment such as a module).";\r
- }\r
- grouping equipment-g {\r
- list connector {\r
- key 'uuid';\r
- uses connector-g;\r
- description "none";\r
- }\r
- list contained-holder {\r
- key 'uuid';\r
- uses holder-g;\r
- description "none";\r
- }\r
- list exposed-cable {\r
- key 'uuid';\r
- uses cable-g;\r
- description "none";\r
- }\r
- container manufactured-thing {\r
- uses manufactured-thing-g;\r
- description "none";\r
- }\r
- container spatial-properties-of-type {\r
- uses spatial-properties-of-type-g;\r
- description "none";\r
- }\r
- container mechanical-features {\r
- uses mechanical-features-g;\r
- description "none";\r
- }\r
- container physical-properties {\r
- uses physical-properties-g;\r
- description "none";\r
- }\r
- container function-enablers {\r
- uses function-enablers-g;\r
- description "none";\r
- }\r
- container mechanical-functions {\r
- uses mechanical-functions-g;\r
- description "none";\r
- }\r
- container physical-characteristics {\r
- uses physical-characteristics-g;\r
- description "none";\r
- }\r
- container swapability {\r
- uses swapability-g;\r
- description "none";\r
- }\r
- container category {\r
- uses category-g;\r
- description "none";\r
- }\r
- container physical-rating {\r
- uses physical-rating-g;\r
- description "none";\r
- }\r
- leaf is-field-replaceable {\r
- type boolean;\r
- default true;\r
- config false;\r
- description "Indicates whether or not the equipment can be removed and replaced 'in the field' (i.e. in a deployment) by normal operations personnel. \r
- ";\r
- }\r
- leaf-list function-block {\r
- type string;\r
- description "none";\r
- }\r
- container expected-equipment {\r
- uses expected-equipment-g;\r
- description "none";\r
- }\r
- container actual-equipment {\r
- uses actual-equipment-g;\r
- description "none";\r
- }\r
- container location {\r
- uses location-g;\r
- description "none";\r
- }\r
- uses global-class-g;\r
- description "Represents any relevant physical thing. \r
- Can be either field replaceable or not field replaceable.\r
- Note: The model is currently constrained to inside plant.";\r
- }\r
- list equipment {\r
- key 'uuid';\r
- uses equipment-g;\r
- description "none";\r
-}\r
- grouping holder-g {\r
- leaf-list connector {\r
- type leafref {\r
- path '/equipment/exposed-cable/connector/uuid';\r
- }\r
- description "none";\r
- }\r
- leaf occupying-fru {\r
- type leafref {\r
- path '/equipment/uuid';\r
- }\r
- description "The FRU that is occupying the holder. \r
- A holder may be unoccupied. \r
- An FRU may occupy more hat one holder (using or blocking are intentionally not distinguished here).";\r
- }\r
- container spatial-properties-of-type {\r
- uses spatial-properties-of-type-g;\r
- description "none";\r
- }\r
- container holder-monitors {\r
- uses holder-monitors-g;\r
- description "none";\r
- }\r
- container holder-location {\r
- uses address-g;\r
- description "none";\r
- }\r
- container position {\r
- uses position-g;\r
- description "none";\r
- }\r
- container holder-structure {\r
- uses holder-structure-g;\r
- description "none";\r
- }\r
- container physical-rating {\r
- uses physical-rating-g;\r
- description "none";\r
- }\r
- leaf-list supported-equipment {\r
- type string;\r
- min-elements 1;\r
- description "none";\r
- }\r
- container expected-holder {\r
- uses expected-holder-g;\r
- description "none";\r
- }\r
- container actual-holder {\r
- uses actual-holder-g;\r
- description "none";\r
- }\r
- uses local-class-g;\r
- description "Represents a space in an equipment in which another equipment can be fitted in the field.";\r
- }\r
-\r
- /***********************\r
- * package data-types\r
- **********************/ \r
- typedef connector-and-pin-orientation {\r
- type enumeration {\r
- enum male {\r
- description "The connecting elements are dominantly protrusions.";\r
- }\r
- enum female {\r
- description "The connecting elements are dominantly indentations.";\r
- }\r
- enum symmetric-neutral {\r
- description "The pin (and housing) orientation combination is such that it is symmetric so a connector is compatible with itself.\r
- The connecting element may be a surface rather than protrusions or indentations.";\r
- }\r
- }\r
- description "Most connector schems are asymmetric such that there are two orientations of the connector where a mating is only possible between two connectors of different orientations. \r
- A multi-pin connector may have a mix of pin orientations. In this case it is expected that the dominant orientation of pin is chosen for the connector orientation.";\r
- }\r
- typedef equipment-category {\r
- type enumeration {\r
- enum subrack {\r
- description "An assembly with holders designed to accommodate CIRCUIT_PACKs. \r
- The assembly is designed to be mounted in a RACK.";\r
- }\r
- enum circuit-pack {\r
- description "An assembly with connectors compatible with those in a holder.\r
- The assembly is designed to be mounted in a holder (SLOT) of a SUBRACK.\r
- May also support holders (SLOTs) for SMALL_FORMFACTOR_PLUGGABLEs";\r
- }\r
- enum small-formfactor-pluggable {\r
- description "A small assembly (compared to a CIRCUIT_PACK) with connectors compatible with those in a holder.\r
- The assembly is designed to be mounted in a holder (SLOT) of a CIRCUIT_PACK or STAND_ALONE_UNIT.";\r
- }\r
- enum stand-alone-unit {\r
- description "An assembly with connectors for cabling and potentially with holders.\r
- The assembly is designed to be mounted in a freeform environment (on a table or simple mechanical cabinet).\r
- May support holders (SLOTs) for CIRCUIT_PACKs or for SMALL_FORMFACTOR_PLUGGABLEs";\r
- }\r
- enum rack {\r
- description "A mechanical assembly with cabling and predefined mounting points for particular SUBRACK types.\r
- The assembly is designed to be mounted on the floor in a row with other RACKs.";\r
- }\r
- }\r
- description "The form of equipment.";\r
- }\r
- typedef holder-category {\r
- type enumeration {\r
- enum slot {\r
- description "A guided holder with fixed connectors.\r
- The guided holder is designed to take a particular form of CIRCUIT_PACK or SMALL_FORMFACTOR_PLUGGABLE";\r
- }\r
- }\r
- description "The form of holder.";\r
- }\r
-\r
-\r
- /***********************\r
- * package expected-and-actual\r
- **********************/ \r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping actual-holder-g {\r
- description "A holder in the ActualEquipment.";\r
- }\r
- grouping expected-holder-g {\r
- description "A definition of a holder expected in the ActualEquipment (i.e. an ActualHolder) as part of the constraints provided by the ExpectedEquipment.";\r
- }\r
- grouping actual-equipment-g {\r
- description "The equipment that is actually present in the physical network.\r
- It will expose all dynamic properties and some critical static properties.";\r
- }\r
- grouping expected-equipment-g {\r
- description "A definition of the restrictions on the equipment that is expected to be present in the physical network at a particular 'place'.\r
- The expected equipment will state the type and may constrain any other invariant properties. \r
- It may also provide desired ranges for dynami properties.";\r
- }\r
-\r
-\r
- /***********************\r
- * package connector-and-pin\r
- **********************/ \r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping pin-g {\r
- leaf position {\r
- type leafref {\r
- path '/equipment/exposed-cable/connector/position/relative-position';\r
- }\r
- description "none";\r
- }\r
- leaf orientation {\r
- type connector-and-pin-orientation;\r
- description "none";\r
- }\r
- description "An individual physical connection point (male or female).\r
- May be capable of carrying electrical or optical signals. \r
- A pin may have more than one wire/fiber attached but is such that all attached things get exactly the same signal set.";\r
- }\r
- grouping pin-group-g {\r
- leaf-list pin {\r
- type leafref {\r
- path '/equipment/exposed-cable/connector/pin/position';\r
- }\r
- min-elements 1;\r
- description "none";\r
- }\r
- uses port-g;\r
- uses group-of-pins-g;\r
- description "A group of pins that together provide signal group where any one pin removed from the group will prevent the signals of the signal group from flowing successfully.";\r
- }\r
- grouping pin-layout-g {\r
- list position {\r
- key 'relative-position';\r
- min-elements 1;\r
- uses position-g;\r
- description "none";\r
- }\r
- description "The structuring of pins in a connector.";\r
- }\r
- grouping port-g {\r
- description "A conceptual access point for a group of signals (where that group of signals cannot be separated).";\r
- }\r
- grouping signal-ref-pt-g {\r
- leaf ltp {\r
- type leafref {\r
- path '/network-element/ltp/uuid';\r
- }\r
- description "none";\r
- }\r
- leaf-list elemental-signals {\r
- type universal-id;\r
- min-elements 1;\r
- description "none";\r
- }\r
- description "A single coherent signal as processed by a single LTP.";\r
- }\r
- grouping signal-ref-pt-group-g {\r
- leaf pin-group {\r
- type universal-id;\r
- description "none";\r
- }\r
- leaf-list signal-ref-pt {\r
- type universal-id;\r
- min-elements 1;\r
- description "none";\r
- }\r
- uses port-g;\r
- description "A physical indivisible group of signals.";\r
- }\r
- grouping elemental-signals-g {\r
- leaf-list pin {\r
- type leafref {\r
- path '/equipment/exposed-cable/connector/pin/position';\r
- }\r
- min-elements 1;\r
- description "none";\r
- }\r
- description "The elemental (sub-atomic) parts of an 'indivisible' signal where processing in the LTP is required to extract the elemental signals.";\r
- }\r
- grouping group-of-pins-g {\r
- description "A group of pins from one or more connectors relevant for some purpose.";\r
- }\r
-\r
-\r
-\r
-}\r
+module core-model {
+ namespace "urn:onf:params:xml:ns:yang:core-model";
+ prefix core-model;
+ organization "ONF (Open Networking Foundation) Open Transport Working Group - Wireless Transport Project";
+ contact "WG Web: <https://www.opennetworking.org/technical-communities/areas/specification/1931-optical-transport>
+ WG List: <mailto:wireless-transport@login.opennetworking.org>
+ WG Chair: Lyndon Ong
+ <mailto:lyong@ciena.com>
+ WG Chair: Giorgio Cazzaniga
+ <mailto:giorgio.cazzaniga@sm-optics.com>
+ Editors: Thorsten Heinze
+ <mailto:thorsten.heinze@telefonica.com>
+ Martin Skorupski
+ <mailto:martin.skorupski@highstreet-technologies.com>";
+ description "This module contains a collection of YANG definitions for managing wireless networks.";
+ revision 2017-03-20 {
+ description "Initial version";
+ reference "ONF TR 532: A YANG Data Model for Wireless Networks.";
+ }
+ /***********************
+ * package core-network-model
+ **********************/
+ /***********************
+ * package type-definitions
+ **********************/
+ /***********************
+ * package resilience
+ **********************/
+ typedef protection-reason {
+ type enumeration {
+ enum wait-to-revert {
+ description "The resource is selected as control is waiting to restore to a preferred resource.";
+ }
+ enum signal-degrade {
+ description "The resource is selected as the best preferred resource is in signal degrade.";
+ }
+ enum signal-fail {
+ description "The resource is selected as the best preferred resource is in signal fail.";
+ }
+ }
+ description "The cause of the current protection state.";
+ }
+ typedef route-selection-control {
+ type enumeration {
+ enum normal {
+ description "No administrative control applied to the switch.";
+ }
+ enum manual {
+ description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
+ Preferred resource has highest priority.
+ Temporarily overrides reversion.
+ If this resource fails will switch to best available resource.
+ If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.
+ If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
+ Can be returned to NORMAL by configuration action.";
+ }
+ enum forced {
+ description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
+ Preferred resource has highest priority.
+ Temporarily overrides reversion.
+ If this resource fails will NOT switch.
+ If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.
+ If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
+ Can be returned to NORMAL by configuration action.";
+ }
+ enum lock-out {
+ description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
+ This overrides all other protection control states including forced.
+ If the item is locked out then it cannot be used under any circumstances.
+ Note: Only relevant when part of a protection scheme.";
+ }
+ }
+ description "Possible degrees of administrative control applied to the Route selection.";
+ }
+ typedef route-selection-reason {
+ type enumeration {
+ enum wait-to-revert {
+ description "The resource is selected as control is waiting to restore to a preferred resource.";
+ }
+ enum signal-degrade {
+ description "The resource is selected as the best preferred resource is in signal degrade.";
+ }
+ enum signal-fail {
+ description "The resource is selected as the best preferred resource is in signal fail.";
+ }
+ enum normal {
+ description "No administrative control applied to the switch.";
+ }
+ enum manual {
+ description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
+ Preferred resource has highest priority.
+ Temporarily overrides reversion.
+ If this resource fails will switch to best available resource.
+ If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.
+ If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
+ Can be returned to NORMAL by configuration action.";
+ }
+ enum forced {
+ description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
+ Preferred resource has highest priority.
+ Temporarily overrides reversion.
+ If this resource fails will NOT switch.
+ If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.
+ If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
+ Can be returned to NORMAL by configuration action.";
+ }
+ enum lock-out {
+ description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
+ This overrides all other protection control states including forced.
+ If the item is locked out then it cannot be used under any circumstances.
+ Note: Only relevant when part of a protection scheme.";
+ }
+ }
+ description "The cause of the current route selection.";
+ }
+ typedef switch-control {
+ type enumeration {
+ enum normal {
+ description "No administrative control applied to the switch.";
+ }
+ enum manual {
+ description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
+ Preferred resource has highest priority.
+ Temporarily overrides reversion.
+ If this resource fails will switch to best available resource.
+ If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.
+ If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
+ Can be returned to NORMAL by configuration action.";
+ }
+ enum forced {
+ description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
+ Preferred resource has highest priority.
+ Temporarily overrides reversion.
+ If this resource fails will NOT switch.
+ If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.
+ If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
+ Can be returned to NORMAL by configuration action.";
+ }
+ }
+ description "none";
+ }
+ typedef switch-state-reason {
+ type enumeration {
+ enum wait-to-revert {
+ description "The resource is selected as control is waiting to restore to a preferred resource.";
+ }
+ enum signal-degrade {
+ description "The resource is selected as the best preferred resource is in signal degrade.";
+ }
+ enum signal-fail {
+ description "The resource is selected as the best preferred resource is in signal fail.";
+ }
+ enum normal {
+ description "No administrative control applied to the switch.";
+ }
+ enum manual {
+ description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
+ Preferred resource has highest priority.
+ Temporarily overrides reversion.
+ If this resource fails will switch to best available resource.
+ If resource selected is shared and another FC requires the resource then the selection control will change to Normal and switch to best available based upon normal rules.
+ If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
+ Can be returned to NORMAL by configuration action.";
+ }
+ enum forced {
+ description "Resource temporarily chosen by control configuration where the resource is not the preferred resource.
+ Preferred resource has highest priority.
+ Temporarily overrides reversion.
+ If this resource fails will NOT switch.
+ If resource selected is shared and another FC requires the resource through a FORCE on that FC and the FC is of a higher FcPriority then the selection control will change to NORMAL and switch to best available based upon normal rules.
+ If the resource selected is then set to LOCK_OUT then the the selection control will change to NORMAL and switch to best available based upon normal rules.
+ Can be returned to NORMAL by configuration action.";
+ }
+ }
+ description "Explains the reason for the current switch state.";
+ }
+ typedef reversion-mode {
+ type enumeration {
+ enum revertive {
+ description "An FC switched to a lower priority (non-preferred) resource will revert to a higher priority (preferred) resource when that recovers (potentially after some hold-off time).";
+ }
+ enum non-revertive {
+ description "An FC switched to a lower priority (non-preferred) resource will not revert to a higher priority (preferred) resource when that recovers.";
+ }
+ }
+ description "The reversion mode associated with protection.";
+ }
+ grouping global-pac-g {
+ uses global-class-g;
+ description "Provides the properties of a GlobalClass via composition.";
+ }
+ grouping local-pac-g {
+ uses local-class-g;
+ description "Provides the properties of a LocalClass via composition.";
+ }
+ typedef protection-type {
+ type string;
+ description "Identifies the type of protection of an FcSwitch.";
+ }
+
+ typedef layer-protocol-name {
+ type string;
+ description "Provides a controlled list of layer protocol names and indicates the naming authority.
+ Note that it is expected that attributes will be added to this structure to convey the naming authority name, the name of the layer protocol using a human readable string and any particular standard reference.
+ Layer protocol names include:
+ - Layer 1 (L1): OTU, ODU
+ - Layer 2 (L2): Carrier Grade Ethernet (ETY, ETH), MPLS-TP (MT)
+ ";
+ }
+ typedef port-role {
+ type string;
+ description "The role of a port in the context of the function of the forwarding entity that it bounds.";
+ }
+ typedef port-direction {
+ type enumeration {
+ enum bidirectional {
+ description "The Port has both an INPUT flow and an OUTPUT flow defined.";
+ }
+ enum input {
+ description "The Port only has definition for a flow into the Forwarding entity (i.e. an ingress flow).";
+ }
+ enum output {
+ description "The Port only has definition for a flow out of the Forwarding entity (i.e. an egress flow).";
+ }
+ enum unidentified-or-unknown {
+ description "Not a normal state. The system is unable to determine the correct value.";
+ }
+ }
+ description "The orientation of flow at the Port of a Forwarding entity";
+ }
+ typedef forwarding-direction {
+ type enumeration {
+ enum bidirectional {
+ description "The Forwarding entity supports both BIDIRECTIONAL flows at all Ports (i.e. all Ports have both an INPUT flow and an OUTPUT flow defined).";
+ }
+ enum unidirectional {
+ description "The Forwarding entity has Ports that are either INPUT or OUTPUT. It has no BIDIRECTIONAL Ports.";
+ }
+ enum undefined-or-unknown {
+ description "Not a normal state. The system is unable to determine the correct value.";
+ }
+ }
+ description "The directionality of a Forwarding entity.";
+ }
+ typedef termination-direction {
+ type enumeration {
+ enum bidirectional {
+ description "A Termination with both SINK and SOURCE flows.";
+ }
+ enum sink {
+ description "The flow is up the layer stack from the server side to the client side.
+ Considering an example of a Termination function within the termination entity, a SINK flow:
+ - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component
+ - then will be decoded and deconstructed
+ - then relevant parts of the flow will be sent out of the termination function (the client side) where it is essentially at an OUTPUT from the termination component
+ A SINK termination is one that only supports a SINK flow.
+ A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";
+ }
+ enum source {
+ description "The flow is down the layer stack from the server side to the client side.
+ Considering an example of a Termination function within the termination entity, a SOURCE flow:
+ - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component
+ - then will be assembled with various overheads etc and will be coded
+ - then coded form of the assembly of flow will be sent out of the termination function (the server side) where it is essentially at an OUTPUT from the termination component
+ A SOURCE termination is one that only supports a SOURCE flow.
+ A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";
+ }
+ enum undefined-or-unknown {
+ description "Not a normal state. The system is unable to determine the correct value.";
+ }
+ }
+ description "The directionality of a termination entity.";
+ }
+ typedef extended-termination-direction {
+ type enumeration {
+ enum bidirectional {
+ description "A Termination with both SINK and SOURCE flows.";
+ }
+ enum sink {
+ description "The flow is up the layer stack from the server side to the client side.
+ Considering an example of a Termination function within the termination entity, a SINK flow:
+ - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component
+ - then will be decoded and deconstructed
+ - then relevant parts of the flow will be sent out of the termination function (the client side) where it is essentially at an OUTPUT from the termination component
+ A SINK termination is one that only supports a SINK flow.
+ A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";
+ }
+ enum source {
+ description "The flow is down the layer stack from the server side to the client side.
+ Considering an example of a Termination function within the termination entity, a SOURCE flow:
+ - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component
+ - then will be assembled with various overheads etc and will be coded
+ - then coded form of the assembly of flow will be sent out of the termination function (the server side) where it is essentially at an OUTPUT from the termination component
+ A SOURCE termination is one that only supports a SOURCE flow.
+ A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";
+ }
+ enum undefined-or-unknown {
+ description "Not a normal state. The system is unable to determine the correct value.";
+ }
+ enum contra-direction-sink {
+ description "The essential flow of the Termination entity is SINK (i.e. up the layer stack) but the INPUT flow of the Termination entity was provided by a SOURCE OUTPUT or taken from a SOURCE INPUT (duplicating the input signal) hence reversing the flow orientation from down the layer stack to up the layer stack.";
+ }
+ enum contra-direction-source {
+ description "The essential flow of the Termination entity is SOURCE (i.e. down the layer stack) but the OUTPUT flow of the Termination entity was fed to (and replaces) a SINK OUTPUT or was fed to a SINK INPUT (replacing the normal flow) hence reversing the flow orientation from down the layer stack to up the layer stack.";
+ }
+ }
+ description "Extended to include contra-direction considerations. Only applies to LP and elements of LP not to LTP.";
+ }
+ typedef termination-state {
+ type enumeration {
+ enum lp-can-never-terminate {
+ description "A non-flexible case that can never be terminated.";
+ }
+ enum lt-not-terminated {
+ description "A flexible termination that can terminate but is currently not terminated.";
+ }
+ enum terminated-server-to-client-flow {
+ description "A flexible termination that is currently terminated for server to client flow only.";
+ }
+ enum terminated-client-to-server-flow {
+ description "A flexible termination that is currently terminated for client to server flow only.";
+ }
+ enum terminated-bidirectional {
+ description "A flexible termination that is currently terminated in both directions of flow.";
+ }
+ enum lt-permenantly-terminated {
+ description "A non-flexible termination that is always terminated (in both directions of flow for a bidirectional case and in the one direction of flow for both unidirectional cases).";
+ }
+ enum termination-state-unknown {
+ description "There TerminationState cannot be determined.";
+ }
+ }
+ description "Provides support for the range of behaviours and specific states that an LP can take with respect to termination of the signal.
+ Indicates to what degree the LayerTermination is terminated.";
+ }
+
+ /***********************
+ * package object-classes
+ **********************/
+ /***********************
+ * package resilience
+ **********************/
+ grouping configuration-and-switch-controller-g {
+ leaf switch-rule {
+ type to-be-defined;
+ description "A sketch of the presence of complex rules governing the switch behavior.";
+ }
+ leaf-list fc-switch {
+ type leafref {
+ path '/forwarding-construct/fc-switch/uuid';
+ }
+ description "The switch being controlled.";
+ }
+ container control-parameters {
+ uses control-parameters-pac-g;
+ description "The control parameters to be applied if local parameters are used rather than profiles";
+ }
+ leaf-list profile-proxy {
+ type string;
+ description "Applied profiles.";
+ }
+ container local-pac {
+ uses local-pac-g;
+ description "none";
+ }
+ container global-pac {
+ uses global-pac-g;
+ description "none";
+ }
+ leaf is-frozen {
+ type boolean;
+ description "Temporarily prevents any switch action to be taken and, as such, freezes the current state.
+ Until the freeze is cleared, additional near-end external commands are rejected and fault condition changes and received APS messages are ignored.
+ All administrative controls of any aspect of protection are rejected.";
+ }
+ leaf is-coordinated-switching-both-ends {
+ type boolean;
+ description "The C&SC is operating such that switching at both ends of each flow acorss the FC is coordinated at both ingress and egress ends.";
+ }
+ leaf-list subordinate-controller {
+ type leafref {
+ path '/network-element/ltp/lp/config-and-switch-controller/switch-rule';
+ }
+ description "A C&SC that is fully or partially subordinate this C&SC.
+ A peer is considered as partially subordinate in that the peer will respond to requests for action from this C&SC but will also make requests for action to be carried out by this C&SC.
+ Where there is a peer relationship each controller in the peering will see the other controller as subordinate.";
+ }
+ description "Represents the capability to control and coordinate switches, to add/delete/modify FCs and to add/delete/modify LTPs/LPs so as to realize a protection scheme.";
+ }
+ grouping control-parameters-pac-g {
+ leaf reversion-mode {
+ type reversion-mode;
+ description "Indcates whether the protection scheme is revertive or non-revertive.";
+ }
+ leaf wait-to-revert-time {
+ type int64;
+ default 15;
+ description "If the protection system is revertive, this attribute specifies the time, in minutes, to wait after a fault clears on a higher priority (preferred) resource before reverting to the preferred resource.";
+ }
+ leaf prot-type {
+ type protection-type;
+ description "Indicates the protection scheme that is used for the ProtectionGroup.";
+ }
+ leaf hold-off-time {
+ type int64;
+ description "This attribute indicates the time, in milliseconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm.";
+ }
+ leaf network-scheme-specification {
+ type string;
+ description "none";
+ }
+ description "A list of control parameters to apply to a switch.";
+ }
+ grouping fc-switch-g {
+ leaf hold-off-time {
+ type int64;
+ description "Moved to ControlParameter_Pac... This attribute indicates the time, in seconds, between declaration of unacceptable quality of signal on the currently selected FcPort, and the initialization of the protection switching algorithm. ";
+ }
+ leaf prot-type {
+ type protection-type;
+ description "Indicates the protection scheme that is used for the ProtectionGroup.";
+ }
+ leaf reversion-mode {
+ type reversion-mode;
+ description "Moved to ControlParameter_Pac... This attribute whether or not the protection scheme is revertive or non-revertive. ";
+ }
+ leaf-list selected-fc-port {
+ type leafref {
+ path '/forwarding-construct/fc-port/uuid';
+ }
+ description "Indicates which points are selected by the switch.
+ Depending on the switch spec (via Fcspec)
+ - more than one FcPort can be selected at any one time (e.g. egress switch, ingress packet switch)
+ - zero FcPorts can be selected. For an ingress switch this indicates that the switch common (egress) is 'high impedance'
+.";
+ }
+ leaf-list profile-proxy {
+ type string;
+ description "Provides a set of predefined values for switch control in place of the direct values available via the FcSwitch or via _configurationAndSwitchControl.";
+ }
+ container internal-configuration-and-switch-control {
+ uses configuration-and-switch-controller-g;
+ description "A switch controller encapsulated in the FcSwitch.";
+ }
+ leaf switch-control {
+ type switch-control;
+ description "Degree of administrative control applied to the switch selection.";
+ }
+ leaf switch-selects-ports {
+ type port-direction;
+ description "Indicates whether the switch selects from ingress to the FC or to egress of the FC, or both.";
+ }
+ leaf switch-selection-reason {
+ type switch-state-reason;
+ config false;
+ description "The reason for the current switch selection.";
+ }
+ container control-parameters {
+ uses control-parameters-pac-g;
+ description "none";
+ }
+ leaf wait-to-restore-time {
+ type int64;
+ description "Moved to ControlParameter_Pac and changed to waitToRevert... If the protection system is revertive, this attribute specifies the amount of time, in seconds, to wait after the preferred FcPort returns to an acceptable state of operation (e.g. a fault has cleared) before restoring traffic to that preferred FcPort.";
+ }
+ uses local-class-g;
+ description "The FcSwitch class models the switched forwarding of traffic (traffic flow) between FcPorts and is present where there is protection functionality in the FC.
+ If an FC exposes protection (having two or more FcPorts that provide alternative identical inputs/outputs), the FC will have one or more associated FcSwitch objects to represent the alternative flow choices visible at the edge of the FC.
+ The FC switch represents and defines a protection switch structure encapsulated in the FC.
+ Essentially performs one of the functions of the Protection Group in a traditional model. It associates to 2 or more FcPorts each playing the role of a Protection Unit.
+ One or more protection, i.e. standby/backup, FcPorts provide protection for one or more working (i.e. regular/main/preferred) FcPorts where either protection or working can feed one or more protected FcPort.
+ The switch may be used in revertive or non-revertive (symmetric) mode. When in revertive mode it may define a waitToRestore time.
+ It may be used in one of several modes including source switch, destination switched, source and destination switched etc (covering cases such as 1+1 and 1:1).
+ It may be locked out (prevented from switching), force switched or manual switched.
+ It will indicate switch state and change of state.
+ The switch can be switched away from all sources such that it becomes open and hence two coordinated switches can both feed the same LTP so long as at least one of the two is switched away from all sources (is 'open').
+ The ability for a Switch to be 'high impedance' allows bidirectional ForwardingConstructs to be overlaid on the same bidirectional LTP where the appropriate control is enabled to prevent signal conflict.
+ This ability allows multiple alternate routes to be present that otherwise would be in conflict.";
+ }
+
+ grouping forwarding-domain-g {
+ leaf-list layer-protocol-name {
+ type layer-protocol-name;
+ min-elements 1;
+ description "One or more protocol layers at which the FD represents the opportunity to enable forwarding between LTP that bound it.";
+ }
+ leaf-list lower-level-fd {
+ type leafref {
+ path '/network-element/fd/uuid';
+ }
+ description "The FD class supports a recursive aggregation relationship (HigherLevelFdEncompassesLowerLevelFds) such that the internal construction of an FD can be exposed as multiple lower level FDs and associated Links (partitioning).
+ The aggregated FDs and Links form an interconnected topology that provides and describes the capability of the aggregating FD.
+ Note that the model actually represents aggregation of lower level FDs into higher level FDs as views rather than FD partition, and supports multiple views.
+ Aggregation allow reallocation of capacity from lower level FDs to different higher level FDs as if the network is reorganized (as the association is aggregation not composition).";
+ }
+ leaf-list fc {
+ type leafref {
+ path '/forwarding-construct/uuid';
+ }
+ description "An FD aggregares one or more FCs. A aggregated FC connects LTPs that bound the FD.";
+ }
+ leaf-list ltp {
+ type leafref {
+ path '/network-element/ltp/uuid';
+ }
+ description "An instance of FD is associated with zero or more LTP objects.
+ The LTPs that bound the FD provide capacity for forwarding.";
+ }
+ leaf-list lower-level-link {
+ type string;
+ description "The FD encompasses Links that interconnect lower level FDs and collect links that are wholly within the bounds of the FD.
+ See also _lowerLevelFd.";
+ }
+ uses global-class-g;
+ description "The ForwardingDomain (FD) class models the topological component that represents the opportunity to enable forwarding (of specific transport characteristic information at one or more protocol layers) between points represented by the LTP in the model.
+ The FD object provides the context for and constrains the formation, adjustment and removal of FCs and hence offers the potential to enable forwarding.
+ The LTPs available are those defined at the boundary of the FD.
+ At a lower level of recursion an FD could represent a fabric (switch matrix) in a Network Element (NE).
+ An NE can encompass more than one switch matrix and hence more than one FD. The FD representing a switch matrix can be further partitioned.
+ The FD corresponds to a subnetwork [ITU-T G.800], FlowDomain [TMF 612] and a MultiLayerSubNetwork (MLSN) [TMF 612]. As in the TMF concept of MLSN and unlike the ITU-T concet of subnetwork model the FD can support more than one layer-protocol.";
+ }
+ grouping forwarding-construct-g {
+ leaf layer-protocol-name {
+ type layer-protocol-name;
+ description "The layerProtocol at which the FC enables the potential for forwarding.";
+ }
+ leaf-list lower-level-fc {
+ type leafref {
+ path '/forwarding-construct/uuid';
+ }
+ description "An FC object supports a recursive aggregation relationship such that the internal construction of an FC can be exposed as multiple lower level FC objects (partitioning).
+ Aggregation is used as for the FD to allow changes in hierarchy.
+ FC aggregation reflects FD aggregation.
+ The FC represents a Cross-Connection in an NE. The Cross-Connection in an NE is not necessarily the lowest level of FC partitioning.
+ ";
+ }
+ leaf-list fc-route {
+ type string;
+ description "An FC object can have zero or more routes, each of which is defined as a list of lower level FC objects describing the flow across the network.";
+ }
+ list fc-port {
+ key 'uuid';
+ min-elements 2;
+ uses fc-port-g;
+ description "The association of the FC to LTPs is made via FcPorts (essentially the ports of the FC).";
+ }
+ list fc-switch {
+ key 'uuid';
+ uses fc-switch-g;
+ description "If an FC exposes protection (having two FcPorts that provide alternative identical inputs/outputs), the FC will have one or more associated FcSwitch objects.
+ The arrangement of switches for a particular instance is described by a referenced FcSpec";
+ }
+ leaf forwarding-direction {
+ type forwarding-direction;
+ description "The directionality of the ForwardingConstruct.
+ Is applicable to simple ForwardingConstructs where all FcPorts are BIDIRECTIONAL (the ForwardingConstruct will be BIDIRECTIONAL) or UNIDIRECTIONAL (the ForwardingConstruct will be UNIDIRECTIONAL).
+ Is not present in more complex cases.";
+ }
+ leaf is-protection-lock-out {
+ if-feature protection-exclude-server;
+ type boolean;
+ description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
+ This overrides all other protection control states including forced.
+ If the item is locked out then it cannot be used under any circumstances.
+ Note: Only relevant when part of a protection scheme.";
+ }
+ leaf service-priority {
+ type int64;
+ description "Relevant where 'service' FCs are competing for server resources.
+ Used to determine which signal FC is allocated resource.
+ The priority of the 'service' with respect to other 'services'.
+ Lower numeric value means higher priority.
+ Covers cases such as preemptable.";
+ }
+ leaf-list supported-link {
+ type string;
+ description "An FC that spans between LTPs that terminate the LayerProtocol usually supports one or more links in the client layer.";
+ }
+ uses global-class-g;
+ description "The ForwardingConstruct (FC) class models enabled constrained potential for forwarding between two or more LTPs at a particular specific layerProtocol.
+ Like the LTP, the FC supports any transport protocol including all circuit and packet forms.
+ It is used to effect forwarding of transport characteristic (layer protocol) information.
+ An FC can be in only one FD.
+ The ForwardingConstruct is a Forwarding entity.
+ At a low level of the recursion, a FC represents a cross-connection within an NE. It may also represent a fragment of a cross-connection under certain circumstances.
+ The FC object can be used to represent many different structures including point-to-point (P2P), point-to-multipoint (P2MP), rooted-multipoint (RMP) and multipoint-to-multipoint (MP2MP) bridge and selector structures for linear, ring or mesh protection schemes.";
+ }
+ container network-element {
+ presence "";
+ list fd {
+ key 'uuid';
+ uses forwarding-domain-g;
+ description "Represents the FD that is completely within the boundary of the NE.
+ At a low level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric).
+ Note that an NE can encompass multiple switch matrices (FDs) and the FD representing the switch matrix can be further partitioned.
+ Where an FD is referenced by the NeEncompassesFd association, any FDs that it encompasses (i.e., that are associated with it by HigherLevelFdEncompassesLowerLevelFds), must also be encompassed by the NE and hence must have the NeEncompassesFd association.
+ ";
+ }
+ list ltp {
+ key 'uuid';
+ uses logical-termination-point-g;
+ description "An NE has associated LTPs that are at its boundary.
+ The NeEncompassesFd association occurs for FDs that are within the bounds of the NetworkElement definition such that the FD is bounded by LTPs, all of which are on the boundary of the NetworkElement or are within the NetworkElement.
+ An LTP can be independent of an NE.";
+ }
+ uses global-class-g;
+ description "The Network Element (NE) class represents a network element (traditional NE) in the data plane.
+ A data plane network element is essentially a consolidation of capabilities that can be viewed and controlled through a 'single' management-control port.
+ In the direct interface from an SDN controller to a network element in the data plane, the NetworkElement object defines the scope of control for the resources within the network element
+ For example internal transfer of user information between the external terminations (ports of the NE), encapsulation, multiplexing/demultiplexing, and OAM functions, etc.
+ The NetworkElement provides the scope of the naming space for identifying objects representing the resources within the data plane network element.
+ NE is really a product bundling or some view of management scope, management access, session.
+ The NE is not directly part of topology but brings meaning to the FD context and the LTP context (and hence the links). ";
+ }
+ list forwarding-construct {
+ key 'uuid';
+ uses forwarding-construct-g;
+ description "none";
+ }
+ grouping fc-port-g {
+ leaf-list ltp {
+ type leafref {
+ path '/network-element/ltp/uuid';
+ }
+ max-elements 2;
+ description "The FcPort may be associated with more than one LTP when the FcPort is bidirectional and the LTPs are unidirectional.
+ Multiple Ltp
+ - Bidirectional FcPort to two Uni Ltps
+ Zero Ltp
+ - BreakBeforeMake transition
+ - Planned Ltp not yet in place
+ - Off-network LTP referenced through other mechanism";
+ }
+ leaf role {
+ type port-role;
+ description "Each FcPort of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root) in the context of the FC with respect to the FC function. ";
+ }
+ leaf fc-port-direction {
+ type port-direction;
+ description "The orientation of defined flow at the FcPort.";
+ }
+ leaf is-protection-lock-out {
+ if-feature protection-exclude-fc-port;
+ type boolean;
+ description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
+ This overrides all other protection control states including forced.
+ If the item is locked out then it cannot be used under any circumstances.
+ Note: Only relevant when part of a protection scheme.";
+ }
+ leaf selection-priority {
+ type int64;
+ description "The preference priority of the resource in the protection scheme for a particular FC.
+ The lower the value the higher the priority.
+ A lower value of selection priority is preferred
+ If two resources have the same value they are of equal priory.
+ There is no preference between equal priorities.
+ If a resource with the lowest value selection priority fails then the next lowest value available (may be the same value) is picked.
+ Hence on failure of the current resource the next best available will be selected.
+ If there are several equal values the choice is essentially arbitrary).
+ If the scheme is revertive then when a resource of higher priority than the currently selected resource recovers it will be selected.
+ This is equivalent to working/protection but allows for all static scheme types with n:m capability.
+ In simple schemes 0 = working and 1 = protecting.";
+ }
+ leaf is-internal-port {
+ type boolean;
+ config false;
+ description "The FcPort is not exposed and cannot have associated LTPs.
+ This form of FcPort is used to enable chaining of FcSwitches or FcRoutes in complex network protection scenarios.";
+ }
+ leaf-list fc-route-feeds-fc-port-egress {
+ type string;
+ description "Identifies which route(s) currently actively forward to the FcPort to exit the FC to an LTP (or for an internal FcPort to propagate to the next internal switch/route).";
+ }
+ uses local-class-g;
+ description "The association of the FC to LTPs is made via FcPorts.
+ The FcPort class models the access to the FC function.
+ The traffic forwarding between the associated FcPorts of the FC depends upon the type of FC and may be associated with FcSwitch object instances.
+ In cases where there is resilience, the FcPort may convey the resilience role of the access to the FC.
+ It can represent a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.
+ The FcPort replaces the Protection Unit of a traditional protection model.
+ The ForwardingConstruct can be considered as a component and the FcPort as a Port on that component.";
+ }
+ grouping layer-protocol-g {
+ leaf layer-protocol-name {
+ type layer-protocol-name;
+ description "Indicate the specific layer-protocol described by the LayerProtocol entity.";
+ }
+ leaf configured-client-capacity {
+ type to-be-defined;
+ description "Provides a summarized view of the client capacity that is configurable for use.
+ Note the client LTP association should provide all necessary detail hence this attribute is questionable.";
+ }
+ leaf lp-direction {
+ type termination-direction;
+ description "The overall directionality of the LP.
+ - A BIDIRECTIONAL LP will have some SINK and/or SOURCE flows.
+ - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows
+ - A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";
+ }
+ leaf termination-state {
+ type termination-state;
+ description "Indicates whether the layer is terminated and if so how.";
+ }
+ list config-and-switch-controller {
+ key 'switch-rule';
+ uses configuration-and-switch-controller-g;
+ description "A switch controller external to the LayerProtocol.
+ The controller will coordinate one or more switches in one or more FCs related to the LayerProtocol";
+ }
+ leaf is-protection-lock-out {
+ if-feature protection-exclude-ltp;
+ type boolean;
+ description "The resource is configured to temporarily not be available for use in the protection scheme(s) it is part of.
+ This overrides all other protection control states including forced.
+ If the item is locked out then it cannot be used under any circumstances.
+ Note: Only relevant when part of a protection scheme.";
+ }
+ leaf fc-blocks-signal-to-lp {
+ type string;
+ description "none";
+ }
+ uses local-class-g;
+ description "The projection of an LTP into each transport layer is represented by a LayerProtocol (LP) instance. A LayerProtocol instances can be used for controlling termination and monitoring functionality. It can also be used for controlling the adaptation (i.e. encapsulation and/or multiplexing of client signal), tandem connection monitoring, traffic conditioning and/or shaping functionality at an intermediate point along a connection. Where the client - server relationship is fixed 1:1 and immutable, the layers can be encapsulated in a single LTP instance. Where there is a n:1 relationship between client and server, the layers must be split over two separate instances of LTP. ";
+ }
+ grouping logical-termination-point-g {
+ leaf-list server-ltp {
+ type leafref {
+ path '/network-element/ltp/uuid';
+ }
+ description "References contained LTPs representing servers of this LTP in an inverse multiplexing configuration (e.g. VCAT).";
+ }
+ leaf-list client-ltp {
+ type leafref {
+ path '/network-element/ltp/uuid';
+ }
+ description "References contained LTPs representing client traffic of this LTP for normal cases of multiplexing.";
+ }
+ list lp {
+ key 'uuid';
+ min-elements 1;
+ uses layer-protocol-g;
+ description "Ordered list of LayerProtocols that this LTP is comprised of where the first entry in the list is the lowest server layer (e.g. physical).";
+ }
+ leaf connected-ltp {
+ type leafref {
+ path '/network-element/ltp/uuid';
+ }
+ description "Applicable in a simple context where two LTPs are associated via a non-adjustable enabled forwarding.
+ Reduces clutter removing the need for two additional LTPs and an FC with a pair of FcPorts.";
+ }
+ leaf peer-ltp {
+ type leafref {
+ path '/network-element/ltp/uuid';
+ }
+ description "References contained LTPs representing the reversal of orientation of flow where two LTPs are associated via a non-adjustable enabled forwarding and where the referenced LTP is fully dependent on the this LTP.";
+ }
+ leaf-list physical-port-reference {
+ type string;
+ description "One or more text labels for the unmodelled physical port associated with the LTP.
+ In many cases there is no associated physical port.";
+ }
+ leaf-list ltp-in-other-view {
+ type leafref {
+ path '/network-element/ltp/uuid';
+ }
+ description "References one or more LTPs in other views that represent this LTP.
+ The referencing LTP is the provider of capability.";
+ }
+ leaf ltp-direction {
+ type termination-direction;
+ description "The overall directionality of the LTP.
+ - A BIDIRECTIONAL LTP must have at least some LPs that are BIDIRECTIONAL but may also have some SINK and/or SOURCE LPs.
+ - A SINK LTP can only contain SINK LPs
+ - A SOURCE LTP can only contain SOURCE LPs";
+ }
+ uses global-class-g;
+ description "The LogicalTerminationPoint (LTP) class encapsulates the termination and adaptation functions of one or more transport layers represented by instances of LayerProtocol.
+ The encapsulated transport layers have a simple fixed 1:1 client-server relationship defined by association end ordering.
+ The structure of LTP supports all transport protocols including circuit and packet forms.";
+ }
+ feature protection-exclude-server {
+ description "In protection context if server of protection where entire server is to be excluded from use for protection.";
+ }
+ feature protection-exclude-fc-port {
+ description "In protection context where the FcPort is to be excluded from use for protection.";
+ }
+ feature protection-exclude-ltp {
+ description "In protection context if LTP of protection where entire LTP is to be excluded from use for protection.";
+ }
+
+ /***********************
+ * package diagrams
+ **********************/
+
+ /***********************
+ * package associations
+ **********************/
+
+
+ /***********************
+ * package core-foundation-model
+ **********************/
+ /***********************
+ * package type-definitions
+ **********************/
+ typedef date-and-time {
+ type string;
+ description "This primitive type defines the date and time according to the following structure:
+ 'yyyyMMddhhmmss.s[Z|{+|-}HHMm]' where:
+ yyyy '0000'..'9999' year
+ MM '01'..'12' month
+ dd '01'..'31' day
+ hh '00'..'23' hour
+ mm '00'..'59' minute
+ ss '00'..'59' second
+ s '.0'..'.9' tenth of second (set to '.0' if EMS or NE cannot support this granularity)
+ Z 'Z' indicates UTC (rather than local time)
+ {+|-} '+' or '-' delta from UTC
+ HH '00'..'23' time zone difference in hours
+ Mm '00'..'59' time zone difference in minutes.";
+ }
+ typedef bit-string {
+ type string;
+ description "This primitive type defines a bit oriented string.
+ The size of the BitString will be defined in the valueRange property of the attribute; according to ASN.1 (X.680).
+ The semantic of each bit position will be defined in the Documentation field of the attribute.";
+ }
+ typedef real {
+ type string;
+ description "This primitive type maps to the 'realnumber' defined in Recommendation X.680.";
+ }
+ typedef printable-string {
+ type string;
+ description "A string that only includes printable characters.";
+ }
+ typedef to-be-defined {
+ type string;
+ description "This type is used when the actual type of the attrbute is expected to be complex but where the type has not yet been developed.
+ This type should only be used for attributes that are experimental.";
+ }
+
+ /***********************
+ * package super-classes-and-common-packages
+ **********************/
+ /***********************
+ * package object-classes
+ **********************/
+ grouping name-g {
+ list name {
+ key 'value-name';
+ min-elements 1;
+ uses name-and-value-g;
+ description "List of names.";
+ }
+ description "Name: A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.";
+ }
+ grouping global-class-g {
+ list local-id {
+ key 'value-name';
+ uses name-and-value-g;
+ description "An identifier that is unique in the context of some scope that is less than the global scope.
+ (consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself unique, and immutable. The identifier therefore represents the identity of the entity/role. An identifier carries no semantics with respect to the purpose of the entity.)";
+ }
+ leaf uuid {
+ type universal-id;
+ description "UUID: An identifier that is universally unique
+ (consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself globally unique, and immutable. An identifier carries no semantics with respect to the purpose or state of the entity)
+ The uuid should be treated as opaque by the user.";
+ }
+ uses name-g;
+ uses label-g;
+ uses extension-g;
+ uses state-pac-g;
+ description "Represents a type of thing (an Entity) that has instances which can exist in their own right (independently of any others).
+ Entity: Has identity, defined boundary, properties, functionality and lifecycle in a global context.
+ (consider in the context of a Class: (usage) The representation of a thing that may be an entity or an inseparable Entity Feature).";
+ }
+ grouping local-class-g {
+ list local-id {
+ key 'value-name';
+ min-elements 1;
+ uses name-and-value-g;
+ description "An identifier that is unique in the context of some scope that is less than the global scope.
+ (consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself unique, and immutable. The identifier therefore represents the identity of the entity/role. An identifier carries no semantics with respect to the purpose of the entity.)";
+ }
+ leaf uuid {
+ type universal-id;
+ description "A global identifier for the LocalClass, which is used as reference.";
+ }
+ uses name-g;
+ uses label-g;
+ uses extension-g;
+ uses state-pac-g;
+ description "A LocalClass represents a Feature of an Entity. It is inseparable from a GlobalClass but is a distinct feature of that GlobalClass such that the instances of LocalClass are able to have associations to other instances..
+ Feature of an Entity: An inseparable, externally distinguishable part of an entity.
+ The mandatory LocalId of the LocalClass instance is unique in the context of the GlobalClass from which it is inseparable.
+ (consider in the context of a Class: (usage) The representation of a thing that may be an entity or an inseparable feature of an entity)
+ ";
+ }
+ grouping label-g {
+ list label {
+ key 'value-name';
+ uses name-and-value-g;
+ description "List of labels.";
+ }
+ description "A property of an entity with a value that is not expected to be unique and is allowed to change. A label carries no semantics with respect to the purpose of the entity and has no effect on the entity behavior or state.";
+ }
+ grouping extension-g {
+ list extension {
+ key 'value-name';
+ uses name-and-value-g;
+ description "List of simple name-value extensions.";
+ }
+ description "Extension provides an opportunity to define properties not declared in the class that extend the class enabling a realization with simple ad-hoc extension of standard classes to be conformant.";
+ }
+ grouping universal-id-authority-g {
+ leaf uuid {
+ type universal-id;
+ description "The UUID for the UUID authority.";
+ }
+ description "Represents the authority that controls the allocation of UUIDs.";
+ }
+ grouping name-and-value-authority-g {
+ leaf uuid {
+ type universal-id;
+ description "The UUID for the NameValueAuthority.";
+ }
+ description "Represents the authority that controls the legal values for the names and values of a name/value attribute.";
+ }
+ grouping conditional-package-g {
+ uses extension-g;
+ uses label-g;
+ description "The base class for conditional packages.";
+ }
+
+ /***********************
+ * package type-definitions
+ **********************/
+ grouping name-and-value-g {
+ leaf value-name {
+ type string;
+ description "The name of the value. The value need not have a name.";
+ }
+ leaf value {
+ type string;
+ description "The value.";
+ }
+ description "A scoped name-value pair.";
+ }
+ typedef universal-id {
+ type string;
+ description "The universal ID value where the mechanism for generation is defined by some authority not directly referenced in the structure.
+ A example structure is [IETF RFC4122].";
+ }
+ grouping address-g {
+ leaf address-name {
+ type string;
+ description "The name of the address (to allow the specific hierarchy to be distinguished from others for the same entity).";
+ }
+ list address-element {
+ key 'uuid';
+ uses address-element-g;
+ description "The elements of the address that form the recursive scope narrowing.";
+ }
+ description "A description of location via a hierarchy of narrowing contexts.";
+ }
+ grouping local-id-and-class-g {
+ leaf class-of-instance {
+ type string;
+ description "The class to which the name refers.";
+ }
+ container local-id {
+ uses name-and-value-g;
+ description "The localId of the entity.";
+ }
+ description "The localId and the class of entity that it identifies.";
+ }
+ grouping name-and-class-g {
+ leaf class-of-instance {
+ type string;
+ description "The class to which the name refers.";
+ }
+ container name {
+ uses name-and-value-g;
+ description "If the element is a name.";
+ }
+ description "The name and the class of entity that it names.";
+ }
+ grouping address-element-g {
+ leaf address-element-name {
+ type string;
+ description "The name of the address element (e.g. 'shelf' as an element of a shelf/slot/port addressing scheme).
+ The remainder of the structure has the reference for the shelf.
+ ";
+ }
+ container local-id {
+ uses local-id-and-class-g;
+ description "If the element is a localId (where the element above in the hierarchy must be the context in which the specific localId is relevant).";
+ }
+ leaf uuid {
+ type universal-id;
+ description "If the element is a uuid (where this element could be the top of a hierarchy but may also be at some level in the hierarchy where address navigation is considered necessary to assist in location of the UUID).";
+ }
+ container name {
+ uses name-and-class-g;
+ description "If the element is a name.";
+ }
+ leaf arbitrary-element {
+ type string;
+ description "Where the element is from some external model that is not formally represented in this model.";
+ }
+ description "One element of a hierarchy of elements.
+ Note that the element must have one and only one value chosen from a list of potential value types.";
+ }
+
+
+ /***********************
+ * package state-model
+ **********************/
+ /***********************
+ * package object-classes
+ **********************/
+ grouping state-pac-g {
+ leaf operational-state {
+ type operational-state;
+ config false;
+ description "The operational state is used to indicate whether or not the resource is installed and working.";
+ }
+ leaf administrative-control {
+ type administrative-control;
+ description "The administrativeControl state provides control of the availability of specific resources without modification to the provisioning of those resources.
+ The value is the current control target. The actual administrativeState may or may not be at target.";
+ }
+ leaf administrative-state {
+ type administrative-state;
+ config false;
+ description "Shows whether or not the client has permission to use or has a prohibition against using the resource.
+ The administrative state expresses usage permissions for specific resources without modification to the provisioning of those resources.";
+ }
+ leaf lifecycle-state {
+ type lifecycle-state;
+ description "Used to track the planned deployment, allocation to clients and withdrawal of resources.";
+ }
+ description "Provides general state attributes.";
+ }
+
+ /***********************
+ * package type-definitions
+ **********************/
+ typedef operational-state {
+ type enumeration {
+ enum disabled {
+ description "The resource is unable to meet the SLA of the user of the resource. If no (explicit) SLA is defined the resource is disabled if it is totally inoperable and unable to provide service to the user.";
+ }
+ enum enabled {
+ description "The resource is partially or fully operable and available for use.";
+ }
+ }
+ description "The possible values of the operationalState.";
+ }
+ typedef administrative-state {
+ type enumeration {
+ enum locked {
+ description "Users are administratively prohibited from making use of the resource.";
+ }
+ enum unlocked {
+ description "Users are allowed to use the resource.";
+ }
+ }
+ description "The possible values of the administrativeState.";
+ }
+ typedef administrative-control {
+ type enumeration {
+ enum unlock {
+ description "The intention is for the entity to become unlocked.
+ The entity may already be UNLOCKED.";
+ }
+ enum lock-passive {
+ description "The intention is for the entity to become locked but no effort is expected to move to the Locked state (the state will be achieved once all users stop using the resource).
+ The entity may be LOCKED.";
+ }
+ enum lock-active {
+ description "The intention is for the entity to become locked and it is expected that effort will be made to move to the Locked state (users will be actively removed).
+ The entity may already be LOCKED.";
+ }
+ enum lock-immediate {
+ description "The intention is for the entity to become locked and it is expected to move to the Locked state immediately (users will be force removed).
+ The entity may already be LOCKED.";
+ }
+ }
+ description "Reflects the current control action when the entity is not in the desired state.
+ The possible values of the current target administrative state.";
+ }
+ typedef extended-admin-state {
+ type enumeration {
+ enum locked {
+ description "Users are administratively prohibited from making use of the resource.";
+ }
+ enum unlocked {
+ description "Users are allowed to use the resource.";
+ }
+ enum shutting-down-active {
+ description "The entity is administratively restricted to existing instances of use only. There are specific actions to remove existing uses. There may be no new instances of use enabled. This corresponds to a control of LOCK_ACTIVE.";
+ }
+ enum shutting-down-passive {
+ description "The entity is administratively restricted to existing instances of use only. There may be no new instances of use enabled. This corresponds to a control of LOCK_PASSIVE.";
+ }
+ }
+ description "Possible extensions to AdministrativeState.";
+ }
+ typedef lifecycle-state {
+ type enumeration {
+ enum planned {
+ description "The resource is planned but is not present in the network.";
+ }
+ enum potential {
+ description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.o When a potential resource is configured and allocated to a client it is moved to the 'installed' state for that client.o If the potential resource has been consumed (e.g. allocated to another client) it is moved to the 'planned' state for all other clients.";
+ }
+ enum installed {
+ description "The resource is present in the network and is capable of providing the service expected.";
+ }
+ enum pending-removal {
+ description "The resource has been marked for removal.";
+ }
+ }
+ description "The possible values of the lifecycleState.";
+ }
+
+
+
+ /***********************
+ * package core-operations-model
+ **********************/
+ /***********************
+ * package pattern
+ **********************/
+ /***********************
+ * package data-types
+ **********************/
+ typedef action-verbs {
+ type enumeration {
+ enum create-post-add {
+ description "none";
+ }
+ enum set-update-put-modify-write-add {
+ description "none";
+ }
+ enum get-read {
+ description "none";
+ }
+ enum delete-remove {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef test-type {
+ type string;
+ description "none";
+ }
+ typedef activity-directive {
+ type enumeration {
+ enum structure-is-not {
+ description "none";
+ }
+ enum new-structure-and-values {
+ description "none";
+ }
+ enum incremental-structure-and-values {
+ description "none";
+ }
+ enum only-values-in-existing-structure {
+ description "none";
+ }
+ enum defined-by-verb {
+ description "none";
+ }
+ }
+ description "none";
+ }
+
+ /***********************
+ * package diagrams
+ **********************/
+ typedef action-effort {
+ type enumeration {
+ enum best-effort {
+ description "none";
+ }
+ enum exact-match {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef pause-resume-rule {
+ type enumeration {
+ enum no-pause-possible {
+ description "none";
+ }
+ }
+ description "none";
+ }
+
+ /***********************
+ * package object-classes
+ **********************/
+ grouping general-directives-g {
+ description "none";
+ }
+ grouping necessary-initial-condition-constraints-g {
+ leaf is-not {
+ type boolean;
+ description "none";
+ }
+ description "none";
+ }
+ grouping operation-details-g {
+ leaf action-verb {
+ type action-verbs;
+ description "none";
+ }
+ list necessary-initialcondition-constraints {
+ key 'is-not';
+ uses necessary-initial-condition-constraints-g;
+ description "none";
+ }
+ description "none";
+ }
+ container operation-envelope {
+ presence "";
+ list operation-set {
+ key 'effort-and-action';
+ min-elements 1;
+ uses operation-set-g;
+ description "none";
+ }
+ container generaldirectives {
+ uses general-directives-g;
+ description "none";
+ }
+ container operationidentifiers {
+ uses operation-identifiers-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping operation-identifiers-g {
+ description "none";
+ }
+ grouping operation-set-g {
+ leaf-list after-operation-set {
+ type leafref {
+ path '/operation-envelope/operation-set/effort-and-action';
+ }
+ description "none";
+ }
+ leaf-list before-operation-set {
+ type leafref {
+ path '/operation-envelope/operation-set/effort-and-action';
+ }
+ description "none";
+ }
+ leaf effort-and-action {
+ type action-effort;
+ description "none";
+ }
+ leaf pause-resume-rule {
+ type pause-resume-rule;
+ description "none";
+ }
+ leaf-list operationset {
+ type leafref {
+ path '/operation-envelope/operation-set/effort-and-action';
+ }
+ description "none";
+ }
+ leaf is-short-lived {
+ type boolean;
+ default true;
+ description "none";
+ }
+ list operation-details {
+ key 'action-verb';
+ min-elements 1;
+ uses operation-details-g;
+ description "none";
+ }
+ description "none";
+ }
+
+
+
+ /***********************
+ * package core-physical-model-initial
+ **********************/
+ /***********************
+ * package rule-models
+ **********************/
+ /***********************
+ * package connector-rules
+ **********************/
+ /***********************
+ * package object-classes
+ **********************/
+ grouping connector-in-holder-g {
+ leaf connector-on-equipment-for-holder {
+ type universal-id;
+ description "none";
+ }
+ uses connector-g;
+ description "A rule class (an abstract specialization of Connector) that represents a connector that are only accessible to an equipment inserted in the holder.";
+ }
+ grouping connector-cable-end-g {
+ leaf connector-on-equipment-for-cable {
+ type universal-id;
+ description "none";
+ }
+ uses connector-g;
+ description "A rule class (an abstract specialization of Connector) that represents a connector on the end of a cable.";
+ }
+ grouping connector-on-equipment-for-cable-g {
+ leaf connector-cable-end {
+ type universal-id;
+ description "none";
+ }
+ uses connector-g;
+ description "A rule class (an abstract specialization of Connector) that represents a connector exposed on an equipment such that a cable may be plugged in.";
+ }
+ grouping connector-on-equipment-for-holder-g {
+ leaf connector-in-holder {
+ type universal-id;
+ description "none";
+ }
+ uses connector-g;
+ description "A rule class (an abstract specialization of Connector) that represents a connector on an equipment that is intended to mate with a connector in a holder.";
+ }
+
+
+
+ /***********************
+ * package equipment-detail
+ **********************/
+ /***********************
+ * package object-classes
+ **********************/
+ /***********************
+ * package dynamic-details
+ **********************/
+ grouping function-enablers-g {
+ leaf power-state {
+ type to-be-defined;
+ description "none";
+ }
+ description "Represents the dynamic aspects of the properties that relate to the motive force that directly enable functionality to emerge from the equipment.";
+ }
+ grouping mechanical-functions-g {
+ leaf rotation-speed {
+ type to-be-defined;
+ description "none";
+ }
+ description "Represents the dynamic aspects of the mechanical functions of the equipment.";
+ }
+ grouping physical-properties-g {
+ leaf temperature {
+ type to-be-defined;
+ description "none";
+ }
+ description "Represents the dynamic aspects of the physical environmental properties of the equipment.";
+ }
+ grouping holder-monitors-g {
+ leaf is-active {
+ type boolean;
+ description "none";
+ }
+ leaf is-actual-mismatch-with-expected {
+ type boolean;
+ description "none";
+ }
+ leaf aggregate-function {
+ type string;
+ description "none";
+ }
+ description "Represents the dynamic state of the holder instance. ";
+ }
+ grouping location-g {
+ container equipment-location {
+ uses address-g;
+ description "none";
+ }
+ container geographical-location {
+ uses address-g;
+ description "none";
+ }
+ description "none";
+ }
+
+ /***********************
+ * package invariant-details
+ **********************/
+ grouping category-g {
+ leaf category {
+ type equipment-category;
+ description "none";
+ }
+ description "Represents the form of the equipment.";
+ }
+ grouping equipment-instance-g {
+ leaf manufacture-date {
+ type string;
+ description "none";
+ }
+ leaf serial-number {
+ type string;
+ description "none";
+ }
+ leaf asset-instance-identifier {
+ type string;
+ description "none";
+ }
+ description "Represents the per instance invariant properties of the equipment.";
+ }
+ grouping equipment-type-g {
+ leaf description {
+ type string;
+ description "none";
+ }
+ leaf model-identifier {
+ type string;
+ description "none";
+ }
+ leaf part-type-identifier {
+ type string;
+ description "none";
+ }
+ leaf type-name {
+ type string;
+ description "none";
+ }
+ leaf version {
+ type string;
+ description "none";
+ }
+ description "Represents the invariant properties of the equipment that define and characterise the type.";
+ }
+ grouping holder-structure-g {
+ leaf holder-category {
+ type holder-category;
+ description "none";
+ }
+ leaf is-captive {
+ type boolean;
+ description "none";
+ }
+ leaf is-guided {
+ type boolean;
+ description "none";
+ }
+ leaf is-quantized-space {
+ type boolean;
+ description "none";
+ }
+ description "Represents the form of the holder.";
+ }
+ grouping manufactured-thing-g {
+ container manufacturer-properties {
+ uses manufacturer-properties-g;
+ description "none";
+ }
+ container equipment-type {
+ uses equipment-type-g;
+ description "none";
+ }
+ container equipment-instance {
+ uses equipment-instance-g;
+ description "none";
+ }
+ container operator-augmented-equipment-type {
+ uses operator-augmented-equipment-type-g;
+ description "none";
+ }
+ description "Collects all invariant aspects of a manufactured thing.";
+ }
+ grouping manufacturer-properties-g {
+ leaf manufacturer-identifier {
+ type string;
+ description "none";
+ }
+ leaf manufacturer-name {
+ type string;
+ description "none";
+ }
+ description "Represents the properties of the manufacturer.";
+ }
+ grouping mechanical-features-g {
+ description "Represents the invariant characteristics of dynamic mechanical features of a physical thing.";
+ }
+ grouping operator-augmented-equipment-type-g {
+ leaf asset-type-identifier {
+ type string;
+ description "none";
+ }
+ description "Represents the invariant properties of the equipment asset allocated by the operator that define and characterise the type.";
+ }
+ grouping physical-characteristics-g {
+ leaf weight-characteristics {
+ type to-be-defined;
+ description "none";
+ }
+ leaf fire-characteristics {
+ type to-be-defined;
+ description "none";
+ }
+ leaf materials {
+ type to-be-defined;
+ description "none";
+ }
+ description "Represents the invariant physical characteristics (including composition and physical robustness) of the type.";
+ }
+ grouping physical-rating-g {
+ leaf thermal-rating {
+ type to-be-defined;
+ description "none";
+ }
+ leaf power-rating {
+ type to-be-defined;
+ description "none";
+ }
+ description "Represents the invariant physical operational boundaries for the equipment/holder type.";
+ }
+ grouping position-g {
+ leaf relative-position {
+ type to-be-defined;
+ description "none";
+ }
+ description "Represents the invariant relative position of the holder (with respect to some frame of reference in an equipment) or connector on an equipment or pin in a connector.";
+ }
+ grouping spatial-properties-of-type-g {
+ leaf height {
+ type to-be-defined;
+ description "none";
+ }
+ leaf width {
+ type to-be-defined;
+ description "none";
+ }
+ leaf length {
+ type to-be-defined;
+ description "none";
+ }
+ description "Represents the basic invariant spatial properties of a physical thing.";
+ }
+ grouping swapability-g {
+ leaf is-hot-swappable {
+ type boolean;
+ default true;
+ description "none";
+ }
+ description "Represents the degree of field replacement that is possible for the equipment type.";
+ }
+
+
+
+ /***********************
+ * package equipment-pattern-structure
+ **********************/
+ /***********************
+ * package object-classes
+ **********************/
+ grouping cable-g {
+ list connector {
+ key 'uuid';
+ min-elements 1;
+ uses connector-g;
+ description "none";
+ }
+ container manufactured-thing {
+ uses manufactured-thing-g;
+ description "none";
+ }
+ container physical-characteristics {
+ uses physical-characteristics-g;
+ description "none";
+ }
+ container mechanical-features {
+ uses mechanical-features-g;
+ description "none";
+ }
+ container spatial-properties-of-type {
+ uses spatial-properties-of-type-g;
+ description "none";
+ }
+ uses global-class-g;
+ description "Basic model representing a cable with connectors fitted where the cable is 'short' (e.g. patch cord, in-station cabling).
+ This is intentionally a very basic representation of a cable.
+ In a more sophisticated representation cable ends might be represented that then associate to the attached connector.
+ At this point it is assumed that the basic model is sufficient.";
+ }
+ grouping connector-g {
+ leaf connector {
+ type string;
+ description "none";
+ }
+ list pin {
+ key 'position';
+ min-elements 1;
+ uses pin-g;
+ description "none";
+ }
+ leaf orientation {
+ type connector-and-pin-orientation;
+ description "none";
+ }
+ container manufactured-thing {
+ uses manufactured-thing-g;
+ description "none";
+ }
+ container position {
+ uses position-g;
+ description "none";
+ }
+ container mechanical-features {
+ uses mechanical-features-g;
+ description "none";
+ }
+ container pin-layout {
+ uses pin-layout-g;
+ description "none";
+ }
+ leaf connector-type {
+ type to-be-defined;
+ description "none";
+ }
+ uses local-class-g;
+ uses group-of-pins-g;
+ description "Represents a connector that may be fully exposed (e.g. to plug in a cable or on the end of a cable) or partially exposed (e.g. backplane to plug in another piece of equipment such as a module).";
+ }
+ grouping equipment-g {
+ list connector {
+ key 'uuid';
+ uses connector-g;
+ description "none";
+ }
+ list contained-holder {
+ key 'uuid';
+ uses holder-g;
+ description "none";
+ }
+ list exposed-cable {
+ key 'uuid';
+ uses cable-g;
+ description "none";
+ }
+ container manufactured-thing {
+ uses manufactured-thing-g;
+ description "none";
+ }
+ container spatial-properties-of-type {
+ uses spatial-properties-of-type-g;
+ description "none";
+ }
+ container mechanical-features {
+ uses mechanical-features-g;
+ description "none";
+ }
+ container physical-properties {
+ uses physical-properties-g;
+ description "none";
+ }
+ container function-enablers {
+ uses function-enablers-g;
+ description "none";
+ }
+ container mechanical-functions {
+ uses mechanical-functions-g;
+ description "none";
+ }
+ container physical-characteristics {
+ uses physical-characteristics-g;
+ description "none";
+ }
+ container swapability {
+ uses swapability-g;
+ description "none";
+ }
+ container category {
+ uses category-g;
+ description "none";
+ }
+ container physical-rating {
+ uses physical-rating-g;
+ description "none";
+ }
+ leaf is-field-replaceable {
+ type boolean;
+ default true;
+ config false;
+ description "Indicates whether or not the equipment can be removed and replaced 'in the field' (i.e. in a deployment) by normal operations personnel.
+ ";
+ }
+ leaf-list function-block {
+ type string;
+ description "none";
+ }
+ container expected-equipment {
+ uses expected-equipment-g;
+ description "none";
+ }
+ container actual-equipment {
+ uses actual-equipment-g;
+ description "none";
+ }
+ container location {
+ uses location-g;
+ description "none";
+ }
+ uses global-class-g;
+ description "Represents any relevant physical thing.
+ Can be either field replaceable or not field replaceable.
+ Note: The model is currently constrained to inside plant.";
+ }
+ list equipment {
+ key 'uuid';
+ uses equipment-g;
+ description "none";
+}
+ grouping holder-g {
+ leaf-list connector {
+ type leafref {
+ path '/equipment/exposed-cable/connector/uuid';
+ }
+ description "none";
+ }
+ leaf occupying-fru {
+ type leafref {
+ path '/equipment/uuid';
+ }
+ description "The FRU that is occupying the holder.
+ A holder may be unoccupied.
+ An FRU may occupy more hat one holder (using or blocking are intentionally not distinguished here).";
+ }
+ container spatial-properties-of-type {
+ uses spatial-properties-of-type-g;
+ description "none";
+ }
+ container holder-monitors {
+ uses holder-monitors-g;
+ description "none";
+ }
+ container holder-location {
+ uses address-g;
+ description "none";
+ }
+ container position {
+ uses position-g;
+ description "none";
+ }
+ container holder-structure {
+ uses holder-structure-g;
+ description "none";
+ }
+ container physical-rating {
+ uses physical-rating-g;
+ description "none";
+ }
+ leaf-list supported-equipment {
+ type string;
+ min-elements 1;
+ description "none";
+ }
+ container expected-holder {
+ uses expected-holder-g;
+ description "none";
+ }
+ container actual-holder {
+ uses actual-holder-g;
+ description "none";
+ }
+ uses local-class-g;
+ description "Represents a space in an equipment in which another equipment can be fitted in the field.";
+ }
+
+ /***********************
+ * package data-types
+ **********************/
+ typedef connector-and-pin-orientation {
+ type enumeration {
+ enum male {
+ description "The connecting elements are dominantly protrusions.";
+ }
+ enum female {
+ description "The connecting elements are dominantly indentations.";
+ }
+ enum symmetric-neutral {
+ description "The pin (and housing) orientation combination is such that it is symmetric so a connector is compatible with itself.
+ The connecting element may be a surface rather than protrusions or indentations.";
+ }
+ }
+ description "Most connector schems are asymmetric such that there are two orientations of the connector where a mating is only possible between two connectors of different orientations.
+ A multi-pin connector may have a mix of pin orientations. In this case it is expected that the dominant orientation of pin is chosen for the connector orientation.";
+ }
+ typedef equipment-category {
+ type enumeration {
+ enum subrack {
+ description "An assembly with holders designed to accommodate CIRCUIT_PACKs.
+ The assembly is designed to be mounted in a RACK.";
+ }
+ enum circuit-pack {
+ description "An assembly with connectors compatible with those in a holder.
+ The assembly is designed to be mounted in a holder (SLOT) of a SUBRACK.
+ May also support holders (SLOTs) for SMALL_FORMFACTOR_PLUGGABLEs";
+ }
+ enum small-formfactor-pluggable {
+ description "A small assembly (compared to a CIRCUIT_PACK) with connectors compatible with those in a holder.
+ The assembly is designed to be mounted in a holder (SLOT) of a CIRCUIT_PACK or STAND_ALONE_UNIT.";
+ }
+ enum stand-alone-unit {
+ description "An assembly with connectors for cabling and potentially with holders.
+ The assembly is designed to be mounted in a freeform environment (on a table or simple mechanical cabinet).
+ May support holders (SLOTs) for CIRCUIT_PACKs or for SMALL_FORMFACTOR_PLUGGABLEs";
+ }
+ enum rack {
+ description "A mechanical assembly with cabling and predefined mounting points for particular SUBRACK types.
+ The assembly is designed to be mounted on the floor in a row with other RACKs.";
+ }
+ }
+ description "The form of equipment.";
+ }
+ typedef holder-category {
+ type enumeration {
+ enum slot {
+ description "A guided holder with fixed connectors.
+ The guided holder is designed to take a particular form of CIRCUIT_PACK or SMALL_FORMFACTOR_PLUGGABLE";
+ }
+ }
+ description "The form of holder.";
+ }
+
+
+ /***********************
+ * package expected-and-actual
+ **********************/
+ /***********************
+ * package object-classes
+ **********************/
+ grouping actual-holder-g {
+ description "A holder in the ActualEquipment.";
+ }
+ grouping expected-holder-g {
+ description "A definition of a holder expected in the ActualEquipment (i.e. an ActualHolder) as part of the constraints provided by the ExpectedEquipment.";
+ }
+ grouping actual-equipment-g {
+ description "The equipment that is actually present in the physical network.
+ It will expose all dynamic properties and some critical static properties.";
+ }
+ grouping expected-equipment-g {
+ description "A definition of the restrictions on the equipment that is expected to be present in the physical network at a particular 'place'.
+ The expected equipment will state the type and may constrain any other invariant properties.
+ It may also provide desired ranges for dynami properties.";
+ }
+
+
+ /***********************
+ * package connector-and-pin
+ **********************/
+ /***********************
+ * package object-classes
+ **********************/
+ grouping pin-g {
+ leaf position {
+ type leafref {
+ path '/equipment/exposed-cable/connector/position/relative-position';
+ }
+ description "none";
+ }
+ leaf orientation {
+ type connector-and-pin-orientation;
+ description "none";
+ }
+ description "An individual physical connection point (male or female).
+ May be capable of carrying electrical or optical signals.
+ A pin may have more than one wire/fiber attached but is such that all attached things get exactly the same signal set.";
+ }
+ grouping pin-group-g {
+ leaf-list pin {
+ type leafref {
+ path '/equipment/exposed-cable/connector/pin/position';
+ }
+ min-elements 1;
+ description "none";
+ }
+ uses port-g;
+ uses group-of-pins-g;
+ description "A group of pins that together provide signal group where any one pin removed from the group will prevent the signals of the signal group from flowing successfully.";
+ }
+ grouping pin-layout-g {
+ list position {
+ key 'relative-position';
+ min-elements 1;
+ uses position-g;
+ description "none";
+ }
+ description "The structuring of pins in a connector.";
+ }
+ grouping port-g {
+ description "A conceptual access point for a group of signals (where that group of signals cannot be separated).";
+ }
+ grouping signal-ref-pt-g {
+ leaf ltp {
+ type leafref {
+ path '/network-element/ltp/uuid';
+ }
+ description "none";
+ }
+ leaf-list elemental-signals {
+ type universal-id;
+ min-elements 1;
+ description "none";
+ }
+ description "A single coherent signal as processed by a single LTP.";
+ }
+ grouping signal-ref-pt-group-g {
+ leaf pin-group {
+ type universal-id;
+ description "none";
+ }
+ leaf-list signal-ref-pt {
+ type universal-id;
+ min-elements 1;
+ description "none";
+ }
+ uses port-g;
+ description "A physical indivisible group of signals.";
+ }
+ grouping elemental-signals-g {
+ leaf-list pin {
+ type leafref {
+ path '/equipment/exposed-cable/connector/pin/position';
+ }
+ min-elements 1;
+ description "none";
+ }
+ description "The elemental (sub-atomic) parts of an 'indivisible' signal where processing in the LTP is required to extract the elemental signals.";
+ }
+ grouping group-of-pins-g {
+ description "A group of pins from one or more connectors relevant for some purpose.";
+ }
+
+
+
+}
-module microwave-model {\r
- namespace "urn:onf:params:xml:ns:yang:microwave-model";\r
- prefix microwave-model;\r
-\r
- import core-model {\r
- prefix core-model;\r
- }\r
- import g.874.1-model {\r
- prefix g;\r
- }\r
- import ietf-yang-types {\r
- prefix yang;\r
- }\r
- organization "ONF (Open Networking Foundation) Open Transport Working Group - Wireless Transport Project";\r
- contact "WG Web: <https://www.opennetworking.org/software-defined-standards/models-apis/>\r
- WG List: <mailto:wireless-transport@login.opennetworking.org>\r
- WG Chair: Lyndon Ong\r
- <mailto:lyong@ciena.com>\r
- WG Chair: Giorgio Cazzaniga\r
- <mailto:giorgio.cazzaniga@sm-optics.com>\r
- Editors: Thorsten Heinze\r
- <mailto:thorsten.heinze@telefonica.com>\r
- Shrikanth Malavalli Divakar\r
- <mailto:shrikanth.divakar@wipro.com>"; \r
- description "This module contains a collection of YANG definitions for managing wireless networks.\r
- This model is for vendor agnostic management of wireless network elements.";\r
- revision 2018-09-07 {\r
- description "Version 1.1";\r
- reference "ONF TR 532: A YANG Data Model for Wireless Networks.";\r
- }\r
- \r
- revision 2017-03-24 {\r
- description "Initial version";\r
- reference "ONF TR 532: A YANG Data Model for Wireless Networks.";\r
- }\r
- \r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- typedef loop-back-type {\r
- type enumeration {\r
- enum rf-to-remote {\r
- description "Returning the header information of the remote site back to the remote site on the radio interface between both outdoor units.";\r
- }\r
- enum rf-to-local {\r
- description "Returning the header information of the local site back to the local site on the radio interface between both outdoor units.";\r
- }\r
- enum if-to-remote {\r
- description "Returning the header information of the remote site back to the remote site on the intermediate frequency interface between local indoor unit and outdoor unit.";\r
- }\r
- enum if-to-local {\r
- description "Returning the header information of the local site back to the local site on the intermediate frequency interface between local indoor unit and outdoor unit.";\r
- }\r
- enum none { \r
- description "none";\r
- }\r
- enum if {\r
- status deprecated;\r
- description "Intermediate Frequency on the interface between indoor and outdoor unit.";\r
- }\r
- enum rf {\r
- status deprecated;\r
- description "Radio Frequency on the interface between outdoor unit and outdoor unit at the remote site.";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef severity-type {\r
- type enumeration {\r
- enum non-alarmed {\r
- description "none";\r
- }\r
- enum warning {\r
- description "none";\r
- }\r
- enum minor {\r
- description "none";\r
- }\r
- enum major {\r
- description "none";\r
- }\r
- enum critical {\r
- description "none";\r
- }\r
- }\r
- description "According to ITU-T M.3160";\r
- }\r
- grouping channel-plan-type-g {\r
- leaf supported-channel-plan {\r
- type string;\r
- config false;\r
- description "Unique name (e.g. ECC/REC/(01)04_Annex 5) of a document, which describes a frequency grid that can be adjusted at the air interface. Corresponding channel plans to be delivered by the hardware vendor and to be stored by the operator in an controller/application attached database.";\r
- }\r
- leaf duplex-distance-is-variable {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "To be set on 'true', if the distance between transmitted and received frequency is variable.";\r
- }\r
- leaf-list duplex-distance-list {\r
- type int32;\r
- units "kHz";\r
- config false;\r
- min-elements 1;\r
- description "Distance between transmitted and received frequency. To be filled with single value, in case duplex distance is not variable. To be filled with all configurable values, in case duplex distance is variable.";\r
- }\r
- leaf duplex-distance {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "Distance between transmitted and received frequency.";\r
- }\r
- leaf auto-freq-select-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case the microwave radio is capable of automatically selecting the transmit frequency in unlicensed bands, this field shall contain a 'true'.";\r
- }\r
- list transmission-mode-list {\r
- key 'transmission-mode-id';\r
- config false;\r
- min-elements 1;\r
- uses transmission-mode-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping transmission-mode-type-g {\r
- leaf transmission-mode-id {\r
- type core-model:universal-id;\r
- description "Indentifies the transmissionMode for internal reference.";\r
- }\r
- leaf transmission-mode-name {\r
- type string;\r
- default "Name of the transmission mode not yet defined.";\r
- config false;\r
- description "Name of the transmission mode. BBBB-m*-i*/t*-r*. B=four digits of channel bandwidth in MHz. m*=required number of digits for modulation name. (i*/t*=code rate.) i*=required number of digits for number of information bits. t*=required number of digits for total bits. r*=required number of digits for rate reduction factor. Example: 028-4QAM-188/204-1";\r
- }\r
- leaf channel-bandwidth {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Bandwidth of the transmit channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";\r
- }\r
- leaf modulation-scheme {\r
- type int16;\r
- units "symbols";\r
- default -1;\r
- config false;\r
- description "Modulation scheme, which is base to the other characteristics described in the same transmissionModeType data type. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256').";\r
- }\r
- leaf code-rate {\r
- type int8;\r
- units "%";\r
- default -1;\r
- config false;\r
- description "Code rate of the coding scheme in % (Net bit rate ≤ Gross bit rate · code rate).";\r
- }\r
- leaf symbol-rate-reduction-factor {\r
- type int8;\r
- default 1;\r
- config false;\r
- description "Reduction factor for the symbol rate. Example: value would be 4 for 1/4BPSK.";\r
- }\r
- leaf tx-power-min {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Value of the minimum transmit power the modem can operate in dBm.";\r
- }\r
- leaf tx-power-max {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Value of the maximum transmit power the modem can operate in dBm.";\r
- }\r
- leaf rx-threshold {\r
- type int16;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Value of the receive level required to decode the received signal with a Bit Error Rate of 1e-6 or less.";\r
- }\r
- leaf am-upshift-level {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Value of the receive level that has to be exceeded to shift into a higher modulation scheme.";\r
- }\r
- leaf am-downshift-level {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Value of the receive level that has to be exceeded for not shifting into a lower modulation scheme.";\r
- }\r
- leaf xpic-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case this air interface type is capable of XPIC, this field shall contain a 'true'. This information shall purely relate to capabilities of the equipment type, but not to the operational capability of a specific hardware composition on site. Means for example that this attribute might contain a 'true' statement, even if an additional cable would have been required to actually operate XPIC in a specific case.";\r
- }\r
- description "none";\r
- }\r
- typedef polarization-type {\r
- type enumeration {\r
- enum not-specified {\r
- description "none";\r
- }\r
- enum horizontal {\r
- description "none";\r
- }\r
- enum vertical {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef g826-type {\r
- type enumeration {\r
- enum es {\r
- description "Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::es .";\r
- }\r
- enum ses {\r
- description "Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::ses .";\r
- }\r
- enum cses {\r
- description "Consecutive Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::cses .";\r
- }\r
- enum not-specified {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- \r
- grouping threshold-cross-alarm-type-g {\r
- leaf g826-value-kind {\r
- type g826-type;\r
- description "Kind of performance value that shall be equipped with a threshold alarm.";\r
- }\r
- leaf granularity-period {\r
- type g:granularity-period-type;\r
- description "Period of the performance data collection.";\r
- }\r
- leaf alarm-raising-threshold {\r
- type int32;\r
- units "s";\r
- default -1;\r
- description "Number of events required for raising the threshold cross alarm.";\r
- }\r
- leaf alarm-clearing-threshold {\r
- type int32;\r
- units "s";\r
- default -1;\r
- description "Number of events required for clearing the threshold cross alarm.";\r
- }\r
- description "Allows defining a threshold cross alarm.\r
- ";\r
- }\r
- grouping air-interface-problem-severity-type-g {\r
- leaf problem-kind-name {\r
- type string;\r
- description "Name of the alarm according to AirInterface::AirInterfaceCapability::supportedAlarms";\r
- }\r
- leaf problem-kind-severity {\r
- type severity-type;\r
- default warning;\r
- description "Severity of this type of alarm.";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-current-problem-type-g {\r
- leaf problem-name {\r
- type string;\r
- default "Problem name not specified.";\r
- config false;\r
- description "Name of the alarm according to AirInterface::AirInterfaceCapability::supportedAlarms";\r
- }\r
- uses mw-current-problem-g;\r
- description "none";\r
- }\r
- grouping time-x-states-type-g {\r
- leaf transmission-mode {\r
- type leafref{\r
- path '/mw-air-interface-pac/air-interface-capability/supported-channel-plan-list/transmission-mode-list/transmission-mode-id';\r
- }\r
- config false;\r
- description "Operated transmission mode.";\r
- }\r
- leaf time {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Sum of all seconds the transmitter operated the transmission mode.";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-performance-type-g {\r
- leaf es {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of errored seconds.";\r
- }\r
- leaf ses {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of severely errored seconds.";\r
- }\r
- leaf cses {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of consecutive severely errored seconds.";\r
- }\r
- leaf unavailability {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Total time of unavailability in seconds.";\r
- }\r
- leaf tx-level-min {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Minimum transmit power. Signed integers are required.";\r
- }\r
- leaf tx-level-max {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Maximum transmit power. Signed integers are required.";\r
- }\r
- leaf tx-level-avg {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Averaged transmit power. Signed integers are required.";\r
- }\r
- leaf rx-level-min {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Minimum receive level. Signed integers are required.";\r
- }\r
- leaf rx-level-max {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Maximum receive level. Signed integers are required.";\r
- }\r
- leaf rx-level-avg {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Averaged receive level. Signed integers are required.";\r
- }\r
- list time-x-states-list {\r
- key 'transmission-mode';\r
- config false;\r
- min-elements 1;\r
- uses time-x-states-type-g;\r
- description "Time period the transmitter operated in the respective transmission mode.";\r
- }\r
- leaf time2-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "Sum of all seconds the transmitter operated in e.g. BPSK.";\r
- }\r
- leaf time4-states-s {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time4-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time8-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time16-states-s {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time16-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time32-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time64-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "none";\r
- }\r
- leaf time128-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time256-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time512-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time512-states-l {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "none";\r
- }\r
- leaf time1024-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time1024-states-l {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "none";\r
- }\r
- leaf time2048-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time2048-states-l {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "none";\r
- }\r
- leaf time4096-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time4096-states-l {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time8192-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time8192-states-l {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf snir-min {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Minimum signal to (noise+interference) ratio.";\r
- }\r
- leaf snir-max {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Maximum signal to (noise+interference) ratio.";\r
- }\r
- leaf snir-avg {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Averaged signal to (noise+interference) ratio.";\r
- }\r
- leaf xpd-min {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Minimum cross polarization discrimination.";\r
- }\r
- leaf xpd-max {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Maximum cross polarization discrimination.";\r
- }\r
- leaf xpd-avg {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Averaged cross polarization discrimination.";\r
- }\r
- leaf rf-temp-min {\r
- type int8;\r
- units "C";\r
- default -99;\r
- config false;\r
- description "Lowest temperature (in degree Celsius) of the radio module inside the outdoor unit.";\r
- }\r
- leaf rf-temp-max {\r
- type int8;\r
- units "C";\r
- default -99;\r
- config false;\r
- description "Highest temperature (in degree Celsius) of the radio module inside the outdoor unit.";\r
- }\r
- leaf rf-temp-avg {\r
- type int8;\r
- units "C";\r
- default -99;\r
- config false;\r
- description "Averaged temperature (in degree Celsius) of the radio module inside the outdoor unit.";\r
- }\r
- leaf defect-blocks-sum {\r
- type int16;\r
- units "blocks";\r
- default -1;\r
- config false;\r
- description "Total number of blocks that were defect after receiving and could not be corrected by the FEC.";\r
- }\r
- leaf time-period {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Total length of the measurement period.";\r
- }\r
- description "Consolidated performance information of the air interface.";\r
- }\r
- grouping air-interface-current-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses air-interface-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-current-data-g;\r
- description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";\r
- }\r
- grouping air-interface-historical-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses air-interface-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-history-data-g;\r
- description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";\r
- }\r
- typedef protection-type {\r
- type enumeration {\r
- enum hsb {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef role-type {\r
- type enumeration {\r
- enum working {\r
- description "none";\r
- }\r
- enum protection {\r
- description "none";\r
- }\r
- enum protected {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping diversity-type-g {\r
- leaf diversity-name {\r
- type string;\r
- config false;\r
- description "Names to be chosen from the following list: 'spaceDiversity', 'frequencyDiversity'";\r
- }\r
- leaf number-of-air-interfaces-max {\r
- type int8;\r
- units "air interfaces";\r
- default 1;\r
- config false;\r
- description "Maximum number of air interfaces that could be part of this kind of diversity.";\r
- }\r
- description "none";\r
- }\r
- typedef air-interface-diversity-status-type {\r
- type enumeration {\r
- enum group-down {\r
- description "All air interfaces that are members of the diversity configuration are down.";\r
- }\r
- enum not-all-ai-active {\r
- description "At least one, but not all of the air interfaces that are part of the diversity configuration is not working.";\r
- }\r
- enum all-ai-active {\r
- description "All air interfaces that are part of the diversity configuration are working.";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-problem-severity-type-g {\r
- leaf problem-kind-name {\r
- type string;\r
- description "Name of the alarm according to AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms";\r
- }\r
- leaf problem-kind-severity {\r
- type severity-type;\r
- default warning;\r
- description "Severity of this type of alarm.";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-current-problem-type-g {\r
- leaf problem-name {\r
- type string;\r
- default "Problem name not specified.";\r
- config false;\r
- description "Name of the alarm according to AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms";\r
- }\r
- uses mw-current-problem-g;\r
- description "none";\r
- }\r
- grouping air-interface-diversity-performance-type-g {\r
- leaf snir-min {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Minimum signal to (noise+interference) ratio of the combined signals.";\r
- }\r
- leaf snir-max {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Maximum signal to (noise+interference) ratio of the combined signals.";\r
- }\r
- leaf snir-avg {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Average signal to (noise+interference) ratio of the combined signals.";\r
- }\r
- description "Consolidated performance information of the air interface diversity group.";\r
- }\r
- grouping air-interface-diversity-current-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses air-interface-diversity-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-current-data-g;\r
- description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";\r
- }\r
- grouping air-interface-diversity-historical-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses air-interface-diversity-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-history-data-g;\r
- description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";\r
- }\r
- grouping tdm-structure-type-g {\r
- leaf tdm-structure-name {\r
- type string;\r
- config false;\r
- description "Names to be chosen from the following list: 'e1','t1','j1','e3','ds3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";\r
- }\r
- leaf tdm-segment-size {\r
- type int32;\r
- units "kbit/s";\r
- default -1;\r
- config false;\r
- description "Size of the TDM segment in kbit/s. Values to be chosen from the following list: '2048','1544','34000','44736 ','155520','614400','1228800','2457600','3072000','4915200','6144000' or '9830400;";\r
- }\r
- leaf max-number-of-segments-reservable {\r
- type int8;\r
- units "segments";\r
- default -1;\r
- config false;\r
- description "Device specific maximum number of segments (not depending on current air interface configuration) that can be reserved for this type of segment on a single air interface.";\r
- }\r
- description "none";\r
- }\r
- grouping structure-problem-severity-type-g {\r
- leaf problem-kind-name {\r
- type string;\r
- description "Name of the alarm according to Structure::StructureCapability::supportedAlarms";\r
- }\r
- leaf problem-kind-severity {\r
- type severity-type;\r
- default warning;\r
- description "Severity of this type of alarm.";\r
- }\r
- description "none";\r
- }\r
- grouping structure-current-problem-type-g {\r
- leaf problem-name {\r
- type string;\r
- default "Problem name not specified.";\r
- config false;\r
- description "Name of the alarm according to Structure::StructureCapability::supportedAlarms";\r
- }\r
- uses mw-current-problem-g;\r
- description "none";\r
- }\r
- grouping structure-performance-type-g {\r
- leaf time-period {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Total length of the measurement period in seconds.";\r
- }\r
- leaf es {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
- }\r
- leaf ses {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
- }\r
- leaf cses {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of consecutive severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
- }\r
- leaf unavailability {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Total time of unavailability in seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
- }\r
- leaf rx-level-min {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Minimum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";\r
- }\r
- leaf rx-level-max {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Maximum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";\r
- }\r
- leaf rx-level-avg {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Averaged receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";\r
- }\r
- description "Consolidated performance information of the Structure.";\r
- }\r
- grouping structure-current-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses structure-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-current-data-g;\r
- description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";\r
- }\r
- grouping structure-historical-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses structure-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-history-data-g;\r
- description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";\r
- }\r
- grouping container-type-g {\r
- leaf container-name {\r
- type string;\r
- config false;\r
- description "Names to be chosen from the following list: 'ethernet','e1','t1','j1','e3','ds3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";\r
- }\r
- leaf number-of-time-slots-required {\r
- type int16;\r
- units "timeslots";\r
- default -1;\r
- config false;\r
- description "Number of time slots required for transporting this type of container. Value must be calculated by the vendor after defining the timeSlotCapacity. For containers of fixed size: numberOfTimeSlotsRequired = required bandwidth of the container divided by timeSlotCapacity. For containers of variable size the minimum (most probably 1) is to be stated.";\r
- }\r
- leaf tdm-time-slots-is-required {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Shall be set to '1', if this container type requires bandwidth (times slots) reserved for TDM transport.";\r
- }\r
- leaf bundling-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If it is possible to combine transport resources of several radio links to transport this container type, this attribute shall be set to '1'.";\r
- }\r
- description "none";\r
- }\r
- grouping tdm-container-type-g {\r
- leaf tdm-container-name {\r
- type string;\r
- config false;\r
- description "Names to be chosen from the following list: 'e1','t1','j1','e3','t3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";\r
- }\r
- leaf tdm-container-size {\r
- type int32;\r
- units "kbit/s";\r
- default -1;\r
- config false;\r
- description "Capacity required for transporting this type of container (in kbit/s). Values to be chosen from the following list: '2048','1544','34000','44736 ','155520','614400','1228800','2457600','3072000','4915200','6144000' or '9830400;";\r
- }\r
- description "none";\r
- }\r
- grouping segment-id-type-g {\r
- leaf structure-id-ref {\r
- type core-model:universal-id;\r
- description "none";\r
- }\r
- leaf segment-id-ref {\r
- type int16;\r
- description "Combinations of structureId and segmentId must be unique inside the device to assure that every resource is used just once.";\r
- }\r
- description "Identifies the segments, which are used to transport the container.";\r
- }\r
- grouping segment-status-type-g {\r
- leaf segment-status-type-id {\r
- type int16;\r
- config false;\r
- description "none";\r
- }\r
- leaf segment-is-reserved-for-tdm {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "The number of segments, which is configured by Structure::StructureConfiguration::tdmReservedNumberOfSegements, has to be reserved for TDM. Starting from the lowest index value, these segments have to be marked with a 'true' in segmentIsReservedForTdm.\r
- ";\r
- }\r
- leaf operational-status {\r
- type core-model:operational-state;\r
- default disabled;\r
- config false;\r
- description "Current operational status of each segment.";\r
- }\r
- leaf obsolete-priority-class {\r
- type int8;\r
- default -1;\r
- config false;\r
- description "PriorityClass as inherited from the associated Container::ContainerConfiguration::priorityClass. In case the device is capable of adapting the sequence, in which segments are being dropped in case of decreasing capacity of the air interface, priorityClass shall be considered, while calculating the dropOrderRank.";\r
- }\r
- leaf obsolete-drop-order-rank {\r
- type int16;\r
- default -1;\r
- config false;\r
- description "In case the device is NOT capable of adapting the sequence, in which segments are being dropped in case of decreasing capacity of the air interface, dropOrderRank is number of segments minus sequence number of the segment. In case the device is capable of adapting the sequence, dropOrderRank has to be calculated by the device in dependency to the assigned priorityClass. \r
- _unique: within Structure::StructureStatus::segmentStatusList";\r
- }\r
- description "none";\r
- }\r
- grouping container-problem-severity-type-g {\r
- leaf problem-kind-name {\r
- type string;\r
- description "Name of the alarm according to Container::ContainerCapability::supportedAlarms";\r
- }\r
- leaf problem-kind-severity {\r
- type severity-type;\r
- default warning;\r
- description "Severity of this type of alarm.";\r
- }\r
- description "none";\r
- }\r
- grouping container-current-problem-type-g {\r
- leaf problem-name {\r
- type string;\r
- default "Problem name not specified.";\r
- config false;\r
- description "Name of the alarm according to Container::ContainerCapability::supportedAlarms";\r
- }\r
- uses mw-current-problem-g;\r
- description "none";\r
- }\r
- grouping container-performance-type-g {\r
- leaf tx-ethernet-bytes-max-s {\r
- type int32;\r
- units "Bytes/s";\r
- default -1;\r
- config false;\r
- description "Counts the number of Bytes of Ethernet traffic (before header compression) transmitted within a second and keeps the highest value within the measurement period. Field to be left blank for all types of TDM containers.";\r
- }\r
- leaf tx-ethernet-bytes-max-m {\r
- type int64;\r
- units "Bytes/min";\r
- default -1;\r
- config false;\r
- description "Counts the number of Bytes of Ethernet traffic (before header compression) transmitted within a minute and keeps the highest value with in the measurement period. Field to be left blank for all types of TDM containers.";\r
- }\r
- leaf tx-ethernet-bytes-sum {\r
- type int64;\r
- units "Bytes";\r
- default -1;\r
- config false;\r
- description "Total number of Bytes of Ethernet traffic (before header compression) transmitted (in direction out of the device) during the measurement period. Field to be left blank for all types of TDM containers.";\r
- }\r
- leaf time-period {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Total length of the measurement period in seconds.";\r
- }\r
- description "Consolidated performance information of the Container.";\r
- }\r
- grouping container-current-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses container-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-current-data-g;\r
- description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";\r
- }\r
- grouping container-historical-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses container-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-history-data-g;\r
- description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";\r
- }\r
-\r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- /***********************\r
- * package air-interface\r
- **********************/ \r
- list mw-air-interface-pac {\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container air-interface-capability {\r
- config false;\r
- uses air-interface-capability-g;\r
- description "none";\r
- }\r
- container air-interface-configuration {\r
- uses air-interface-configuration-g;\r
- description "none";\r
- }\r
- container air-interface-status {\r
- config false;\r
- uses air-interface-status-g;\r
- description "none";\r
- }\r
- container air-interface-current-problems {\r
- config false;\r
- uses air-interface-current-problems-g;\r
- description "none";\r
- }\r
- container air-interface-current-performance {\r
- config false;\r
- uses air-interface-current-performance-g;\r
- description "none";\r
- }\r
- container air-interface-historical-performances {\r
- config false;\r
- uses air-interface-historical-performances-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-capability-g {\r
- leaf type-of-equipment {\r
- type string;\r
- default "Type of equipment not yet defined.";\r
- config false;\r
- description "This parameter indicates the equipment type. Instead of uploading the complete set of capabilities, capabilities of the same equipment type could be reused. Should be unique for a combination of modem, radio and their respective firmware.";\r
- }\r
- leaf tx-frequency-min {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Value of the minimum transmit frequency tunable at the air interface.";\r
- }\r
- leaf tx-frequency-max {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Value of the maximum transmit frequency tunable at the air interface.";\r
- }\r
- leaf rx-frequency-min {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Value of the minimum receive frequency tunable at the air interface.";\r
- }\r
- leaf rx-frequency-max {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Value of the maximum receive frequency tunable at the air interface.";\r
- }\r
- leaf adaptive-modulation-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case the device is capable of adaptive modulation, this field shall contain a 'true'.";\r
- }\r
- leaf mimo-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case the device is capable of MIMO, this field shall contain a 'true'.";\r
- }\r
- leaf mimo-channels {\r
- type int8;\r
- units "channels";\r
- default 1;\r
- config false;\r
- description "Maximum number (n) of spatial multiplexing streams that can be conveyed by an n x n MIMO configuration.";\r
- }\r
- leaf alic-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case the microwave radio is capable of Adjacent Link Interference Cancelation (canceling of interference cause by transmitters located at the same site), this field shall contain a 'true'.";\r
- }\r
- leaf atpc-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case the microwave radio is capable of ATPC, this field shall contain a 'true'.";\r
- }\r
- leaf atpc-range {\r
- type int8;\r
- units "dB";\r
- default 0;\r
- config false;\r
- description "Extent of the ATPC range. This value represents a device specific maximum value. The actual range of the ATPC at a specific link might be limited by the difference between configured transmit power (AirInterface::AirInterfaceConfiguration::txPower) and minimum transmit power of the device (TypeDefinitions::TransmissionModeType::txPowerMin).";\r
- }\r
- leaf encryption-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Shall be marked 'true', if payload encryption is available.";\r
- }\r
- leaf-list supported-loop-back-kind-list {\r
- type loop-back-type;\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- description "List of supported kinds of looping back of header information to the remote site.";\r
- }\r
- leaf maintenance-timer-range {\r
- type string;\r
- units "s";\r
- default "Range of the maintenance timer not yet defined.";\r
- config false;\r
- description "Available time periods for maintenance configurations (e.g. the loop back of microwave header information) to be described. Concrete values shall be separated by commas (e.g. '10, 60, 360'). Ranges shall be expressed as two values separated by a minus (e.g. '10-360').";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- min-elements 7;\r
- description "Available alarms to be listed. Mandatory:'signalIsLost','rslIsExceeded','signalIDMismatching','temperatureIsExceeded','modemIsFaulty','radioIsFaulty' and 'modulationIsDownShifted'. Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:'signalIsLost','rslIsExceeded','temperatureIsExceeded','modemIsFaulty','radioIsFaulty' and 'modulationIsDownShifted'. Further alarms might be added by the device. Names are to be separated by commas.";\r
- }\r
- list supported-channel-plan-list {\r
- key 'supported-channel-plan';\r
- config false;\r
- min-elements 1;\r
- uses channel-plan-type-g;\r
- description "List of channel spacing that are supported by the device.";\r
- }\r
- description "Describes the 'analog' capabilities of modem and transmitter of the microwave device. Value ranges of attributes are not independently (e.g. min. and max. transmit power depends on modulation). Legal combinations of values are expressed in transmissionModeTypes.";\r
- }\r
- grouping air-interface-configuration-g {\r
- leaf air-interface-name {\r
- type string;\r
- default "Air interface ID not yet defined.";\r
- description "Operator specific microwave link ID (often used for coding area, type of element and sequential number).";\r
- }\r
- leaf remote-air-interface-name {\r
- type string;\r
- default "Air interface ID at the remote site not yet defined.";\r
- description "Name of the air interface, which belongs to the same link, at the remote site.";\r
- }\r
- leaf expected-signal-id {\r
- type int16;\r
- description "If set on '0', the receiver ignores the signal ID of the received signal. If set on any other value, the receiver exclusively synchronizes on signals with the same signal ID.";\r
- }\r
- leaf transmitted-signal-id {\r
- type int16;\r
- description "Transmitted radio signal ID for synchronizing the receiver.";\r
- }\r
- leaf radio-signal-id {\r
- type string;\r
- default "Radio signal ID not yet defined.";\r
- status deprecated;\r
- description "The radioSignalId is transmitted on the air interface so the remote site of the link synchronizes on the correct transmitter. The local radio MUST NOT synchronize on a radio signal with a different radioSignalId. The link ID is neither an ID necessary to span the model nor an ID referencing external data. It is just some sort of name of the link transmitted so the correct remote site can be identified in an interference situation. The value zero might be used to make the microwave to disable the link ID check.";\r
- }\r
- leaf tx-frequency {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- description "Center frequency of the transmit channel. The values to be configured have to exactly match the values listed in the international agreement referenced in channelPlanID. In case of automated selection of the transmit frequency this field shall describe the lowest center frequency selectable.";\r
- }\r
- leaf rx-frequency {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- description "Center frequency of the receive channel.";\r
- }\r
- leaf transmission-mode-min {\r
- type core-model:universal-id;\r
- description "Minimum transmission mode to be configured (in case adaptive modulation is not used, this value represents also the fixed transmission mode).";\r
- }\r
- leaf transmission-mode-max {\r
- type core-model:universal-id;\r
- description "Maximum transmission mode to be configured.";\r
- }\r
- leaf tx-channel-bandwidth {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- status deprecated;\r
- description "Bandwidth of the transmit channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";\r
- }\r
- leaf rx-channel-bandwidth {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- description "Bandwidth of the receive channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";\r
- }\r
- leaf polarization {\r
- type polarization-type;\r
- default not-specified;\r
- description "Allows documenting the polarization of the air interface.";\r
- }\r
- leaf power-is-on {\r
- type boolean;\r
- default true;\r
- description "Power ON. Activation of the entire radio in a split mount configuration shall be expressed as a 'true'.";\r
- }\r
- leaf transmitter-is-on {\r
- type boolean;\r
- default false;\r
- description "Activation of the transmitter inside the radio shall be expressed as a 'true'.";\r
- }\r
- leaf receiver-is-on {\r
- type boolean;\r
- default true;\r
- description "Maintenance Feature. Activation of the receiver inside the radio shall be expressed as a 'true'. Attribute shall also be used for RX main and RX diversity squelches in case of diversity configurations.\r
- ";\r
- }\r
- leaf tx-power {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- description "Transmit power to be configured on the microwave link. Signed Byte is required. The actually operated transmit power might be lower depending on adaptive modulation and ATPC.";\r
- }\r
- leaf adaptive-modulation-is-on {\r
- type boolean;\r
- default false;\r
- description "Adaptive Modulation. Activation of adaptive modulation shall be expressed as a 'true'.";\r
- }\r
- leaf modulation-min {\r
- type int16;\r
- units "symbols";\r
- default -1;\r
- status deprecated;\r
- description "Minimum modulation to be configured (in case adaptive modulation is not used, this value represents also the fixed modulation). The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";\r
- }\r
- leaf modulation-max {\r
- type int16;\r
- units "symbols";\r
- default -1;\r
- status deprecated;\r
- description "Maximum modulation to be configured. The value of this field is only relevant, if Adaptive Modulation has been activated. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";\r
- }\r
- leaf xpic-is-on {\r
- type boolean;\r
- default false;\r
- description "Activation of Cross Polarization Interference Cancelation shall be expressed as a 'true'. In case XPIC is not available for the current combination of channel bandwidth and modulation or the hardware in general, this parameter shall always be set to 'false'.";\r
- }\r
- leaf mimo-is-on {\r
- type boolean;\r
- default false;\r
- description "Activation of Multiple Input Multiple Output (MIMO) shall be expressed as a 'true'.";\r
- }\r
- leaf alic-is-on {\r
- type boolean;\r
- default false;\r
- description "Activation of Adjacent Link Interference Cancelation (ALIC) shall be expressed as a 'true'.";\r
- }\r
- leaf atpc-is-on {\r
- type boolean;\r
- default false;\r
- description "ATPC. Activation of Automated Transmit Power Control shall be expressed as a 'true'.";\r
- }\r
- leaf atpc-thresh-upper {\r
- type int16;\r
- units "dBm";\r
- default 99;\r
- description "If the receive level is higher than the upper threshold value, the transmitter is notified to decrease transmit power.";\r
- }\r
- leaf atpc-thresh-lower {\r
- type int16;\r
- units "dBm";\r
- default 99;\r
- description "If the receive level is lower than the lower threshold value, the transmitter is notified to increase transmit power.";\r
- }\r
- leaf atpc-tx-power-min {\r
- type int8;\r
- units "dBm";\r
- default -99;\r
- description "Transmit power, which is not to be undercut, while operating ATPC.";\r
- }\r
- leaf auto-freq-select-is-on {\r
- type boolean;\r
- default false;\r
- description "Activation of automatically selecting the transmit frequency in unlicensed bands shall be expressed as a 'true'.";\r
- }\r
- leaf auto-freq-select-range {\r
- type int8;\r
- units "channels";\r
- default -1;\r
- description "Number of transmit channels (starting at the center frequency defined in txFrequency and with channel bandwidth according to txChannelBandwidth) that define the range within the transmit frequency can automatically been chosen. ";\r
- }\r
- leaf modulation-is-on {\r
- type boolean;\r
- default true;\r
- description "Maintenance Feature. De-activation of the modulation of the carrier signal for fault management shall be expressed as a 'false'.";\r
- }\r
- leaf encryption-is-on {\r
- type boolean;\r
- default false;\r
- description "Activates encryption of the payload.";\r
- }\r
- leaf cryptographic-key {\r
- type string;\r
- default "Cryptographic key not yet defined.";\r
- description "Key for transforming plaintext into ciphertext data.";\r
- }\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list threshold-cross-alarm-list {\r
- key 'g826-value-kind granularity-period';\r
- max-elements 6;\r
- uses threshold-cross-alarm-type-g;\r
- description "List of threshold cross alarms to be configured.";\r
- }\r
- leaf loop-back-kind-on {\r
- type loop-back-type;\r
- default none;\r
- description "Maintenance Feature. The currently configured type of looping back of the air interface header shall be expressed here. The received header is returned to the remote site.";\r
- }\r
- leaf maintenance-timer {\r
- type int32;\r
- units "s";\r
- default -1;\r
- description "Time of existence of any maintenance configuration (e.g. the loop back of microwave header information). Valid values are defined in AirInterface::AirInterfaceCapability::maintenanceTimerRange.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- min-elements 6;\r
- uses air-interface-problem-severity-type-g;\r
- description "Severity of the problem to be configured.";\r
- }\r
- description "Configuration of the radio link.";\r
- }\r
- grouping air-interface-status-g {\r
- leaf tx-frequency-cur {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Center frequency of the currently operated transmit channel.";\r
- }\r
- leaf rx-frequency-cur {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Center frequency of the currently operated receive channel.";\r
- }\r
- leaf tx-level-cur {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Current transmit level.";\r
- }\r
- leaf rx-level-cur {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Current receive level.";\r
- }\r
- leaf transmission-mode-cur {\r
- type leafref {\r
- path '/mw-air-interface-pac/air-interface-capability/supported-channel-plan-list/transmission-mode-list/transmission-mode-id';\r
- } \r
- config false;\r
- description "Currently operated transmission mode according to definitions in Capabilities.";\r
- }\r
- leaf modulation-cur {\r
- type int16;\r
- units "symbols";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "Currently operated modulation on transmit path. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";\r
- }\r
- leaf code-rate-cur {\r
- type int8;\r
- units "%";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "Code rate of the currently operated coding scheme (Net bit rate ? Gross bit rate ? code rate).";\r
- } \r
- leaf received-signal-id {\r
- type int16;\r
- default -1;\r
- config false;\r
- description "ID of the signal, which the receiver is currently synchronized on.";\r
- }\r
- leaf snir-cur {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Currently measured signal to (noise+interference) ratio.";\r
- }\r
- leaf xpd-cur {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Currently measured cross polarization discrimination.";\r
- }\r
- leaf rf-temp-cur {\r
- type int8;\r
- units "Celsius";\r
- default -99;\r
- config false;\r
- description "Current temperature (in degree Celsius) of the radio module inside the outdoor unit.";\r
- }\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
- description "Time the Air Interface entered its current operational status. ";\r
- }\r
- leaf radio-power-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If the radio unit has power and is switched on, this shall be expressed as a 'true'.";\r
- }\r
- leaf link-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If connection is established to the remote site with the same linkID, this shall be expressed as a 'true'.";\r
- }\r
- leaf xpic-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If XPIC is currently actually working (not just configured), this shall be expressed as a 'true'.";\r
- }\r
- leaf mimo-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If MIMO is currently actually working (not just configured), this shall be expressed as a 'true'.";\r
- }\r
- leaf alic-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If Adjacent Link Interference Cancelation (ALIC) is currently actually working (not just configured), this shall be expressed as a 'true'.";\r
- }\r
- leaf atpc-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If ATPC is currently actually working (not just configured), this shall be expressed as a 'true'.";\r
- }\r
- leaf auto-freq-select-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If automated frequency selection is currently actually working (not just configured), this shall be expressed as a 'true'.";\r
- }\r
- leaf loop-back-kind-up {\r
- type loop-back-type;\r
- default none;\r
- config false;\r
- description "The currently active (not just configured) type of looping back of the air interface header shall be expressed here. The received header is returned to the remote site.";\r
- }\r
- leaf local-end-point-id {\r
- type string;\r
- default "not-supported";\r
- config false;\r
- description "The value of the localEndPointId is a vendor specific identifier of the air interface, used by the node to discover a microwave radio link.";\r
- }\r
- leaf remote-end-point-id {\r
- type string;\r
- default "not-supported";\r
- config false;\r
- description "The value of the remoteEndPointId is a vendor specific identifier or the airinterface at the remote side, used to by the node to discover a microwave radio link.";\r
- }\r
- description "Measurements of current values on the air interface and operational status of the device.";\r
- }\r
- grouping air-interface-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses air-interface-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses air-interface-current-performance-type-g;\r
- description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
- }\r
- description "Aggregated performance information of the air interface at a particular moment.";\r
- }\r
- grouping air-interface-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses air-interface-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the air interface for a pre-defined measurement interval.";\r
- }\r
- list co-channel-group {\r
- key 'co-channel-group-id';\r
- uses co-channel-group-g;\r
- description "none";\r
- }\r
- grouping co-channel-group-g {\r
- leaf co-channel-group-id {\r
- type core-model:universal-id;\r
- description "none";\r
- }\r
- leaf-list air-interface-list {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:uuid';\r
- }\r
- description "List of air interfaces, which are part of the co-channel (XPIC, MIMO, ALIC) group.";\r
- }\r
- leaf sort-of-co-channel-group {\r
- type string;\r
- default "Kind of co-channel group not specified.";\r
- description "Type of group of air interfaces with the same transmit and receive frequency. The values shall be chosen from the following _list:'XPIC', 'MIMO', 'ALIC';";\r
- }\r
- leaf-list logical-termination-point {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:uuid';\r
- }\r
- status deprecated;\r
- description "none";\r
- }\r
- description "Required for configuring XPIC, MIMO and ALIC.";\r
- }\r
-\r
- /***********************\r
- * package air-interface-hsb\r
- **********************/ \r
- list mw-air-interface-hsb-end-point-pac {\r
- key 'endpoint';\r
- leaf role {\r
- type role-type;\r
- default working;\r
- description "none";\r
- }\r
- leaf endpoint {\r
- type leafref {\r
- path '/core-model:forwarding-construct/core-model:fc-port/core-model:uuid';\r
- }\r
- description "none";\r
- }\r
- description "The EndPoint (EP) object class models the access to the FC function. Each EndPoint instance has a role (e.g., working, protection, protected, hub, spoke, leaf, root, etc.) with respect to the FC function. The association of the FC to LTPs is made via EndPoints (essentially the ports of the FC) where each EndPoint (EP) of the FC has a role in the context of the FC. The traffic forwarding between the associated End PointsEPs of the FC depends upon the type of FC and may be associated with FCSwitch object instances. In cases where there is protection conveys the protecting role of the access to the FC. The EP replaces the Protection Unit of a traditional protection model. It represents a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.";\r
- }\r
- list mw-air-interface-hsb-fc-switch-pac {\r
- key 'fcswitch';\r
- leaf prot-type {\r
- type protection-type;\r
- default hsb;\r
- description "Indicates the protection scheme that is used for the ProtectionGroup.";\r
- }\r
- leaf air-interface-hsb-configuration-is-faulty-severity {\r
- type severity-type;\r
- default warning;\r
- description "The level of severity of an airInterfaceHsbConfigurationIsFaulty alarm shall be chosen from an enumeration.";\r
- }\r
- leaf air-interface-hsb-is-partly-down-severity {\r
- type severity-type;\r
- default warning;\r
- description "The level of severity for one link out of the HSB configuration being down shall be chosen from an enumeration.";\r
- }\r
- leaf air-interface-hsb-is-down-severity {\r
- type severity-type;\r
- default warning;\r
- description "The level of severity of the total HSB configuration being down shall be chosen from an enumeration.";\r
- }\r
- leaf fcswitch {\r
- type leafref {\r
- path '/core-model:forwarding-construct/core-model:fc-switch/core-model:uuid';\r
- }\r
- description "none";\r
- }\r
- description "Represents and defines a protection switch structure encapsulated in the forwarding construct. Essentially performs the function of Protection Group. Associates to 2 or more Endpoints each playing the role of a Protection Unit. One or more protection EndPoints (standby/backup) provide protection for one or more working (i.e. regular/main/preferred) Endpoints where either protection or working can feed one or more protected Endpoint. May be used in revertive or non-revertive (symmetric) mode. When in revertive mode may define waitToRestore time. May be used in one of several modes including source switch, destination switched, source and destination switched etc (covering cases such as 1+1 ane 1:1). May be lockout (prevented from switching), force switched or manual switched. Will indicate switch state and change of state.";\r
- }\r
-\r
- /***********************\r
- * package air-interface-diversity\r
- **********************/ \r
- list mw-air-interface-diversity-pac {\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container air-interface-diversity-capability {\r
- config false;\r
- uses air-interface-diversity-capability-g;\r
- description "none";\r
- }\r
- container air-interface-diversity-configuration {\r
- uses air-interface-diversity-configuration-g;\r
- description "none";\r
- }\r
- container air-interface-diversity-status {\r
- config false;\r
- uses air-interface-diversity-status-g;\r
- description "none";\r
- }\r
- container air-interface-diversity-current-problems {\r
- config false;\r
- uses air-interface-diversity-current-problems-g;\r
- description "none";\r
- }\r
- container air-interface-diversity-current-performance {\r
- config false;\r
- uses air-interface-diversity-current-performance-g;\r
- description "none";\r
- }\r
- container air-interface-diversity-historical-performances {\r
- config false;\r
- uses air-interface-diversity-historical-performances-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-capability-g {\r
- list available-kinds-of-diversity {\r
- key 'diversity-name';\r
- config false;\r
- uses diversity-type-g;\r
- description "Available types of diversity to be listed.";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- min-elements 2;\r
- description "Available alarms to be listed. Mandatory:'airInterfaceDiversityConfigurationIsPartlyDown' (at least one air interface is down, but not all of them) and 'airInterfaceDiversityConfigurationIsDown' (all air interfaces are down). Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:'airInterfaceDiversityConfigurationIsPartlyDown' (at least one air interface is down, but not all of them) and 'airInterfaceDiversityConfigurationIsDown' (all air interfaces are down). Further alarms might be added by the device. Names are to be separated by commas.";\r
- }\r
- description "Describes the capabilities in implementing different types of air interface diversity.";\r
- }\r
- grouping air-interface-diversity-configuration-g {\r
- container air-interface-diversity {\r
- uses diversity-type-g;\r
- description "Type of air interface diversity configured at the link.";\r
- }\r
- leaf-list air-interface-ltp-list {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:uuid';\r
- }\r
- min-elements 2;\r
- description "_multiplicity:2-ThisAirInterfaceDiversity::AirInterfaceDiversityConfiguration::airInterfaceDiversity::diversityType::numberOfAirInterfacesMax";\r
- }\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list threshold-cross-alarm-list {\r
- key 'g826-value-kind granularity-period';\r
- max-elements 6;\r
- uses threshold-cross-alarm-type-g;\r
- description "List of threshold cross alarms to be configured.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- min-elements 3;\r
- uses air-interface-diversity-problem-severity-type-g;\r
- description "Severity of the problem to be configured.";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-status-g {\r
- leaf snir-cur {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Currently measured signal to (noise+interference) ratio of the combined signals.";\r
- }\r
- leaf air-interface-diversity-status {\r
- type air-interface-diversity-status-type;\r
- default group-down;\r
- config false;\r
- description "Status of the air interface bundle. ";\r
- }\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
- description "Time the Diversity Group entered its current operational status. ";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses air-interface-diversity-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses air-interface-diversity-current-performance-type-g;\r
- description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
- }\r
- description "Aggregated performance information of the air interface diversity configuration at a particular moment.";\r
- }\r
- grouping air-interface-diversity-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses air-interface-diversity-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the air interface diversity configuration for a pre-defined measurement interval.";\r
- }\r
-\r
- /***********************\r
- * package pure-ethernet-structure\r
- **********************/ \r
- list mw-pure-ethernet-structure-pac {\r
- if-feature pure-ethernet;\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container pure-ethernet-structure-capability {\r
- config false;\r
- uses pure-ethernet-structure-capability-g;\r
- description "none";\r
- }\r
- container pure-ethernet-structure-configuration {\r
- uses pure-ethernet-structure-configuration-g;\r
- description "none";\r
- }\r
- container pure-ethernet-structure-status {\r
- config false;\r
- uses pure-ethernet-structure-status-g;\r
- description "none";\r
- }\r
- container pure-ethernet-structure-current-problems {\r
- config false;\r
- uses pure-ethernet-structure-current-problems-g;\r
- description "none";\r
- }\r
- container pure-ethernet-structure-current-performance {\r
- config false;\r
- uses pure-ethernet-structure-current-performance-g;\r
- description "none";\r
- }\r
- container pure-ethernet-structure-historical-performances {\r
- config false;\r
- uses pure-ethernet-structure-historical-performances-g;\r
- description "none";\r
- }\r
- description "The pureEthernetStructure_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting Ethernet traffic only.";\r
- }\r
- grouping pure-ethernet-structure-capability-g {\r
- leaf structure-id {\r
- type core-model:universal-id;\r
- config false;\r
- description "Identifies the Structure for bundling and container.";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the device.";\r
- }\r
- description "Describes the logical structuring of the physical capacity provided by a pure Ethernet microwave device. Segmentation is not available. No fixed segment size. No TDM transport.";\r
- }\r
- grouping pure-ethernet-structure-configuration-g {\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- uses structure-problem-severity-type-g;\r
- description "Severity of the type of problem to be configured.";\r
- }\r
- description "none";\r
- }\r
- grouping pure-ethernet-structure-status-g {\r
- container segment-status-list {\r
- config false;\r
- uses segment-status-type-g;\r
- description "Status of the Ethernet transport segment. Always just one segment.";\r
- }\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
- description "Time and date of the last update of the status information. ";\r
- }\r
- description "none";\r
- }\r
- grouping pure-ethernet-structure-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses structure-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping pure-ethernet-structure-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses structure-current-performance-type-g;\r
- description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
- }\r
- description "Aggregated performance information of the structure of an pure Ethernet microwave at a particular moment.";\r
- }\r
- grouping pure-ethernet-structure-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses structure-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the structure of an pure Ethernet microwave for a pre-defined measurement interval.";\r
- }\r
- feature pure-ethernet {\r
- description "Feature 'pure-ethernet' is mandatory for device types transporting pure Ethernet.";\r
- }\r
-\r
- /***********************\r
- * package hybrid-mw-structure\r
- **********************/ \r
- list mw-hybrid-mw-structure-pac {\r
- if-feature hybrid-microwave;\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container hybrid-mw-structure-capability {\r
- config false;\r
- uses hybrid-mw-structure-capability-g;\r
- description "none";\r
- }\r
- container hybrid-mw-structure-configuration {\r
- uses hybrid-mw-structure-configuration-g;\r
- description "none";\r
- }\r
- container hybrid-mw-structure-status {\r
- config false;\r
- uses hybrid-mw-structure-status-g;\r
- description "none";\r
- }\r
- container hybrid-mw-structure-current-problems {\r
- config false;\r
- uses hybrid-mw-structure-current-problems-g;\r
- description "none";\r
- }\r
- container hybrid-mw-structure-current-performance {\r
- config false;\r
- uses hybrid-mw-structure-current-performance-g;\r
- description "none";\r
- }\r
- container hybrid-mw-structure-historical-performances {\r
- config false;\r
- uses hybrid-mw-structure-historical-performances-g;\r
- description "none";\r
- }\r
- description "The HybridMwStructure_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM and Ethernet traffic.";\r
- }\r
- grouping hybrid-mw-structure-capability-g {\r
- leaf structure-id {\r
- type core-model:universal-id;\r
- config false;\r
- description "Identifies the Structure for bundling and container.";\r
- }\r
- list supported-tdm-structure-types-list {\r
- key 'tdm-structure-name';\r
- config false;\r
- min-elements 1;\r
- uses tdm-structure-type-g;\r
- description "Lists the TDM frame types that are supported.";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the device.";\r
- }\r
- description "Describes the logical structuring of the physical capacity provided by a hybrid microwave device (TDM + Ethernet). Segmentation is available. TDM transport is available.";\r
- }\r
- grouping hybrid-mw-structure-configuration-g {\r
- container structure-kind {\r
- uses tdm-structure-type-g;\r
- description "TDM frame to be applied.";\r
- }\r
- container structure-type {\r
- uses tdm-structure-type-g;\r
- status deprecated;\r
- description "TDM frame to be applied.";\r
- }\r
- leaf number-of-tdm-segments-to-be-reserved {\r
- type int16;\r
- default -1;\r
- description "Allows to configure the number of segments reserved for TDM frames of the type specified in HybridMwStructure::HybridMwStructureConfiguration::structureType";\r
- }\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- uses structure-problem-severity-type-g;\r
- description "Severity of the type of problem to be configured.";\r
- }\r
- description "none";\r
- }\r
- grouping hybrid-mw-structure-status-g {\r
- list segment-status-list {\r
- key 'segment-status-type-id';\r
- config false;\r
- uses segment-status-type-g;\r
- description "Status of each segment (all TDM and one Ethernet). Multiplicity = HybridMwStructure::StructureConfiguration::tdmReservedNumberOfSegments + 1";\r
- }\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
- description "Time and date of the last update of the status information. ";\r
- }\r
- description "none";\r
- }\r
- grouping hybrid-mw-structure-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses structure-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping hybrid-mw-structure-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses structure-current-performance-type-g;\r
- description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
- }\r
- description "Aggregated performance information of the structure of a hybrid microwave at a particular moment.";\r
- }\r
- grouping hybrid-mw-structure-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses structure-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the structure of a hybrid microwave for a pre-defined measurement interval.";\r
- }\r
- feature hybrid-microwave {\r
- description "Feature 'hybrid-microwave' is mandatory for device types transporting Ethernet + TDM.";\r
- }\r
-\r
- /***********************\r
- * package ethernet-container\r
- **********************/ \r
- list mw-ethernet-container-pac {\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container ethernet-container-capability {\r
- config false;\r
- uses ethernet-container-capability-g;\r
- description "none";\r
- }\r
- container ethernet-container-configuration {\r
- uses ethernet-container-configuration-g;\r
- description "none";\r
- }\r
- container ethernet-container-status {\r
- config false;\r
- uses ethernet-container-status-g;\r
- description "none";\r
- }\r
- container ethernet-container-current-problems {\r
- config false;\r
- uses ethernet-container-current-problems-g;\r
- description "none";\r
- }\r
- container ethernet-container-current-performance {\r
- config false;\r
- uses ethernet-container-current-performance-g;\r
- description "none";\r
- }\r
- container ethernet-container-historical-performances {\r
- config false;\r
- uses ethernet-container-historical-performances-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping ethernet-container-capability-g {\r
- leaf bundling-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "This attribute has to be set on 'true', if the device allows combining resources from several air interfaces for transporting this Ethernet container.";\r
- }\r
- leaf packet-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case packet compression can be activated, but not configured to a certain type, packetCompressionAvail shall be set on 'true', but none of the compression level specific booleans.";\r
- }\r
- leaf layer2-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on layer 2 available at the device.";\r
- }\r
- leaf vlan-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on VLAN layer available at the device.";\r
- }\r
- leaf q-in-q-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on layer of a second VLAN available at the device.";\r
- }\r
- leaf mpls-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on mpls layer available at the device.";\r
- }\r
- leaf ipv4-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on layer 3 for IPv4 available at the device.";\r
- }\r
- leaf ipv6-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on layer 3 for IPv6 available at the device.";\r
- }\r
- leaf layer4-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on layer 4 (TCP and UDP header) available at the device.";\r
- }\r
- leaf encryption-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Shall be marked 'true', if Ethernet payload encryption is available.";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- min-elements 2;\r
- description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the device.";\r
- }\r
- description "none";\r
- }\r
- grouping ethernet-container-configuration-g {\r
- leaf container-id {\r
- type string;\r
- default "No Ethernet Flow associated yet.";\r
- description "ContainterID in Netconf must be the same as EthernetPortID in OpenFlow so a connection can be made between the two items, which separately exist in the controller.";\r
- }\r
- list segments-id-list {\r
- key 'structure-id-ref segment-id-ref';\r
- min-elements 1;\r
- uses segment-id-type-g;\r
- description "Lists the segments used for transporting this Ethernet container. In case EthernetContainer::ContainerCapability::bundlingIsAvail==0, all TypeDefinitions::segmentIdType::structureId must be identical in the list.";\r
- }\r
- leaf packet-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "In case packet compression is activated, but no type is activated, it is assumed that the device chooses the optimum.";\r
- }\r
- leaf layer2-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on layer 2 configured at the device.";\r
- }\r
- leaf vlan-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on VLAN layer configured at the device.";\r
- }\r
- leaf q-in-q-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on layer of a second VLAN configured at the device.";\r
- }\r
- leaf mpls-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on MPLS layer configured at the device.";\r
- }\r
- leaf ipv4-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on layer 3 for IPv4 configured at the device.";\r
- }\r
- leaf ipv6-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on layer 3 for IPv6 configured at the device.";\r
- }\r
- leaf layer4-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on layer 4 (TCP and UDP header) configured at the device.";\r
- }\r
- leaf encryption-is-on {\r
- type boolean;\r
- default false;\r
- description "Activates encryption of the Ethernet payload.";\r
- }\r
- leaf cryptographic-key {\r
- type string;\r
- default "Cryptographic key not yet defined.";\r
- description "Key for transforming plaintext into cipher text data.";\r
- }\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- min-elements 2;\r
- uses container-problem-severity-type-g;\r
- description "Severity of the problem to be configured.";\r
- }\r
- description "none";\r
- }\r
- grouping ethernet-container-status-g {\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
- description "Time the Container entered its current operational status. ";\r
- }\r
- description "none";\r
- }\r
- grouping ethernet-container-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses container-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping ethernet-container-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses container-current-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the Ethernet container at a particular moment.";\r
- }\r
- grouping ethernet-container-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses container-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the Ethernet container for a pre-defined measurement interval.";\r
- }\r
-\r
- /***********************\r
- * package tdm-container\r
- **********************/ \r
- list mw-tdm-container-pac {\r
- if-feature hybrid-microwave;\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container tdm-container-capability {\r
- config false;\r
- uses tdm-container-capability-g;\r
- description "none";\r
- }\r
- container tdm-container-configuration {\r
- uses tdm-container-configuration-g;\r
- description "none";\r
- }\r
- container tdm-container-status {\r
- config false;\r
- uses tdm-container-status-g;\r
- description "none";\r
- }\r
- container tdm-container-current-problems {\r
- config false;\r
- uses tdm-container-current-problems-g;\r
- description "none";\r
- }\r
- container tdm-container-current-performance {\r
- config false;\r
- uses tdm-container-current-performance-g;\r
- description "none";\r
- }\r
- container tdm-container-historical-performances {\r
- config false;\r
- uses tdm-container-historical-performances-g;\r
- description "none";\r
- }\r
- description "The TdmContainer_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM traffic.";\r
- }\r
- grouping tdm-container-capability-g {\r
- list supported-tdm-container-types-list {\r
- key 'tdm-container-name';\r
- config false;\r
- min-elements 1;\r
- uses tdm-container-type-g;\r
- description "Lists the TDM containers that are supported.";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- min-elements 2;\r
- description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the device.";\r
- }\r
- description "Bundling is not available.";\r
- }\r
- grouping tdm-container-configuration-g {\r
- leaf container-id {\r
- type string;\r
- default "No TDM Flow associated yet.";\r
- description "ContainterID in Netconf must be the same as TDM Flow ID so a connection can be made between the two items, which separately exist in the controller.";\r
- }\r
- container container-type {\r
- uses tdm-container-type-g;\r
- description "Type of TDM container.";\r
- }\r
- container segment-id {\r
- uses segment-id-type-g;\r
- description "Multiplicity = 1; One segment per TDM container; Type of segment must match type of container;";\r
- }\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- min-elements 2;\r
- uses container-problem-severity-type-g;\r
- description "Severity of the problem to be configured.";\r
- }\r
- description "none";\r
- }\r
- grouping tdm-container-status-g {\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
- description "Time the Container entered its current operational status. ";\r
- }\r
- description "none";\r
- }\r
- grouping tdm-container-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses container-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping tdm-container-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses container-current-performance-type-g;\r
- description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
- }\r
- description "Aggregated performance information of the TDM container at a particular moment.";\r
- }\r
- grouping tdm-container-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses container-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the TDM container for a pre-defined measurement interval.";\r
- }\r
-\r
- /***********************\r
- * package super-classes\r
- **********************/ \r
- grouping mw-current-problem-g {\r
- leaf sequence-number {\r
- type int32;\r
- config false;\r
- description "Unique sequence number of the current problem object.";\r
- }\r
- leaf time-stamp {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
- description "Time and date of the problem. ";\r
- }\r
- leaf problem-severity {\r
- type severity-type;\r
- default warning;\r
- config false;\r
- description "Severity of the alarm.";\r
- }\r
- description "none";\r
- }\r
-\r
-\r
- /***********************\r
- * package notifications\r
- **********************/ \r
- notification object-creation-notification {\r
- uses object-creation-notification-g;\r
- description "none";\r
- }\r
- grouping object-creation-notification-g {\r
- leaf counter {\r
- type int32;\r
- default -1;\r
- description "Counts object creation notifications.";\r
- }\r
- leaf time-stamp {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- description "none";\r
- }\r
- leaf object-id-ref {\r
- type core-model:universal-id;\r
- description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";\r
- }\r
- leaf object-type {\r
- type string;\r
- default "Type of created object not specified.";\r
- description "Type of Object to be chosen from the following list of values: 'MW_AirInterface_Pac', 'MW_AirInterfaceDiversity_Pac', 'MW_Structure_Pac', 'MW_PureEthernetStructure_Pac', 'MW_HybridMwStructure_Pac', 'MW_Container_Pac', 'MW_EthernetContainer_Pac' or 'MW_TdmContainer_Pac'.";\r
- }\r
- description "To be sent when a new MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac has to be instancieted in the controller.";\r
- }\r
- notification object-deletion-notification {\r
- uses object-deletion-notification-g;\r
- description "none";\r
- }\r
- grouping object-deletion-notification-g {\r
- leaf counter {\r
- type int32;\r
- default -1;\r
- description "Counts object deletion notifications.";\r
- }\r
- leaf time-stamp {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- description "none";\r
- }\r
- leaf object-id-ref {\r
- type core-model:universal-id;\r
- description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";\r
- }\r
- description "To be sent when a new MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac instance has to be deleted in the controller.";\r
- }\r
- notification attribute-value-changed-notification {\r
- uses attribute-value-changed-notification-g;\r
- description "none";\r
- }\r
- grouping attribute-value-changed-notification-g {\r
- leaf counter {\r
- type int32;\r
- default -1;\r
- description "Counts attribute value changed notifications.";\r
- }\r
- leaf time-stamp {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- description "none";\r
- }\r
- leaf object-id-ref {\r
- type core-model:universal-id;\r
- description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";\r
- }\r
- leaf attribute-name {\r
- type string;\r
- default "Attribute name not specified.";\r
- description "Name of the attribute that has been changed.";\r
- }\r
- leaf new-value {\r
- type string;\r
- default "New value not specified.";\r
- description "Attribute value converted to a string (xml, json, ...)";\r
- }\r
- description "To be sent when an attribute has changed and one or more controllers have to update their data.";\r
- }\r
- notification problem-notification {\r
- uses problem-notification-g;\r
- description "none";\r
- }\r
- grouping problem-notification-g {\r
- leaf counter {\r
- type int32;\r
- default -1;\r
- description "Counts problem notifications";\r
- }\r
- leaf time-stamp {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- description "none";\r
- }\r
- leaf object-id-ref {\r
- type core-model:universal-id;\r
- description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";\r
- }\r
- leaf problem {\r
- type string;\r
- default "Problem name not specified.";\r
- description "Name of the problem according to AirInterface::AirInterfaceCapability::supportedAlarms or AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms or Structure::StructureCapability::supportedAlarms or PureEthernetStructure::PureEthernetStructureCapability::supportedAlarms or HybridMwStructure::HybridMwStructureCapability::supportedAlarms or Container::ContainerCapability::supportedAlarms or EthernetContainer::EthernetContainerCapability::supportedAlarms or TdmContainer::TdmContainerCapability::supportedAlarms.";\r
- }\r
- leaf severity {\r
- type severity-type;\r
- default warning;\r
- description "Severity of the problem according to AirInterface::AirInterfaceConfiguration::problemSeverityList, AirInterfaceDiversity::AirInterfaceDiversityConfiguration::problemSeverityList, Structure::StructureConfiguration::problemSeverityList, PureEthernetStructure::PureEthernetStructureConfiguration::problemSeverityList, HybridMwStructure::HybridMwStructureConfiguration::problemSeverityList, Container::ContainerConfiguration::problemSeverityList, EthernetContainer::EthernetContainerConfiguration::problemSeverityList or TdmContainer::TdmContainerConfiguration::problemSeverityList";\r
- }\r
- description "To be sent when a problem occurs at a MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";\r
- }\r
-\r
-}\r
+module microwave-model {
+ namespace "urn:onf:params:xml:ns:yang:microwave-model";
+ prefix microwave-model;
+
+ import core-model {
+ prefix core-model;
+ }
+ import g.874.1-model {
+ prefix g;
+ }
+ import ietf-yang-types {
+ prefix yang;
+ }
+ organization "ONF (Open Networking Foundation) Open Transport Working Group - Wireless Transport Project";
+ contact "WG Web: <https://www.opennetworking.org/software-defined-standards/models-apis/>
+ WG List: <mailto:wireless-transport@login.opennetworking.org>
+ WG Chair: Lyndon Ong
+ <mailto:lyong@ciena.com>
+ WG Chair: Giorgio Cazzaniga
+ <mailto:giorgio.cazzaniga@sm-optics.com>
+ Editors: Thorsten Heinze
+ <mailto:thorsten.heinze@telefonica.com>
+ Shrikanth Malavalli Divakar
+ <mailto:shrikanth.divakar@wipro.com>";
+ description "This module contains a collection of YANG definitions for managing wireless networks.
+ This model is for vendor agnostic management of wireless network elements.";
+ revision 2018-09-07 {
+ description "Version 1.1";
+ reference "ONF TR 532: A YANG Data Model for Wireless Networks.";
+ }
+
+ revision 2017-03-24 {
+ description "Initial version";
+ reference "ONF TR 532: A YANG Data Model for Wireless Networks.";
+ }
+
+ /***********************
+ * package type-definitions
+ **********************/
+ typedef loop-back-type {
+ type enumeration {
+ enum rf-to-remote {
+ description "Returning the header information of the remote site back to the remote site on the radio interface between both outdoor units.";
+ }
+ enum rf-to-local {
+ description "Returning the header information of the local site back to the local site on the radio interface between both outdoor units.";
+ }
+ enum if-to-remote {
+ description "Returning the header information of the remote site back to the remote site on the intermediate frequency interface between local indoor unit and outdoor unit.";
+ }
+ enum if-to-local {
+ description "Returning the header information of the local site back to the local site on the intermediate frequency interface between local indoor unit and outdoor unit.";
+ }
+ enum none {
+ description "none";
+ }
+ enum if {
+ status deprecated;
+ description "Intermediate Frequency on the interface between indoor and outdoor unit.";
+ }
+ enum rf {
+ status deprecated;
+ description "Radio Frequency on the interface between outdoor unit and outdoor unit at the remote site.";
+ }
+ }
+ description "none";
+ }
+ typedef severity-type {
+ type enumeration {
+ enum non-alarmed {
+ description "none";
+ }
+ enum warning {
+ description "none";
+ }
+ enum minor {
+ description "none";
+ }
+ enum major {
+ description "none";
+ }
+ enum critical {
+ description "none";
+ }
+ }
+ description "According to ITU-T M.3160";
+ }
+ grouping channel-plan-type-g {
+ leaf supported-channel-plan {
+ type string;
+ config false;
+ description "Unique name (e.g. ECC/REC/(01)04_Annex 5) of a document, which describes a frequency grid that can be adjusted at the air interface. Corresponding channel plans to be delivered by the hardware vendor and to be stored by the operator in an controller/application attached database.";
+ }
+ leaf duplex-distance-is-variable {
+ type boolean;
+ default false;
+ config false;
+ description "To be set on 'true', if the distance between transmitted and received frequency is variable.";
+ }
+ leaf-list duplex-distance-list {
+ type int32;
+ units "kHz";
+ config false;
+ min-elements 1;
+ description "Distance between transmitted and received frequency. To be filled with single value, in case duplex distance is not variable. To be filled with all configurable values, in case duplex distance is variable.";
+ }
+ leaf duplex-distance {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ status deprecated;
+ description "Distance between transmitted and received frequency.";
+ }
+ leaf auto-freq-select-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case the microwave radio is capable of automatically selecting the transmit frequency in unlicensed bands, this field shall contain a 'true'.";
+ }
+ list transmission-mode-list {
+ key 'transmission-mode-id';
+ config false;
+ min-elements 1;
+ uses transmission-mode-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping transmission-mode-type-g {
+ leaf transmission-mode-id {
+ type core-model:universal-id;
+ description "Indentifies the transmissionMode for internal reference.";
+ }
+ leaf transmission-mode-name {
+ type string;
+ default "Name of the transmission mode not yet defined.";
+ config false;
+ description "Name of the transmission mode. BBBB-m*-i*/t*-r*. B=four digits of channel bandwidth in MHz. m*=required number of digits for modulation name. (i*/t*=code rate.) i*=required number of digits for number of information bits. t*=required number of digits for total bits. r*=required number of digits for rate reduction factor. Example: 028-4QAM-188/204-1";
+ }
+ leaf channel-bandwidth {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Bandwidth of the transmit channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";
+ }
+ leaf modulation-scheme {
+ type int16;
+ units "symbols";
+ default -1;
+ config false;
+ description "Modulation scheme, which is base to the other characteristics described in the same transmissionModeType data type. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256').";
+ }
+ leaf code-rate {
+ type int8;
+ units "%";
+ default -1;
+ config false;
+ description "Code rate of the coding scheme in % (Net bit rate ≤ Gross bit rate · code rate).";
+ }
+ leaf symbol-rate-reduction-factor {
+ type int8;
+ default 1;
+ config false;
+ description "Reduction factor for the symbol rate. Example: value would be 4 for 1/4BPSK.";
+ }
+ leaf tx-power-min {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Value of the minimum transmit power the modem can operate in dBm.";
+ }
+ leaf tx-power-max {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Value of the maximum transmit power the modem can operate in dBm.";
+ }
+ leaf rx-threshold {
+ type int16;
+ units "dBm";
+ default 99;
+ config false;
+ description "Value of the receive level required to decode the received signal with a Bit Error Rate of 1e-6 or less.";
+ }
+ leaf am-upshift-level {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Value of the receive level that has to be exceeded to shift into a higher modulation scheme.";
+ }
+ leaf am-downshift-level {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Value of the receive level that has to be exceeded for not shifting into a lower modulation scheme.";
+ }
+ leaf xpic-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case this air interface type is capable of XPIC, this field shall contain a 'true'. This information shall purely relate to capabilities of the equipment type, but not to the operational capability of a specific hardware composition on site. Means for example that this attribute might contain a 'true' statement, even if an additional cable would have been required to actually operate XPIC in a specific case.";
+ }
+ description "none";
+ }
+ typedef polarization-type {
+ type enumeration {
+ enum not-specified {
+ description "none";
+ }
+ enum horizontal {
+ description "none";
+ }
+ enum vertical {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef g826-type {
+ type enumeration {
+ enum es {
+ description "Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::es .";
+ }
+ enum ses {
+ description "Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::ses .";
+ }
+ enum cses {
+ description "Consecutive Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::cses .";
+ }
+ enum not-specified {
+ description "none";
+ }
+ }
+ description "none";
+ }
+
+ grouping threshold-cross-alarm-type-g {
+ leaf g826-value-kind {
+ type g826-type;
+ description "Kind of performance value that shall be equipped with a threshold alarm.";
+ }
+ leaf granularity-period {
+ type g:granularity-period-type;
+ description "Period of the performance data collection.";
+ }
+ leaf alarm-raising-threshold {
+ type int32;
+ units "s";
+ default -1;
+ description "Number of events required for raising the threshold cross alarm.";
+ }
+ leaf alarm-clearing-threshold {
+ type int32;
+ units "s";
+ default -1;
+ description "Number of events required for clearing the threshold cross alarm.";
+ }
+ description "Allows defining a threshold cross alarm.
+ ";
+ }
+ grouping air-interface-problem-severity-type-g {
+ leaf problem-kind-name {
+ type string;
+ description "Name of the alarm according to AirInterface::AirInterfaceCapability::supportedAlarms";
+ }
+ leaf problem-kind-severity {
+ type severity-type;
+ default warning;
+ description "Severity of this type of alarm.";
+ }
+ description "none";
+ }
+ grouping air-interface-current-problem-type-g {
+ leaf problem-name {
+ type string;
+ default "Problem name not specified.";
+ config false;
+ description "Name of the alarm according to AirInterface::AirInterfaceCapability::supportedAlarms";
+ }
+ uses mw-current-problem-g;
+ description "none";
+ }
+ grouping time-x-states-type-g {
+ leaf transmission-mode {
+ type leafref{
+ path '/mw-air-interface-pac/air-interface-capability/supported-channel-plan-list/transmission-mode-list/transmission-mode-id';
+ }
+ config false;
+ description "Operated transmission mode.";
+ }
+ leaf time {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Sum of all seconds the transmitter operated the transmission mode.";
+ }
+ description "none";
+ }
+ grouping air-interface-performance-type-g {
+ leaf es {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of errored seconds.";
+ }
+ leaf ses {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of severely errored seconds.";
+ }
+ leaf cses {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of consecutive severely errored seconds.";
+ }
+ leaf unavailability {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Total time of unavailability in seconds.";
+ }
+ leaf tx-level-min {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Minimum transmit power. Signed integers are required.";
+ }
+ leaf tx-level-max {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Maximum transmit power. Signed integers are required.";
+ }
+ leaf tx-level-avg {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Averaged transmit power. Signed integers are required.";
+ }
+ leaf rx-level-min {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Minimum receive level. Signed integers are required.";
+ }
+ leaf rx-level-max {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Maximum receive level. Signed integers are required.";
+ }
+ leaf rx-level-avg {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Averaged receive level. Signed integers are required.";
+ }
+ list time-x-states-list {
+ key 'transmission-mode';
+ config false;
+ min-elements 1;
+ uses time-x-states-type-g;
+ description "Time period the transmitter operated in the respective transmission mode.";
+ }
+ leaf time2-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "Sum of all seconds the transmitter operated in e.g. BPSK.";
+ }
+ leaf time4-states-s {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time4-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time8-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time16-states-s {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time16-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time32-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time64-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time128-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time256-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time512-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time512-states-l {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time1024-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time1024-states-l {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time2048-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time2048-states-l {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time4096-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time4096-states-l {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time8192-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time8192-states-l {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf snir-min {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Minimum signal to (noise+interference) ratio.";
+ }
+ leaf snir-max {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Maximum signal to (noise+interference) ratio.";
+ }
+ leaf snir-avg {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Averaged signal to (noise+interference) ratio.";
+ }
+ leaf xpd-min {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Minimum cross polarization discrimination.";
+ }
+ leaf xpd-max {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Maximum cross polarization discrimination.";
+ }
+ leaf xpd-avg {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Averaged cross polarization discrimination.";
+ }
+ leaf rf-temp-min {
+ type int8;
+ units "C";
+ default -99;
+ config false;
+ description "Lowest temperature (in degree Celsius) of the radio module inside the outdoor unit.";
+ }
+ leaf rf-temp-max {
+ type int8;
+ units "C";
+ default -99;
+ config false;
+ description "Highest temperature (in degree Celsius) of the radio module inside the outdoor unit.";
+ }
+ leaf rf-temp-avg {
+ type int8;
+ units "C";
+ default -99;
+ config false;
+ description "Averaged temperature (in degree Celsius) of the radio module inside the outdoor unit.";
+ }
+ leaf defect-blocks-sum {
+ type int16;
+ units "blocks";
+ default -1;
+ config false;
+ description "Total number of blocks that were defect after receiving and could not be corrected by the FEC.";
+ }
+ leaf time-period {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Total length of the measurement period.";
+ }
+ description "Consolidated performance information of the air interface.";
+ }
+ grouping air-interface-current-performance-type-g {
+ container performance-data {
+ config false;
+ uses air-interface-performance-type-g;
+ description "none";
+ }
+ uses g:otn-current-data-g;
+ description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";
+ }
+ grouping air-interface-historical-performance-type-g {
+ container performance-data {
+ config false;
+ uses air-interface-performance-type-g;
+ description "none";
+ }
+ uses g:otn-history-data-g;
+ description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";
+ }
+ typedef protection-type {
+ type enumeration {
+ enum hsb {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef role-type {
+ type enumeration {
+ enum working {
+ description "none";
+ }
+ enum protection {
+ description "none";
+ }
+ enum protected {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ grouping diversity-type-g {
+ leaf diversity-name {
+ type string;
+ config false;
+ description "Names to be chosen from the following list: 'spaceDiversity', 'frequencyDiversity'";
+ }
+ leaf number-of-air-interfaces-max {
+ type int8;
+ units "air interfaces";
+ default 1;
+ config false;
+ description "Maximum number of air interfaces that could be part of this kind of diversity.";
+ }
+ description "none";
+ }
+ typedef air-interface-diversity-status-type {
+ type enumeration {
+ enum group-down {
+ description "All air interfaces that are members of the diversity configuration are down.";
+ }
+ enum not-all-ai-active {
+ description "At least one, but not all of the air interfaces that are part of the diversity configuration is not working.";
+ }
+ enum all-ai-active {
+ description "All air interfaces that are part of the diversity configuration are working.";
+ }
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-problem-severity-type-g {
+ leaf problem-kind-name {
+ type string;
+ description "Name of the alarm according to AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms";
+ }
+ leaf problem-kind-severity {
+ type severity-type;
+ default warning;
+ description "Severity of this type of alarm.";
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-current-problem-type-g {
+ leaf problem-name {
+ type string;
+ default "Problem name not specified.";
+ config false;
+ description "Name of the alarm according to AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms";
+ }
+ uses mw-current-problem-g;
+ description "none";
+ }
+ grouping air-interface-diversity-performance-type-g {
+ leaf snir-min {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Minimum signal to (noise+interference) ratio of the combined signals.";
+ }
+ leaf snir-max {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Maximum signal to (noise+interference) ratio of the combined signals.";
+ }
+ leaf snir-avg {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Average signal to (noise+interference) ratio of the combined signals.";
+ }
+ description "Consolidated performance information of the air interface diversity group.";
+ }
+ grouping air-interface-diversity-current-performance-type-g {
+ container performance-data {
+ config false;
+ uses air-interface-diversity-performance-type-g;
+ description "none";
+ }
+ uses g:otn-current-data-g;
+ description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";
+ }
+ grouping air-interface-diversity-historical-performance-type-g {
+ container performance-data {
+ config false;
+ uses air-interface-diversity-performance-type-g;
+ description "none";
+ }
+ uses g:otn-history-data-g;
+ description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";
+ }
+ grouping tdm-structure-type-g {
+ leaf tdm-structure-name {
+ type string;
+ config false;
+ description "Names to be chosen from the following list: 'e1','t1','j1','e3','ds3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";
+ }
+ leaf tdm-segment-size {
+ type int32;
+ units "kbit/s";
+ default -1;
+ config false;
+ description "Size of the TDM segment in kbit/s. Values to be chosen from the following list: '2048','1544','34000','44736 ','155520','614400','1228800','2457600','3072000','4915200','6144000' or '9830400;";
+ }
+ leaf max-number-of-segments-reservable {
+ type int8;
+ units "segments";
+ default -1;
+ config false;
+ description "Device specific maximum number of segments (not depending on current air interface configuration) that can be reserved for this type of segment on a single air interface.";
+ }
+ description "none";
+ }
+ grouping structure-problem-severity-type-g {
+ leaf problem-kind-name {
+ type string;
+ description "Name of the alarm according to Structure::StructureCapability::supportedAlarms";
+ }
+ leaf problem-kind-severity {
+ type severity-type;
+ default warning;
+ description "Severity of this type of alarm.";
+ }
+ description "none";
+ }
+ grouping structure-current-problem-type-g {
+ leaf problem-name {
+ type string;
+ default "Problem name not specified.";
+ config false;
+ description "Name of the alarm according to Structure::StructureCapability::supportedAlarms";
+ }
+ uses mw-current-problem-g;
+ description "none";
+ }
+ grouping structure-performance-type-g {
+ leaf time-period {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Total length of the measurement period in seconds.";
+ }
+ leaf es {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
+ }
+ leaf ses {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
+ }
+ leaf cses {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of consecutive severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
+ }
+ leaf unavailability {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Total time of unavailability in seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
+ }
+ leaf rx-level-min {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Minimum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";
+ }
+ leaf rx-level-max {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Maximum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";
+ }
+ leaf rx-level-avg {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Averaged receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";
+ }
+ description "Consolidated performance information of the Structure.";
+ }
+ grouping structure-current-performance-type-g {
+ container performance-data {
+ config false;
+ uses structure-performance-type-g;
+ description "none";
+ }
+ uses g:otn-current-data-g;
+ description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";
+ }
+ grouping structure-historical-performance-type-g {
+ container performance-data {
+ config false;
+ uses structure-performance-type-g;
+ description "none";
+ }
+ uses g:otn-history-data-g;
+ description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";
+ }
+ grouping container-type-g {
+ leaf container-name {
+ type string;
+ config false;
+ description "Names to be chosen from the following list: 'ethernet','e1','t1','j1','e3','ds3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";
+ }
+ leaf number-of-time-slots-required {
+ type int16;
+ units "timeslots";
+ default -1;
+ config false;
+ description "Number of time slots required for transporting this type of container. Value must be calculated by the vendor after defining the timeSlotCapacity. For containers of fixed size: numberOfTimeSlotsRequired = required bandwidth of the container divided by timeSlotCapacity. For containers of variable size the minimum (most probably 1) is to be stated.";
+ }
+ leaf tdm-time-slots-is-required {
+ type boolean;
+ default false;
+ config false;
+ description "Shall be set to '1', if this container type requires bandwidth (times slots) reserved for TDM transport.";
+ }
+ leaf bundling-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "If it is possible to combine transport resources of several radio links to transport this container type, this attribute shall be set to '1'.";
+ }
+ description "none";
+ }
+ grouping tdm-container-type-g {
+ leaf tdm-container-name {
+ type string;
+ config false;
+ description "Names to be chosen from the following list: 'e1','t1','j1','e3','t3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";
+ }
+ leaf tdm-container-size {
+ type int32;
+ units "kbit/s";
+ default -1;
+ config false;
+ description "Capacity required for transporting this type of container (in kbit/s). Values to be chosen from the following list: '2048','1544','34000','44736 ','155520','614400','1228800','2457600','3072000','4915200','6144000' or '9830400;";
+ }
+ description "none";
+ }
+ grouping segment-id-type-g {
+ leaf structure-id-ref {
+ type core-model:universal-id;
+ description "none";
+ }
+ leaf segment-id-ref {
+ type int16;
+ description "Combinations of structureId and segmentId must be unique inside the device to assure that every resource is used just once.";
+ }
+ description "Identifies the segments, which are used to transport the container.";
+ }
+ grouping segment-status-type-g {
+ leaf segment-status-type-id {
+ type int16;
+ config false;
+ description "none";
+ }
+ leaf segment-is-reserved-for-tdm {
+ type boolean;
+ default false;
+ config false;
+ description "The number of segments, which is configured by Structure::StructureConfiguration::tdmReservedNumberOfSegements, has to be reserved for TDM. Starting from the lowest index value, these segments have to be marked with a 'true' in segmentIsReservedForTdm.
+ ";
+ }
+ leaf operational-status {
+ type core-model:operational-state;
+ default disabled;
+ config false;
+ description "Current operational status of each segment.";
+ }
+ leaf obsolete-priority-class {
+ type int8;
+ default -1;
+ config false;
+ description "PriorityClass as inherited from the associated Container::ContainerConfiguration::priorityClass. In case the device is capable of adapting the sequence, in which segments are being dropped in case of decreasing capacity of the air interface, priorityClass shall be considered, while calculating the dropOrderRank.";
+ }
+ leaf obsolete-drop-order-rank {
+ type int16;
+ default -1;
+ config false;
+ description "In case the device is NOT capable of adapting the sequence, in which segments are being dropped in case of decreasing capacity of the air interface, dropOrderRank is number of segments minus sequence number of the segment. In case the device is capable of adapting the sequence, dropOrderRank has to be calculated by the device in dependency to the assigned priorityClass.
+ _unique: within Structure::StructureStatus::segmentStatusList";
+ }
+ description "none";
+ }
+ grouping container-problem-severity-type-g {
+ leaf problem-kind-name {
+ type string;
+ description "Name of the alarm according to Container::ContainerCapability::supportedAlarms";
+ }
+ leaf problem-kind-severity {
+ type severity-type;
+ default warning;
+ description "Severity of this type of alarm.";
+ }
+ description "none";
+ }
+ grouping container-current-problem-type-g {
+ leaf problem-name {
+ type string;
+ default "Problem name not specified.";
+ config false;
+ description "Name of the alarm according to Container::ContainerCapability::supportedAlarms";
+ }
+ uses mw-current-problem-g;
+ description "none";
+ }
+ grouping container-performance-type-g {
+ leaf tx-ethernet-bytes-max-s {
+ type int32;
+ units "Bytes/s";
+ default -1;
+ config false;
+ description "Counts the number of Bytes of Ethernet traffic (before header compression) transmitted within a second and keeps the highest value within the measurement period. Field to be left blank for all types of TDM containers.";
+ }
+ leaf tx-ethernet-bytes-max-m {
+ type int64;
+ units "Bytes/min";
+ default -1;
+ config false;
+ description "Counts the number of Bytes of Ethernet traffic (before header compression) transmitted within a minute and keeps the highest value with in the measurement period. Field to be left blank for all types of TDM containers.";
+ }
+ leaf tx-ethernet-bytes-sum {
+ type int64;
+ units "Bytes";
+ default -1;
+ config false;
+ description "Total number of Bytes of Ethernet traffic (before header compression) transmitted (in direction out of the device) during the measurement period. Field to be left blank for all types of TDM containers.";
+ }
+ leaf time-period {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Total length of the measurement period in seconds.";
+ }
+ description "Consolidated performance information of the Container.";
+ }
+ grouping container-current-performance-type-g {
+ container performance-data {
+ config false;
+ uses container-performance-type-g;
+ description "none";
+ }
+ uses g:otn-current-data-g;
+ description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";
+ }
+ grouping container-historical-performance-type-g {
+ container performance-data {
+ config false;
+ uses container-performance-type-g;
+ description "none";
+ }
+ uses g:otn-history-data-g;
+ description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";
+ }
+
+ /***********************
+ * package object-classes
+ **********************/
+ /***********************
+ * package air-interface
+ **********************/
+ list mw-air-interface-pac {
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container air-interface-capability {
+ config false;
+ uses air-interface-capability-g;
+ description "none";
+ }
+ container air-interface-configuration {
+ uses air-interface-configuration-g;
+ description "none";
+ }
+ container air-interface-status {
+ config false;
+ uses air-interface-status-g;
+ description "none";
+ }
+ container air-interface-current-problems {
+ config false;
+ uses air-interface-current-problems-g;
+ description "none";
+ }
+ container air-interface-current-performance {
+ config false;
+ uses air-interface-current-performance-g;
+ description "none";
+ }
+ container air-interface-historical-performances {
+ config false;
+ uses air-interface-historical-performances-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping air-interface-capability-g {
+ leaf type-of-equipment {
+ type string;
+ default "Type of equipment not yet defined.";
+ config false;
+ description "This parameter indicates the equipment type. Instead of uploading the complete set of capabilities, capabilities of the same equipment type could be reused. Should be unique for a combination of modem, radio and their respective firmware.";
+ }
+ leaf tx-frequency-min {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Value of the minimum transmit frequency tunable at the air interface.";
+ }
+ leaf tx-frequency-max {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Value of the maximum transmit frequency tunable at the air interface.";
+ }
+ leaf rx-frequency-min {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Value of the minimum receive frequency tunable at the air interface.";
+ }
+ leaf rx-frequency-max {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Value of the maximum receive frequency tunable at the air interface.";
+ }
+ leaf adaptive-modulation-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case the device is capable of adaptive modulation, this field shall contain a 'true'.";
+ }
+ leaf mimo-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case the device is capable of MIMO, this field shall contain a 'true'.";
+ }
+ leaf mimo-channels {
+ type int8;
+ units "channels";
+ default 1;
+ config false;
+ description "Maximum number (n) of spatial multiplexing streams that can be conveyed by an n x n MIMO configuration.";
+ }
+ leaf alic-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case the microwave radio is capable of Adjacent Link Interference Cancelation (canceling of interference cause by transmitters located at the same site), this field shall contain a 'true'.";
+ }
+ leaf atpc-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case the microwave radio is capable of ATPC, this field shall contain a 'true'.";
+ }
+ leaf atpc-range {
+ type int8;
+ units "dB";
+ default 0;
+ config false;
+ description "Extent of the ATPC range. This value represents a device specific maximum value. The actual range of the ATPC at a specific link might be limited by the difference between configured transmit power (AirInterface::AirInterfaceConfiguration::txPower) and minimum transmit power of the device (TypeDefinitions::TransmissionModeType::txPowerMin).";
+ }
+ leaf encryption-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Shall be marked 'true', if payload encryption is available.";
+ }
+ leaf-list supported-loop-back-kind-list {
+ type loop-back-type;
+ config false;
+ min-elements 1;
+ max-elements 2;
+ description "List of supported kinds of looping back of header information to the remote site.";
+ }
+ leaf maintenance-timer-range {
+ type string;
+ units "s";
+ default "Range of the maintenance timer not yet defined.";
+ config false;
+ description "Available time periods for maintenance configurations (e.g. the loop back of microwave header information) to be described. Concrete values shall be separated by commas (e.g. '10, 60, 360'). Ranges shall be expressed as two values separated by a minus (e.g. '10-360').";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ min-elements 7;
+ description "Available alarms to be listed. Mandatory:'signalIsLost','rslIsExceeded','signalIDMismatching','temperatureIsExceeded','modemIsFaulty','radioIsFaulty' and 'modulationIsDownShifted'. Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:'signalIsLost','rslIsExceeded','temperatureIsExceeded','modemIsFaulty','radioIsFaulty' and 'modulationIsDownShifted'. Further alarms might be added by the device. Names are to be separated by commas.";
+ }
+ list supported-channel-plan-list {
+ key 'supported-channel-plan';
+ config false;
+ min-elements 1;
+ uses channel-plan-type-g;
+ description "List of channel spacing that are supported by the device.";
+ }
+ description "Describes the 'analog' capabilities of modem and transmitter of the microwave device. Value ranges of attributes are not independently (e.g. min. and max. transmit power depends on modulation). Legal combinations of values are expressed in transmissionModeTypes.";
+ }
+ grouping air-interface-configuration-g {
+ leaf air-interface-name {
+ type string;
+ default "Air interface ID not yet defined.";
+ description "Operator specific microwave link ID (often used for coding area, type of element and sequential number).";
+ }
+ leaf remote-air-interface-name {
+ type string;
+ default "Air interface ID at the remote site not yet defined.";
+ description "Name of the air interface, which belongs to the same link, at the remote site.";
+ }
+ leaf expected-signal-id {
+ type int16;
+ description "If set on '0', the receiver ignores the signal ID of the received signal. If set on any other value, the receiver exclusively synchronizes on signals with the same signal ID.";
+ }
+ leaf transmitted-signal-id {
+ type int16;
+ description "Transmitted radio signal ID for synchronizing the receiver.";
+ }
+ leaf radio-signal-id {
+ type string;
+ default "Radio signal ID not yet defined.";
+ status deprecated;
+ description "The radioSignalId is transmitted on the air interface so the remote site of the link synchronizes on the correct transmitter. The local radio MUST NOT synchronize on a radio signal with a different radioSignalId. The link ID is neither an ID necessary to span the model nor an ID referencing external data. It is just some sort of name of the link transmitted so the correct remote site can be identified in an interference situation. The value zero might be used to make the microwave to disable the link ID check.";
+ }
+ leaf tx-frequency {
+ type int32;
+ units "kHz";
+ default -1;
+ description "Center frequency of the transmit channel. The values to be configured have to exactly match the values listed in the international agreement referenced in channelPlanID. In case of automated selection of the transmit frequency this field shall describe the lowest center frequency selectable.";
+ }
+ leaf rx-frequency {
+ type int32;
+ units "kHz";
+ default -1;
+ description "Center frequency of the receive channel.";
+ }
+ leaf transmission-mode-min {
+ type core-model:universal-id;
+ description "Minimum transmission mode to be configured (in case adaptive modulation is not used, this value represents also the fixed transmission mode).";
+ }
+ leaf transmission-mode-max {
+ type core-model:universal-id;
+ description "Maximum transmission mode to be configured.";
+ }
+ leaf tx-channel-bandwidth {
+ type int32;
+ units "kHz";
+ default -1;
+ status deprecated;
+ description "Bandwidth of the transmit channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";
+ }
+ leaf rx-channel-bandwidth {
+ type int32;
+ units "kHz";
+ default -1;
+ description "Bandwidth of the receive channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";
+ }
+ leaf polarization {
+ type polarization-type;
+ default not-specified;
+ description "Allows documenting the polarization of the air interface.";
+ }
+ leaf power-is-on {
+ type boolean;
+ default true;
+ description "Power ON. Activation of the entire radio in a split mount configuration shall be expressed as a 'true'.";
+ }
+ leaf transmitter-is-on {
+ type boolean;
+ default false;
+ description "Activation of the transmitter inside the radio shall be expressed as a 'true'.";
+ }
+ leaf receiver-is-on {
+ type boolean;
+ default true;
+ description "Maintenance Feature. Activation of the receiver inside the radio shall be expressed as a 'true'. Attribute shall also be used for RX main and RX diversity squelches in case of diversity configurations.
+ ";
+ }
+ leaf tx-power {
+ type int8;
+ units "dBm";
+ default 99;
+ description "Transmit power to be configured on the microwave link. Signed Byte is required. The actually operated transmit power might be lower depending on adaptive modulation and ATPC.";
+ }
+ leaf adaptive-modulation-is-on {
+ type boolean;
+ default false;
+ description "Adaptive Modulation. Activation of adaptive modulation shall be expressed as a 'true'.";
+ }
+ leaf modulation-min {
+ type int16;
+ units "symbols";
+ default -1;
+ status deprecated;
+ description "Minimum modulation to be configured (in case adaptive modulation is not used, this value represents also the fixed modulation). The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";
+ }
+ leaf modulation-max {
+ type int16;
+ units "symbols";
+ default -1;
+ status deprecated;
+ description "Maximum modulation to be configured. The value of this field is only relevant, if Adaptive Modulation has been activated. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";
+ }
+ leaf xpic-is-on {
+ type boolean;
+ default false;
+ description "Activation of Cross Polarization Interference Cancelation shall be expressed as a 'true'. In case XPIC is not available for the current combination of channel bandwidth and modulation or the hardware in general, this parameter shall always be set to 'false'.";
+ }
+ leaf mimo-is-on {
+ type boolean;
+ default false;
+ description "Activation of Multiple Input Multiple Output (MIMO) shall be expressed as a 'true'.";
+ }
+ leaf alic-is-on {
+ type boolean;
+ default false;
+ description "Activation of Adjacent Link Interference Cancelation (ALIC) shall be expressed as a 'true'.";
+ }
+ leaf atpc-is-on {
+ type boolean;
+ default false;
+ description "ATPC. Activation of Automated Transmit Power Control shall be expressed as a 'true'.";
+ }
+ leaf atpc-thresh-upper {
+ type int16;
+ units "dBm";
+ default 99;
+ description "If the receive level is higher than the upper threshold value, the transmitter is notified to decrease transmit power.";
+ }
+ leaf atpc-thresh-lower {
+ type int16;
+ units "dBm";
+ default 99;
+ description "If the receive level is lower than the lower threshold value, the transmitter is notified to increase transmit power.";
+ }
+ leaf atpc-tx-power-min {
+ type int8;
+ units "dBm";
+ default -99;
+ description "Transmit power, which is not to be undercut, while operating ATPC.";
+ }
+ leaf auto-freq-select-is-on {
+ type boolean;
+ default false;
+ description "Activation of automatically selecting the transmit frequency in unlicensed bands shall be expressed as a 'true'.";
+ }
+ leaf auto-freq-select-range {
+ type int8;
+ units "channels";
+ default -1;
+ description "Number of transmit channels (starting at the center frequency defined in txFrequency and with channel bandwidth according to txChannelBandwidth) that define the range within the transmit frequency can automatically been chosen. ";
+ }
+ leaf modulation-is-on {
+ type boolean;
+ default true;
+ description "Maintenance Feature. De-activation of the modulation of the carrier signal for fault management shall be expressed as a 'false'.";
+ }
+ leaf encryption-is-on {
+ type boolean;
+ default false;
+ description "Activates encryption of the payload.";
+ }
+ leaf cryptographic-key {
+ type string;
+ default "Cryptographic key not yet defined.";
+ description "Key for transforming plaintext into ciphertext data.";
+ }
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list threshold-cross-alarm-list {
+ key 'g826-value-kind granularity-period';
+ max-elements 6;
+ uses threshold-cross-alarm-type-g;
+ description "List of threshold cross alarms to be configured.";
+ }
+ leaf loop-back-kind-on {
+ type loop-back-type;
+ default none;
+ description "Maintenance Feature. The currently configured type of looping back of the air interface header shall be expressed here. The received header is returned to the remote site.";
+ }
+ leaf maintenance-timer {
+ type int32;
+ units "s";
+ default -1;
+ description "Time of existence of any maintenance configuration (e.g. the loop back of microwave header information). Valid values are defined in AirInterface::AirInterfaceCapability::maintenanceTimerRange.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ min-elements 6;
+ uses air-interface-problem-severity-type-g;
+ description "Severity of the problem to be configured.";
+ }
+ description "Configuration of the radio link.";
+ }
+ grouping air-interface-status-g {
+ leaf tx-frequency-cur {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Center frequency of the currently operated transmit channel.";
+ }
+ leaf rx-frequency-cur {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Center frequency of the currently operated receive channel.";
+ }
+ leaf tx-level-cur {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Current transmit level.";
+ }
+ leaf rx-level-cur {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Current receive level.";
+ }
+ leaf transmission-mode-cur {
+ type leafref {
+ path '/mw-air-interface-pac/air-interface-capability/supported-channel-plan-list/transmission-mode-list/transmission-mode-id';
+ }
+ config false;
+ description "Currently operated transmission mode according to definitions in Capabilities.";
+ }
+ leaf modulation-cur {
+ type int16;
+ units "symbols";
+ default -1;
+ config false;
+ status deprecated;
+ description "Currently operated modulation on transmit path. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";
+ }
+ leaf code-rate-cur {
+ type int8;
+ units "%";
+ default -1;
+ config false;
+ status deprecated;
+ description "Code rate of the currently operated coding scheme (Net bit rate ? Gross bit rate ? code rate).";
+ }
+ leaf received-signal-id {
+ type int16;
+ default -1;
+ config false;
+ description "ID of the signal, which the receiver is currently synchronized on.";
+ }
+ leaf snir-cur {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Currently measured signal to (noise+interference) ratio.";
+ }
+ leaf xpd-cur {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Currently measured cross polarization discrimination.";
+ }
+ leaf rf-temp-cur {
+ type int8;
+ units "Celsius";
+ default -99;
+ config false;
+ description "Current temperature (in degree Celsius) of the radio module inside the outdoor unit.";
+ }
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
+ description "Time the Air Interface entered its current operational status. ";
+ }
+ leaf radio-power-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If the radio unit has power and is switched on, this shall be expressed as a 'true'.";
+ }
+ leaf link-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If connection is established to the remote site with the same linkID, this shall be expressed as a 'true'.";
+ }
+ leaf xpic-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If XPIC is currently actually working (not just configured), this shall be expressed as a 'true'.";
+ }
+ leaf mimo-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If MIMO is currently actually working (not just configured), this shall be expressed as a 'true'.";
+ }
+ leaf alic-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If Adjacent Link Interference Cancelation (ALIC) is currently actually working (not just configured), this shall be expressed as a 'true'.";
+ }
+ leaf atpc-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If ATPC is currently actually working (not just configured), this shall be expressed as a 'true'.";
+ }
+ leaf auto-freq-select-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If automated frequency selection is currently actually working (not just configured), this shall be expressed as a 'true'.";
+ }
+ leaf loop-back-kind-up {
+ type loop-back-type;
+ default none;
+ config false;
+ description "The currently active (not just configured) type of looping back of the air interface header shall be expressed here. The received header is returned to the remote site.";
+ }
+ leaf local-end-point-id {
+ type string;
+ default "not-supported";
+ config false;
+ description "The value of the localEndPointId is a vendor specific identifier of the air interface, used by the node to discover a microwave radio link.";
+ }
+ leaf remote-end-point-id {
+ type string;
+ default "not-supported";
+ config false;
+ description "The value of the remoteEndPointId is a vendor specific identifier or the airinterface at the remote side, used to by the node to discover a microwave radio link.";
+ }
+ description "Measurements of current values on the air interface and operational status of the device.";
+ }
+ grouping air-interface-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses air-interface-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping air-interface-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses air-interface-current-performance-type-g;
+ description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";
+ }
+ description "Aggregated performance information of the air interface at a particular moment.";
+ }
+ grouping air-interface-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses air-interface-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the air interface for a pre-defined measurement interval.";
+ }
+ list co-channel-group {
+ key 'co-channel-group-id';
+ uses co-channel-group-g;
+ description "none";
+ }
+ grouping co-channel-group-g {
+ leaf co-channel-group-id {
+ type core-model:universal-id;
+ description "none";
+ }
+ leaf-list air-interface-list {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:uuid';
+ }
+ description "List of air interfaces, which are part of the co-channel (XPIC, MIMO, ALIC) group.";
+ }
+ leaf sort-of-co-channel-group {
+ type string;
+ default "Kind of co-channel group not specified.";
+ description "Type of group of air interfaces with the same transmit and receive frequency. The values shall be chosen from the following _list:'XPIC', 'MIMO', 'ALIC';";
+ }
+ leaf-list logical-termination-point {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:uuid';
+ }
+ status deprecated;
+ description "none";
+ }
+ description "Required for configuring XPIC, MIMO and ALIC.";
+ }
+
+ /***********************
+ * package air-interface-hsb
+ **********************/
+ list mw-air-interface-hsb-end-point-pac {
+ key 'endpoint';
+ leaf role {
+ type role-type;
+ default working;
+ description "none";
+ }
+ leaf endpoint {
+ type leafref {
+ path '/core-model:forwarding-construct/core-model:fc-port/core-model:uuid';
+ }
+ description "none";
+ }
+ description "The EndPoint (EP) object class models the access to the FC function. Each EndPoint instance has a role (e.g., working, protection, protected, hub, spoke, leaf, root, etc.) with respect to the FC function. The association of the FC to LTPs is made via EndPoints (essentially the ports of the FC) where each EndPoint (EP) of the FC has a role in the context of the FC. The traffic forwarding between the associated End PointsEPs of the FC depends upon the type of FC and may be associated with FCSwitch object instances. In cases where there is protection conveys the protecting role of the access to the FC. The EP replaces the Protection Unit of a traditional protection model. It represents a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.";
+ }
+ list mw-air-interface-hsb-fc-switch-pac {
+ key 'fcswitch';
+ leaf prot-type {
+ type protection-type;
+ default hsb;
+ description "Indicates the protection scheme that is used for the ProtectionGroup.";
+ }
+ leaf air-interface-hsb-configuration-is-faulty-severity {
+ type severity-type;
+ default warning;
+ description "The level of severity of an airInterfaceHsbConfigurationIsFaulty alarm shall be chosen from an enumeration.";
+ }
+ leaf air-interface-hsb-is-partly-down-severity {
+ type severity-type;
+ default warning;
+ description "The level of severity for one link out of the HSB configuration being down shall be chosen from an enumeration.";
+ }
+ leaf air-interface-hsb-is-down-severity {
+ type severity-type;
+ default warning;
+ description "The level of severity of the total HSB configuration being down shall be chosen from an enumeration.";
+ }
+ leaf fcswitch {
+ type leafref {
+ path '/core-model:forwarding-construct/core-model:fc-switch/core-model:uuid';
+ }
+ description "none";
+ }
+ description "Represents and defines a protection switch structure encapsulated in the forwarding construct. Essentially performs the function of Protection Group. Associates to 2 or more Endpoints each playing the role of a Protection Unit. One or more protection EndPoints (standby/backup) provide protection for one or more working (i.e. regular/main/preferred) Endpoints where either protection or working can feed one or more protected Endpoint. May be used in revertive or non-revertive (symmetric) mode. When in revertive mode may define waitToRestore time. May be used in one of several modes including source switch, destination switched, source and destination switched etc (covering cases such as 1+1 ane 1:1). May be lockout (prevented from switching), force switched or manual switched. Will indicate switch state and change of state.";
+ }
+
+ /***********************
+ * package air-interface-diversity
+ **********************/
+ list mw-air-interface-diversity-pac {
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container air-interface-diversity-capability {
+ config false;
+ uses air-interface-diversity-capability-g;
+ description "none";
+ }
+ container air-interface-diversity-configuration {
+ uses air-interface-diversity-configuration-g;
+ description "none";
+ }
+ container air-interface-diversity-status {
+ config false;
+ uses air-interface-diversity-status-g;
+ description "none";
+ }
+ container air-interface-diversity-current-problems {
+ config false;
+ uses air-interface-diversity-current-problems-g;
+ description "none";
+ }
+ container air-interface-diversity-current-performance {
+ config false;
+ uses air-interface-diversity-current-performance-g;
+ description "none";
+ }
+ container air-interface-diversity-historical-performances {
+ config false;
+ uses air-interface-diversity-historical-performances-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-capability-g {
+ list available-kinds-of-diversity {
+ key 'diversity-name';
+ config false;
+ uses diversity-type-g;
+ description "Available types of diversity to be listed.";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ min-elements 2;
+ description "Available alarms to be listed. Mandatory:'airInterfaceDiversityConfigurationIsPartlyDown' (at least one air interface is down, but not all of them) and 'airInterfaceDiversityConfigurationIsDown' (all air interfaces are down). Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:'airInterfaceDiversityConfigurationIsPartlyDown' (at least one air interface is down, but not all of them) and 'airInterfaceDiversityConfigurationIsDown' (all air interfaces are down). Further alarms might be added by the device. Names are to be separated by commas.";
+ }
+ description "Describes the capabilities in implementing different types of air interface diversity.";
+ }
+ grouping air-interface-diversity-configuration-g {
+ container air-interface-diversity {
+ uses diversity-type-g;
+ description "Type of air interface diversity configured at the link.";
+ }
+ leaf-list air-interface-ltp-list {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:uuid';
+ }
+ min-elements 2;
+ description "_multiplicity:2-ThisAirInterfaceDiversity::AirInterfaceDiversityConfiguration::airInterfaceDiversity::diversityType::numberOfAirInterfacesMax";
+ }
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list threshold-cross-alarm-list {
+ key 'g826-value-kind granularity-period';
+ max-elements 6;
+ uses threshold-cross-alarm-type-g;
+ description "List of threshold cross alarms to be configured.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ min-elements 3;
+ uses air-interface-diversity-problem-severity-type-g;
+ description "Severity of the problem to be configured.";
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-status-g {
+ leaf snir-cur {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Currently measured signal to (noise+interference) ratio of the combined signals.";
+ }
+ leaf air-interface-diversity-status {
+ type air-interface-diversity-status-type;
+ default group-down;
+ config false;
+ description "Status of the air interface bundle. ";
+ }
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
+ description "Time the Diversity Group entered its current operational status. ";
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses air-interface-diversity-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses air-interface-diversity-current-performance-type-g;
+ description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";
+ }
+ description "Aggregated performance information of the air interface diversity configuration at a particular moment.";
+ }
+ grouping air-interface-diversity-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses air-interface-diversity-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the air interface diversity configuration for a pre-defined measurement interval.";
+ }
+
+ /***********************
+ * package pure-ethernet-structure
+ **********************/
+ list mw-pure-ethernet-structure-pac {
+ if-feature pure-ethernet;
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container pure-ethernet-structure-capability {
+ config false;
+ uses pure-ethernet-structure-capability-g;
+ description "none";
+ }
+ container pure-ethernet-structure-configuration {
+ uses pure-ethernet-structure-configuration-g;
+ description "none";
+ }
+ container pure-ethernet-structure-status {
+ config false;
+ uses pure-ethernet-structure-status-g;
+ description "none";
+ }
+ container pure-ethernet-structure-current-problems {
+ config false;
+ uses pure-ethernet-structure-current-problems-g;
+ description "none";
+ }
+ container pure-ethernet-structure-current-performance {
+ config false;
+ uses pure-ethernet-structure-current-performance-g;
+ description "none";
+ }
+ container pure-ethernet-structure-historical-performances {
+ config false;
+ uses pure-ethernet-structure-historical-performances-g;
+ description "none";
+ }
+ description "The pureEthernetStructure_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting Ethernet traffic only.";
+ }
+ grouping pure-ethernet-structure-capability-g {
+ leaf structure-id {
+ type core-model:universal-id;
+ config false;
+ description "Identifies the Structure for bundling and container.";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the device.";
+ }
+ description "Describes the logical structuring of the physical capacity provided by a pure Ethernet microwave device. Segmentation is not available. No fixed segment size. No TDM transport.";
+ }
+ grouping pure-ethernet-structure-configuration-g {
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ uses structure-problem-severity-type-g;
+ description "Severity of the type of problem to be configured.";
+ }
+ description "none";
+ }
+ grouping pure-ethernet-structure-status-g {
+ container segment-status-list {
+ config false;
+ uses segment-status-type-g;
+ description "Status of the Ethernet transport segment. Always just one segment.";
+ }
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
+ description "Time and date of the last update of the status information. ";
+ }
+ description "none";
+ }
+ grouping pure-ethernet-structure-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses structure-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping pure-ethernet-structure-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses structure-current-performance-type-g;
+ description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";
+ }
+ description "Aggregated performance information of the structure of an pure Ethernet microwave at a particular moment.";
+ }
+ grouping pure-ethernet-structure-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses structure-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the structure of an pure Ethernet microwave for a pre-defined measurement interval.";
+ }
+ feature pure-ethernet {
+ description "Feature 'pure-ethernet' is mandatory for device types transporting pure Ethernet.";
+ }
+
+ /***********************
+ * package hybrid-mw-structure
+ **********************/
+ list mw-hybrid-mw-structure-pac {
+ if-feature hybrid-microwave;
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container hybrid-mw-structure-capability {
+ config false;
+ uses hybrid-mw-structure-capability-g;
+ description "none";
+ }
+ container hybrid-mw-structure-configuration {
+ uses hybrid-mw-structure-configuration-g;
+ description "none";
+ }
+ container hybrid-mw-structure-status {
+ config false;
+ uses hybrid-mw-structure-status-g;
+ description "none";
+ }
+ container hybrid-mw-structure-current-problems {
+ config false;
+ uses hybrid-mw-structure-current-problems-g;
+ description "none";
+ }
+ container hybrid-mw-structure-current-performance {
+ config false;
+ uses hybrid-mw-structure-current-performance-g;
+ description "none";
+ }
+ container hybrid-mw-structure-historical-performances {
+ config false;
+ uses hybrid-mw-structure-historical-performances-g;
+ description "none";
+ }
+ description "The HybridMwStructure_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM and Ethernet traffic.";
+ }
+ grouping hybrid-mw-structure-capability-g {
+ leaf structure-id {
+ type core-model:universal-id;
+ config false;
+ description "Identifies the Structure for bundling and container.";
+ }
+ list supported-tdm-structure-types-list {
+ key 'tdm-structure-name';
+ config false;
+ min-elements 1;
+ uses tdm-structure-type-g;
+ description "Lists the TDM frame types that are supported.";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the device.";
+ }
+ description "Describes the logical structuring of the physical capacity provided by a hybrid microwave device (TDM + Ethernet). Segmentation is available. TDM transport is available.";
+ }
+ grouping hybrid-mw-structure-configuration-g {
+ container structure-kind {
+ uses tdm-structure-type-g;
+ description "TDM frame to be applied.";
+ }
+ container structure-type {
+ uses tdm-structure-type-g;
+ status deprecated;
+ description "TDM frame to be applied.";
+ }
+ leaf number-of-tdm-segments-to-be-reserved {
+ type int16;
+ default -1;
+ description "Allows to configure the number of segments reserved for TDM frames of the type specified in HybridMwStructure::HybridMwStructureConfiguration::structureType";
+ }
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ uses structure-problem-severity-type-g;
+ description "Severity of the type of problem to be configured.";
+ }
+ description "none";
+ }
+ grouping hybrid-mw-structure-status-g {
+ list segment-status-list {
+ key 'segment-status-type-id';
+ config false;
+ uses segment-status-type-g;
+ description "Status of each segment (all TDM and one Ethernet). Multiplicity = HybridMwStructure::StructureConfiguration::tdmReservedNumberOfSegments + 1";
+ }
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
+ description "Time and date of the last update of the status information. ";
+ }
+ description "none";
+ }
+ grouping hybrid-mw-structure-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses structure-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping hybrid-mw-structure-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses structure-current-performance-type-g;
+ description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";
+ }
+ description "Aggregated performance information of the structure of a hybrid microwave at a particular moment.";
+ }
+ grouping hybrid-mw-structure-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses structure-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the structure of a hybrid microwave for a pre-defined measurement interval.";
+ }
+ feature hybrid-microwave {
+ description "Feature 'hybrid-microwave' is mandatory for device types transporting Ethernet + TDM.";
+ }
+
+ /***********************
+ * package ethernet-container
+ **********************/
+ list mw-ethernet-container-pac {
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container ethernet-container-capability {
+ config false;
+ uses ethernet-container-capability-g;
+ description "none";
+ }
+ container ethernet-container-configuration {
+ uses ethernet-container-configuration-g;
+ description "none";
+ }
+ container ethernet-container-status {
+ config false;
+ uses ethernet-container-status-g;
+ description "none";
+ }
+ container ethernet-container-current-problems {
+ config false;
+ uses ethernet-container-current-problems-g;
+ description "none";
+ }
+ container ethernet-container-current-performance {
+ config false;
+ uses ethernet-container-current-performance-g;
+ description "none";
+ }
+ container ethernet-container-historical-performances {
+ config false;
+ uses ethernet-container-historical-performances-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping ethernet-container-capability-g {
+ leaf bundling-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "This attribute has to be set on 'true', if the device allows combining resources from several air interfaces for transporting this Ethernet container.";
+ }
+ leaf packet-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case packet compression can be activated, but not configured to a certain type, packetCompressionAvail shall be set on 'true', but none of the compression level specific booleans.";
+ }
+ leaf layer2-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on layer 2 available at the device.";
+ }
+ leaf vlan-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on VLAN layer available at the device.";
+ }
+ leaf q-in-q-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on layer of a second VLAN available at the device.";
+ }
+ leaf mpls-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on mpls layer available at the device.";
+ }
+ leaf ipv4-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on layer 3 for IPv4 available at the device.";
+ }
+ leaf ipv6-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on layer 3 for IPv6 available at the device.";
+ }
+ leaf layer4-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on layer 4 (TCP and UDP header) available at the device.";
+ }
+ leaf encryption-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Shall be marked 'true', if Ethernet payload encryption is available.";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ min-elements 2;
+ description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the device.";
+ }
+ description "none";
+ }
+ grouping ethernet-container-configuration-g {
+ leaf container-id {
+ type string;
+ default "No Ethernet Flow associated yet.";
+ description "ContainterID in Netconf must be the same as EthernetPortID in OpenFlow so a connection can be made between the two items, which separately exist in the controller.";
+ }
+ list segments-id-list {
+ key 'structure-id-ref segment-id-ref';
+ min-elements 1;
+ uses segment-id-type-g;
+ description "Lists the segments used for transporting this Ethernet container. In case EthernetContainer::ContainerCapability::bundlingIsAvail==0, all TypeDefinitions::segmentIdType::structureId must be identical in the list.";
+ }
+ leaf packet-compression-is-on {
+ type boolean;
+ default false;
+ description "In case packet compression is activated, but no type is activated, it is assumed that the device chooses the optimum.";
+ }
+ leaf layer2-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on layer 2 configured at the device.";
+ }
+ leaf vlan-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on VLAN layer configured at the device.";
+ }
+ leaf q-in-q-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on layer of a second VLAN configured at the device.";
+ }
+ leaf mpls-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on MPLS layer configured at the device.";
+ }
+ leaf ipv4-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on layer 3 for IPv4 configured at the device.";
+ }
+ leaf ipv6-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on layer 3 for IPv6 configured at the device.";
+ }
+ leaf layer4-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on layer 4 (TCP and UDP header) configured at the device.";
+ }
+ leaf encryption-is-on {
+ type boolean;
+ default false;
+ description "Activates encryption of the Ethernet payload.";
+ }
+ leaf cryptographic-key {
+ type string;
+ default "Cryptographic key not yet defined.";
+ description "Key for transforming plaintext into cipher text data.";
+ }
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ min-elements 2;
+ uses container-problem-severity-type-g;
+ description "Severity of the problem to be configured.";
+ }
+ description "none";
+ }
+ grouping ethernet-container-status-g {
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
+ description "Time the Container entered its current operational status. ";
+ }
+ description "none";
+ }
+ grouping ethernet-container-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses container-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping ethernet-container-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses container-current-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the Ethernet container at a particular moment.";
+ }
+ grouping ethernet-container-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses container-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the Ethernet container for a pre-defined measurement interval.";
+ }
+
+ /***********************
+ * package tdm-container
+ **********************/
+ list mw-tdm-container-pac {
+ if-feature hybrid-microwave;
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container tdm-container-capability {
+ config false;
+ uses tdm-container-capability-g;
+ description "none";
+ }
+ container tdm-container-configuration {
+ uses tdm-container-configuration-g;
+ description "none";
+ }
+ container tdm-container-status {
+ config false;
+ uses tdm-container-status-g;
+ description "none";
+ }
+ container tdm-container-current-problems {
+ config false;
+ uses tdm-container-current-problems-g;
+ description "none";
+ }
+ container tdm-container-current-performance {
+ config false;
+ uses tdm-container-current-performance-g;
+ description "none";
+ }
+ container tdm-container-historical-performances {
+ config false;
+ uses tdm-container-historical-performances-g;
+ description "none";
+ }
+ description "The TdmContainer_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM traffic.";
+ }
+ grouping tdm-container-capability-g {
+ list supported-tdm-container-types-list {
+ key 'tdm-container-name';
+ config false;
+ min-elements 1;
+ uses tdm-container-type-g;
+ description "Lists the TDM containers that are supported.";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ min-elements 2;
+ description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the device.";
+ }
+ description "Bundling is not available.";
+ }
+ grouping tdm-container-configuration-g {
+ leaf container-id {
+ type string;
+ default "No TDM Flow associated yet.";
+ description "ContainterID in Netconf must be the same as TDM Flow ID so a connection can be made between the two items, which separately exist in the controller.";
+ }
+ container container-type {
+ uses tdm-container-type-g;
+ description "Type of TDM container.";
+ }
+ container segment-id {
+ uses segment-id-type-g;
+ description "Multiplicity = 1; One segment per TDM container; Type of segment must match type of container;";
+ }
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ min-elements 2;
+ uses container-problem-severity-type-g;
+ description "Severity of the problem to be configured.";
+ }
+ description "none";
+ }
+ grouping tdm-container-status-g {
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
+ description "Time the Container entered its current operational status. ";
+ }
+ description "none";
+ }
+ grouping tdm-container-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses container-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping tdm-container-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses container-current-performance-type-g;
+ description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";
+ }
+ description "Aggregated performance information of the TDM container at a particular moment.";
+ }
+ grouping tdm-container-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses container-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the TDM container for a pre-defined measurement interval.";
+ }
+
+ /***********************
+ * package super-classes
+ **********************/
+ grouping mw-current-problem-g {
+ leaf sequence-number {
+ type int32;
+ config false;
+ description "Unique sequence number of the current problem object.";
+ }
+ leaf time-stamp {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
+ description "Time and date of the problem. ";
+ }
+ leaf problem-severity {
+ type severity-type;
+ default warning;
+ config false;
+ description "Severity of the alarm.";
+ }
+ description "none";
+ }
+
+
+ /***********************
+ * package notifications
+ **********************/
+ notification object-creation-notification {
+ uses object-creation-notification-g;
+ description "none";
+ }
+ grouping object-creation-notification-g {
+ leaf counter {
+ type int32;
+ default -1;
+ description "Counts object creation notifications.";
+ }
+ leaf time-stamp {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ description "none";
+ }
+ leaf object-id-ref {
+ type core-model:universal-id;
+ description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";
+ }
+ leaf object-type {
+ type string;
+ default "Type of created object not specified.";
+ description "Type of Object to be chosen from the following list of values: 'MW_AirInterface_Pac', 'MW_AirInterfaceDiversity_Pac', 'MW_Structure_Pac', 'MW_PureEthernetStructure_Pac', 'MW_HybridMwStructure_Pac', 'MW_Container_Pac', 'MW_EthernetContainer_Pac' or 'MW_TdmContainer_Pac'.";
+ }
+ description "To be sent when a new MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac has to be instancieted in the controller.";
+ }
+ notification object-deletion-notification {
+ uses object-deletion-notification-g;
+ description "none";
+ }
+ grouping object-deletion-notification-g {
+ leaf counter {
+ type int32;
+ default -1;
+ description "Counts object deletion notifications.";
+ }
+ leaf time-stamp {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ description "none";
+ }
+ leaf object-id-ref {
+ type core-model:universal-id;
+ description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";
+ }
+ description "To be sent when a new MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac instance has to be deleted in the controller.";
+ }
+ notification attribute-value-changed-notification {
+ uses attribute-value-changed-notification-g;
+ description "none";
+ }
+ grouping attribute-value-changed-notification-g {
+ leaf counter {
+ type int32;
+ default -1;
+ description "Counts attribute value changed notifications.";
+ }
+ leaf time-stamp {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ description "none";
+ }
+ leaf object-id-ref {
+ type core-model:universal-id;
+ description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";
+ }
+ leaf attribute-name {
+ type string;
+ default "Attribute name not specified.";
+ description "Name of the attribute that has been changed.";
+ }
+ leaf new-value {
+ type string;
+ default "New value not specified.";
+ description "Attribute value converted to a string (xml, json, ...)";
+ }
+ description "To be sent when an attribute has changed and one or more controllers have to update their data.";
+ }
+ notification problem-notification {
+ uses problem-notification-g;
+ description "none";
+ }
+ grouping problem-notification-g {
+ leaf counter {
+ type int32;
+ default -1;
+ description "Counts problem notifications";
+ }
+ leaf time-stamp {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ description "none";
+ }
+ leaf object-id-ref {
+ type core-model:universal-id;
+ description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";
+ }
+ leaf problem {
+ type string;
+ default "Problem name not specified.";
+ description "Name of the problem according to AirInterface::AirInterfaceCapability::supportedAlarms or AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms or Structure::StructureCapability::supportedAlarms or PureEthernetStructure::PureEthernetStructureCapability::supportedAlarms or HybridMwStructure::HybridMwStructureCapability::supportedAlarms or Container::ContainerCapability::supportedAlarms or EthernetContainer::EthernetContainerCapability::supportedAlarms or TdmContainer::TdmContainerCapability::supportedAlarms.";
+ }
+ leaf severity {
+ type severity-type;
+ default warning;
+ description "Severity of the problem according to AirInterface::AirInterfaceConfiguration::problemSeverityList, AirInterfaceDiversity::AirInterfaceDiversityConfiguration::problemSeverityList, Structure::StructureConfiguration::problemSeverityList, PureEthernetStructure::PureEthernetStructureConfiguration::problemSeverityList, HybridMwStructure::HybridMwStructureConfiguration::problemSeverityList, Container::ContainerConfiguration::problemSeverityList, EthernetContainer::EthernetContainerConfiguration::problemSeverityList or TdmContainer::TdmContainerConfiguration::problemSeverityList";
+ }
+ description "To be sent when a problem occurs at a MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";
+ }
+
+}
-module microwave-model {\r
- namespace "urn:onf:params:xml:ns:yang:microwave-model";\r
+module microwave-model {
+ namespace "urn:onf:params:xml:ns:yang:microwave-model";
prefix microwave-model;
import core-model {
import ietf-yang-types {
prefix yang;
}
-\r
- organization "ONF (Open Networking Foundation) Open Transport Working Group - Wireless Transport Project";\r
- contact "WG Web: <https://www.opennetworking.org/software-defined-standards/models-apis/>\r
- WG List: <mailto:wireless-transport@login.opennetworking.org>\r
- WG Chair: Lyndon Ong\r
- <mailto:lyong@ciena.com>\r
- WG Chair: Giorgio Cazzaniga\r
- <mailto:giorgio.cazzaniga@sm-optics.com>\r
- Editors: Thorsten Heinze\r
- <mailto:thorsten.heinze@telefonica.com>\r
- Shrikanth Malavalli Divakar\r
- <mailto:shrikanth.divakar@wipro.com>"; \r
- description "This module contains a collection of YANG definitions for managing wireless networks.\r
- This model is for vendor agnostic management of wireless network elements.";\r
- revision 2018-10-10 {\r
- description "Version 1.1";\r
- reference "ONF TR 532: A YANG Data Model for Wireless Networks.";\r
- }\r
- revision 2017-03-24 {\r
- description "Initial version";\r
- reference "ONF TR 532: A YANG Data Model for Wireless Networks.";\r
- }\r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- typedef loop-back-type {\r
- type enumeration {\r
- enum rf-to-remote {\r
- description "Returning the header information of the remote site back to the remote site on the radio interface between both outdoor units.";\r
- }\r
- enum rf-to-local {\r
- description "Returning the header information of the local site back to the local site on the radio interface between both outdoor units.";\r
- }\r
- enum if-to-remote {\r
- description "Returning the header information of the remote site back to the remote site on the intermediate frequency interface between local indoor unit and outdoor unit.";\r
- }\r
- enum if-to-local {\r
- description "Returning the header information of the local site back to the local site on the intermediate frequency interface between local indoor unit and outdoor unit.";\r
- }\r
- enum none {\r
- description "none";\r
- }\r
- enum if {\r
- status deprecated;\r
- description "Intermediate Frequency on the interface between indoor and outdoor unit.";\r
- }\r
- enum rf {\r
- status deprecated;\r
- description "Radio Frequency on the interface between outdoor unit and outdoor unit at the remote site.";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef severity-type {\r
- type enumeration {\r
- enum non-alarmed {\r
- description "none";\r
- }\r
- enum warning {\r
- description "none";\r
- }\r
- enum minor {\r
- description "none";\r
- }\r
- enum major {\r
- description "none";\r
- }\r
- enum critical {\r
- description "none";\r
- }\r
- }\r
- description "According to ITU-T M.3160";\r
- }\r
- grouping channel-plan-type-g {\r
- leaf supported-channel-plan {\r
- type string;\r
- config false;\r
- description "Unique name (e.g. ECC/REC/(01)04_Annex 5) of a document, which describes a frequency grid that can be adjusted at the air interface. Corresponding channel plans to be delivered by the hardware vendor and to be stored by the operator in an controller/application attached database.";\r
- }\r
- leaf duplex-distance-is-variable {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "To be set on 'true', if the distance between transmitted and received frequency is variable.";\r
- }\r
- leaf-list duplex-distance-list {\r
- type int32;\r
- units "kHz";\r
- config false;\r
- min-elements 1;\r
- description "Distance between transmitted and received frequency. To be filled with single value, in case duplex distance is not variable. To be filled with all configurable values, in case duplex distance is variable.";\r
- }\r
- leaf duplex-distance {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "Distance between transmitted and received frequency.";\r
- }\r
- leaf auto-freq-select-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case the microwave radio is capable of automatically selecting the transmit frequency in unlicensed bands, this field shall contain a 'true'.";\r
- }\r
- list transmission-mode-list {\r
- key 'transmission-mode-id';\r
- config false;\r
- min-elements 1;\r
- uses transmission-mode-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping transmission-mode-type-g {\r
- leaf transmission-mode-id {\r
- type core-model:universal-id;\r
- description "Indentifies the transmissionMode for internal reference.";\r
- }\r
- leaf transmission-mode-name {\r
- type string;\r
- default "Name of the transmission mode not yet defined.";\r
- config false;\r
- description "Name of the transmission mode. BBBB-m*-i*/t*-r*. B=four digits of channel bandwidth in MHz. m*=required number of digits for modulation name. (i*/t*=code rate.) i*=required number of digits for number of information bits. t*=required number of digits for total bits. r*=required number of digits for rate reduction factor. Example: 028-4QAM-188/204-1";\r
- }\r
- leaf channel-bandwidth {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Bandwidth of the transmit channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";\r
- }\r
- leaf modulation-scheme {\r
- type int16;\r
- units "symbols";\r
- default -1;\r
- config false;\r
- description "Modulation scheme, which is base to the other characteristics described in the same transmissionModeType data type. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256').";\r
- }\r
- leaf code-rate {\r
- type int8;\r
- units "%";\r
- default -1;\r
- config false;\r
- description "Code rate of the coding scheme in % (Net bit rate ≤ Gross bit rate · code rate).";\r
- }\r
- leaf symbol-rate-reduction-factor {\r
- type int8;\r
- default 1;\r
- config false;\r
- description "Reduction factor for the symbol rate. Example: value would be 4 for 1/4BPSK.";\r
- }\r
- leaf tx-power-min {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Value of the minimum transmit power the modem can operate in dBm.";\r
- }\r
- leaf tx-power-max {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Value of the maximum transmit power the modem can operate in dBm.";\r
- }\r
- leaf rx-threshold {\r
- type int16;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Value of the receive level required to decode the received signal with a Bit Error Rate of 1e-6 or less.";\r
- }\r
- leaf am-upshift-level {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Value of the receive level that has to be exceeded to shift into a higher modulation scheme.";\r
- }\r
- leaf am-downshift-level {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Value of the receive level that has to be exceeded for not shifting into a lower modulation scheme.";\r
- }\r
- leaf xpic-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case this air interface type is capable of XPIC, this field shall contain a 'true'. This information shall purely relate to capabilities of the equipment type, but not to the operational capability of a specific hardware composition on site. Means for example that this attribute might contain a 'true' statement, even if an additional cable would have been required to actually operate XPIC in a specific case.";\r
- }\r
- description "none";\r
- }\r
- typedef polarization-type {\r
- type enumeration {\r
- enum not-specified {\r
- description "none";\r
- }\r
- enum horizontal {\r
- description "none";\r
- }\r
- enum vertical {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef g826-type {\r
- type enumeration {\r
- enum es {\r
- description "Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::es .";\r
- }\r
- enum ses {\r
- description "Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::ses .";\r
- }\r
- enum cses {\r
- description "Consecutive Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::cses .";\r
- }\r
- enum not-specified {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- \r
- grouping threshold-cross-alarm-type-g {\r
- leaf g826-value-kind {\r
- type g826-type;\r
- description "Kind of performance value that shall be equipped with a threshold alarm.";\r
- }\r
- leaf granularity-period {\r
- type g:granularity-period-type;\r
- description "Period of the performance data collection.";\r
- }\r
- leaf alarm-raising-threshold {\r
- type int32;\r
- units "s";\r
- default -1;\r
- description "Number of events required for raising the threshold cross alarm.";\r
- }\r
- leaf alarm-clearing-threshold {\r
- type int32;\r
- units "s";\r
- default -1;\r
- description "Number of events required for clearing the threshold cross alarm.";\r
- }\r
- description "Allows defining a threshold cross alarm.\r
- ";\r
- }\r
- grouping air-interface-problem-severity-type-g {\r
- leaf problem-kind-name {\r
- type string;\r
- description "Name of the alarm according to AirInterface::AirInterfaceCapability::supportedAlarms";\r
- }\r
- leaf problem-kind-severity {\r
- type severity-type;\r
- default warning;\r
- description "Severity of this type of alarm.";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-current-problem-type-g {\r
- leaf problem-name {\r
- type string;\r
- default "Problem name not specified.";\r
- config false;\r
- description "Name of the alarm according to AirInterface::AirInterfaceCapability::supportedAlarms";\r
- }\r
- uses mw-current-problem-g;\r
- description "none";\r
- }\r
- grouping time-x-states-type-g {\r
- leaf transmission-mode {\r
- type leafref{\r
- path '/mw-air-interface-pac/air-interface-capability/supported-channel-plan-list/transmission-mode-list/transmission-mode-id';\r
- }\r
- config false;\r
- description "Operated transmission mode.";\r
- }\r
- leaf time {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Sum of all seconds the transmitter operated the transmission mode.";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-performance-type-g {\r
- leaf es {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of errored seconds.";\r
- }\r
- leaf ses {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of severely errored seconds.";\r
- }\r
- leaf cses {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of consecutive severely errored seconds.";\r
- }\r
- leaf unavailability {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Total time of unavailability in seconds.";\r
- }\r
- leaf tx-level-min {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Minimum transmit power. Signed integers are required.";\r
- }\r
- leaf tx-level-max {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Maximum transmit power. Signed integers are required.";\r
- }\r
- leaf tx-level-avg {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Averaged transmit power. Signed integers are required.";\r
- }\r
- leaf rx-level-min {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Minimum receive level. Signed integers are required.";\r
- }\r
- leaf rx-level-max {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Maximum receive level. Signed integers are required.";\r
- }\r
- leaf rx-level-avg {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Averaged receive level. Signed integers are required.";\r
- }\r
- list time-x-states-list {\r
- key 'transmission-mode';\r
- config false;\r
- min-elements 1;\r
- uses time-x-states-type-g;\r
- description "Time period the transmitter operated in the respective transmission mode.";\r
- }\r
- leaf time2-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "Sum of all seconds the transmitter operated in e.g. BPSK.";\r
- }\r
- leaf time4-states-s {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time4-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time8-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time16-states-s {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time16-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time32-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time64-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "none";\r
- }\r
- leaf time128-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time256-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time512-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time512-states-l {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "none";\r
- }\r
- leaf time1024-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time1024-states-l {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "none";\r
- }\r
- leaf time2048-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time2048-states-l {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "none";\r
- }\r
- leaf time4096-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time4096-states-l {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time8192-states {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf time8192-states-l {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- status deprecated; \r
- description "none";\r
- }\r
- leaf snir-min {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Minimum signal to (noise+interference) ratio.";\r
- }\r
- leaf snir-max {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Maximum signal to (noise+interference) ratio.";\r
- }\r
- leaf snir-avg {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Averaged signal to (noise+interference) ratio.";\r
- }\r
- leaf xpd-min {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Minimum cross polarization discrimination.";\r
- }\r
- leaf xpd-max {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Maximum cross polarization discrimination.";\r
- }\r
- leaf xpd-avg {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Averaged cross polarization discrimination.";\r
- }\r
- leaf rf-temp-min {\r
- type int8;\r
- units "C";\r
- default -99;\r
- config false;\r
- description "Lowest temperature (in degree Celsius) of the radio module inside the outdoor unit.";\r
- }\r
- leaf rf-temp-max {\r
- type int8;\r
- units "C";\r
- default -99;\r
- config false;\r
- description "Highest temperature (in degree Celsius) of the radio module inside the outdoor unit.";\r
- }\r
- leaf rf-temp-avg {\r
- type int8;\r
- units "C";\r
- default -99;\r
- config false;\r
- description "Averaged temperature (in degree Celsius) of the radio module inside the outdoor unit.";\r
- }\r
- leaf defect-blocks-sum {\r
- type int16;\r
- units "blocks";\r
- default -1;\r
- config false;\r
- description "Total number of blocks that were defect after receiving and could not be corrected by the FEC.";\r
- }\r
- leaf time-period {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Total length of the measurement period.";\r
- }\r
- description "Consolidated performance information of the air interface.";\r
- }\r
- grouping air-interface-current-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses air-interface-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-current-data-g;\r
- description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";\r
- }\r
- grouping air-interface-historical-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses air-interface-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-history-data-g;\r
- description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";\r
- }\r
- typedef protection-type {\r
- type enumeration {\r
- enum hsb {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef role-type {\r
- type enumeration {\r
- enum working {\r
- description "none";\r
- }\r
- enum protection {\r
- description "none";\r
- }\r
- enum protected {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping diversity-type-g {\r
- leaf diversity-name {\r
- type string;\r
- config false;\r
- description "Names to be chosen from the following list: 'spaceDiversity', 'frequencyDiversity'";\r
- }\r
- leaf number-of-air-interfaces-max {\r
- type int8;\r
- units "air interfaces";\r
- default 1;\r
- config false;\r
- description "Maximum number of air interfaces that could be part of this kind of diversity.";\r
- }\r
- description "none";\r
- }\r
- typedef air-interface-diversity-status-type {\r
- type enumeration {\r
- enum group-down {\r
- description "All air interfaces that are members of the diversity configuration are down.";\r
- }\r
- enum not-all-ai-active {\r
- description "At least one, but not all of the air interfaces that are part of the diversity configuration is not working.";\r
- }\r
- enum all-ai-active {\r
- description "All air interfaces that are part of the diversity configuration are working.";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-problem-severity-type-g {\r
- leaf problem-kind-name {\r
- type string;\r
- description "Name of the alarm according to AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms";\r
- }\r
- leaf problem-kind-severity {\r
- type severity-type;\r
- default warning;\r
- description "Severity of this type of alarm.";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-current-problem-type-g {\r
- leaf problem-name {\r
- type string;\r
- default "Problem name not specified.";\r
- config false;\r
- description "Name of the alarm according to AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms";\r
- }\r
- uses mw-current-problem-g;\r
- description "none";\r
- }\r
- grouping air-interface-diversity-performance-type-g {\r
- leaf snir-min {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Minimum signal to (noise+interference) ratio of the combined signals.";\r
- }\r
- leaf snir-max {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Maximum signal to (noise+interference) ratio of the combined signals.";\r
- }\r
- leaf snir-avg {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Average signal to (noise+interference) ratio of the combined signals.";\r
- }\r
- description "Consolidated performance information of the air interface diversity group.";\r
- }\r
- grouping air-interface-diversity-current-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses air-interface-diversity-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-current-data-g;\r
- description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";\r
- }\r
- grouping air-interface-diversity-historical-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses air-interface-diversity-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-history-data-g;\r
- description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";\r
- }\r
- grouping tdm-structure-type-g {\r
- leaf tdm-structure-name {\r
- type string;\r
- config false;\r
- description "Names to be chosen from the following list: 'e1','t1','j1','e3','ds3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";\r
- }\r
- leaf tdm-segment-size {\r
- type int32;\r
- units "kbit/s";\r
- default -1;\r
- config false;\r
- description "Size of the TDM segment in kbit/s. Values to be chosen from the following list: '2048','1544','34000','44736 ','155520','614400','1228800','2457600','3072000','4915200','6144000' or '9830400;";\r
- }\r
- leaf max-number-of-segments-reservable {\r
- type int8;\r
- units "segments";\r
- default -1;\r
- config false;\r
- description "Device specific maximum number of segments (not depending on current air interface configuration) that can be reserved for this type of segment on a single air interface.";\r
- }\r
- description "none";\r
- }\r
- grouping structure-problem-severity-type-g {\r
- leaf problem-kind-name {\r
- type string;\r
- description "Name of the alarm according to Structure::StructureCapability::supportedAlarms";\r
- }\r
- leaf problem-kind-severity {\r
- type severity-type;\r
- default warning;\r
- description "Severity of this type of alarm.";\r
- }\r
- description "none";\r
- }\r
- grouping structure-current-problem-type-g {\r
- leaf problem-name {\r
- type string;\r
- default "Problem name not specified.";\r
- config false;\r
- description "Name of the alarm according to Structure::StructureCapability::supportedAlarms";\r
- }\r
- uses mw-current-problem-g;\r
- description "none";\r
- }\r
- grouping structure-performance-type-g {\r
- leaf time-period {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Total length of the measurement period in seconds.";\r
- }\r
- leaf es {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
- }\r
- leaf ses {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
- }\r
- leaf cses {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Number of consecutive severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
- }\r
- leaf unavailability {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Total time of unavailability in seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";\r
- }\r
- leaf rx-level-min {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Minimum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";\r
- }\r
- leaf rx-level-max {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Maximum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";\r
- }\r
- leaf rx-level-avg {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Averaged receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";\r
- }\r
- description "Consolidated performance information of the Structure.";\r
- }\r
- grouping structure-current-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses structure-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-current-data-g;\r
- description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";\r
- }\r
- grouping structure-historical-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses structure-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-history-data-g;\r
- description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";\r
- }\r
- grouping container-type-g {\r
- leaf container-name {\r
- type string;\r
- config false;\r
- description "Names to be chosen from the following list: 'ethernet','e1','t1','j1','e3','ds3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";\r
- }\r
- leaf number-of-time-slots-required {\r
- type int16;\r
- units "timeslots";\r
- default -1;\r
- config false;\r
- description "Number of time slots required for transporting this type of container. Value must be calculated by the vendor after defining the timeSlotCapacity. For containers of fixed size: numberOfTimeSlotsRequired = required bandwidth of the container divided by timeSlotCapacity. For containers of variable size the minimum (most probably 1) is to be stated.";\r
- }\r
- leaf tdm-time-slots-is-required {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Shall be set to '1', if this container type requires bandwidth (times slots) reserved for TDM transport.";\r
- }\r
- leaf bundling-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If it is possible to combine transport resources of several radio links to transport this container type, this attribute shall be set to '1'.";\r
- }\r
- description "none";\r
- }\r
- grouping tdm-container-type-g {\r
- leaf tdm-container-name {\r
- type string;\r
- config false;\r
- description "Names to be chosen from the following list: 'e1','t1','j1','e3','t3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";\r
- }\r
- leaf tdm-container-size {\r
- type int32;\r
- units "kbit/s";\r
- default -1;\r
- config false;\r
- description "Capacity required for transporting this type of container (in kbit/s). Values to be chosen from the following list: '2048','1544','34000','44736 ','155520','614400','1228800','2457600','3072000','4915200','6144000' or '9830400;";\r
- }\r
- description "none";\r
- }\r
- grouping segment-id-type-g {\r
- leaf structure-id-ref {\r
- type core-model:universal-id;\r
- description "none";\r
- }\r
- leaf segment-id-ref {\r
- type int16;\r
- description "Combinations of structureId and segmentId must be unique inside the device to assure that every resource is used just once.";\r
- }\r
- description "Identifies the segments, which are used to transport the container.";\r
- }\r
- grouping segment-status-type-g {\r
- leaf segment-status-type-id {\r
- type int16;\r
- config false;\r
- description "none";\r
- }\r
- leaf segment-is-reserved-for-tdm {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "The number of segments, which is configured by Structure::StructureConfiguration::tdmReservedNumberOfSegements, has to be reserved for TDM. Starting from the lowest index value, these segments have to be marked with a 'true' in segmentIsReservedForTdm.\r
- ";\r
- }\r
- leaf operational-status {\r
- type core-model:operational-state;\r
- default disabled;\r
- config false;\r
- description "Current operational status of each segment.";\r
- }\r
- leaf obsolete-priority-class {\r
- type int8;\r
- default -1;\r
- config false;\r
- description "PriorityClass as inherited from the associated Container::ContainerConfiguration::priorityClass. In case the device is capable of adapting the sequence, in which segments are being dropped in case of decreasing capacity of the air interface, priorityClass shall be considered, while calculating the dropOrderRank.";\r
- }\r
- leaf obsolete-drop-order-rank {\r
- type int16;\r
- default -1;\r
- config false;\r
- description "In case the device is NOT capable of adapting the sequence, in which segments are being dropped in case of decreasing capacity of the air interface, dropOrderRank is number of segments minus sequence number of the segment. In case the device is capable of adapting the sequence, dropOrderRank has to be calculated by the device in dependency to the assigned priorityClass. \r
- _unique: within Structure::StructureStatus::segmentStatusList";\r
- }\r
- description "none";\r
- }\r
- grouping container-problem-severity-type-g {\r
- leaf problem-kind-name {\r
- type string;\r
- description "Name of the alarm according to Container::ContainerCapability::supportedAlarms";\r
- }\r
- leaf problem-kind-severity {\r
- type severity-type;\r
- default warning;\r
- description "Severity of this type of alarm.";\r
- }\r
- description "none";\r
- }\r
- grouping container-current-problem-type-g {\r
- leaf problem-name {\r
- type string;\r
- default "Problem name not specified.";\r
- config false;\r
- description "Name of the alarm according to Container::ContainerCapability::supportedAlarms";\r
- }\r
- uses mw-current-problem-g;\r
- description "none";\r
- }\r
- grouping container-performance-type-g {\r
- leaf tx-ethernet-bytes-max-s {\r
- type int32;\r
- units "Bytes/s";\r
- default -1;\r
- config false;\r
- description "Counts the number of Bytes of Ethernet traffic (before header compression) transmitted within a second and keeps the highest value within the measurement period. Field to be left blank for all types of TDM containers.";\r
- }\r
- leaf tx-ethernet-bytes-max-m {\r
- type int64;\r
- units "Bytes/min";\r
- default -1;\r
- config false;\r
- description "Counts the number of Bytes of Ethernet traffic (before header compression) transmitted within a minute and keeps the highest value with in the measurement period. Field to be left blank for all types of TDM containers.";\r
- }\r
- leaf tx-ethernet-bytes-sum {\r
- type int64;\r
- units "Bytes";\r
- default -1;\r
- config false;\r
- description "Total number of Bytes of Ethernet traffic (before header compression) transmitted (in direction out of the device) during the measurement period. Field to be left blank for all types of TDM containers.";\r
- }\r
- leaf time-period {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "Total length of the measurement period in seconds.";\r
- }\r
- description "Consolidated performance information of the Container.";\r
- }\r
- grouping container-current-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses container-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-current-data-g;\r
- description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";\r
- }\r
- grouping container-historical-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses container-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-history-data-g;\r
- description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";\r
- }\r
- typedef mii-kind-type {\r
- type enumeration {\r
- enum gbic {\r
- description "none";\r
- }\r
- enum soldered-connector {\r
- description "none";\r
- }\r
- enum sfp-sfp-plus-sfp28 {\r
- description "none";\r
- }\r
- enum xbi-300-pin {\r
- description "none";\r
- }\r
- enum xenpak {\r
- description "none";\r
- }\r
- enum xfp {\r
- description "none";\r
- }\r
- enum xfp-e {\r
- description "none";\r
- }\r
- enum xpak {\r
- description "none";\r
- }\r
- enum x2 {\r
- description "none";\r
- }\r
- enum dwdm-sfp-sfp-plus {\r
- description "none";\r
- }\r
- enum qsfp {\r
- description "none";\r
- }\r
- enum qsfp-plus {\r
- description "none";\r
- }\r
- enum cxp {\r
- description "none";\r
- }\r
- enum shielded-mini-multilane-hd-4-x {\r
- description "none";\r
- }\r
- enum shielded-mini-multilane-hd-8-x {\r
- description "none";\r
- }\r
- enum qsfp28 {\r
- description "none";\r
- }\r
- enum cxp2 {\r
- description "none";\r
- }\r
- enum cdfp-style1-style2 {\r
- description "none";\r
- }\r
- enum shielded-mini-multilane-hd-4-x-fan-out {\r
- description "none";\r
- }\r
- enum shielded-mini-multilane-hd-8-x-fan-out {\r
- description "none";\r
- }\r
- enum cdfp-style3 {\r
- description "none";\r
- }\r
- enum qsfp-micro {\r
- description "none";\r
- }\r
- enum qsfp-dd {\r
- description "none";\r
- }\r
- enum qsfp-plus-rate-select-v1 {\r
- description "none";\r
- }\r
- enum qsfp-plus-rate-select-v2 {\r
- description "none";\r
- }\r
- enum not-yet-defined {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef mdi-kind-type {\r
- type enumeration {\r
- enum sc {\r
- description "Subscriber Connector";\r
- }\r
- enum fibre-channel-style-1 {\r
- description "Copper connector";\r
- }\r
- enum fibre-channel-style-2 {\r
- description "Copper connector";\r
- }\r
- enum bnc-tnc {\r
- description "Bayonet/Threaded Neill-Concelman";\r
- }\r
- enum fc {\r
- description "Fibre Channel coax headers";\r
- }\r
- enum fiber-jack {\r
- description "none";\r
- }\r
- enum lc {\r
- description "Lucent Connector";\r
- }\r
- enum mt-rj {\r
- description "Mechanical Transfer - Registered Jack";\r
- }\r
- enum mu {\r
- description "Multiple Optical";\r
- }\r
- enum sg {\r
- description "none";\r
- }\r
- enum optical-pigtail {\r
- description "none";\r
- }\r
- enum mpo1-x12 {\r
- description "Multifiber Parallel Optic";\r
- }\r
- enum mpo2-x16 {\r
- description "Multifiber Parallel Optic";\r
- }\r
- enum hssdc-ii {\r
- description "High Speed Serial Data Connector";\r
- }\r
- enum copper-pigtail {\r
- description "none";\r
- }\r
- enum rj45 {\r
- description "8P8C, according to Clause 3 and Figures 1 through 5 of IEC 60603-7";\r
- }\r
- enum no-seperable-connector {\r
- description "none";\r
- }\r
- enum mxc2-x16 {\r
- description "none";\r
- }\r
- enum st {\r
- description "according to IEC 60874-10:1992, also often called BFOC/2.5";\r
- }\r
- enum not-yet-defined {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef medium-kind-type {\r
- type enumeration {\r
- enum tp-cat3 {\r
- description "none";\r
- }\r
- enum tp-cat5 {\r
- description "none";\r
- }\r
- enum tp-cat6 {\r
- description "none";\r
- }\r
- enum tp-cat8 {\r
- description "none";\r
- }\r
- enum single-mode {\r
- description "none";\r
- }\r
- enum multi-mode {\r
- description "none";\r
- }\r
- enum not-yet-defined {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef pmd-name-type {\r
- type enumeration {\r
- enum 10-base5 {\r
- description "Thick coax Medium Attachment Unit (MAU) as specified in 802.3 Clause 8";\r
- }\r
- enum foirl {\r
- description "FOIRL Medium Attachment Unit (MAU) as specified in 802.3 Clause 9.9";\r
- }\r
- enum 10-base2 {\r
- description "Thin coax Medium Attachment Unit (MAU) as specified in 802.3 Clause 10";\r
- }\r
- enum 10-broad36 {\r
- description "Broadband DTE Medium Attachment Unit (MAU) as specified in 802.3 Clause 11";\r
- }\r
- enum 10-base-t {\r
- description "Twisted-pair cabling Medium Attachment Unit (MAU) as specified in 802.3 Clause 14. Only to be applied when duplex mode unknown";\r
- }\r
- enum 10-base-thd {\r
- description "Twisted-pair cabling Medium Attachment Unit (MAU) as specified in 802.3 Clause 14 in half duplex mode";\r
- }\r
- enum 10-base-tfd {\r
- description "Twisted-pair cabling Medium Attachment Unit (MAU) as specified in 802.3 Clause 14 in full duplex mode";\r
- }\r
- enum 10-base-fp {\r
- description "Passive fiber Medium Attachment Unit (MAU) as specified in 802.3 Clause 16";\r
- }\r
- enum 10-base-fb {\r
- description "Synchronous fiber Medium Attachment Unit (MAU) as specified in 802.3 Clause 17";\r
- }\r
- enum 10-base-fl {\r
- description "Asynchronous fiber Medium Attachment Unit (MAU) as specified in 802.3 Clause 18. Only to be applied when duplex mode unknown";\r
- }\r
- enum 10-base-flhd {\r
- description "Asynchronous fiber Medium Attachment Unit (MAU) as specified in 802.3 Clause 18 in half duplex mode";\r
- }\r
- enum 10-base-flfd {\r
- description "Asynchronous fiber Medium Attachment Unit (MAU) as specified in 802.3 Clause 18 in full duplex mode";\r
- }\r
- enum 100-base-t4 {\r
- description "Four-pair Category 3 twisted-pair cabling as specified in 802.3 Clause 23";\r
- }\r
- enum 100-base-tx {\r
- description "Two-pair Category 5 twisted-pair cabling as specified in 802.3 Clause 25. Only to be applied when duplex mode unknown";\r
- }\r
- enum 100-base-txhd {\r
- description "Two-pair Category 5 twisted-pair cabling as specified in 802.3 Clause 25 in half duplex mode";\r
- }\r
- enum 100-base-txfd {\r
- description "Two-pair Category 5 twisted-pair cabling as specified in 802.3 Clause 25 in full duplex mode";\r
- }\r
- enum 100-base-bx10-d {\r
- description "One single-mode fiber Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 58";\r
- }\r
- enum 100-base-bx10-u {\r
- description "One single-mode fiber Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 58";\r
- }\r
- enum 100-base-fx {\r
- description "X fiber over Physical Medium Dependent (PMD) as specified in 802.3 Clause 26. Only to be applied when duplex mode unknown";\r
- }\r
- enum 100-base-fxhd {\r
- description "X fiber over Physical Medium Dependent (PMD) as specified in 802.3 Clause 26 in half duplex mode";\r
- }\r
- enum 100-base-fxfd {\r
- description "X fiber over Physical Medium Dependent (PMD) as specified in 802.3 Clause 26 in full duplex mode";\r
- }\r
- enum 100-base-lx10 {\r
- description "Two fiber Physical layer entity (PHY) as specified in 802.3 Clause 58";\r
- }\r
- enum 100-base-t2 {\r
- description "Two-pair Category 3 twisted-pair cabling as specified in 802.3 Clause 32. Only to be applied when duplex mode unknown";\r
- }\r
- enum 100-base-t2-hd {\r
- description "Two-pair Category 3 twisted-pair cabling as specified in 802.3 Clause 32 in half duplex mode";\r
- }\r
- enum 100-base-t2-fd {\r
- description "Two-pair Category 3 twisted-pair cabling as specified in 802.3 Clause 32 in full duplex mode";\r
- }\r
- enum 1000-base-x {\r
- description "X as specified in 802.3 Clause 36 over undefined Physical Medium Dependent (PMD). Not to be configured and only to be returned when underlying PMD and duplex mode unknown";\r
- }\r
- enum 1000-base-bx10-d {\r
- description "One single-mode fiber Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 59";\r
- }\r
- enum 1000-base-bx10-u {\r
- description "One single-mode fiber Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 59";\r
- }\r
- enum 1000-base-xhd {\r
- description "X Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) as specified in 802.3 Clause 36 over undefined Physical Medium Dependent (PMD) in half duplex mode. Not to be configured and only to be returned when underlying PMD unknown";\r
- }\r
- enum 1000-base-xfd {\r
- description "X Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) as specified in 802.3 Clause 36 over undefined Physical Medium Dependent (PMD) in full duplex mode. Not to be configured and only to be returned when underlying PMD unknown";\r
- }\r
- enum 1000-base-lx {\r
- description "X fiber over long-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38. Only to be applied when duplex mode unknown";\r
- }\r
- enum 1000-base-lxhd {\r
- description "X fiber over long-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38 in half duplex mode";\r
- }\r
- enum 1000-base-lxfd {\r
- description "X fiber over long-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38 in full duplex mode";\r
- }\r
- enum 1000-base-lx10 {\r
- description "Two fiber 10km Physical layer entity (PHY) as specified in 802.3 Clause 59";\r
- }\r
- enum 1000-base-sx {\r
- description "X fiber over short-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38. Only to be applied when duplex mode unknown";\r
- }\r
- enum 1000-base-sxhd {\r
- description "X fiber over short-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38 in half duplex mode";\r
- }\r
- enum 1000-base-sxfd {\r
- description "X fiber over short-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38 in full duplex mode";\r
- }\r
- enum 1000-base-cx {\r
- description "X copper over 150-Ohm balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 39. Only to be applied when duplex mode unknown";\r
- }\r
- enum 1000-base-cxhd {\r
- description "X copper over 150-Ohm balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 39 in half duplex mode";\r
- }\r
- enum 1000-base-cxfd {\r
- description "X copper over 150-Ohm balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 39 in full duplex mode";\r
- }\r
- enum 1000-base-kx {\r
- description "X Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 70";\r
- }\r
- enum 1000-base-t {\r
- description "Four-pair Category 5 twisted-pair cabling Physical layer entity (PHY) as specified in 802.3 Clause 40. Only to be applied when duplex mode unknown";\r
- }\r
- enum 1000-base-thd {\r
- description "Four-pair Category 5 twisted-pair cabling Physical layer entity (PHY) as specified in 802.3 Clause 40 in half duplex mode";\r
- }\r
- enum 1000-base-tfd {\r
- description "Four-pair Category 5 twisted-pair cabling Physical layer entity (PHY) as specified in 802.3 Clause 40 in full duplex mode";\r
- }\r
- enum 10-gbase-x {\r
- description "X Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) as specified in 802.3 Clause 48 over undefined Physical Medium Dependent (PMD). Not to be configured and only to be returned when underlying PMD unknown";\r
- }\r
- enum 10-gbase-lx4 {\r
- description "X fiber over 4 lane 1310nm optics as specified in 802.3 Clause 53";\r
- }\r
- enum 10-gbase-cx4 {\r
- description "X copper over 8 pair 100-Ohm balanced cable as specified in 802.3 Clause 54";\r
- }\r
- enum 10-gbase-kx4 {\r
- description "X Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 71";\r
- }\r
- enum 10-gbase-r {\r
- description "R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) as specified in 802.3 Clause 49 over undefined Physical Medium Dependent (PMD). Not to be configured and only to be returned when underlying PMD unknown";\r
- }\r
- enum 10-gbase-er {\r
- description "R fiber over 1550nm optics as specified in 802.3 Clause 52";\r
- }\r
- enum 10-gbase-lr {\r
- description "R fiber over 1310nm optics as specified in 802.3 Clause 52";\r
- }\r
- enum 10-gbase-sr {\r
- description "R fiber over 850nm optics as specified in 802.3 Clause 52";\r
- }\r
- enum 10-gbase-lrm {\r
- description "R fiber over 1310 nm optics as specified in 802.3 Clause 68";\r
- }\r
- enum 10-gbase-kr {\r
- description "R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 72";\r
- }\r
- enum 10-gbase-t {\r
- description "Four-pair twisted-pair balanced copper cabling Physical layer entity (PHY) as specified in 802.3 Clause 55";\r
- }\r
- enum 10-gbase-pr-d1 {\r
- description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 75";\r
- }\r
- enum 10-gbase-pr-d2 {\r
- description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 75";\r
- }\r
- enum 10-gbase-pr-d3 {\r
- description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 75";\r
- }\r
- enum 10-gbase-pr-d4 {\r
- description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 75";\r
- }\r
- enum 10-gbase-pr-u1 {\r
- description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 75";\r
- }\r
- enum 10-gbase-pr-u2 {\r
- description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 75";\r
- }\r
- enum 10-gbase-pr-u3 {\r
- description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 75";\r
- }\r
- enum 10-gbase-pr-u4 {\r
- description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 75";\r
- }\r
- enum 40-gbase-r {\r
- description "Multi-lane PCS as specified in 802.3 Clause 82 over undefined Physical Medium Attachment (PMA) and Physical Medium Dependent (PMD). Not to be configured and only to be returned when underlying PMD unknown";\r
- }\r
- enum 40-gbase-kr4 {\r
- description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 84";\r
- }\r
- enum 40-gbase-cr4 {\r
- description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 lane shielded copper balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 85";\r
- }\r
- enum 40-gbase-sr4 {\r
- description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 lane multimode fiber Physical Medium Dependent (PMD) as specified in 802.3 Clause 86";\r
- }\r
- enum 4-x10-gbase-sr {\r
- description "4 times 10GBASE-S compatible to 802.3 Clause 52 over 4 lane multimode fiber";\r
- }\r
- enum 40-gbase-lr4 {\r
- description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 WDM lane single mode fiber Physical Medium Dependent (PMD), with long reach, as specified in 802.3 Clause 87";\r
- }\r
- enum 40-gbase-er4 {\r
- description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 WDM lane single mode fiber Physical Medium Dependent (PMD), with extended reach, as specified in 802.3 Clause 87";\r
- }\r
- enum 40-gbase-fr {\r
- description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over single mode fiber Physical Medium Dependent (PMD) as specified in 802.3 Clause 89";\r
- }\r
- enum 100-gbase-r {\r
- description "Multi-lane PCS as specified in 802.3 Clause 82 over undefined 100GBASE-R or 100GBASE-P Physical Medium Attachment (PMA) and Physical Medium Dependent (PMD). Not to be configured and only to be returned when underlying PMD unknown";\r
- }\r
- enum 100-gbase-cr4 {\r
- description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 lane shielded copper balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 92";\r
- }\r
- enum 100-gbase-kr4 {\r
- description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 93";\r
- }\r
- enum 100-gbase-kp4 {\r
- description "100GBASE-P Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 94";\r
- }\r
- enum 100-gbase-cr10 {\r
- description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 10 lane shielded copper balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 85";\r
- }\r
- enum 100-gbase-sr4 {\r
- description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 lane multimode fiber Physical Medium Dependent (PMD) as specified in 802.3 Clause 95";\r
- }\r
- enum 100-gbase-sr10 {\r
- description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 10 lane multimode fiber Physical Medium Dependent (PMD) as specified in 802.3 Clause 86";\r
- }\r
- enum 2-x40-gbase-sr {\r
- description "2 times 40GBASE-S compatible to 802.3 Clause 86 over 10 lane multimode fiber";\r
- }\r
- enum 10-x10-gbase-sr {\r
- description "10 times 10GBASE-S compatible to 802.3 Clause 52 over 10 lane multimode fiber";\r
- }\r
- enum 12-x10-gbase-sr {\r
- description "12 times 10GBASE-S compatible to 802.3 Clause 52 over 12 lane multimode fiber";\r
- }\r
- enum 100-gbase-lr4 {\r
- description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 WDM lane single mode fiber Physical Medium Dependent (PMD), with long reach, as specified in 802.3 Clause 88";\r
- }\r
- enum 100-gbase-er4 {\r
- description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 WDM lane single mode fiber Physical Medium Dependent (PMD), with extended reach, as specified in 802.3 Clause 88";\r
- }\r
- enum not-yet-defined {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping signal-ordering-type-g {\r
- leaf signal-ordering-kind-name {\r
- type string;\r
- config false;\r
- description "To be filled according to TR-541. Must be unique for referencing during configuration of the interface.";\r
- }\r
- leaf-list signal-list {\r
- type string;\r
- config false;\r
- min-elements 2;\r
- description "Desciption of the signals on the Media Dependent Interface (MDI), might be e.g. 'TX+' in case of e.g. 10BASE-T, might be e.g. '1,295.56 nm' in case of e.g. 100GBASE-LR4";\r
- }\r
- description "none";\r
- }\r
- grouping mau-type-g {\r
- leaf mau-id {\r
- type core-model:universal-id;\r
- config false;\r
- description "802.3 according to 30.5.1.1.1 aMAUID\r
- Unique identifier of the Medium Attachment Unit (MAU) instance within the data about the device";\r
- }\r
- leaf mii-kind {\r
- type mii-kind-type;\r
- default not-yet-defined;\r
- config false;\r
- description "SFF8472_SFF8636\r
- Kind of Medium Independent Interface (MII) provided by this Medium Attachment Unit (MAU) (e.g. SFP, moldered port)";\r
- }\r
- leaf mdi-kind {\r
- type mdi-kind-type;\r
- default not-yet-defined;\r
- config false;\r
- description "Kind of Medium Dependent Interface (MDI) provided by this Medium Attachment Unit (MAU)";\r
- }\r
- leaf required-medium-kind {\r
- type medium-kind-type;\r
- default not-yet-defined;\r
- config false;\r
- description "Kind of medium required for operating this Medium Attachment Unit (MAU), more like an information field";\r
- }\r
- leaf-list wavelength-min {\r
- type int32;\r
- units "pm";\r
- config false;\r
- max-elements 3;\r
- description "SFF-8690\r
- Minimum laser wavelength in pico meter, -1 = not applicable, 0 = not known, wavelengthMax = wavelength cannot be configured; multiplicity=0..3 for 10GBASE-LX4 according to 802.3 53.5";\r
- }\r
- leaf-list wavelength-max {\r
- type int32;\r
- units "pm";\r
- config false;\r
- max-elements 3;\r
- description "Maximum laser wavelength in pico meter, -1 = not applicable, 0 = not known, wavelengthMin = wavelength cannot be configured; multiplicity=0..3 for 10GBASE-LX4 according to 802.3 53.5\r
- SFF-8690";\r
- }\r
- leaf wavelength-grid-min {\r
- type int32;\r
- units "pm";\r
- default -1;\r
- config false;\r
- description "Minimum grid spacing supported by the transceiver, -1 = not applicable, 0 = not known\r
- SFF-8690";\r
- }\r
- leaf link-length-max {\r
- type int32;\r
- units "m";\r
- default -1;\r
- config false;\r
- description "Indicates the maximum link length that is supported by the transceiver on the medium, which is specified in the standard referenced in TypeDefinitions::phyType::phyKind.";\r
- }\r
- leaf vendor-name {\r
- type string;\r
- default "NOT_YET_DEFINED";\r
- config false;\r
- description "Name of the vendor of the transceiver\r
- Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::ManufacturerProperties::manufacturerName";\r
- }\r
- leaf vendor-oui {\r
- type string;\r
- default "NOT_YET_DEFINED";\r
- config false;\r
- description "Describes the IEEE Company identifier of the vendor of the transceiver (1st part of 802.3 ResourceTypeID)\r
- 802.3 22.2.4.3.1 PHY Identifier; also referenced in 45.2.1.13 PMA/PMD package identifier\r
- Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::ManufacturerProperties::manufacturerIdentifier";\r
- }\r
- leaf part-number {\r
- type string;\r
- default "NOT_YET_DEFINED";\r
- config false;\r
- description "802.3 22.2.4.3.1 PHY Identifier; also referenced in 45.2.1.13 PMA/PMD package identifier as six bit model number \r
- Uniquely identifies the transceiver in the vendor's product lists\r
- Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::EquipmentType::partTypeIdentifier";\r
- }\r
- leaf revision-number {\r
- type string;\r
- default "NOT_YET_DEFINED";\r
- config false;\r
- description "Identifies the revision number of the transceiver (3rd part of 802.3 ResourceTypeID)\r
- 802.3 22.2.4.3.1 PHY Identifier; also referenced in 45.2.1.13 PMA/PMD package identifier as four-bit revision number\r
- Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::EquipmentType::version";\r
- }\r
- leaf serial-number {\r
- type string;\r
- default "NOT_YET_DEFINED";\r
- config false;\r
- description "Vendor's serial number for the transceiver. 0 = not applicable\r
- Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::EquipmentInstance::serialNumber";\r
- }\r
- leaf date-code {\r
- type string;\r
- default "NOT_YET_DEFINED";\r
- config false;\r
- description "Vendor's date code for the transceiver\r
- Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::EquipmentInstance::manufactureDate";\r
- }\r
- leaf-list pmd-list {\r
- type pmd-name-type;\r
- config false;\r
- min-elements 1;\r
- description "List of Physical Medium Dependent (PMD) that can be operated\r
- *** In case ordering of the signals depends on the PMD, pmdList has to be put into the datatype for the signal ordering ***";\r
- }\r
- list signal-ordering-list {\r
- key 'signal-ordering-kind-name';\r
- config false;\r
- min-elements 1;\r
- uses signal-ordering-type-g;\r
- description "Describes the different (e.g. MDI, MDI-X) ways of ordering the signals on the physical medium";\r
- }\r
- leaf auto-signal-ordering-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "1 = there is a mechanism for automatically crossing over tx and rx implemented";\r
- }\r
- leaf short-reach-mode-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "1 = Indicates that Short Reach Mode for 10GBASE-T according to 802.3 45.2.1.64 is available";\r
- }\r
- leaf eee-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "1 = Indicates that Energy-Efficient Ethernet (EEE) is available at the device.";\r
- }\r
- leaf unidirectional-operation-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "1 = Medium Attachment Unit (MAU) able to transmit from Media Independent Interface (MII) regardless of whether the MAU has determined that a valid link has been established, 0 = MAU able to transmit from MII only when the MAU has determined that a valid link has been established\r
- 802.3";\r
- }\r
- leaf-list supported-alarms {\r
- type string;\r
- config false;\r
- min-elements 6;\r
- description "MW IM\r
- Available alarms to be listed. Mandatory:'txFault', 'rxLos', 'tempHigh', 'tempLow', 'rxLevelHigh', 'rxLevelLow'. Optional:'vccHigh', 'vccLow', 'txBiasHigh', 'txBiasLow', 'txPowerHigh', 'txPowerLow', 'laserTempHigh', 'laserTempLow', 'tecCurrentHigh', 'tecCurrentLow'. Further alarms might be added by the device. Names are to be separated by commas.";\r
- }\r
- description "none";\r
- }\r
- grouping wire-interface-problem-severity-type-g {\r
- leaf problem-kind-name {\r
- type string;\r
- description "Name of the alarm according to WireInterface::WireInterfaceCapability::supportedAlarms";\r
- }\r
- leaf problem-kind-severity {\r
- type severity-type;\r
- default warning;\r
- description "Severity of this type of alarm.";\r
- }\r
- description "none";\r
- }\r
- grouping wire-interface-current-problem-type-g {\r
- leaf problem-name {\r
- type string;\r
- default "Problem name not specified.";\r
- config false;\r
- description "Name of the alarm according to WireInterface::WireInterfaceCapability::supportedAlarms";\r
- }\r
- uses mw-current-problem-g;\r
- description "none";\r
- }\r
- grouping wire-interface-performance-type-g {\r
- leaf es {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "802.3 30.8.1.1.13 aLineESs\r
- Number of errored seconds";\r
- }\r
- leaf ses {\r
- type int32;\r
- units "s";\r
- default -1;\r
- config false;\r
- description "802.3 30.8.1.1.12 aLineSESs\r
- Number of severely errored seconds";\r
- }\r
- leaf symbol-error-during-carrier {\r
- type int32;\r
- default -1;\r
- config false;\r
- description "802.3 according to 30.3.2.1.5 aSymbolErrorDuringCarrier\r
- Number of times when valid carrier was present and an invalid data symbol occured.";\r
- }\r
- leaf low-power-idle-transmitter-ms {\r
- type int32;\r
- units "ms";\r
- default -1;\r
- config false;\r
- description "802.3 similar to 30.3.2.1.8 aTransmitLPIMicroseconds\r
- Number of milliseconds (original counter expresses microseconds), during which the transmitter was in power save mode";\r
- }\r
- leaf low-power-idle-receiver-ms {\r
- type int32;\r
- units "ms";\r
- default -1;\r
- config false;\r
- description "802.3 similar to 30.3.2.1.9 aReceiveLPIMicroseconds\r
- Number of milliseconds (original counter expresses microseconds), during which the receiver was in power save mode";\r
- }\r
- description "none";\r
- }\r
- grouping wire-interface-current-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses wire-interface-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-current-data-g;\r
- description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";\r
- }\r
- grouping wire-interface-historical-performance-type-g {\r
- container performance-data {\r
- config false;\r
- uses wire-interface-performance-type-g;\r
- description "none";\r
- }\r
- uses g:otn-history-data-g;\r
- description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";\r
- }\r
-\r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- /***********************\r
- * package air-interface\r
- **********************/ \r
- list mw-air-interface-pac {\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container air-interface-capability {\r
- config false;\r
- uses air-interface-capability-g;\r
- description "none";\r
- }\r
- container air-interface-configuration {\r
- uses air-interface-configuration-g;\r
- description "none";\r
- }\r
- container air-interface-status {\r
- config false;\r
- uses air-interface-status-g;\r
- description "none";\r
- }\r
- container air-interface-current-problems {\r
- config false;\r
- uses air-interface-current-problems-g;\r
- description "none";\r
- }\r
- container air-interface-current-performance {\r
- config false;\r
- uses air-interface-current-performance-g;\r
- description "none";\r
- }\r
- container air-interface-historical-performances {\r
- config false;\r
- uses air-interface-historical-performances-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-capability-g {\r
- leaf type-of-equipment {\r
- type string;\r
- default "Type of equipment not yet defined.";\r
- config false;\r
- description "This parameter indicates the equipment type. Instead of uploading the complete set of capabilities, capabilities of the same equipment type could be reused. Should be unique for a combination of modem, radio and their respective firmware.";\r
- }\r
- leaf tx-frequency-min {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Value of the minimum transmit frequency tunable at the air interface.";\r
- }\r
- leaf tx-frequency-max {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Value of the maximum transmit frequency tunable at the air interface.";\r
- }\r
- leaf rx-frequency-min {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Value of the minimum receive frequency tunable at the air interface.";\r
- }\r
- leaf rx-frequency-max {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Value of the maximum receive frequency tunable at the air interface.";\r
- }\r
- leaf adaptive-modulation-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case the device is capable of adaptive modulation, this field shall contain a 'true'.";\r
- }\r
- leaf mimo-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case the device is capable of MIMO, this field shall contain a 'true'.";\r
- }\r
- leaf mimo-channels {\r
- type int8;\r
- units "channels";\r
- default 1;\r
- config false;\r
- description "Maximum number (n) of spatial multiplexing streams that can be conveyed by an n x n MIMO configuration.";\r
- }\r
- leaf alic-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case the microwave radio is capable of Adjacent Link Interference Cancelation (canceling of interference cause by transmitters located at the same site), this field shall contain a 'true'.";\r
- }\r
- leaf atpc-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case the microwave radio is capable of ATPC, this field shall contain a 'true'.";\r
- }\r
- leaf atpc-range {\r
- type int8;\r
- units "dB";\r
- default 0;\r
- config false;\r
- description "Extent of the ATPC range. This value represents a device specific maximum value. The actual range of the ATPC at a specific link might be limited by the difference between configured transmit power (AirInterface::AirInterfaceConfiguration::txPower) and minimum transmit power of the device (TypeDefinitions::TransmissionModeType::txPowerMin).";\r
- }\r
- leaf encryption-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Shall be marked 'true', if payload encryption is available.";\r
- }\r
- leaf-list supported-loop-back-kind-list {\r
- type loop-back-type;\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- description "List of supported kinds of looping back of header information to the remote site.";\r
- }\r
- leaf maintenance-timer-range {\r
- type string;\r
- units "s";\r
- default "Range of the maintenance timer not yet defined.";\r
- config false;\r
- description "Available time periods for maintenance configurations (e.g. the loop back of microwave header information) to be described. Concrete values shall be separated by commas (e.g. '10, 60, 360'). Ranges shall be expressed as two values separated by a minus (e.g. '10-360').";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- min-elements 7;\r
- description "Available alarms to be listed. Mandatory:'signalIsLost','rslIsExceeded','signalIDMismatching','temperatureIsExceeded','modemIsFaulty','radioIsFaulty' and 'modulationIsDownShifted'. Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:'signalIsLost','rslIsExceeded','temperatureIsExceeded','modemIsFaulty','radioIsFaulty' and 'modulationIsDownShifted'. Further alarms might be added by the device. Names are to be separated by commas.";\r
- }\r
- list supported-channel-plan-list {\r
- key 'supported-channel-plan';\r
- config false;\r
- min-elements 1;\r
- uses channel-plan-type-g;\r
- description "List of channel spacing that are supported by the device.";\r
- }\r
- description "Describes the 'analog' capabilities of modem and transmitter of the microwave device. Value ranges of attributes are not independently (e.g. min. and max. transmit power depends on modulation). Legal combinations of values are expressed in transmissionModeTypes.";\r
- }\r
- grouping air-interface-configuration-g {\r
- leaf air-interface-name {\r
- type string;\r
- default "Air interface ID not yet defined.";\r
- description "Operator specific microwave link ID (often used for coding area, type of element and sequential number).";\r
- }\r
- leaf remote-air-interface-name {\r
- type string;\r
- default "Air interface ID at the remote site not yet defined.";\r
- description "Name of the air interface, which belongs to the same link, at the remote site.";\r
- }\r
- leaf expected-signal-id {\r
- type int16;\r
- description "If set on '0', the receiver ignores the signal ID of the received signal. If set on any other value, the receiver exclusively synchronizes on signals with the same signal ID.";\r
- }\r
- leaf transmitted-signal-id {\r
- type int16;\r
- description "Transmitted radio signal ID for synchronizing the receiver.";\r
- }\r
- leaf radio-signal-id {\r
- type string;\r
- default "Radio signal ID not yet defined.";\r
- status deprecated;\r
- description "The radioSignalId is transmitted on the air interface so the remote site of the link synchronizes on the correct transmitter. The local radio MUST NOT synchronize on a radio signal with a different radioSignalId. The link ID is neither an ID necessary to span the model nor an ID referencing external data. It is just some sort of name of the link transmitted so the correct remote site can be identified in an interference situation. The value zero might be used to make the microwave to disable the link ID check.";\r
- }\r
- leaf tx-frequency {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- description "Center frequency of the transmit channel. The values to be configured have to exactly match the values listed in the international agreement referenced in channelPlanID. In case of automated selection of the transmit frequency this field shall describe the lowest center frequency selectable.";\r
- }\r
- leaf rx-frequency {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- description "Center frequency of the receive channel.";\r
- }\r
- leaf transmission-mode-min {\r
- type core-model:universal-id;\r
- description "Minimum transmission mode to be configured (in case adaptive modulation is not used, this value represents also the fixed transmission mode).";\r
- }\r
- leaf transmission-mode-max {\r
- type core-model:universal-id;\r
- description "Maximum transmission mode to be configured.";\r
- }\r
- leaf tx-channel-bandwidth {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- status deprecated;\r
- description "Bandwidth of the transmit channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";\r
- }\r
- leaf rx-channel-bandwidth {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- description "Bandwidth of the receive channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";\r
- }\r
- leaf polarization {\r
- type polarization-type;\r
- default not-specified;\r
- description "Allows documenting the polarization of the air interface.";\r
- }\r
- leaf power-is-on {\r
- type boolean;\r
- default true;\r
- description "Power ON. Activation of the entire radio in a split mount configuration shall be expressed as a 'true'.";\r
- }\r
- leaf transmitter-is-on {\r
- type boolean;\r
- default false;\r
- description "Activation of the transmitter inside the radio shall be expressed as a 'true'.";\r
- }\r
- leaf receiver-is-on {\r
- type boolean;\r
- default true;\r
- description "Maintenance Feature. Activation of the receiver inside the radio shall be expressed as a 'true'. Attribute shall also be used for RX main and RX diversity squelches in case of diversity configurations.\r
- ";\r
- }\r
- leaf tx-power {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- description "Transmit power to be configured on the microwave link. Signed Byte is required. The actually operated transmit power might be lower depending on adaptive modulation and ATPC.";\r
- }\r
- leaf adaptive-modulation-is-on {\r
- type boolean;\r
- default false;\r
- description "Adaptive Modulation. Activation of adaptive modulation shall be expressed as a 'true'.";\r
- }\r
- leaf modulation-min {\r
- type int16;\r
- units "symbols";\r
- default -1;\r
- status deprecated;\r
- description "Minimum modulation to be configured (in case adaptive modulation is not used, this value represents also the fixed modulation). The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";\r
- }\r
- leaf modulation-max {\r
- type int16;\r
- units "symbols";\r
- default -1;\r
- status deprecated;\r
- description "Maximum modulation to be configured. The value of this field is only relevant, if Adaptive Modulation has been activated. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";\r
- }\r
- leaf xpic-is-on {\r
- type boolean;\r
- default false;\r
- description "Activation of Cross Polarization Interference Cancelation shall be expressed as a 'true'. In case XPIC is not available for the current combination of channel bandwidth and modulation or the hardware in general, this parameter shall always be set to 'false'.";\r
- }\r
- leaf mimo-is-on {\r
- type boolean;\r
- default false;\r
- description "Activation of Multiple Input Multiple Output (MIMO) shall be expressed as a 'true'.";\r
- }\r
- leaf alic-is-on {\r
- type boolean;\r
- default false;\r
- description "Activation of Adjacent Link Interference Cancelation (ALIC) shall be expressed as a 'true'.";\r
- }\r
- leaf atpc-is-on {\r
- type boolean;\r
- default false;\r
- description "ATPC. Activation of Automated Transmit Power Control shall be expressed as a 'true'.";\r
- }\r
- leaf atpc-thresh-upper {\r
- type int16;\r
- units "dBm";\r
- default 99;\r
- description "If the receive level is higher than the upper threshold value, the transmitter is notified to decrease transmit power.";\r
- }\r
- leaf atpc-thresh-lower {\r
- type int16;\r
- units "dBm";\r
- default 99;\r
- description "If the receive level is lower than the lower threshold value, the transmitter is notified to increase transmit power.";\r
- }\r
- leaf atpc-tx-power-min {\r
- type int8;\r
- units "dBm";\r
- default -99;\r
- description "Transmit power, which is not to be undercut, while operating ATPC.";\r
- }\r
- leaf auto-freq-select-is-on {\r
- type boolean;\r
- default false;\r
- description "Activation of automatically selecting the transmit frequency in unlicensed bands shall be expressed as a 'true'.";\r
- }\r
- leaf auto-freq-select-range {\r
- type int8;\r
- units "channels";\r
- default -1;\r
- description "Number of transmit channels (starting at the center frequency defined in txFrequency and with channel bandwidth according to txChannelBandwidth) that define the range within the transmit frequency can automatically been chosen. ";\r
- }\r
- leaf modulation-is-on {\r
- type boolean;\r
- default true;\r
- description "Maintenance Feature. De-activation of the modulation of the carrier signal for fault management shall be expressed as a 'false'.";\r
- }\r
- leaf encryption-is-on {\r
- type boolean;\r
- default false;\r
- description "Activates encryption of the payload.";\r
- }\r
- leaf cryptographic-key {\r
- type string;\r
- default "Cryptographic key not yet defined.";\r
- description "Key for transforming plaintext into ciphertext data.";\r
- }\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list threshold-cross-alarm-list {\r
- key 'g826-value-kind granularity-period';\r
- max-elements 6;\r
- uses threshold-cross-alarm-type-g;\r
- description "List of threshold cross alarms to be configured.";\r
- }\r
- leaf loop-back-kind-on {\r
- type loop-back-type;\r
- default none;\r
- description "Maintenance Feature. The currently configured type of looping back of the air interface header shall be expressed here. The received header is returned to the remote site.";\r
- }\r
- leaf maintenance-timer {\r
- type int32;\r
- units "s";\r
- default -1;\r
- description "Time of existence of any maintenance configuration (e.g. the loop back of microwave header information). Valid values are defined in AirInterface::AirInterfaceCapability::maintenanceTimerRange.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- min-elements 6;\r
- uses air-interface-problem-severity-type-g;\r
- description "Severity of the problem to be configured.";\r
- }\r
- description "Configuration of the radio link.";\r
- }\r
- grouping air-interface-status-g {\r
- leaf tx-frequency-cur {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Center frequency of the currently operated transmit channel.";\r
- }\r
- leaf rx-frequency-cur {\r
- type int32;\r
- units "kHz";\r
- default -1;\r
- config false;\r
- description "Center frequency of the currently operated receive channel.";\r
- }\r
- leaf tx-level-cur {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Current transmit level.";\r
- }\r
- leaf rx-level-cur {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Current receive level.";\r
- }\r
- leaf transmission-mode-cur {\r
- type leafref {\r
- path '/mw-air-interface-pac/air-interface-capability/supported-channel-plan-list/transmission-mode-list/transmission-mode-id';\r
- } \r
- config false;\r
- description "Currently operated transmission mode according to definitions in Capabilities.";\r
- }\r
- leaf modulation-cur {\r
- type int16;\r
- units "symbols";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "Currently operated modulation on transmit path. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";\r
- }\r
- leaf code-rate-cur {\r
- type int8;\r
- units "%";\r
- default -1;\r
- config false;\r
- status deprecated;\r
- description "Code rate of the currently operated coding scheme (Net bit rate ? Gross bit rate ? code rate).";\r
- }\r
- leaf received-signal-id {\r
- type int16;\r
- default -1;\r
- config false;\r
- description "ID of the signal, which the receiver is currently synchronized on.";\r
- }\r
- leaf snir-cur {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Currently measured signal to (noise+interference) ratio.";\r
- }\r
- leaf xpd-cur {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Currently measured cross polarization discrimination.";\r
- }\r
- leaf rf-temp-cur {\r
- type int8;\r
- units "Celsius";\r
- default -99;\r
- config false;\r
- description "Current temperature (in degree Celsius) of the radio module inside the outdoor unit.";\r
- }\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
+
+ organization "ONF (Open Networking Foundation) Open Transport Working Group - Wireless Transport Project";
+ contact "WG Web: <https://www.opennetworking.org/software-defined-standards/models-apis/>
+ WG List: <mailto:wireless-transport@login.opennetworking.org>
+ WG Chair: Lyndon Ong
+ <mailto:lyong@ciena.com>
+ WG Chair: Giorgio Cazzaniga
+ <mailto:giorgio.cazzaniga@sm-optics.com>
+ Editors: Thorsten Heinze
+ <mailto:thorsten.heinze@telefonica.com>
+ Shrikanth Malavalli Divakar
+ <mailto:shrikanth.divakar@wipro.com>";
+ description "This module contains a collection of YANG definitions for managing wireless networks.
+ This model is for vendor agnostic management of wireless network elements.";
+ revision 2018-10-10 {
+ description "Version 1.1";
+ reference "ONF TR 532: A YANG Data Model for Wireless Networks.";
+ }
+ revision 2017-03-24 {
+ description "Initial version";
+ reference "ONF TR 532: A YANG Data Model for Wireless Networks.";
+ }
+ /***********************
+ * package type-definitions
+ **********************/
+ typedef loop-back-type {
+ type enumeration {
+ enum rf-to-remote {
+ description "Returning the header information of the remote site back to the remote site on the radio interface between both outdoor units.";
+ }
+ enum rf-to-local {
+ description "Returning the header information of the local site back to the local site on the radio interface between both outdoor units.";
+ }
+ enum if-to-remote {
+ description "Returning the header information of the remote site back to the remote site on the intermediate frequency interface between local indoor unit and outdoor unit.";
+ }
+ enum if-to-local {
+ description "Returning the header information of the local site back to the local site on the intermediate frequency interface between local indoor unit and outdoor unit.";
+ }
+ enum none {
+ description "none";
+ }
+ enum if {
+ status deprecated;
+ description "Intermediate Frequency on the interface between indoor and outdoor unit.";
+ }
+ enum rf {
+ status deprecated;
+ description "Radio Frequency on the interface between outdoor unit and outdoor unit at the remote site.";
+ }
+ }
+ description "none";
+ }
+ typedef severity-type {
+ type enumeration {
+ enum non-alarmed {
+ description "none";
+ }
+ enum warning {
+ description "none";
+ }
+ enum minor {
+ description "none";
+ }
+ enum major {
+ description "none";
+ }
+ enum critical {
+ description "none";
+ }
+ }
+ description "According to ITU-T M.3160";
+ }
+ grouping channel-plan-type-g {
+ leaf supported-channel-plan {
+ type string;
+ config false;
+ description "Unique name (e.g. ECC/REC/(01)04_Annex 5) of a document, which describes a frequency grid that can be adjusted at the air interface. Corresponding channel plans to be delivered by the hardware vendor and to be stored by the operator in an controller/application attached database.";
+ }
+ leaf duplex-distance-is-variable {
+ type boolean;
+ default false;
+ config false;
+ description "To be set on 'true', if the distance between transmitted and received frequency is variable.";
+ }
+ leaf-list duplex-distance-list {
+ type int32;
+ units "kHz";
+ config false;
+ min-elements 1;
+ description "Distance between transmitted and received frequency. To be filled with single value, in case duplex distance is not variable. To be filled with all configurable values, in case duplex distance is variable.";
+ }
+ leaf duplex-distance {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ status deprecated;
+ description "Distance between transmitted and received frequency.";
+ }
+ leaf auto-freq-select-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case the microwave radio is capable of automatically selecting the transmit frequency in unlicensed bands, this field shall contain a 'true'.";
+ }
+ list transmission-mode-list {
+ key 'transmission-mode-id';
+ config false;
+ min-elements 1;
+ uses transmission-mode-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping transmission-mode-type-g {
+ leaf transmission-mode-id {
+ type core-model:universal-id;
+ description "Indentifies the transmissionMode for internal reference.";
+ }
+ leaf transmission-mode-name {
+ type string;
+ default "Name of the transmission mode not yet defined.";
+ config false;
+ description "Name of the transmission mode. BBBB-m*-i*/t*-r*. B=four digits of channel bandwidth in MHz. m*=required number of digits for modulation name. (i*/t*=code rate.) i*=required number of digits for number of information bits. t*=required number of digits for total bits. r*=required number of digits for rate reduction factor. Example: 028-4QAM-188/204-1";
+ }
+ leaf channel-bandwidth {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Bandwidth of the transmit channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";
+ }
+ leaf modulation-scheme {
+ type int16;
+ units "symbols";
+ default -1;
+ config false;
+ description "Modulation scheme, which is base to the other characteristics described in the same transmissionModeType data type. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256').";
+ }
+ leaf code-rate {
+ type int8;
+ units "%";
+ default -1;
+ config false;
+ description "Code rate of the coding scheme in % (Net bit rate ≤ Gross bit rate · code rate).";
+ }
+ leaf symbol-rate-reduction-factor {
+ type int8;
+ default 1;
+ config false;
+ description "Reduction factor for the symbol rate. Example: value would be 4 for 1/4BPSK.";
+ }
+ leaf tx-power-min {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Value of the minimum transmit power the modem can operate in dBm.";
+ }
+ leaf tx-power-max {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Value of the maximum transmit power the modem can operate in dBm.";
+ }
+ leaf rx-threshold {
+ type int16;
+ units "dBm";
+ default 99;
+ config false;
+ description "Value of the receive level required to decode the received signal with a Bit Error Rate of 1e-6 or less.";
+ }
+ leaf am-upshift-level {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Value of the receive level that has to be exceeded to shift into a higher modulation scheme.";
+ }
+ leaf am-downshift-level {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Value of the receive level that has to be exceeded for not shifting into a lower modulation scheme.";
+ }
+ leaf xpic-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case this air interface type is capable of XPIC, this field shall contain a 'true'. This information shall purely relate to capabilities of the equipment type, but not to the operational capability of a specific hardware composition on site. Means for example that this attribute might contain a 'true' statement, even if an additional cable would have been required to actually operate XPIC in a specific case.";
+ }
+ description "none";
+ }
+ typedef polarization-type {
+ type enumeration {
+ enum not-specified {
+ description "none";
+ }
+ enum horizontal {
+ description "none";
+ }
+ enum vertical {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef g826-type {
+ type enumeration {
+ enum es {
+ description "Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::es .";
+ }
+ enum ses {
+ description "Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::ses .";
+ }
+ enum cses {
+ description "Consecutive Severely Errored Seconds. Threshold cross alarm will relate to TypeDefinitions::AirInterfacePerformanceType::cses .";
+ }
+ enum not-specified {
+ description "none";
+ }
+ }
+ description "none";
+ }
+
+ grouping threshold-cross-alarm-type-g {
+ leaf g826-value-kind {
+ type g826-type;
+ description "Kind of performance value that shall be equipped with a threshold alarm.";
+ }
+ leaf granularity-period {
+ type g:granularity-period-type;
+ description "Period of the performance data collection.";
+ }
+ leaf alarm-raising-threshold {
+ type int32;
+ units "s";
+ default -1;
+ description "Number of events required for raising the threshold cross alarm.";
+ }
+ leaf alarm-clearing-threshold {
+ type int32;
+ units "s";
+ default -1;
+ description "Number of events required for clearing the threshold cross alarm.";
+ }
+ description "Allows defining a threshold cross alarm.
+ ";
+ }
+ grouping air-interface-problem-severity-type-g {
+ leaf problem-kind-name {
+ type string;
+ description "Name of the alarm according to AirInterface::AirInterfaceCapability::supportedAlarms";
+ }
+ leaf problem-kind-severity {
+ type severity-type;
+ default warning;
+ description "Severity of this type of alarm.";
+ }
+ description "none";
+ }
+ grouping air-interface-current-problem-type-g {
+ leaf problem-name {
+ type string;
+ default "Problem name not specified.";
+ config false;
+ description "Name of the alarm according to AirInterface::AirInterfaceCapability::supportedAlarms";
+ }
+ uses mw-current-problem-g;
+ description "none";
+ }
+ grouping time-x-states-type-g {
+ leaf transmission-mode {
+ type leafref{
+ path '/mw-air-interface-pac/air-interface-capability/supported-channel-plan-list/transmission-mode-list/transmission-mode-id';
+ }
+ config false;
+ description "Operated transmission mode.";
+ }
+ leaf time {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Sum of all seconds the transmitter operated the transmission mode.";
+ }
+ description "none";
+ }
+ grouping air-interface-performance-type-g {
+ leaf es {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of errored seconds.";
+ }
+ leaf ses {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of severely errored seconds.";
+ }
+ leaf cses {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of consecutive severely errored seconds.";
+ }
+ leaf unavailability {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Total time of unavailability in seconds.";
+ }
+ leaf tx-level-min {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Minimum transmit power. Signed integers are required.";
+ }
+ leaf tx-level-max {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Maximum transmit power. Signed integers are required.";
+ }
+ leaf tx-level-avg {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Averaged transmit power. Signed integers are required.";
+ }
+ leaf rx-level-min {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Minimum receive level. Signed integers are required.";
+ }
+ leaf rx-level-max {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Maximum receive level. Signed integers are required.";
+ }
+ leaf rx-level-avg {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Averaged receive level. Signed integers are required.";
+ }
+ list time-x-states-list {
+ key 'transmission-mode';
+ config false;
+ min-elements 1;
+ uses time-x-states-type-g;
+ description "Time period the transmitter operated in the respective transmission mode.";
+ }
+ leaf time2-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "Sum of all seconds the transmitter operated in e.g. BPSK.";
+ }
+ leaf time4-states-s {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time4-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time8-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time16-states-s {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time16-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time32-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time64-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time128-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time256-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time512-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time512-states-l {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time1024-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time1024-states-l {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time2048-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time2048-states-l {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time4096-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time4096-states-l {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time8192-states {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf time8192-states-l {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ status deprecated;
+ description "none";
+ }
+ leaf snir-min {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Minimum signal to (noise+interference) ratio.";
+ }
+ leaf snir-max {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Maximum signal to (noise+interference) ratio.";
+ }
+ leaf snir-avg {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Averaged signal to (noise+interference) ratio.";
+ }
+ leaf xpd-min {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Minimum cross polarization discrimination.";
+ }
+ leaf xpd-max {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Maximum cross polarization discrimination.";
+ }
+ leaf xpd-avg {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Averaged cross polarization discrimination.";
+ }
+ leaf rf-temp-min {
+ type int8;
+ units "C";
+ default -99;
+ config false;
+ description "Lowest temperature (in degree Celsius) of the radio module inside the outdoor unit.";
+ }
+ leaf rf-temp-max {
+ type int8;
+ units "C";
+ default -99;
+ config false;
+ description "Highest temperature (in degree Celsius) of the radio module inside the outdoor unit.";
+ }
+ leaf rf-temp-avg {
+ type int8;
+ units "C";
+ default -99;
+ config false;
+ description "Averaged temperature (in degree Celsius) of the radio module inside the outdoor unit.";
+ }
+ leaf defect-blocks-sum {
+ type int16;
+ units "blocks";
+ default -1;
+ config false;
+ description "Total number of blocks that were defect after receiving and could not be corrected by the FEC.";
+ }
+ leaf time-period {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Total length of the measurement period.";
+ }
+ description "Consolidated performance information of the air interface.";
+ }
+ grouping air-interface-current-performance-type-g {
+ container performance-data {
+ config false;
+ uses air-interface-performance-type-g;
+ description "none";
+ }
+ uses g:otn-current-data-g;
+ description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";
+ }
+ grouping air-interface-historical-performance-type-g {
+ container performance-data {
+ config false;
+ uses air-interface-performance-type-g;
+ description "none";
+ }
+ uses g:otn-history-data-g;
+ description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";
+ }
+ typedef protection-type {
+ type enumeration {
+ enum hsb {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef role-type {
+ type enumeration {
+ enum working {
+ description "none";
+ }
+ enum protection {
+ description "none";
+ }
+ enum protected {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ grouping diversity-type-g {
+ leaf diversity-name {
+ type string;
+ config false;
+ description "Names to be chosen from the following list: 'spaceDiversity', 'frequencyDiversity'";
+ }
+ leaf number-of-air-interfaces-max {
+ type int8;
+ units "air interfaces";
+ default 1;
+ config false;
+ description "Maximum number of air interfaces that could be part of this kind of diversity.";
+ }
+ description "none";
+ }
+ typedef air-interface-diversity-status-type {
+ type enumeration {
+ enum group-down {
+ description "All air interfaces that are members of the diversity configuration are down.";
+ }
+ enum not-all-ai-active {
+ description "At least one, but not all of the air interfaces that are part of the diversity configuration is not working.";
+ }
+ enum all-ai-active {
+ description "All air interfaces that are part of the diversity configuration are working.";
+ }
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-problem-severity-type-g {
+ leaf problem-kind-name {
+ type string;
+ description "Name of the alarm according to AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms";
+ }
+ leaf problem-kind-severity {
+ type severity-type;
+ default warning;
+ description "Severity of this type of alarm.";
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-current-problem-type-g {
+ leaf problem-name {
+ type string;
+ default "Problem name not specified.";
+ config false;
+ description "Name of the alarm according to AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms";
+ }
+ uses mw-current-problem-g;
+ description "none";
+ }
+ grouping air-interface-diversity-performance-type-g {
+ leaf snir-min {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Minimum signal to (noise+interference) ratio of the combined signals.";
+ }
+ leaf snir-max {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Maximum signal to (noise+interference) ratio of the combined signals.";
+ }
+ leaf snir-avg {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Average signal to (noise+interference) ratio of the combined signals.";
+ }
+ description "Consolidated performance information of the air interface diversity group.";
+ }
+ grouping air-interface-diversity-current-performance-type-g {
+ container performance-data {
+ config false;
+ uses air-interface-diversity-performance-type-g;
+ description "none";
+ }
+ uses g:otn-current-data-g;
+ description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";
+ }
+ grouping air-interface-diversity-historical-performance-type-g {
+ container performance-data {
+ config false;
+ uses air-interface-diversity-performance-type-g;
+ description "none";
+ }
+ uses g:otn-history-data-g;
+ description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";
+ }
+ grouping tdm-structure-type-g {
+ leaf tdm-structure-name {
+ type string;
+ config false;
+ description "Names to be chosen from the following list: 'e1','t1','j1','e3','ds3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";
+ }
+ leaf tdm-segment-size {
+ type int32;
+ units "kbit/s";
+ default -1;
+ config false;
+ description "Size of the TDM segment in kbit/s. Values to be chosen from the following list: '2048','1544','34000','44736 ','155520','614400','1228800','2457600','3072000','4915200','6144000' or '9830400;";
+ }
+ leaf max-number-of-segments-reservable {
+ type int8;
+ units "segments";
+ default -1;
+ config false;
+ description "Device specific maximum number of segments (not depending on current air interface configuration) that can be reserved for this type of segment on a single air interface.";
+ }
+ description "none";
+ }
+ grouping structure-problem-severity-type-g {
+ leaf problem-kind-name {
+ type string;
+ description "Name of the alarm according to Structure::StructureCapability::supportedAlarms";
+ }
+ leaf problem-kind-severity {
+ type severity-type;
+ default warning;
+ description "Severity of this type of alarm.";
+ }
+ description "none";
+ }
+ grouping structure-current-problem-type-g {
+ leaf problem-name {
+ type string;
+ default "Problem name not specified.";
+ config false;
+ description "Name of the alarm according to Structure::StructureCapability::supportedAlarms";
+ }
+ uses mw-current-problem-g;
+ description "none";
+ }
+ grouping structure-performance-type-g {
+ leaf time-period {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Total length of the measurement period in seconds.";
+ }
+ leaf es {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
+ }
+ leaf ses {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
+ }
+ leaf cses {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Number of consecutive severely errored seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
+ }
+ leaf unavailability {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Total time of unavailability in seconds. 1+0: Same value as for single air interface. 1+1 and Diversity: Value representing the combined signals.";
+ }
+ leaf rx-level-min {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Minimum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";
+ }
+ leaf rx-level-max {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Maximum receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";
+ }
+ leaf rx-level-avg {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Averaged receive level. 1+0: Same value as for single air interface. 1+1: Value representing the combined signals. Diversity: To be left on default value.";
+ }
+ description "Consolidated performance information of the Structure.";
+ }
+ grouping structure-current-performance-type-g {
+ container performance-data {
+ config false;
+ uses structure-performance-type-g;
+ description "none";
+ }
+ uses g:otn-current-data-g;
+ description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";
+ }
+ grouping structure-historical-performance-type-g {
+ container performance-data {
+ config false;
+ uses structure-performance-type-g;
+ description "none";
+ }
+ uses g:otn-history-data-g;
+ description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";
+ }
+ grouping container-type-g {
+ leaf container-name {
+ type string;
+ config false;
+ description "Names to be chosen from the following list: 'ethernet','e1','t1','j1','e3','ds3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";
+ }
+ leaf number-of-time-slots-required {
+ type int16;
+ units "timeslots";
+ default -1;
+ config false;
+ description "Number of time slots required for transporting this type of container. Value must be calculated by the vendor after defining the timeSlotCapacity. For containers of fixed size: numberOfTimeSlotsRequired = required bandwidth of the container divided by timeSlotCapacity. For containers of variable size the minimum (most probably 1) is to be stated.";
+ }
+ leaf tdm-time-slots-is-required {
+ type boolean;
+ default false;
+ config false;
+ description "Shall be set to '1', if this container type requires bandwidth (times slots) reserved for TDM transport.";
+ }
+ leaf bundling-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "If it is possible to combine transport resources of several radio links to transport this container type, this attribute shall be set to '1'.";
+ }
+ description "none";
+ }
+ grouping tdm-container-type-g {
+ leaf tdm-container-name {
+ type string;
+ config false;
+ description "Names to be chosen from the following list: 'e1','t1','j1','e3','t3','stm1','cpri1','cpri2','cpri3','cpri4','cpri5','cpri6' or 'cpri7'";
+ }
+ leaf tdm-container-size {
+ type int32;
+ units "kbit/s";
+ default -1;
+ config false;
+ description "Capacity required for transporting this type of container (in kbit/s). Values to be chosen from the following list: '2048','1544','34000','44736 ','155520','614400','1228800','2457600','3072000','4915200','6144000' or '9830400;";
+ }
+ description "none";
+ }
+ grouping segment-id-type-g {
+ leaf structure-id-ref {
+ type core-model:universal-id;
+ description "none";
+ }
+ leaf segment-id-ref {
+ type int16;
+ description "Combinations of structureId and segmentId must be unique inside the device to assure that every resource is used just once.";
+ }
+ description "Identifies the segments, which are used to transport the container.";
+ }
+ grouping segment-status-type-g {
+ leaf segment-status-type-id {
+ type int16;
+ config false;
+ description "none";
+ }
+ leaf segment-is-reserved-for-tdm {
+ type boolean;
+ default false;
+ config false;
+ description "The number of segments, which is configured by Structure::StructureConfiguration::tdmReservedNumberOfSegements, has to be reserved for TDM. Starting from the lowest index value, these segments have to be marked with a 'true' in segmentIsReservedForTdm.
+ ";
+ }
+ leaf operational-status {
+ type core-model:operational-state;
+ default disabled;
+ config false;
+ description "Current operational status of each segment.";
+ }
+ leaf obsolete-priority-class {
+ type int8;
+ default -1;
+ config false;
+ description "PriorityClass as inherited from the associated Container::ContainerConfiguration::priorityClass. In case the device is capable of adapting the sequence, in which segments are being dropped in case of decreasing capacity of the air interface, priorityClass shall be considered, while calculating the dropOrderRank.";
+ }
+ leaf obsolete-drop-order-rank {
+ type int16;
+ default -1;
+ config false;
+ description "In case the device is NOT capable of adapting the sequence, in which segments are being dropped in case of decreasing capacity of the air interface, dropOrderRank is number of segments minus sequence number of the segment. In case the device is capable of adapting the sequence, dropOrderRank has to be calculated by the device in dependency to the assigned priorityClass.
+ _unique: within Structure::StructureStatus::segmentStatusList";
+ }
+ description "none";
+ }
+ grouping container-problem-severity-type-g {
+ leaf problem-kind-name {
+ type string;
+ description "Name of the alarm according to Container::ContainerCapability::supportedAlarms";
+ }
+ leaf problem-kind-severity {
+ type severity-type;
+ default warning;
+ description "Severity of this type of alarm.";
+ }
+ description "none";
+ }
+ grouping container-current-problem-type-g {
+ leaf problem-name {
+ type string;
+ default "Problem name not specified.";
+ config false;
+ description "Name of the alarm according to Container::ContainerCapability::supportedAlarms";
+ }
+ uses mw-current-problem-g;
+ description "none";
+ }
+ grouping container-performance-type-g {
+ leaf tx-ethernet-bytes-max-s {
+ type int32;
+ units "Bytes/s";
+ default -1;
+ config false;
+ description "Counts the number of Bytes of Ethernet traffic (before header compression) transmitted within a second and keeps the highest value within the measurement period. Field to be left blank for all types of TDM containers.";
+ }
+ leaf tx-ethernet-bytes-max-m {
+ type int64;
+ units "Bytes/min";
+ default -1;
+ config false;
+ description "Counts the number of Bytes of Ethernet traffic (before header compression) transmitted within a minute and keeps the highest value with in the measurement period. Field to be left blank for all types of TDM containers.";
+ }
+ leaf tx-ethernet-bytes-sum {
+ type int64;
+ units "Bytes";
+ default -1;
+ config false;
+ description "Total number of Bytes of Ethernet traffic (before header compression) transmitted (in direction out of the device) during the measurement period. Field to be left blank for all types of TDM containers.";
+ }
+ leaf time-period {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "Total length of the measurement period in seconds.";
+ }
+ description "Consolidated performance information of the Container.";
+ }
+ grouping container-current-performance-type-g {
+ container performance-data {
+ config false;
+ uses container-performance-type-g;
+ description "none";
+ }
+ uses g:otn-current-data-g;
+ description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";
+ }
+ grouping container-historical-performance-type-g {
+ container performance-data {
+ config false;
+ uses container-performance-type-g;
+ description "none";
+ }
+ uses g:otn-history-data-g;
+ description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";
+ }
+ typedef mii-kind-type {
+ type enumeration {
+ enum gbic {
+ description "none";
+ }
+ enum soldered-connector {
+ description "none";
+ }
+ enum sfp-sfp-plus-sfp28 {
+ description "none";
+ }
+ enum xbi-300-pin {
+ description "none";
+ }
+ enum xenpak {
+ description "none";
+ }
+ enum xfp {
+ description "none";
+ }
+ enum xfp-e {
+ description "none";
+ }
+ enum xpak {
+ description "none";
+ }
+ enum x2 {
+ description "none";
+ }
+ enum dwdm-sfp-sfp-plus {
+ description "none";
+ }
+ enum qsfp {
+ description "none";
+ }
+ enum qsfp-plus {
+ description "none";
+ }
+ enum cxp {
+ description "none";
+ }
+ enum shielded-mini-multilane-hd-4-x {
+ description "none";
+ }
+ enum shielded-mini-multilane-hd-8-x {
+ description "none";
+ }
+ enum qsfp28 {
+ description "none";
+ }
+ enum cxp2 {
+ description "none";
+ }
+ enum cdfp-style1-style2 {
+ description "none";
+ }
+ enum shielded-mini-multilane-hd-4-x-fan-out {
+ description "none";
+ }
+ enum shielded-mini-multilane-hd-8-x-fan-out {
+ description "none";
+ }
+ enum cdfp-style3 {
+ description "none";
+ }
+ enum qsfp-micro {
+ description "none";
+ }
+ enum qsfp-dd {
+ description "none";
+ }
+ enum qsfp-plus-rate-select-v1 {
+ description "none";
+ }
+ enum qsfp-plus-rate-select-v2 {
+ description "none";
+ }
+ enum not-yet-defined {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef mdi-kind-type {
+ type enumeration {
+ enum sc {
+ description "Subscriber Connector";
+ }
+ enum fibre-channel-style-1 {
+ description "Copper connector";
+ }
+ enum fibre-channel-style-2 {
+ description "Copper connector";
+ }
+ enum bnc-tnc {
+ description "Bayonet/Threaded Neill-Concelman";
+ }
+ enum fc {
+ description "Fibre Channel coax headers";
+ }
+ enum fiber-jack {
+ description "none";
+ }
+ enum lc {
+ description "Lucent Connector";
+ }
+ enum mt-rj {
+ description "Mechanical Transfer - Registered Jack";
+ }
+ enum mu {
+ description "Multiple Optical";
+ }
+ enum sg {
+ description "none";
+ }
+ enum optical-pigtail {
+ description "none";
+ }
+ enum mpo1-x12 {
+ description "Multifiber Parallel Optic";
+ }
+ enum mpo2-x16 {
+ description "Multifiber Parallel Optic";
+ }
+ enum hssdc-ii {
+ description "High Speed Serial Data Connector";
+ }
+ enum copper-pigtail {
+ description "none";
+ }
+ enum rj45 {
+ description "8P8C, according to Clause 3 and Figures 1 through 5 of IEC 60603-7";
+ }
+ enum no-seperable-connector {
+ description "none";
+ }
+ enum mxc2-x16 {
+ description "none";
+ }
+ enum st {
+ description "according to IEC 60874-10:1992, also often called BFOC/2.5";
+ }
+ enum not-yet-defined {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef medium-kind-type {
+ type enumeration {
+ enum tp-cat3 {
+ description "none";
+ }
+ enum tp-cat5 {
+ description "none";
+ }
+ enum tp-cat6 {
+ description "none";
+ }
+ enum tp-cat8 {
+ description "none";
+ }
+ enum single-mode {
+ description "none";
+ }
+ enum multi-mode {
+ description "none";
+ }
+ enum not-yet-defined {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef pmd-name-type {
+ type enumeration {
+ enum 10-base5 {
+ description "Thick coax Medium Attachment Unit (MAU) as specified in 802.3 Clause 8";
+ }
+ enum foirl {
+ description "FOIRL Medium Attachment Unit (MAU) as specified in 802.3 Clause 9.9";
+ }
+ enum 10-base2 {
+ description "Thin coax Medium Attachment Unit (MAU) as specified in 802.3 Clause 10";
+ }
+ enum 10-broad36 {
+ description "Broadband DTE Medium Attachment Unit (MAU) as specified in 802.3 Clause 11";
+ }
+ enum 10-base-t {
+ description "Twisted-pair cabling Medium Attachment Unit (MAU) as specified in 802.3 Clause 14. Only to be applied when duplex mode unknown";
+ }
+ enum 10-base-thd {
+ description "Twisted-pair cabling Medium Attachment Unit (MAU) as specified in 802.3 Clause 14 in half duplex mode";
+ }
+ enum 10-base-tfd {
+ description "Twisted-pair cabling Medium Attachment Unit (MAU) as specified in 802.3 Clause 14 in full duplex mode";
+ }
+ enum 10-base-fp {
+ description "Passive fiber Medium Attachment Unit (MAU) as specified in 802.3 Clause 16";
+ }
+ enum 10-base-fb {
+ description "Synchronous fiber Medium Attachment Unit (MAU) as specified in 802.3 Clause 17";
+ }
+ enum 10-base-fl {
+ description "Asynchronous fiber Medium Attachment Unit (MAU) as specified in 802.3 Clause 18. Only to be applied when duplex mode unknown";
+ }
+ enum 10-base-flhd {
+ description "Asynchronous fiber Medium Attachment Unit (MAU) as specified in 802.3 Clause 18 in half duplex mode";
+ }
+ enum 10-base-flfd {
+ description "Asynchronous fiber Medium Attachment Unit (MAU) as specified in 802.3 Clause 18 in full duplex mode";
+ }
+ enum 100-base-t4 {
+ description "Four-pair Category 3 twisted-pair cabling as specified in 802.3 Clause 23";
+ }
+ enum 100-base-tx {
+ description "Two-pair Category 5 twisted-pair cabling as specified in 802.3 Clause 25. Only to be applied when duplex mode unknown";
+ }
+ enum 100-base-txhd {
+ description "Two-pair Category 5 twisted-pair cabling as specified in 802.3 Clause 25 in half duplex mode";
+ }
+ enum 100-base-txfd {
+ description "Two-pair Category 5 twisted-pair cabling as specified in 802.3 Clause 25 in full duplex mode";
+ }
+ enum 100-base-bx10-d {
+ description "One single-mode fiber Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 58";
+ }
+ enum 100-base-bx10-u {
+ description "One single-mode fiber Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 58";
+ }
+ enum 100-base-fx {
+ description "X fiber over Physical Medium Dependent (PMD) as specified in 802.3 Clause 26. Only to be applied when duplex mode unknown";
+ }
+ enum 100-base-fxhd {
+ description "X fiber over Physical Medium Dependent (PMD) as specified in 802.3 Clause 26 in half duplex mode";
+ }
+ enum 100-base-fxfd {
+ description "X fiber over Physical Medium Dependent (PMD) as specified in 802.3 Clause 26 in full duplex mode";
+ }
+ enum 100-base-lx10 {
+ description "Two fiber Physical layer entity (PHY) as specified in 802.3 Clause 58";
+ }
+ enum 100-base-t2 {
+ description "Two-pair Category 3 twisted-pair cabling as specified in 802.3 Clause 32. Only to be applied when duplex mode unknown";
+ }
+ enum 100-base-t2-hd {
+ description "Two-pair Category 3 twisted-pair cabling as specified in 802.3 Clause 32 in half duplex mode";
+ }
+ enum 100-base-t2-fd {
+ description "Two-pair Category 3 twisted-pair cabling as specified in 802.3 Clause 32 in full duplex mode";
+ }
+ enum 1000-base-x {
+ description "X as specified in 802.3 Clause 36 over undefined Physical Medium Dependent (PMD). Not to be configured and only to be returned when underlying PMD and duplex mode unknown";
+ }
+ enum 1000-base-bx10-d {
+ description "One single-mode fiber Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 59";
+ }
+ enum 1000-base-bx10-u {
+ description "One single-mode fiber Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 59";
+ }
+ enum 1000-base-xhd {
+ description "X Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) as specified in 802.3 Clause 36 over undefined Physical Medium Dependent (PMD) in half duplex mode. Not to be configured and only to be returned when underlying PMD unknown";
+ }
+ enum 1000-base-xfd {
+ description "X Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) as specified in 802.3 Clause 36 over undefined Physical Medium Dependent (PMD) in full duplex mode. Not to be configured and only to be returned when underlying PMD unknown";
+ }
+ enum 1000-base-lx {
+ description "X fiber over long-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38. Only to be applied when duplex mode unknown";
+ }
+ enum 1000-base-lxhd {
+ description "X fiber over long-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38 in half duplex mode";
+ }
+ enum 1000-base-lxfd {
+ description "X fiber over long-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38 in full duplex mode";
+ }
+ enum 1000-base-lx10 {
+ description "Two fiber 10km Physical layer entity (PHY) as specified in 802.3 Clause 59";
+ }
+ enum 1000-base-sx {
+ description "X fiber over short-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38. Only to be applied when duplex mode unknown";
+ }
+ enum 1000-base-sxhd {
+ description "X fiber over short-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38 in half duplex mode";
+ }
+ enum 1000-base-sxfd {
+ description "X fiber over short-wavelength laser Physical Medium Dependent (PMD) as specified in 802.3 Clause 38 in full duplex mode";
+ }
+ enum 1000-base-cx {
+ description "X copper over 150-Ohm balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 39. Only to be applied when duplex mode unknown";
+ }
+ enum 1000-base-cxhd {
+ description "X copper over 150-Ohm balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 39 in half duplex mode";
+ }
+ enum 1000-base-cxfd {
+ description "X copper over 150-Ohm balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 39 in full duplex mode";
+ }
+ enum 1000-base-kx {
+ description "X Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 70";
+ }
+ enum 1000-base-t {
+ description "Four-pair Category 5 twisted-pair cabling Physical layer entity (PHY) as specified in 802.3 Clause 40. Only to be applied when duplex mode unknown";
+ }
+ enum 1000-base-thd {
+ description "Four-pair Category 5 twisted-pair cabling Physical layer entity (PHY) as specified in 802.3 Clause 40 in half duplex mode";
+ }
+ enum 1000-base-tfd {
+ description "Four-pair Category 5 twisted-pair cabling Physical layer entity (PHY) as specified in 802.3 Clause 40 in full duplex mode";
+ }
+ enum 10-gbase-x {
+ description "X Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) as specified in 802.3 Clause 48 over undefined Physical Medium Dependent (PMD). Not to be configured and only to be returned when underlying PMD unknown";
+ }
+ enum 10-gbase-lx4 {
+ description "X fiber over 4 lane 1310nm optics as specified in 802.3 Clause 53";
+ }
+ enum 10-gbase-cx4 {
+ description "X copper over 8 pair 100-Ohm balanced cable as specified in 802.3 Clause 54";
+ }
+ enum 10-gbase-kx4 {
+ description "X Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 71";
+ }
+ enum 10-gbase-r {
+ description "R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) as specified in 802.3 Clause 49 over undefined Physical Medium Dependent (PMD). Not to be configured and only to be returned when underlying PMD unknown";
+ }
+ enum 10-gbase-er {
+ description "R fiber over 1550nm optics as specified in 802.3 Clause 52";
+ }
+ enum 10-gbase-lr {
+ description "R fiber over 1310nm optics as specified in 802.3 Clause 52";
+ }
+ enum 10-gbase-sr {
+ description "R fiber over 850nm optics as specified in 802.3 Clause 52";
+ }
+ enum 10-gbase-lrm {
+ description "R fiber over 1310 nm optics as specified in 802.3 Clause 68";
+ }
+ enum 10-gbase-kr {
+ description "R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 72";
+ }
+ enum 10-gbase-t {
+ description "Four-pair twisted-pair balanced copper cabling Physical layer entity (PHY) as specified in 802.3 Clause 55";
+ }
+ enum 10-gbase-pr-d1 {
+ description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 75";
+ }
+ enum 10-gbase-pr-d2 {
+ description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 75";
+ }
+ enum 10-gbase-pr-d3 {
+ description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 75";
+ }
+ enum 10-gbase-pr-d4 {
+ description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Line Terminal (OLT=>office side) Physical layer entity (PHY) as specified in 802.3 Clause 75";
+ }
+ enum 10-gbase-pr-u1 {
+ description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 75";
+ }
+ enum 10-gbase-pr-u2 {
+ description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 75";
+ }
+ enum 10-gbase-pr-u3 {
+ description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 75";
+ }
+ enum 10-gbase-pr-u4 {
+ description "One single-mode fiber 10.3125 GBd continuous downstream / burst mode upstream Optical Network Unit (ONU=>customer side) Physical layer entity (PHY) as specified in 802.3 Clause 75";
+ }
+ enum 40-gbase-r {
+ description "Multi-lane PCS as specified in 802.3 Clause 82 over undefined Physical Medium Attachment (PMA) and Physical Medium Dependent (PMD). Not to be configured and only to be returned when underlying PMD unknown";
+ }
+ enum 40-gbase-kr4 {
+ description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 84";
+ }
+ enum 40-gbase-cr4 {
+ description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 lane shielded copper balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 85";
+ }
+ enum 40-gbase-sr4 {
+ description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 lane multimode fiber Physical Medium Dependent (PMD) as specified in 802.3 Clause 86";
+ }
+ enum 4-x10-gbase-sr {
+ description "4 times 10GBASE-S compatible to 802.3 Clause 52 over 4 lane multimode fiber";
+ }
+ enum 40-gbase-lr4 {
+ description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 WDM lane single mode fiber Physical Medium Dependent (PMD), with long reach, as specified in 802.3 Clause 87";
+ }
+ enum 40-gbase-er4 {
+ description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 WDM lane single mode fiber Physical Medium Dependent (PMD), with extended reach, as specified in 802.3 Clause 87";
+ }
+ enum 40-gbase-fr {
+ description "40GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over single mode fiber Physical Medium Dependent (PMD) as specified in 802.3 Clause 89";
+ }
+ enum 100-gbase-r {
+ description "Multi-lane PCS as specified in 802.3 Clause 82 over undefined 100GBASE-R or 100GBASE-P Physical Medium Attachment (PMA) and Physical Medium Dependent (PMD). Not to be configured and only to be returned when underlying PMD unknown";
+ }
+ enum 100-gbase-cr4 {
+ description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 lane shielded copper balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 92";
+ }
+ enum 100-gbase-kr4 {
+ description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 93";
+ }
+ enum 100-gbase-kp4 {
+ description "100GBASE-P Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over an electrical backplane Physical Medium Dependent (PMD) as specified in 802.3 Clause 94";
+ }
+ enum 100-gbase-cr10 {
+ description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 10 lane shielded copper balanced cable Physical Medium Dependent (PMD) as specified in 802.3 Clause 85";
+ }
+ enum 100-gbase-sr4 {
+ description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 lane multimode fiber Physical Medium Dependent (PMD) as specified in 802.3 Clause 95";
+ }
+ enum 100-gbase-sr10 {
+ description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 10 lane multimode fiber Physical Medium Dependent (PMD) as specified in 802.3 Clause 86";
+ }
+ enum 2-x40-gbase-sr {
+ description "2 times 40GBASE-S compatible to 802.3 Clause 86 over 10 lane multimode fiber";
+ }
+ enum 10-x10-gbase-sr {
+ description "10 times 10GBASE-S compatible to 802.3 Clause 52 over 10 lane multimode fiber";
+ }
+ enum 12-x10-gbase-sr {
+ description "12 times 10GBASE-S compatible to 802.3 Clause 52 over 12 lane multimode fiber";
+ }
+ enum 100-gbase-lr4 {
+ description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 WDM lane single mode fiber Physical Medium Dependent (PMD), with long reach, as specified in 802.3 Clause 88";
+ }
+ enum 100-gbase-er4 {
+ description "100GBASE-R Physical Coding Sublayer (PCS) and Physical Medium Attachment (PMA) over 4 WDM lane single mode fiber Physical Medium Dependent (PMD), with extended reach, as specified in 802.3 Clause 88";
+ }
+ enum not-yet-defined {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ grouping signal-ordering-type-g {
+ leaf signal-ordering-kind-name {
+ type string;
+ config false;
+ description "To be filled according to TR-541. Must be unique for referencing during configuration of the interface.";
+ }
+ leaf-list signal-list {
+ type string;
+ config false;
+ min-elements 2;
+ description "Desciption of the signals on the Media Dependent Interface (MDI), might be e.g. 'TX+' in case of e.g. 10BASE-T, might be e.g. '1,295.56 nm' in case of e.g. 100GBASE-LR4";
+ }
+ description "none";
+ }
+ grouping mau-type-g {
+ leaf mau-id {
+ type core-model:universal-id;
+ config false;
+ description "802.3 according to 30.5.1.1.1 aMAUID
+ Unique identifier of the Medium Attachment Unit (MAU) instance within the data about the device";
+ }
+ leaf mii-kind {
+ type mii-kind-type;
+ default not-yet-defined;
+ config false;
+ description "SFF8472_SFF8636
+ Kind of Medium Independent Interface (MII) provided by this Medium Attachment Unit (MAU) (e.g. SFP, moldered port)";
+ }
+ leaf mdi-kind {
+ type mdi-kind-type;
+ default not-yet-defined;
+ config false;
+ description "Kind of Medium Dependent Interface (MDI) provided by this Medium Attachment Unit (MAU)";
+ }
+ leaf required-medium-kind {
+ type medium-kind-type;
+ default not-yet-defined;
+ config false;
+ description "Kind of medium required for operating this Medium Attachment Unit (MAU), more like an information field";
+ }
+ leaf-list wavelength-min {
+ type int32;
+ units "pm";
+ config false;
+ max-elements 3;
+ description "SFF-8690
+ Minimum laser wavelength in pico meter, -1 = not applicable, 0 = not known, wavelengthMax = wavelength cannot be configured; multiplicity=0..3 for 10GBASE-LX4 according to 802.3 53.5";
+ }
+ leaf-list wavelength-max {
+ type int32;
+ units "pm";
+ config false;
+ max-elements 3;
+ description "Maximum laser wavelength in pico meter, -1 = not applicable, 0 = not known, wavelengthMin = wavelength cannot be configured; multiplicity=0..3 for 10GBASE-LX4 according to 802.3 53.5
+ SFF-8690";
+ }
+ leaf wavelength-grid-min {
+ type int32;
+ units "pm";
+ default -1;
+ config false;
+ description "Minimum grid spacing supported by the transceiver, -1 = not applicable, 0 = not known
+ SFF-8690";
+ }
+ leaf link-length-max {
+ type int32;
+ units "m";
+ default -1;
+ config false;
+ description "Indicates the maximum link length that is supported by the transceiver on the medium, which is specified in the standard referenced in TypeDefinitions::phyType::phyKind.";
+ }
+ leaf vendor-name {
+ type string;
+ default "NOT_YET_DEFINED";
+ config false;
+ description "Name of the vendor of the transceiver
+ Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::ManufacturerProperties::manufacturerName";
+ }
+ leaf vendor-oui {
+ type string;
+ default "NOT_YET_DEFINED";
+ config false;
+ description "Describes the IEEE Company identifier of the vendor of the transceiver (1st part of 802.3 ResourceTypeID)
+ 802.3 22.2.4.3.1 PHY Identifier; also referenced in 45.2.1.13 PMA/PMD package identifier
+ Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::ManufacturerProperties::manufacturerIdentifier";
+ }
+ leaf part-number {
+ type string;
+ default "NOT_YET_DEFINED";
+ config false;
+ description "802.3 22.2.4.3.1 PHY Identifier; also referenced in 45.2.1.13 PMA/PMD package identifier as six bit model number
+ Uniquely identifies the transceiver in the vendor's product lists
+ Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::EquipmentType::partTypeIdentifier";
+ }
+ leaf revision-number {
+ type string;
+ default "NOT_YET_DEFINED";
+ config false;
+ description "Identifies the revision number of the transceiver (3rd part of 802.3 ResourceTypeID)
+ 802.3 22.2.4.3.1 PHY Identifier; also referenced in 45.2.1.13 PMA/PMD package identifier as four-bit revision number
+ Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::EquipmentType::version";
+ }
+ leaf serial-number {
+ type string;
+ default "NOT_YET_DEFINED";
+ config false;
+ description "Vendor's serial number for the transceiver. 0 = not applicable
+ Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::EquipmentInstance::serialNumber";
+ }
+ leaf date-code {
+ type string;
+ default "NOT_YET_DEFINED";
+ config false;
+ description "Vendor's date code for the transceiver
+ Will be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::InvariantDetails::EquipmentInstance::manufactureDate";
+ }
+ leaf-list pmd-list {
+ type pmd-name-type;
+ config false;
+ min-elements 1;
+ description "List of Physical Medium Dependent (PMD) that can be operated
+ *** In case ordering of the signals depends on the PMD, pmdList has to be put into the datatype for the signal ordering ***";
+ }
+ list signal-ordering-list {
+ key 'signal-ordering-kind-name';
+ config false;
+ min-elements 1;
+ uses signal-ordering-type-g;
+ description "Describes the different (e.g. MDI, MDI-X) ways of ordering the signals on the physical medium";
+ }
+ leaf auto-signal-ordering-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "1 = there is a mechanism for automatically crossing over tx and rx implemented";
+ }
+ leaf short-reach-mode-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "1 = Indicates that Short Reach Mode for 10GBASE-T according to 802.3 45.2.1.64 is available";
+ }
+ leaf eee-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "1 = Indicates that Energy-Efficient Ethernet (EEE) is available at the device.";
+ }
+ leaf unidirectional-operation-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "1 = Medium Attachment Unit (MAU) able to transmit from Media Independent Interface (MII) regardless of whether the MAU has determined that a valid link has been established, 0 = MAU able to transmit from MII only when the MAU has determined that a valid link has been established
+ 802.3";
+ }
+ leaf-list supported-alarms {
+ type string;
+ config false;
+ min-elements 6;
+ description "MW IM
+ Available alarms to be listed. Mandatory:'txFault', 'rxLos', 'tempHigh', 'tempLow', 'rxLevelHigh', 'rxLevelLow'. Optional:'vccHigh', 'vccLow', 'txBiasHigh', 'txBiasLow', 'txPowerHigh', 'txPowerLow', 'laserTempHigh', 'laserTempLow', 'tecCurrentHigh', 'tecCurrentLow'. Further alarms might be added by the device. Names are to be separated by commas.";
+ }
+ description "none";
+ }
+ grouping wire-interface-problem-severity-type-g {
+ leaf problem-kind-name {
+ type string;
+ description "Name of the alarm according to WireInterface::WireInterfaceCapability::supportedAlarms";
+ }
+ leaf problem-kind-severity {
+ type severity-type;
+ default warning;
+ description "Severity of this type of alarm.";
+ }
+ description "none";
+ }
+ grouping wire-interface-current-problem-type-g {
+ leaf problem-name {
+ type string;
+ default "Problem name not specified.";
+ config false;
+ description "Name of the alarm according to WireInterface::WireInterfaceCapability::supportedAlarms";
+ }
+ uses mw-current-problem-g;
+ description "none";
+ }
+ grouping wire-interface-performance-type-g {
+ leaf es {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "802.3 30.8.1.1.13 aLineESs
+ Number of errored seconds";
+ }
+ leaf ses {
+ type int32;
+ units "s";
+ default -1;
+ config false;
+ description "802.3 30.8.1.1.12 aLineSESs
+ Number of severely errored seconds";
+ }
+ leaf symbol-error-during-carrier {
+ type int32;
+ default -1;
+ config false;
+ description "802.3 according to 30.3.2.1.5 aSymbolErrorDuringCarrier
+ Number of times when valid carrier was present and an invalid data symbol occured.";
+ }
+ leaf low-power-idle-transmitter-ms {
+ type int32;
+ units "ms";
+ default -1;
+ config false;
+ description "802.3 similar to 30.3.2.1.8 aTransmitLPIMicroseconds
+ Number of milliseconds (original counter expresses microseconds), during which the transmitter was in power save mode";
+ }
+ leaf low-power-idle-receiver-ms {
+ type int32;
+ units "ms";
+ default -1;
+ config false;
+ description "802.3 similar to 30.3.2.1.9 aReceiveLPIMicroseconds
+ Number of milliseconds (original counter expresses microseconds), during which the receiver was in power save mode";
+ }
+ description "none";
+ }
+ grouping wire-interface-current-performance-type-g {
+ container performance-data {
+ config false;
+ uses wire-interface-performance-type-g;
+ description "none";
+ }
+ uses g:otn-current-data-g;
+ description "Turns performance information into current performance information by inheriting from OTN_CurrentData.";
+ }
+ grouping wire-interface-historical-performance-type-g {
+ container performance-data {
+ config false;
+ uses wire-interface-performance-type-g;
+ description "none";
+ }
+ uses g:otn-history-data-g;
+ description "Turns performance information into historical performance information by inheriting from OTN_HistoryData.";
+ }
+
+ /***********************
+ * package object-classes
+ **********************/
+ /***********************
+ * package air-interface
+ **********************/
+ list mw-air-interface-pac {
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container air-interface-capability {
+ config false;
+ uses air-interface-capability-g;
+ description "none";
+ }
+ container air-interface-configuration {
+ uses air-interface-configuration-g;
+ description "none";
+ }
+ container air-interface-status {
+ config false;
+ uses air-interface-status-g;
+ description "none";
+ }
+ container air-interface-current-problems {
+ config false;
+ uses air-interface-current-problems-g;
+ description "none";
+ }
+ container air-interface-current-performance {
+ config false;
+ uses air-interface-current-performance-g;
+ description "none";
+ }
+ container air-interface-historical-performances {
+ config false;
+ uses air-interface-historical-performances-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping air-interface-capability-g {
+ leaf type-of-equipment {
+ type string;
+ default "Type of equipment not yet defined.";
+ config false;
+ description "This parameter indicates the equipment type. Instead of uploading the complete set of capabilities, capabilities of the same equipment type could be reused. Should be unique for a combination of modem, radio and their respective firmware.";
+ }
+ leaf tx-frequency-min {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Value of the minimum transmit frequency tunable at the air interface.";
+ }
+ leaf tx-frequency-max {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Value of the maximum transmit frequency tunable at the air interface.";
+ }
+ leaf rx-frequency-min {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Value of the minimum receive frequency tunable at the air interface.";
+ }
+ leaf rx-frequency-max {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Value of the maximum receive frequency tunable at the air interface.";
+ }
+ leaf adaptive-modulation-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case the device is capable of adaptive modulation, this field shall contain a 'true'.";
+ }
+ leaf mimo-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case the device is capable of MIMO, this field shall contain a 'true'.";
+ }
+ leaf mimo-channels {
+ type int8;
+ units "channels";
+ default 1;
+ config false;
+ description "Maximum number (n) of spatial multiplexing streams that can be conveyed by an n x n MIMO configuration.";
+ }
+ leaf alic-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case the microwave radio is capable of Adjacent Link Interference Cancelation (canceling of interference cause by transmitters located at the same site), this field shall contain a 'true'.";
+ }
+ leaf atpc-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case the microwave radio is capable of ATPC, this field shall contain a 'true'.";
+ }
+ leaf atpc-range {
+ type int8;
+ units "dB";
+ default 0;
+ config false;
+ description "Extent of the ATPC range. This value represents a device specific maximum value. The actual range of the ATPC at a specific link might be limited by the difference between configured transmit power (AirInterface::AirInterfaceConfiguration::txPower) and minimum transmit power of the device (TypeDefinitions::TransmissionModeType::txPowerMin).";
+ }
+ leaf encryption-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Shall be marked 'true', if payload encryption is available.";
+ }
+ leaf-list supported-loop-back-kind-list {
+ type loop-back-type;
+ config false;
+ min-elements 1;
+ max-elements 2;
+ description "List of supported kinds of looping back of header information to the remote site.";
+ }
+ leaf maintenance-timer-range {
+ type string;
+ units "s";
+ default "Range of the maintenance timer not yet defined.";
+ config false;
+ description "Available time periods for maintenance configurations (e.g. the loop back of microwave header information) to be described. Concrete values shall be separated by commas (e.g. '10, 60, 360'). Ranges shall be expressed as two values separated by a minus (e.g. '10-360').";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ min-elements 7;
+ description "Available alarms to be listed. Mandatory:'signalIsLost','rslIsExceeded','signalIDMismatching','temperatureIsExceeded','modemIsFaulty','radioIsFaulty' and 'modulationIsDownShifted'. Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:'signalIsLost','rslIsExceeded','temperatureIsExceeded','modemIsFaulty','radioIsFaulty' and 'modulationIsDownShifted'. Further alarms might be added by the device. Names are to be separated by commas.";
+ }
+ list supported-channel-plan-list {
+ key 'supported-channel-plan';
+ config false;
+ min-elements 1;
+ uses channel-plan-type-g;
+ description "List of channel spacing that are supported by the device.";
+ }
+ description "Describes the 'analog' capabilities of modem and transmitter of the microwave device. Value ranges of attributes are not independently (e.g. min. and max. transmit power depends on modulation). Legal combinations of values are expressed in transmissionModeTypes.";
+ }
+ grouping air-interface-configuration-g {
+ leaf air-interface-name {
+ type string;
+ default "Air interface ID not yet defined.";
+ description "Operator specific microwave link ID (often used for coding area, type of element and sequential number).";
+ }
+ leaf remote-air-interface-name {
+ type string;
+ default "Air interface ID at the remote site not yet defined.";
+ description "Name of the air interface, which belongs to the same link, at the remote site.";
+ }
+ leaf expected-signal-id {
+ type int16;
+ description "If set on '0', the receiver ignores the signal ID of the received signal. If set on any other value, the receiver exclusively synchronizes on signals with the same signal ID.";
+ }
+ leaf transmitted-signal-id {
+ type int16;
+ description "Transmitted radio signal ID for synchronizing the receiver.";
+ }
+ leaf radio-signal-id {
+ type string;
+ default "Radio signal ID not yet defined.";
+ status deprecated;
+ description "The radioSignalId is transmitted on the air interface so the remote site of the link synchronizes on the correct transmitter. The local radio MUST NOT synchronize on a radio signal with a different radioSignalId. The link ID is neither an ID necessary to span the model nor an ID referencing external data. It is just some sort of name of the link transmitted so the correct remote site can be identified in an interference situation. The value zero might be used to make the microwave to disable the link ID check.";
+ }
+ leaf tx-frequency {
+ type int32;
+ units "kHz";
+ default -1;
+ description "Center frequency of the transmit channel. The values to be configured have to exactly match the values listed in the international agreement referenced in channelPlanID. In case of automated selection of the transmit frequency this field shall describe the lowest center frequency selectable.";
+ }
+ leaf rx-frequency {
+ type int32;
+ units "kHz";
+ default -1;
+ description "Center frequency of the receive channel.";
+ }
+ leaf transmission-mode-min {
+ type core-model:universal-id;
+ description "Minimum transmission mode to be configured (in case adaptive modulation is not used, this value represents also the fixed transmission mode).";
+ }
+ leaf transmission-mode-max {
+ type core-model:universal-id;
+ description "Maximum transmission mode to be configured.";
+ }
+ leaf tx-channel-bandwidth {
+ type int32;
+ units "kHz";
+ default -1;
+ status deprecated;
+ description "Bandwidth of the transmit channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";
+ }
+ leaf rx-channel-bandwidth {
+ type int32;
+ units "kHz";
+ default -1;
+ description "Bandwidth of the receive channel. The value shall be expressed explicitly (means in kHz) not as a reference to an international agreement. The values shall be chosen from the following _list: 3.500, 7.000, 14.000, 27.500, 28.000, 29.000, 29.650, 30.000, 40.000, 50.000, 55.000, 56.000, 59.300, 60.000, 80.000, 100.000, 112.000, 120.000, 150.000, 200.000, 250.000, 500.000, 750.000, 1.000.000, 1.250.000, 1.500.000, 1.750.000, 2.000.000;";
+ }
+ leaf polarization {
+ type polarization-type;
+ default not-specified;
+ description "Allows documenting the polarization of the air interface.";
+ }
+ leaf power-is-on {
+ type boolean;
+ default true;
+ description "Power ON. Activation of the entire radio in a split mount configuration shall be expressed as a 'true'.";
+ }
+ leaf transmitter-is-on {
+ type boolean;
+ default false;
+ description "Activation of the transmitter inside the radio shall be expressed as a 'true'.";
+ }
+ leaf receiver-is-on {
+ type boolean;
+ default true;
+ description "Maintenance Feature. Activation of the receiver inside the radio shall be expressed as a 'true'. Attribute shall also be used for RX main and RX diversity squelches in case of diversity configurations.
+ ";
+ }
+ leaf tx-power {
+ type int8;
+ units "dBm";
+ default 99;
+ description "Transmit power to be configured on the microwave link. Signed Byte is required. The actually operated transmit power might be lower depending on adaptive modulation and ATPC.";
+ }
+ leaf adaptive-modulation-is-on {
+ type boolean;
+ default false;
+ description "Adaptive Modulation. Activation of adaptive modulation shall be expressed as a 'true'.";
+ }
+ leaf modulation-min {
+ type int16;
+ units "symbols";
+ default -1;
+ status deprecated;
+ description "Minimum modulation to be configured (in case adaptive modulation is not used, this value represents also the fixed modulation). The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";
+ }
+ leaf modulation-max {
+ type int16;
+ units "symbols";
+ default -1;
+ status deprecated;
+ description "Maximum modulation to be configured. The value of this field is only relevant, if Adaptive Modulation has been activated. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";
+ }
+ leaf xpic-is-on {
+ type boolean;
+ default false;
+ description "Activation of Cross Polarization Interference Cancelation shall be expressed as a 'true'. In case XPIC is not available for the current combination of channel bandwidth and modulation or the hardware in general, this parameter shall always be set to 'false'.";
+ }
+ leaf mimo-is-on {
+ type boolean;
+ default false;
+ description "Activation of Multiple Input Multiple Output (MIMO) shall be expressed as a 'true'.";
+ }
+ leaf alic-is-on {
+ type boolean;
+ default false;
+ description "Activation of Adjacent Link Interference Cancelation (ALIC) shall be expressed as a 'true'.";
+ }
+ leaf atpc-is-on {
+ type boolean;
+ default false;
+ description "ATPC. Activation of Automated Transmit Power Control shall be expressed as a 'true'.";
+ }
+ leaf atpc-thresh-upper {
+ type int16;
+ units "dBm";
+ default 99;
+ description "If the receive level is higher than the upper threshold value, the transmitter is notified to decrease transmit power.";
+ }
+ leaf atpc-thresh-lower {
+ type int16;
+ units "dBm";
+ default 99;
+ description "If the receive level is lower than the lower threshold value, the transmitter is notified to increase transmit power.";
+ }
+ leaf atpc-tx-power-min {
+ type int8;
+ units "dBm";
+ default -99;
+ description "Transmit power, which is not to be undercut, while operating ATPC.";
+ }
+ leaf auto-freq-select-is-on {
+ type boolean;
+ default false;
+ description "Activation of automatically selecting the transmit frequency in unlicensed bands shall be expressed as a 'true'.";
+ }
+ leaf auto-freq-select-range {
+ type int8;
+ units "channels";
+ default -1;
+ description "Number of transmit channels (starting at the center frequency defined in txFrequency and with channel bandwidth according to txChannelBandwidth) that define the range within the transmit frequency can automatically been chosen. ";
+ }
+ leaf modulation-is-on {
+ type boolean;
+ default true;
+ description "Maintenance Feature. De-activation of the modulation of the carrier signal for fault management shall be expressed as a 'false'.";
+ }
+ leaf encryption-is-on {
+ type boolean;
+ default false;
+ description "Activates encryption of the payload.";
+ }
+ leaf cryptographic-key {
+ type string;
+ default "Cryptographic key not yet defined.";
+ description "Key for transforming plaintext into ciphertext data.";
+ }
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list threshold-cross-alarm-list {
+ key 'g826-value-kind granularity-period';
+ max-elements 6;
+ uses threshold-cross-alarm-type-g;
+ description "List of threshold cross alarms to be configured.";
+ }
+ leaf loop-back-kind-on {
+ type loop-back-type;
+ default none;
+ description "Maintenance Feature. The currently configured type of looping back of the air interface header shall be expressed here. The received header is returned to the remote site.";
+ }
+ leaf maintenance-timer {
+ type int32;
+ units "s";
+ default -1;
+ description "Time of existence of any maintenance configuration (e.g. the loop back of microwave header information). Valid values are defined in AirInterface::AirInterfaceCapability::maintenanceTimerRange.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ min-elements 6;
+ uses air-interface-problem-severity-type-g;
+ description "Severity of the problem to be configured.";
+ }
+ description "Configuration of the radio link.";
+ }
+ grouping air-interface-status-g {
+ leaf tx-frequency-cur {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Center frequency of the currently operated transmit channel.";
+ }
+ leaf rx-frequency-cur {
+ type int32;
+ units "kHz";
+ default -1;
+ config false;
+ description "Center frequency of the currently operated receive channel.";
+ }
+ leaf tx-level-cur {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Current transmit level.";
+ }
+ leaf rx-level-cur {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Current receive level.";
+ }
+ leaf transmission-mode-cur {
+ type leafref {
+ path '/mw-air-interface-pac/air-interface-capability/supported-channel-plan-list/transmission-mode-list/transmission-mode-id';
+ }
+ config false;
+ description "Currently operated transmission mode according to definitions in Capabilities.";
+ }
+ leaf modulation-cur {
+ type int16;
+ units "symbols";
+ default -1;
+ config false;
+ status deprecated;
+ description "Currently operated modulation on transmit path. The modulation scheme shall be described by the number of states in the phase diagram (e.g. BPSK->'2' or 256QAM->'256'). Allowed values are defined in TypeDefinitions::transmissionModeType::modulationScheme.";
+ }
+ leaf code-rate-cur {
+ type int8;
+ units "%";
+ default -1;
+ config false;
+ status deprecated;
+ description "Code rate of the currently operated coding scheme (Net bit rate ? Gross bit rate ? code rate).";
+ }
+ leaf received-signal-id {
+ type int16;
+ default -1;
+ config false;
+ description "ID of the signal, which the receiver is currently synchronized on.";
+ }
+ leaf snir-cur {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Currently measured signal to (noise+interference) ratio.";
+ }
+ leaf xpd-cur {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Currently measured cross polarization discrimination.";
+ }
+ leaf rf-temp-cur {
+ type int8;
+ units "Celsius";
+ default -99;
+ config false;
+ description "Current temperature (in degree Celsius) of the radio module inside the outdoor unit.";
+ }
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
description "Time the Air Interface entered its current operational status. ";
- }\r
- leaf radio-power-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If the radio unit has power and is switched on, this shall be expressed as a 'true'.";\r
- }\r
- leaf link-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If connection is established to the remote site with the same linkID, this shall be expressed as a 'true'.";\r
- }\r
- leaf xpic-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If XPIC is currently actually working (not just configured), this shall be expressed as a 'true'.";\r
- }\r
- leaf mimo-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If MIMO is currently actually working (not just configured), this shall be expressed as a 'true'.";\r
- }\r
- leaf alic-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If Adjacent Link Interference Cancelation (ALIC) is currently actually working (not just configured), this shall be expressed as a 'true'.";\r
- }\r
- leaf atpc-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If ATPC is currently actually working (not just configured), this shall be expressed as a 'true'.";\r
- }\r
- leaf auto-freq-select-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "If automated frequency selection is currently actually working (not just configured), this shall be expressed as a 'true'.";\r
- }\r
- leaf loop-back-kind-up {\r
- type loop-back-type;\r
- default none;\r
- config false;\r
- description "The currently active (not just configured) type of looping back of the air interface header shall be expressed here. The received header is returned to the remote site.";\r
- }\r
- leaf local-end-point-id {\r
- type string;\r
- default "not-supported";\r
- config false;\r
- description "The value of the localEndPointId is a vendor specific identifier of the air interface, used by the node to discover a microwave radio link.";\r
- }\r
- leaf remote-end-point-id {\r
- type string;\r
- default "not-supported";\r
- config false;\r
- description "The value of the remoteEndPointId is a vendor specific identifier or the airinterface at the remote side, used to by the node to discover a microwave radio link.";\r
- }\r
- description "Measurements of current values on the air interface and operational status of the device.";\r
- }\r
- grouping air-interface-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses air-interface-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses air-interface-current-performance-type-g;\r
- description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
- }\r
- description "Aggregated performance information of the air interface at a particular moment.";\r
- }\r
- grouping air-interface-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses air-interface-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the air interface for a pre-defined measurement interval.";\r
- }\r
- list co-channel-group {\r
- key 'co-channel-group-id';\r
- uses co-channel-group-g;\r
- description "none";\r
- }\r
- grouping co-channel-group-g {\r
- leaf co-channel-group-id {\r
- type core-model:universal-id;\r
- description "none";\r
- }\r
- leaf-list air-interface-list {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:uuid';\r
- }\r
- description "List of air interfaces, which are part of the co-channel (XPIC, MIMO, ALIC) group.";\r
- }\r
- leaf sort-of-co-channel-group {\r
- type string;\r
- default "Kind of co-channel group not specified.";\r
- description "Type of group of air interfaces with the same transmit and receive frequency. The values shall be chosen from the following _list:'XPIC', 'MIMO', 'ALIC';";\r
- }\r
- leaf-list logical-termination-point {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:uuid';\r
- }\r
- status deprecated;\r
- description "none";\r
- }\r
- description "Required for configuring XPIC, MIMO and ALIC.";\r
- }\r
-\r
- /***********************\r
- * package air-interface-hsb\r
- **********************/ \r
- list mw-air-interface-hsb-end-point-pac {\r
- key 'endpoint';\r
- leaf role {\r
- type role-type;\r
- default working;\r
- description "none";\r
- }\r
- leaf endpoint {\r
- type leafref {\r
- path '/core-model:forwarding-construct/core-model:fc-port/core-model:uuid';\r
- }\r
- description "none";\r
- }\r
- description "The EndPoint (EP) object class models the access to the FC function. Each EndPoint instance has a role (e.g., working, protection, protected, hub, spoke, leaf, root, etc.) with respect to the FC function. The association of the FC to LTPs is made via EndPoints (essentially the ports of the FC) where each EndPoint (EP) of the FC has a role in the context of the FC. The traffic forwarding between the associated End PointsEPs of the FC depends upon the type of FC and may be associated with FCSwitch object instances. In cases where there is protection conveys the protecting role of the access to the FC. The EP replaces the Protection Unit of a traditional protection model. It represents a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.";\r
- }\r
- list mw-air-interface-hsb-fc-switch-pac {\r
- key 'fcswitch';\r
- leaf prot-type {\r
- type protection-type;\r
- default hsb;\r
- description "Indicates the protection scheme that is used for the ProtectionGroup.";\r
- }\r
- leaf air-interface-hsb-configuration-is-faulty-severity {\r
- type severity-type;\r
- default warning;\r
- description "The level of severity of an airInterfaceHsbConfigurationIsFaulty alarm shall be chosen from an enumeration.";\r
- }\r
- leaf air-interface-hsb-is-partly-down-severity {\r
- type severity-type;\r
- default warning;\r
- description "The level of severity for one link out of the HSB configuration being down shall be chosen from an enumeration.";\r
- }\r
- leaf air-interface-hsb-is-down-severity {\r
- type severity-type;\r
- default warning;\r
- description "The level of severity of the total HSB configuration being down shall be chosen from an enumeration.";\r
- }\r
- leaf fcswitch {\r
- type leafref {\r
- path '/core-model:forwarding-construct/core-model:fc-switch/core-model:uuid';\r
- }\r
- description "none";\r
- }\r
- description "Represents and defines a protection switch structure encapsulated in the forwarding construct. Essentially performs the function of Protection Group. Associates to 2 or more Endpoints each playing the role of a Protection Unit. One or more protection EndPoints (standby/backup) provide protection for one or more working (i.e. regular/main/preferred) Endpoints where either protection or working can feed one or more protected Endpoint. May be used in revertive or non-revertive (symmetric) mode. When in revertive mode may define waitToRestore time. May be used in one of several modes including source switch, destination switched, source and destination switched etc (covering cases such as 1+1 ane 1:1). May be lockout (prevented from switching), force switched or manual switched. Will indicate switch state and change of state.";\r
- }\r
-\r
- /***********************\r
- * package air-interface-diversity\r
- **********************/ \r
- list mw-air-interface-diversity-pac {\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container air-interface-diversity-capability {\r
- config false;\r
- uses air-interface-diversity-capability-g;\r
- description "none";\r
- }\r
- container air-interface-diversity-configuration {\r
- uses air-interface-diversity-configuration-g;\r
- description "none";\r
- }\r
- container air-interface-diversity-status {\r
- config false;\r
- uses air-interface-diversity-status-g;\r
- description "none";\r
- }\r
- container air-interface-diversity-current-problems {\r
- config false;\r
- uses air-interface-diversity-current-problems-g;\r
- description "none";\r
- }\r
- container air-interface-diversity-current-performance {\r
- config false;\r
- uses air-interface-diversity-current-performance-g;\r
- description "none";\r
- }\r
- container air-interface-diversity-historical-performances {\r
- config false;\r
- uses air-interface-diversity-historical-performances-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-capability-g {\r
- list available-kinds-of-diversity {\r
- key 'diversity-name';\r
- config false;\r
- uses diversity-type-g;\r
- description "Available types of diversity to be listed.";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- min-elements 2;\r
- description "Available alarms to be listed. Mandatory:'airInterfaceDiversityConfigurationIsPartlyDown' (at least one air interface is down, but not all of them) and 'airInterfaceDiversityConfigurationIsDown' (all air interfaces are down). Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:'airInterfaceDiversityConfigurationIsPartlyDown' (at least one air interface is down, but not all of them) and 'airInterfaceDiversityConfigurationIsDown' (all air interfaces are down). Further alarms might be added by the device. Names are to be separated by commas.";\r
- }\r
- description "Describes the capabilities in implementing different types of air interface diversity.";\r
- }\r
- grouping air-interface-diversity-configuration-g {\r
- container air-interface-diversity {\r
- uses diversity-type-g;\r
- description "Type of air interface diversity configured at the link.";\r
- }\r
- leaf-list air-interface-ltp-list {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:uuid';\r
- }\r
- min-elements 2;\r
- description "_multiplicity:2-ThisAirInterfaceDiversity::AirInterfaceDiversityConfiguration::airInterfaceDiversity::diversityType::numberOfAirInterfacesMax";\r
- }\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list threshold-cross-alarm-list {\r
- key 'g826-value-kind granularity-period';\r
- max-elements 6;\r
- uses threshold-cross-alarm-type-g;\r
- description "List of threshold cross alarms to be configured.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- min-elements 3;\r
- uses air-interface-diversity-problem-severity-type-g;\r
- description "Severity of the problem to be configured.";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-status-g {\r
- leaf snir-cur {\r
- type int8;\r
- units "dB";\r
- default -99;\r
- config false;\r
- description "Currently measured signal to (noise+interference) ratio of the combined signals.";\r
- }\r
- leaf air-interface-diversity-status {\r
- type air-interface-diversity-status-type;\r
- default group-down;\r
- config false;\r
- description "Status of the air interface bundle. ";\r
- }\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
+ }
+ leaf radio-power-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If the radio unit has power and is switched on, this shall be expressed as a 'true'.";
+ }
+ leaf link-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If connection is established to the remote site with the same linkID, this shall be expressed as a 'true'.";
+ }
+ leaf xpic-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If XPIC is currently actually working (not just configured), this shall be expressed as a 'true'.";
+ }
+ leaf mimo-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If MIMO is currently actually working (not just configured), this shall be expressed as a 'true'.";
+ }
+ leaf alic-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If Adjacent Link Interference Cancelation (ALIC) is currently actually working (not just configured), this shall be expressed as a 'true'.";
+ }
+ leaf atpc-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If ATPC is currently actually working (not just configured), this shall be expressed as a 'true'.";
+ }
+ leaf auto-freq-select-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "If automated frequency selection is currently actually working (not just configured), this shall be expressed as a 'true'.";
+ }
+ leaf loop-back-kind-up {
+ type loop-back-type;
+ default none;
+ config false;
+ description "The currently active (not just configured) type of looping back of the air interface header shall be expressed here. The received header is returned to the remote site.";
+ }
+ leaf local-end-point-id {
+ type string;
+ default "not-supported";
+ config false;
+ description "The value of the localEndPointId is a vendor specific identifier of the air interface, used by the node to discover a microwave radio link.";
+ }
+ leaf remote-end-point-id {
+ type string;
+ default "not-supported";
+ config false;
+ description "The value of the remoteEndPointId is a vendor specific identifier or the airinterface at the remote side, used to by the node to discover a microwave radio link.";
+ }
+ description "Measurements of current values on the air interface and operational status of the device.";
+ }
+ grouping air-interface-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses air-interface-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping air-interface-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses air-interface-current-performance-type-g;
+ description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";
+ }
+ description "Aggregated performance information of the air interface at a particular moment.";
+ }
+ grouping air-interface-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses air-interface-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the air interface for a pre-defined measurement interval.";
+ }
+ list co-channel-group {
+ key 'co-channel-group-id';
+ uses co-channel-group-g;
+ description "none";
+ }
+ grouping co-channel-group-g {
+ leaf co-channel-group-id {
+ type core-model:universal-id;
+ description "none";
+ }
+ leaf-list air-interface-list {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:uuid';
+ }
+ description "List of air interfaces, which are part of the co-channel (XPIC, MIMO, ALIC) group.";
+ }
+ leaf sort-of-co-channel-group {
+ type string;
+ default "Kind of co-channel group not specified.";
+ description "Type of group of air interfaces with the same transmit and receive frequency. The values shall be chosen from the following _list:'XPIC', 'MIMO', 'ALIC';";
+ }
+ leaf-list logical-termination-point {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:uuid';
+ }
+ status deprecated;
+ description "none";
+ }
+ description "Required for configuring XPIC, MIMO and ALIC.";
+ }
+
+ /***********************
+ * package air-interface-hsb
+ **********************/
+ list mw-air-interface-hsb-end-point-pac {
+ key 'endpoint';
+ leaf role {
+ type role-type;
+ default working;
+ description "none";
+ }
+ leaf endpoint {
+ type leafref {
+ path '/core-model:forwarding-construct/core-model:fc-port/core-model:uuid';
+ }
+ description "none";
+ }
+ description "The EndPoint (EP) object class models the access to the FC function. Each EndPoint instance has a role (e.g., working, protection, protected, hub, spoke, leaf, root, etc.) with respect to the FC function. The association of the FC to LTPs is made via EndPoints (essentially the ports of the FC) where each EndPoint (EP) of the FC has a role in the context of the FC. The traffic forwarding between the associated End PointsEPs of the FC depends upon the type of FC and may be associated with FCSwitch object instances. In cases where there is protection conveys the protecting role of the access to the FC. The EP replaces the Protection Unit of a traditional protection model. It represents a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.";
+ }
+ list mw-air-interface-hsb-fc-switch-pac {
+ key 'fcswitch';
+ leaf prot-type {
+ type protection-type;
+ default hsb;
+ description "Indicates the protection scheme that is used for the ProtectionGroup.";
+ }
+ leaf air-interface-hsb-configuration-is-faulty-severity {
+ type severity-type;
+ default warning;
+ description "The level of severity of an airInterfaceHsbConfigurationIsFaulty alarm shall be chosen from an enumeration.";
+ }
+ leaf air-interface-hsb-is-partly-down-severity {
+ type severity-type;
+ default warning;
+ description "The level of severity for one link out of the HSB configuration being down shall be chosen from an enumeration.";
+ }
+ leaf air-interface-hsb-is-down-severity {
+ type severity-type;
+ default warning;
+ description "The level of severity of the total HSB configuration being down shall be chosen from an enumeration.";
+ }
+ leaf fcswitch {
+ type leafref {
+ path '/core-model:forwarding-construct/core-model:fc-switch/core-model:uuid';
+ }
+ description "none";
+ }
+ description "Represents and defines a protection switch structure encapsulated in the forwarding construct. Essentially performs the function of Protection Group. Associates to 2 or more Endpoints each playing the role of a Protection Unit. One or more protection EndPoints (standby/backup) provide protection for one or more working (i.e. regular/main/preferred) Endpoints where either protection or working can feed one or more protected Endpoint. May be used in revertive or non-revertive (symmetric) mode. When in revertive mode may define waitToRestore time. May be used in one of several modes including source switch, destination switched, source and destination switched etc (covering cases such as 1+1 ane 1:1). May be lockout (prevented from switching), force switched or manual switched. Will indicate switch state and change of state.";
+ }
+
+ /***********************
+ * package air-interface-diversity
+ **********************/
+ list mw-air-interface-diversity-pac {
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container air-interface-diversity-capability {
+ config false;
+ uses air-interface-diversity-capability-g;
+ description "none";
+ }
+ container air-interface-diversity-configuration {
+ uses air-interface-diversity-configuration-g;
+ description "none";
+ }
+ container air-interface-diversity-status {
+ config false;
+ uses air-interface-diversity-status-g;
+ description "none";
+ }
+ container air-interface-diversity-current-problems {
+ config false;
+ uses air-interface-diversity-current-problems-g;
+ description "none";
+ }
+ container air-interface-diversity-current-performance {
+ config false;
+ uses air-interface-diversity-current-performance-g;
+ description "none";
+ }
+ container air-interface-diversity-historical-performances {
+ config false;
+ uses air-interface-diversity-historical-performances-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-capability-g {
+ list available-kinds-of-diversity {
+ key 'diversity-name';
+ config false;
+ uses diversity-type-g;
+ description "Available types of diversity to be listed.";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ min-elements 2;
+ description "Available alarms to be listed. Mandatory:'airInterfaceDiversityConfigurationIsPartlyDown' (at least one air interface is down, but not all of them) and 'airInterfaceDiversityConfigurationIsDown' (all air interfaces are down). Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:'airInterfaceDiversityConfigurationIsPartlyDown' (at least one air interface is down, but not all of them) and 'airInterfaceDiversityConfigurationIsDown' (all air interfaces are down). Further alarms might be added by the device. Names are to be separated by commas.";
+ }
+ description "Describes the capabilities in implementing different types of air interface diversity.";
+ }
+ grouping air-interface-diversity-configuration-g {
+ container air-interface-diversity {
+ uses diversity-type-g;
+ description "Type of air interface diversity configured at the link.";
+ }
+ leaf-list air-interface-ltp-list {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:uuid';
+ }
+ min-elements 2;
+ description "_multiplicity:2-ThisAirInterfaceDiversity::AirInterfaceDiversityConfiguration::airInterfaceDiversity::diversityType::numberOfAirInterfacesMax";
+ }
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list threshold-cross-alarm-list {
+ key 'g826-value-kind granularity-period';
+ max-elements 6;
+ uses threshold-cross-alarm-type-g;
+ description "List of threshold cross alarms to be configured.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ min-elements 3;
+ uses air-interface-diversity-problem-severity-type-g;
+ description "Severity of the problem to be configured.";
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-status-g {
+ leaf snir-cur {
+ type int8;
+ units "dB";
+ default -99;
+ config false;
+ description "Currently measured signal to (noise+interference) ratio of the combined signals.";
+ }
+ leaf air-interface-diversity-status {
+ type air-interface-diversity-status-type;
+ default group-down;
+ config false;
+ description "Status of the air interface bundle. ";
+ }
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
description "Time the Diversity Group entered its current operational status. ";
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses air-interface-diversity-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping air-interface-diversity-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses air-interface-diversity-current-performance-type-g;\r
- description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
- }\r
- description "Aggregated performance information of the air interface diversity configuration at a particular moment.";\r
- }\r
- grouping air-interface-diversity-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses air-interface-diversity-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the air interface diversity configuration for a pre-defined measurement interval.";\r
- }\r
-\r
- /***********************\r
- * package pure-ethernet-structure\r
- **********************/ \r
- list mw-pure-ethernet-structure-pac {\r
- if-feature pure-ethernet;\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container pure-ethernet-structure-capability {\r
- config false;\r
- uses pure-ethernet-structure-capability-g;\r
- description "none";\r
- }\r
- container pure-ethernet-structure-configuration {\r
- uses pure-ethernet-structure-configuration-g;\r
- description "none";\r
- }\r
- container pure-ethernet-structure-status {\r
- config false;\r
- uses pure-ethernet-structure-status-g;\r
- description "none";\r
- }\r
- container pure-ethernet-structure-current-problems {\r
- config false;\r
- uses pure-ethernet-structure-current-problems-g;\r
- description "none";\r
- }\r
- container pure-ethernet-structure-current-performance {\r
- config false;\r
- uses pure-ethernet-structure-current-performance-g;\r
- description "none";\r
- }\r
- container pure-ethernet-structure-historical-performances {\r
- config false;\r
- uses pure-ethernet-structure-historical-performances-g;\r
- description "none";\r
- }\r
- description "The pureEthernetStructure_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting Ethernet traffic only.";\r
- }\r
- grouping pure-ethernet-structure-capability-g {\r
- leaf structure-id {\r
- type core-model:universal-id;\r
- config false;\r
- description "Identifies the Structure for bundling and container.";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the device.";\r
- }\r
- description "Describes the logical structuring of the physical capacity provided by a pure Ethernet microwave device. Segmentation is not available. No fixed segment size. No TDM transport.";\r
- }\r
- grouping pure-ethernet-structure-configuration-g {\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- uses structure-problem-severity-type-g;\r
- description "Severity of the type of problem to be configured.";\r
- }\r
- description "none";\r
- }\r
- grouping pure-ethernet-structure-status-g {\r
- container segment-status-list {\r
- config false;\r
- uses segment-status-type-g;\r
- description "Status of the Ethernet transport segment. Always just one segment.";\r
- }\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses air-interface-diversity-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping air-interface-diversity-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses air-interface-diversity-current-performance-type-g;
+ description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";
+ }
+ description "Aggregated performance information of the air interface diversity configuration at a particular moment.";
+ }
+ grouping air-interface-diversity-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses air-interface-diversity-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the air interface diversity configuration for a pre-defined measurement interval.";
+ }
+
+ /***********************
+ * package pure-ethernet-structure
+ **********************/
+ list mw-pure-ethernet-structure-pac {
+ if-feature pure-ethernet;
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container pure-ethernet-structure-capability {
+ config false;
+ uses pure-ethernet-structure-capability-g;
+ description "none";
+ }
+ container pure-ethernet-structure-configuration {
+ uses pure-ethernet-structure-configuration-g;
+ description "none";
+ }
+ container pure-ethernet-structure-status {
+ config false;
+ uses pure-ethernet-structure-status-g;
+ description "none";
+ }
+ container pure-ethernet-structure-current-problems {
+ config false;
+ uses pure-ethernet-structure-current-problems-g;
+ description "none";
+ }
+ container pure-ethernet-structure-current-performance {
+ config false;
+ uses pure-ethernet-structure-current-performance-g;
+ description "none";
+ }
+ container pure-ethernet-structure-historical-performances {
+ config false;
+ uses pure-ethernet-structure-historical-performances-g;
+ description "none";
+ }
+ description "The pureEthernetStructure_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting Ethernet traffic only.";
+ }
+ grouping pure-ethernet-structure-capability-g {
+ leaf structure-id {
+ type core-model:universal-id;
+ config false;
+ description "Identifies the Structure for bundling and container.";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the device.";
+ }
+ description "Describes the logical structuring of the physical capacity provided by a pure Ethernet microwave device. Segmentation is not available. No fixed segment size. No TDM transport.";
+ }
+ grouping pure-ethernet-structure-configuration-g {
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ uses structure-problem-severity-type-g;
+ description "Severity of the type of problem to be configured.";
+ }
+ description "none";
+ }
+ grouping pure-ethernet-structure-status-g {
+ container segment-status-list {
+ config false;
+ uses segment-status-type-g;
+ description "Status of the Ethernet transport segment. Always just one segment.";
+ }
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
description "Time and date of the last update of the status information. ";
- }\r
- description "none";\r
- }\r
- grouping pure-ethernet-structure-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses structure-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping pure-ethernet-structure-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses structure-current-performance-type-g;\r
- description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
- }\r
- description "Aggregated performance information of the structure of an pure Ethernet microwave at a particular moment.";\r
- }\r
- grouping pure-ethernet-structure-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses structure-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the structure of an pure Ethernet microwave for a pre-defined measurement interval.";\r
- }\r
- feature pure-ethernet {\r
- description "Feature 'pure-ethernet' is mandatory for device types transporting pure Ethernet.";\r
- }\r
-\r
- /***********************\r
- * package hybrid-mw-structure\r
- **********************/ \r
- list mw-hybrid-mw-structure-pac {\r
- if-feature hybrid-microwave;\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container hybrid-mw-structure-capability {\r
- config false;\r
- uses hybrid-mw-structure-capability-g;\r
- description "none";\r
- }\r
- container hybrid-mw-structure-configuration {\r
- uses hybrid-mw-structure-configuration-g;\r
- description "none";\r
- }\r
- container hybrid-mw-structure-status {\r
- config false;\r
- uses hybrid-mw-structure-status-g;\r
- description "none";\r
- }\r
- container hybrid-mw-structure-current-problems {\r
- config false;\r
- uses hybrid-mw-structure-current-problems-g;\r
- description "none";\r
- }\r
- container hybrid-mw-structure-current-performance {\r
- config false;\r
- uses hybrid-mw-structure-current-performance-g;\r
- description "none";\r
- }\r
- container hybrid-mw-structure-historical-performances {\r
- config false;\r
- uses hybrid-mw-structure-historical-performances-g;\r
- description "none";\r
- }\r
- description "The HybridMwStructure_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM and Ethernet traffic.";\r
- }\r
- grouping hybrid-mw-structure-capability-g {\r
- leaf structure-id {\r
- type core-model:universal-id;\r
- config false;\r
- description "Identifies the Structure for bundling and container.";\r
- }\r
- list supported-tdm-structure-types-list {\r
- key 'tdm-structure-name';\r
- config false;\r
- min-elements 1;\r
- uses tdm-structure-type-g;\r
- description "Lists the TDM frame types that are supported.";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the device.";\r
- }\r
- description "Describes the logical structuring of the physical capacity provided by a hybrid microwave device (TDM + Ethernet). Segmentation is available. TDM transport is available.";\r
- }\r
- grouping hybrid-mw-structure-configuration-g {\r
- container structure-kind {\r
- uses tdm-structure-type-g;\r
- description "TDM frame to be applied.";\r
- }\r
- container structure-type {\r
- uses tdm-structure-type-g;\r
- status deprecated;\r
- description "TDM frame to be applied.";\r
- }\r
- leaf number-of-tdm-segments-to-be-reserved {\r
- type int16;\r
- default -1;\r
- description "Allows to configure the number of segments reserved for TDM frames of the type specified in HybridMwStructure::HybridMwStructureConfiguration::structureType";\r
- }\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- uses structure-problem-severity-type-g;\r
- description "Severity of the type of problem to be configured.";\r
- }\r
- description "none";\r
- }\r
- grouping hybrid-mw-structure-status-g {\r
- list segment-status-list {\r
- key 'segment-status-type-id';\r
- config false;\r
- uses segment-status-type-g;\r
- description "Status of each segment (all TDM and one Ethernet). Multiplicity = HybridMwStructure::StructureConfiguration::tdmReservedNumberOfSegments + 1";\r
- }\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
+ }
+ description "none";
+ }
+ grouping pure-ethernet-structure-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses structure-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping pure-ethernet-structure-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses structure-current-performance-type-g;
+ description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";
+ }
+ description "Aggregated performance information of the structure of an pure Ethernet microwave at a particular moment.";
+ }
+ grouping pure-ethernet-structure-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses structure-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the structure of an pure Ethernet microwave for a pre-defined measurement interval.";
+ }
+ feature pure-ethernet {
+ description "Feature 'pure-ethernet' is mandatory for device types transporting pure Ethernet.";
+ }
+
+ /***********************
+ * package hybrid-mw-structure
+ **********************/
+ list mw-hybrid-mw-structure-pac {
+ if-feature hybrid-microwave;
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container hybrid-mw-structure-capability {
+ config false;
+ uses hybrid-mw-structure-capability-g;
+ description "none";
+ }
+ container hybrid-mw-structure-configuration {
+ uses hybrid-mw-structure-configuration-g;
+ description "none";
+ }
+ container hybrid-mw-structure-status {
+ config false;
+ uses hybrid-mw-structure-status-g;
+ description "none";
+ }
+ container hybrid-mw-structure-current-problems {
+ config false;
+ uses hybrid-mw-structure-current-problems-g;
+ description "none";
+ }
+ container hybrid-mw-structure-current-performance {
+ config false;
+ uses hybrid-mw-structure-current-performance-g;
+ description "none";
+ }
+ container hybrid-mw-structure-historical-performances {
+ config false;
+ uses hybrid-mw-structure-historical-performances-g;
+ description "none";
+ }
+ description "The HybridMwStructure_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM and Ethernet traffic.";
+ }
+ grouping hybrid-mw-structure-capability-g {
+ leaf structure-id {
+ type core-model:universal-id;
+ config false;
+ description "Identifies the Structure for bundling and container.";
+ }
+ list supported-tdm-structure-types-list {
+ key 'tdm-structure-name';
+ config false;
+ min-elements 1;
+ uses tdm-structure-type-g;
+ description "Lists the TDM frame types that are supported.";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:non. Names are to be separated by commas. Further alarms might be added by the device.";
+ }
+ description "Describes the logical structuring of the physical capacity provided by a hybrid microwave device (TDM + Ethernet). Segmentation is available. TDM transport is available.";
+ }
+ grouping hybrid-mw-structure-configuration-g {
+ container structure-kind {
+ uses tdm-structure-type-g;
+ description "TDM frame to be applied.";
+ }
+ container structure-type {
+ uses tdm-structure-type-g;
+ status deprecated;
+ description "TDM frame to be applied.";
+ }
+ leaf number-of-tdm-segments-to-be-reserved {
+ type int16;
+ default -1;
+ description "Allows to configure the number of segments reserved for TDM frames of the type specified in HybridMwStructure::HybridMwStructureConfiguration::structureType";
+ }
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ uses structure-problem-severity-type-g;
+ description "Severity of the type of problem to be configured.";
+ }
+ description "none";
+ }
+ grouping hybrid-mw-structure-status-g {
+ list segment-status-list {
+ key 'segment-status-type-id';
+ config false;
+ uses segment-status-type-g;
+ description "Status of each segment (all TDM and one Ethernet). Multiplicity = HybridMwStructure::StructureConfiguration::tdmReservedNumberOfSegments + 1";
+ }
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
description "Time and date of the last update of the status information. ";
- }\r
- description "none";\r
- }\r
- grouping hybrid-mw-structure-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses structure-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping hybrid-mw-structure-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses structure-current-performance-type-g;\r
- description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
- }\r
- description "Aggregated performance information of the structure of a hybrid microwave at a particular moment.";\r
- }\r
- grouping hybrid-mw-structure-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses structure-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the structure of a hybrid microwave for a pre-defined measurement interval.";\r
- }\r
- feature hybrid-microwave {\r
- description "Feature 'hybrid-microwave' is mandatory for device types transporting Ethernet + TDM.";\r
- }\r
-\r
- /***********************\r
- * package ethernet-container\r
- **********************/ \r
- list mw-ethernet-container-pac {\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container ethernet-container-capability {\r
- config false;\r
- uses ethernet-container-capability-g;\r
- description "none";\r
- }\r
- container ethernet-container-configuration {\r
- uses ethernet-container-configuration-g;\r
- description "none";\r
- }\r
- container ethernet-container-status {\r
- config false;\r
- uses ethernet-container-status-g;\r
- description "none";\r
- }\r
- container ethernet-container-current-problems {\r
- config false;\r
- uses ethernet-container-current-problems-g;\r
- description "none";\r
- }\r
- container ethernet-container-current-performance {\r
- config false;\r
- uses ethernet-container-current-performance-g;\r
- description "none";\r
- }\r
- container ethernet-container-historical-performances {\r
- config false;\r
- uses ethernet-container-historical-performances-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping ethernet-container-capability-g {\r
- leaf bundling-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "This attribute has to be set on 'true', if the device allows combining resources from several air interfaces for transporting this Ethernet container.";\r
- }\r
- leaf packet-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "In case packet compression can be activated, but not configured to a certain type, packetCompressionAvail shall be set on 'true', but none of the compression level specific booleans.";\r
- }\r
- leaf layer2-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on layer 2 available at the device.";\r
- }\r
- leaf vlan-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on VLAN layer available at the device.";\r
- }\r
- leaf q-in-q-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on layer of a second VLAN available at the device.";\r
- }\r
- leaf mpls-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on mpls layer available at the device.";\r
- }\r
- leaf ipv4-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on layer 3 for IPv4 available at the device.";\r
- }\r
- leaf ipv6-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on layer 3 for IPv6 available at the device.";\r
- }\r
- leaf layer4-compression-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Packet compression on layer 4 (TCP and UDP header) available at the device.";\r
- }\r
- leaf encryption-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Shall be marked 'true', if Ethernet payload encryption is available.";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- min-elements 2;\r
- description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the device.";\r
- }\r
- description "none";\r
- }\r
- grouping ethernet-container-configuration-g {\r
- leaf container-id {\r
- type string;\r
- default "No Ethernet Flow associated yet.";\r
- description "ContainterID in Netconf must be the same as EthernetPortID in OpenFlow so a connection can be made between the two items, which separately exist in the controller.";\r
- }\r
- list segments-id-list {\r
- key 'structure-id-ref segment-id-ref';\r
- min-elements 1;\r
- uses segment-id-type-g;\r
- description "Lists the segments used for transporting this Ethernet container. In case EthernetContainer::ContainerCapability::bundlingIsAvail==0, all TypeDefinitions::segmentIdType::structureId must be identical in the list.";\r
- }\r
- leaf packet-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "In case packet compression is activated, but no type is activated, it is assumed that the device chooses the optimum.";\r
- }\r
- leaf layer2-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on layer 2 configured at the device.";\r
- }\r
- leaf vlan-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on VLAN layer configured at the device.";\r
- }\r
- leaf q-in-q-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on layer of a second VLAN configured at the device.";\r
- }\r
- leaf mpls-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on MPLS layer configured at the device.";\r
- }\r
- leaf ipv4-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on layer 3 for IPv4 configured at the device.";\r
- }\r
- leaf ipv6-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on layer 3 for IPv6 configured at the device.";\r
- }\r
- leaf layer4-compression-is-on {\r
- type boolean;\r
- default false;\r
- description "Packet compression on layer 4 (TCP and UDP header) configured at the device.";\r
- }\r
- leaf encryption-is-on {\r
- type boolean;\r
- default false;\r
- description "Activates encryption of the Ethernet payload.";\r
- }\r
- leaf cryptographic-key {\r
- type string;\r
- default "Cryptographic key not yet defined.";\r
- description "Key for transforming plaintext into cipher text data.";\r
- }\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- min-elements 2;\r
- uses container-problem-severity-type-g;\r
- description "Severity of the problem to be configured.";\r
- }\r
- description "none";\r
- }\r
- grouping ethernet-container-status-g {\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
+ }
+ description "none";
+ }
+ grouping hybrid-mw-structure-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses structure-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping hybrid-mw-structure-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses structure-current-performance-type-g;
+ description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";
+ }
+ description "Aggregated performance information of the structure of a hybrid microwave at a particular moment.";
+ }
+ grouping hybrid-mw-structure-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses structure-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the structure of a hybrid microwave for a pre-defined measurement interval.";
+ }
+ feature hybrid-microwave {
+ description "Feature 'hybrid-microwave' is mandatory for device types transporting Ethernet + TDM.";
+ }
+
+ /***********************
+ * package ethernet-container
+ **********************/
+ list mw-ethernet-container-pac {
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container ethernet-container-capability {
+ config false;
+ uses ethernet-container-capability-g;
+ description "none";
+ }
+ container ethernet-container-configuration {
+ uses ethernet-container-configuration-g;
+ description "none";
+ }
+ container ethernet-container-status {
+ config false;
+ uses ethernet-container-status-g;
+ description "none";
+ }
+ container ethernet-container-current-problems {
+ config false;
+ uses ethernet-container-current-problems-g;
+ description "none";
+ }
+ container ethernet-container-current-performance {
+ config false;
+ uses ethernet-container-current-performance-g;
+ description "none";
+ }
+ container ethernet-container-historical-performances {
+ config false;
+ uses ethernet-container-historical-performances-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping ethernet-container-capability-g {
+ leaf bundling-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "This attribute has to be set on 'true', if the device allows combining resources from several air interfaces for transporting this Ethernet container.";
+ }
+ leaf packet-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "In case packet compression can be activated, but not configured to a certain type, packetCompressionAvail shall be set on 'true', but none of the compression level specific booleans.";
+ }
+ leaf layer2-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on layer 2 available at the device.";
+ }
+ leaf vlan-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on VLAN layer available at the device.";
+ }
+ leaf q-in-q-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on layer of a second VLAN available at the device.";
+ }
+ leaf mpls-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on mpls layer available at the device.";
+ }
+ leaf ipv4-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on layer 3 for IPv4 available at the device.";
+ }
+ leaf ipv6-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on layer 3 for IPv6 available at the device.";
+ }
+ leaf layer4-compression-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Packet compression on layer 4 (TCP and UDP header) available at the device.";
+ }
+ leaf encryption-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Shall be marked 'true', if Ethernet payload encryption is available.";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ min-elements 2;
+ description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the device.";
+ }
+ description "none";
+ }
+ grouping ethernet-container-configuration-g {
+ leaf container-id {
+ type string;
+ default "No Ethernet Flow associated yet.";
+ description "ContainterID in Netconf must be the same as EthernetPortID in OpenFlow so a connection can be made between the two items, which separately exist in the controller.";
+ }
+ list segments-id-list {
+ key 'structure-id-ref segment-id-ref';
+ min-elements 1;
+ uses segment-id-type-g;
+ description "Lists the segments used for transporting this Ethernet container. In case EthernetContainer::ContainerCapability::bundlingIsAvail==0, all TypeDefinitions::segmentIdType::structureId must be identical in the list.";
+ }
+ leaf packet-compression-is-on {
+ type boolean;
+ default false;
+ description "In case packet compression is activated, but no type is activated, it is assumed that the device chooses the optimum.";
+ }
+ leaf layer2-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on layer 2 configured at the device.";
+ }
+ leaf vlan-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on VLAN layer configured at the device.";
+ }
+ leaf q-in-q-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on layer of a second VLAN configured at the device.";
+ }
+ leaf mpls-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on MPLS layer configured at the device.";
+ }
+ leaf ipv4-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on layer 3 for IPv4 configured at the device.";
+ }
+ leaf ipv6-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on layer 3 for IPv6 configured at the device.";
+ }
+ leaf layer4-compression-is-on {
+ type boolean;
+ default false;
+ description "Packet compression on layer 4 (TCP and UDP header) configured at the device.";
+ }
+ leaf encryption-is-on {
+ type boolean;
+ default false;
+ description "Activates encryption of the Ethernet payload.";
+ }
+ leaf cryptographic-key {
+ type string;
+ default "Cryptographic key not yet defined.";
+ description "Key for transforming plaintext into cipher text data.";
+ }
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ min-elements 2;
+ uses container-problem-severity-type-g;
+ description "Severity of the problem to be configured.";
+ }
+ description "none";
+ }
+ grouping ethernet-container-status-g {
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
description "Time the Container entered its current operational status. ";
- }\r
- description "none";\r
- }\r
- grouping ethernet-container-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses container-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping ethernet-container-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses container-current-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the Ethernet container at a particular moment.";\r
- }\r
- grouping ethernet-container-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses container-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the Ethernet container for a pre-defined measurement interval.";\r
- }\r
-\r
- /***********************\r
- * package tdm-container\r
- **********************/ \r
- list mw-tdm-container-pac {\r
- if-feature hybrid-microwave;\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container tdm-container-capability {\r
- config false;\r
- uses tdm-container-capability-g;\r
- description "none";\r
- }\r
- container tdm-container-configuration {\r
- uses tdm-container-configuration-g;\r
- description "none";\r
- }\r
- container tdm-container-status {\r
- config false;\r
- uses tdm-container-status-g;\r
- description "none";\r
- }\r
- container tdm-container-current-problems {\r
- config false;\r
- uses tdm-container-current-problems-g;\r
- description "none";\r
- }\r
- container tdm-container-current-performance {\r
- config false;\r
- uses tdm-container-current-performance-g;\r
- description "none";\r
- }\r
- container tdm-container-historical-performances {\r
- config false;\r
- uses tdm-container-historical-performances-g;\r
- description "none";\r
- }\r
- description "The TdmContainer_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM traffic.";\r
- }\r
- grouping tdm-container-capability-g {\r
- list supported-tdm-container-types-list {\r
- key 'tdm-container-name';\r
- config false;\r
- min-elements 1;\r
- uses tdm-container-type-g;\r
- description "Lists the TDM containers that are supported.";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- min-elements 2;\r
- description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the vendor.";\r
- }\r
- leaf supported-alarms {\r
- type string;\r
- default "Supported alarms not yet defined.";\r
- config false;\r
- status deprecated;\r
- description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the device.";\r
- }\r
- description "Bundling is not available.";\r
- }\r
- grouping tdm-container-configuration-g {\r
- leaf container-id {\r
- type string;\r
- default "No TDM Flow associated yet.";\r
- description "ContainterID in Netconf must be the same as TDM Flow ID so a connection can be made between the two items, which separately exist in the controller.";\r
- }\r
- container container-type {\r
- uses tdm-container-type-g;\r
- description "Type of TDM container.";\r
- }\r
- container segment-id {\r
- uses segment-id-type-g;\r
- description "Multiplicity = 1; One segment per TDM container; Type of segment must match type of container;";\r
- }\r
- leaf performance-monitoring-collection-is-on {\r
- type boolean;\r
- default false;\r
- description "Enables measurement, collection, storage and access to performance data.";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- min-elements 2;\r
- uses container-problem-severity-type-g;\r
- description "Severity of the problem to be configured.";\r
- }\r
- description "none";\r
- }\r
- grouping tdm-container-status-g {\r
- leaf last-status-change {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
+ }
+ description "none";
+ }
+ grouping ethernet-container-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses container-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping ethernet-container-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses container-current-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the Ethernet container at a particular moment.";
+ }
+ grouping ethernet-container-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses container-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the Ethernet container for a pre-defined measurement interval.";
+ }
+
+ /***********************
+ * package tdm-container
+ **********************/
+ list mw-tdm-container-pac {
+ if-feature hybrid-microwave;
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container tdm-container-capability {
+ config false;
+ uses tdm-container-capability-g;
+ description "none";
+ }
+ container tdm-container-configuration {
+ uses tdm-container-configuration-g;
+ description "none";
+ }
+ container tdm-container-status {
+ config false;
+ uses tdm-container-status-g;
+ description "none";
+ }
+ container tdm-container-current-problems {
+ config false;
+ uses tdm-container-current-problems-g;
+ description "none";
+ }
+ container tdm-container-current-performance {
+ config false;
+ uses tdm-container-current-performance-g;
+ description "none";
+ }
+ container tdm-container-historical-performances {
+ config false;
+ uses tdm-container-historical-performances-g;
+ description "none";
+ }
+ description "The TdmContainer_Pac and its attached classes MUST be provided on management interfaces of microwave devices, which are transporting TDM traffic.";
+ }
+ grouping tdm-container-capability-g {
+ list supported-tdm-container-types-list {
+ key 'tdm-container-name';
+ config false;
+ min-elements 1;
+ uses tdm-container-type-g;
+ description "Lists the TDM containers that are supported.";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ min-elements 2;
+ description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the vendor.";
+ }
+ leaf supported-alarms {
+ type string;
+ default "Supported alarms not yet defined.";
+ config false;
+ status deprecated;
+ description "Available alarms to be listed. Mandatory:'framingIsFaulty' and 'containerIsDown'. Further alarms might be added by the device.";
+ }
+ description "Bundling is not available.";
+ }
+ grouping tdm-container-configuration-g {
+ leaf container-id {
+ type string;
+ default "No TDM Flow associated yet.";
+ description "ContainterID in Netconf must be the same as TDM Flow ID so a connection can be made between the two items, which separately exist in the controller.";
+ }
+ container container-type {
+ uses tdm-container-type-g;
+ description "Type of TDM container.";
+ }
+ container segment-id {
+ uses segment-id-type-g;
+ description "Multiplicity = 1; One segment per TDM container; Type of segment must match type of container;";
+ }
+ leaf performance-monitoring-collection-is-on {
+ type boolean;
+ default false;
+ description "Enables measurement, collection, storage and access to performance data.";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ min-elements 2;
+ uses container-problem-severity-type-g;
+ description "Severity of the problem to be configured.";
+ }
+ description "none";
+ }
+ grouping tdm-container-status-g {
+ leaf last-status-change {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
description "Time the Container entered its current operational status. ";
- }\r
- description "none";\r
- }\r
- grouping tdm-container-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses container-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping tdm-container-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses container-current-performance-type-g;\r
- description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
- }\r
- description "Aggregated performance information of the TDM container at a particular moment.";\r
- }\r
- grouping tdm-container-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses container-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the TDM container for a pre-defined measurement interval.";\r
- }\r
-\r
- /***********************\r
- * package wire-interface\r
- **********************/ \r
- list wire-interface-pac {\r
- key 'layer-protocol';\r
- leaf layer-protocol {\r
- type leafref {\r
- path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';\r
- }\r
- description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";\r
- }\r
- container wirebased-interface-capability {\r
- config false;\r
- uses wire-interface-capability-g;\r
- description "none";\r
- }\r
- container wirebased-interface-configuration {\r
- uses wire-interface-configuration-g;\r
- description "none";\r
- }\r
- container wirebased-interface-status {\r
- config false;\r
- uses wire-interface-status-g;\r
- description "none";\r
- }\r
- container wirebased-interface-current-problems {\r
- config false;\r
- uses wire-interface-current-problems-g;\r
- description "none";\r
- }\r
- container wirebased-interface-current-performance {\r
- config false;\r
- uses wire-interface-current-performance-g;\r
- description "none";\r
- }\r
- container wirebased-interface-historical-performances {\r
- config false;\r
- uses wire-interface-historical-performances-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping wire-interface-capability-g {\r
- list available-mau-list {\r
- key 'mau-id';\r
- config false;\r
- uses mau-type-g;\r
- description "List of Medium Attachment Units (MAUs) that are available for being selected. If rate and service configuration (e.g. SFF-8079) are not supported, the MAU determined by hardware shall be described.\r
- ";\r
- }\r
- leaf auto-pmd-negotiation-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Parameter\r
- 1 = Indicates that device is supporting Auto-negotiation";\r
- }\r
- leaf auto-pmd-negotiation-max-is-avail {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "1 = Indicates that device is supporting definition of the maximum speed/Medium Attached Unit (MAU) automatically chosen when (autoNegotiationIsOn=1)";\r
- }\r
- leaf-list supported-loop-back-kind-list {\r
- type loop-back-type;\r
- config false;\r
- min-elements 1;\r
- max-elements 5;\r
- description "List of supported kinds of looping back of header information to the remote site.\r
- 802.3 45.2.1.12.1 PMA remote loopback ability";\r
- }\r
- leaf maintenance-timer-range {\r
- type string;\r
- units "Byte";\r
- default "Range of the maintenance timer not yet defined.";\r
- config false;\r
- description "MW IM\r
- Available time periods for maintenance configurations (e.g. the loop back) to be described. Concrete values shall be separated by commas (e.g. '10, 60, 360'). Ranges shall be expressed as two values separated by a minus (e.g. '10-360').";\r
- }\r
- leaf-list supported-alarm-list {\r
- type string;\r
- config false;\r
- min-elements 6;\r
- description "Available alarms to be listed. Mandatory:'txFault', 'rxLos', 'tempHigh', 'tempLow', 'rxLevelHigh', 'rxLevelLow'. Optional:'vccHigh', 'vccLow', 'txBiasHigh', 'txBiasLow', 'txPowerHigh', 'txPowerLow', 'laserTempHigh', 'laserTempLow', 'tecCurrentHigh', 'tecCurrentLow'. Further alarms might be added by the device. Names are to be separated by commas.";\r
- }\r
- description "none";\r
- }\r
- grouping wire-interface-configuration-g {\r
- leaf wire-interface-name {\r
- type string;\r
- default "Not yet defined.";\r
- description "Text field for the wire interface being named by the operator. Ideally used for entering unique numbers or names for unambiguously identifying the connection within the network\r
- Parameter";\r
- }\r
- leaf remote-wire-interface-name {\r
- type string;\r
- default "Not yet defined.";\r
- description "Learning from MW IM\r
- Text field for defining the wire interface this one is connected with. Ideally used for entering unique numbers or names for unambiguously identifying the connection within the network";\r
- }\r
- leaf interface-is-on {\r
- type boolean;\r
- default true;\r
- description "1 = Activation of the interface (it gets powered and can be managed even if the transceiver is not yet transmitting or receiving). In case there is no Medium Attachment Unit (MAU) (e.g. no SFP in the cage) SETting (interfaceIsOn=1) must be ignored and GETing must return (interfaceIsOn=0)\r
- 802.3 according 30.3.2.2.1 acPhyAdminControl";\r
- }\r
- leaf-list transceiver-is-on-list {\r
- type boolean;\r
- min-elements 1;\r
- max-elements 11;\r
- description "802.3 22.?.? and additionally 802.3 45.2.1.8 PMD transmit disable register (Register 1.9)\r
- 1 = Activation of the transmitter and receiver (e.g. laser) of the PHY; transceiverIsOnList[0]:total interface; transceiverIsOnList[1..10] different lanes of a multilane Medium Attachment Unit (MAU)";\r
- }\r
- leaf auto-pmd-negotiation-is-on {\r
- type boolean;\r
- default false;\r
- description "Parameter\r
- 1 = Auto-negotiation is switched on";\r
- }\r
- leaf fixed-pmd {\r
- type pmd-name-type;\r
- default not-yet-defined;\r
- description "If (autoPmdNegotiationIsOn=0) configuration of the concrete kind of Physical Medium Dependent (PMD). If (autoNegotiationIsOn=1) value of this field becomes irrelevant";\r
- }\r
- leaf auto-pmd-negotiation-max {\r
- type pmd-name-type;\r
- default not-yet-defined;\r
- description "Parameter\r
- If (autoNegotiationIsOn=1) AND (autoNegotiationMauMaxIsAvail=1) configuration of the maximum speed/Physical Medium Dependent (PMD), which is automatically chosen by Auto-negotiation";\r
- }\r
- leaf auto-signal-ordering-is-on {\r
- type boolean;\r
- default false;\r
- description "1 = e.g. auto-MDI-X is switched on";\r
- }\r
- leaf fixed-signal-ordering {\r
- type core-model:universal-id;\r
- description "If (autoSignalOrderingIsOn=0) configuration of the concrete kind of signal ordering on the media (e.g. MDI, or MDI-X). If (autoSignalOrderingIsOn=1) value of this field becomes irrelevant";\r
- }\r
- leaf short-reach-mode-is-on {\r
- type boolean;\r
- default false;\r
- description "Activation of the Short Reach Mode for 10GBASE-T according to 802.3 45.2.1.64";\r
- }\r
- leaf unidirectional-operation-is-on {\r
- type boolean;\r
- default false;\r
- description "If (autoNegotiationIsOn=1) OR manualDuplexSelection=0 (=half duplex), this bit is ignored. When autoNegotiationIsOn=0 AND manualDuplexSelection=1 (=full duplex): 1 = Enable transmit from media independent interface regardless of whether the PHY has determined that a valid link has been established, 0 = Enable transmit from media independent interface only when the PHY has determined that a valid link has been established\r
- 802.3\r
- Parameter";\r
- }\r
- leaf-list wavelength-list {\r
- type int32;\r
- units "pm";\r
- max-elements 4;\r
- description "Wavelength of the signal of laser in pico meter; multiplicity=0..3 for 10GBASE-LX4 according to 802.3 53.5\r
- SFF-8690";\r
- }\r
- leaf temperature-high-threshold {\r
- type int8;\r
- units "Celsius";\r
- default -99;\r
- description "Threshold for alarming high temperature values.\r
- Will move to somewhere in the Physical Segment of the Core IM";\r
- }\r
- leaf temperature-low-threshold {\r
- type int8;\r
- units "Celsius";\r
- default -99;\r
- description "Threshold for alarming low temperature values.\r
- Will move to somewhere in the Physical Segment of the Core IM";\r
- }\r
- leaf rxlevel-high-threshold {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- description "Threshold for alarming high RX levels.";\r
- }\r
- leaf rxlevel-low-threshold {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- description "Threshold for alarming low RX levels.";\r
- }\r
- leaf loop-back-kind-on {\r
- type string;\r
- description "Parameter\r
- 802.3 according 22.2.4.1.2 Loopback\r
- Maintenance Feature. The currently configured type of looping back of the wire interface header shall be expressed here. The received header is returned to the remote site.\r
- Activation of local loopback mode on physical layer";\r
- }\r
- leaf isolation-is-on {\r
- type boolean;\r
- default false;\r
- description "1 = Activation of the separation of the PHY from higher network layers\r
- 802.3";\r
- }\r
- leaf restart-pmd-negotiation-is-on {\r
- type boolean;\r
- default false;\r
- description "Restarts the auto negotiation process\r
- 802.3";\r
- }\r
- leaf reset-mau-is-on {\r
- type boolean;\r
- default false;\r
- description "802.3\r
- Resets the entire Medium Access Unit (MAU)";\r
- }\r
- leaf maintenance-timer {\r
- type int32;\r
- default -1;\r
- description "Parameter and MW IM\r
- Time of existence of any maintenance configuration (e.g. the loop back). Valid values are defined in WireInterface::WireInterfaceCapability::maintenanceTimerRange";\r
- }\r
- list problem-kind-severity-list {\r
- key 'problem-kind-name';\r
- min-elements 6;\r
- uses wire-interface-problem-severity-type-g;\r
- description "Severity of the problem to be configured.";\r
- }\r
- description "none";\r
- }\r
- grouping wire-interface-status-g {\r
- leaf interface-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "802.3 according 30.3.2.1.7 aPhyAdminState\r
- 1 = A Physical layer entity (PHY) exists (including Medium Attachment Unit (e.g. SFP) ) and it is powered and can be managed";\r
- }\r
- leaf-list receive-signal-is-detected {\r
- type boolean;\r
- config false;\r
- min-elements 1;\r
- max-elements 11;\r
- description "802.3 45.2.1.9 PMD receive signal detect\r
- 1 = Receiver (e.g. laser) detects signal; receiveSignalIsDetected[0]:total interface; receiveSignalIsDetected[1..10] different lanes of a multilane Medium Attachment Unit (MAU)";\r
- }\r
- leaf pmd-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Inverse of 802.3 45.2.1.2.3 Fault (1.1.7)\r
- If (interfaceIsUp=1) BUT 0 = there is a fault in either transmit or receive path";\r
- }\r
- leaf pmd-cur {\r
- type pmd-name-type;\r
- default not-yet-defined;\r
- config false;\r
- description "Indicates the kind of Physical Medium Dependent (PMD) currently operated at this interface";\r
- }\r
- container signal-ordering-kind-cur {\r
- config false;\r
- uses signal-ordering-type-g;\r
- description "Reference on a SignalOrderingType for expressing the currently active way of ordering the signals on the physical medium. Must contain a value as defined in TypeDefinitions::SignalOrderingType::signalOrderingKindName";\r
- }\r
- leaf eee-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "1 = Energy Efficient Ethernet is supported at both ends of the link and it is activated";\r
- }\r
- leaf link-is-up {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "Parameter\r
- 1 = (transceiverIsUp=1) AND communication is established to the remote site";\r
- }\r
- leaf link-is-idle {\r
- type boolean;\r
- default false;\r
- config false;\r
- description "1 = (linkIsUp=1) AND (eeeIsAvail=1) AND (eeeIsOn=1) AND link is currently in idle mode. If Energy Efficient Ethernet is not supported or switched off, this attribute must be 0.";\r
- }\r
- leaf tx-level-cur {\r
- type int8;\r
- units "dBm";\r
- default 99;\r
- config false;\r
- description "Current transmit power";\r
- }\r
- leaf-list rx-level-cur {\r
- type int8;\r
- units "dBm";\r
- config false;\r
- min-elements 1;\r
- max-elements 4;\r
- description "Current receive power; Also used for receive signal power measured at the Medium Dependent Interface (MDI) of 10GBASE-T during training as described in 802.3 55.4.3.1";\r
- }\r
- leaf temp-cur {\r
- type int8;\r
- units "Celsius";\r
- default -99;\r
- config false;\r
- description "Current temperature (in degree Celsius) inside the transceiver\r
- To be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::DynamicDetails::PhysicalProperties ";\r
- }\r
- leaf loop-back-kind-up {\r
- type loop-back-type;\r
- default none;\r
- config false;\r
- description "Paramter and MW IM\r
- The currently active (not just configured) type of looping back of the wire interface header shall be expressed here. The received header is returned to the remote site.";\r
- }\r
- description "none";\r
- }\r
- grouping wire-interface-current-problems-g {\r
- list current-problem-list {\r
- key 'sequence-number';\r
- config false;\r
- uses wire-interface-current-problem-type-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping wire-interface-current-performance-g {\r
- list current-performance-data-list {\r
- key 'scanner-id';\r
- config false;\r
- min-elements 1;\r
- max-elements 2;\r
- uses wire-interface-current-performance-type-g;\r
- description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";\r
- }\r
- description "Aggregated performance information of the air interface at a particular moment.";\r
- }\r
- grouping wire-interface-historical-performances-g {\r
- list historical-performance-data-list {\r
- key 'history-data-id';\r
- config false;\r
- uses wire-interface-historical-performance-type-g;\r
- description "none";\r
- }\r
- description "Aggregated performance information of the air interface for a pre-defined measurement interval.";\r
- }\r
-\r
- /***********************\r
- * package super-classes\r
- **********************/ \r
- grouping mw-current-problem-g {\r
- leaf sequence-number {\r
- type int32;\r
- config false;\r
- description "Unique sequence number of the current problem object.";\r
- }\r
- leaf time-stamp {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- config false;\r
+ }
+ description "none";
+ }
+ grouping tdm-container-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses container-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping tdm-container-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses container-current-performance-type-g;
+ description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";
+ }
+ description "Aggregated performance information of the TDM container at a particular moment.";
+ }
+ grouping tdm-container-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses container-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the TDM container for a pre-defined measurement interval.";
+ }
+
+ /***********************
+ * package wire-interface
+ **********************/
+ list wire-interface-pac {
+ key 'layer-protocol';
+ leaf layer-protocol {
+ type leafref {
+ path '/core-model:network-element/core-model:ltp/core-model:lp/core-model:uuid';
+ }
+ description "CoreModel-CoreNetworkModule-ObjectClasses:NetworkElement/_ltpRefList/_lpList/uuid";
+ }
+ container wirebased-interface-capability {
+ config false;
+ uses wire-interface-capability-g;
+ description "none";
+ }
+ container wirebased-interface-configuration {
+ uses wire-interface-configuration-g;
+ description "none";
+ }
+ container wirebased-interface-status {
+ config false;
+ uses wire-interface-status-g;
+ description "none";
+ }
+ container wirebased-interface-current-problems {
+ config false;
+ uses wire-interface-current-problems-g;
+ description "none";
+ }
+ container wirebased-interface-current-performance {
+ config false;
+ uses wire-interface-current-performance-g;
+ description "none";
+ }
+ container wirebased-interface-historical-performances {
+ config false;
+ uses wire-interface-historical-performances-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping wire-interface-capability-g {
+ list available-mau-list {
+ key 'mau-id';
+ config false;
+ uses mau-type-g;
+ description "List of Medium Attachment Units (MAUs) that are available for being selected. If rate and service configuration (e.g. SFF-8079) are not supported, the MAU determined by hardware shall be described.
+ ";
+ }
+ leaf auto-pmd-negotiation-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "Parameter
+ 1 = Indicates that device is supporting Auto-negotiation";
+ }
+ leaf auto-pmd-negotiation-max-is-avail {
+ type boolean;
+ default false;
+ config false;
+ description "1 = Indicates that device is supporting definition of the maximum speed/Medium Attached Unit (MAU) automatically chosen when (autoNegotiationIsOn=1)";
+ }
+ leaf-list supported-loop-back-kind-list {
+ type loop-back-type;
+ config false;
+ min-elements 1;
+ max-elements 5;
+ description "List of supported kinds of looping back of header information to the remote site.
+ 802.3 45.2.1.12.1 PMA remote loopback ability";
+ }
+ leaf maintenance-timer-range {
+ type string;
+ units "Byte";
+ default "Range of the maintenance timer not yet defined.";
+ config false;
+ description "MW IM
+ Available time periods for maintenance configurations (e.g. the loop back) to be described. Concrete values shall be separated by commas (e.g. '10, 60, 360'). Ranges shall be expressed as two values separated by a minus (e.g. '10-360').";
+ }
+ leaf-list supported-alarm-list {
+ type string;
+ config false;
+ min-elements 6;
+ description "Available alarms to be listed. Mandatory:'txFault', 'rxLos', 'tempHigh', 'tempLow', 'rxLevelHigh', 'rxLevelLow'. Optional:'vccHigh', 'vccLow', 'txBiasHigh', 'txBiasLow', 'txPowerHigh', 'txPowerLow', 'laserTempHigh', 'laserTempLow', 'tecCurrentHigh', 'tecCurrentLow'. Further alarms might be added by the device. Names are to be separated by commas.";
+ }
+ description "none";
+ }
+ grouping wire-interface-configuration-g {
+ leaf wire-interface-name {
+ type string;
+ default "Not yet defined.";
+ description "Text field for the wire interface being named by the operator. Ideally used for entering unique numbers or names for unambiguously identifying the connection within the network
+ Parameter";
+ }
+ leaf remote-wire-interface-name {
+ type string;
+ default "Not yet defined.";
+ description "Learning from MW IM
+ Text field for defining the wire interface this one is connected with. Ideally used for entering unique numbers or names for unambiguously identifying the connection within the network";
+ }
+ leaf interface-is-on {
+ type boolean;
+ default true;
+ description "1 = Activation of the interface (it gets powered and can be managed even if the transceiver is not yet transmitting or receiving). In case there is no Medium Attachment Unit (MAU) (e.g. no SFP in the cage) SETting (interfaceIsOn=1) must be ignored and GETing must return (interfaceIsOn=0)
+ 802.3 according 30.3.2.2.1 acPhyAdminControl";
+ }
+ leaf-list transceiver-is-on-list {
+ type boolean;
+ min-elements 1;
+ max-elements 11;
+ description "802.3 22.?.? and additionally 802.3 45.2.1.8 PMD transmit disable register (Register 1.9)
+ 1 = Activation of the transmitter and receiver (e.g. laser) of the PHY; transceiverIsOnList[0]:total interface; transceiverIsOnList[1..10] different lanes of a multilane Medium Attachment Unit (MAU)";
+ }
+ leaf auto-pmd-negotiation-is-on {
+ type boolean;
+ default false;
+ description "Parameter
+ 1 = Auto-negotiation is switched on";
+ }
+ leaf fixed-pmd {
+ type pmd-name-type;
+ default not-yet-defined;
+ description "If (autoPmdNegotiationIsOn=0) configuration of the concrete kind of Physical Medium Dependent (PMD). If (autoNegotiationIsOn=1) value of this field becomes irrelevant";
+ }
+ leaf auto-pmd-negotiation-max {
+ type pmd-name-type;
+ default not-yet-defined;
+ description "Parameter
+ If (autoNegotiationIsOn=1) AND (autoNegotiationMauMaxIsAvail=1) configuration of the maximum speed/Physical Medium Dependent (PMD), which is automatically chosen by Auto-negotiation";
+ }
+ leaf auto-signal-ordering-is-on {
+ type boolean;
+ default false;
+ description "1 = e.g. auto-MDI-X is switched on";
+ }
+ leaf fixed-signal-ordering {
+ type core-model:universal-id;
+ description "If (autoSignalOrderingIsOn=0) configuration of the concrete kind of signal ordering on the media (e.g. MDI, or MDI-X). If (autoSignalOrderingIsOn=1) value of this field becomes irrelevant";
+ }
+ leaf short-reach-mode-is-on {
+ type boolean;
+ default false;
+ description "Activation of the Short Reach Mode for 10GBASE-T according to 802.3 45.2.1.64";
+ }
+ leaf unidirectional-operation-is-on {
+ type boolean;
+ default false;
+ description "If (autoNegotiationIsOn=1) OR manualDuplexSelection=0 (=half duplex), this bit is ignored. When autoNegotiationIsOn=0 AND manualDuplexSelection=1 (=full duplex): 1 = Enable transmit from media independent interface regardless of whether the PHY has determined that a valid link has been established, 0 = Enable transmit from media independent interface only when the PHY has determined that a valid link has been established
+ 802.3
+ Parameter";
+ }
+ leaf-list wavelength-list {
+ type int32;
+ units "pm";
+ max-elements 4;
+ description "Wavelength of the signal of laser in pico meter; multiplicity=0..3 for 10GBASE-LX4 according to 802.3 53.5
+ SFF-8690";
+ }
+ leaf temperature-high-threshold {
+ type int8;
+ units "Celsius";
+ default -99;
+ description "Threshold for alarming high temperature values.
+ Will move to somewhere in the Physical Segment of the Core IM";
+ }
+ leaf temperature-low-threshold {
+ type int8;
+ units "Celsius";
+ default -99;
+ description "Threshold for alarming low temperature values.
+ Will move to somewhere in the Physical Segment of the Core IM";
+ }
+ leaf rxlevel-high-threshold {
+ type int8;
+ units "dBm";
+ default 99;
+ description "Threshold for alarming high RX levels.";
+ }
+ leaf rxlevel-low-threshold {
+ type int8;
+ units "dBm";
+ default 99;
+ description "Threshold for alarming low RX levels.";
+ }
+ leaf loop-back-kind-on {
+ type string;
+ description "Parameter
+ 802.3 according 22.2.4.1.2 Loopback
+ Maintenance Feature. The currently configured type of looping back of the wire interface header shall be expressed here. The received header is returned to the remote site.
+ Activation of local loopback mode on physical layer";
+ }
+ leaf isolation-is-on {
+ type boolean;
+ default false;
+ description "1 = Activation of the separation of the PHY from higher network layers
+ 802.3";
+ }
+ leaf restart-pmd-negotiation-is-on {
+ type boolean;
+ default false;
+ description "Restarts the auto negotiation process
+ 802.3";
+ }
+ leaf reset-mau-is-on {
+ type boolean;
+ default false;
+ description "802.3
+ Resets the entire Medium Access Unit (MAU)";
+ }
+ leaf maintenance-timer {
+ type int32;
+ default -1;
+ description "Parameter and MW IM
+ Time of existence of any maintenance configuration (e.g. the loop back). Valid values are defined in WireInterface::WireInterfaceCapability::maintenanceTimerRange";
+ }
+ list problem-kind-severity-list {
+ key 'problem-kind-name';
+ min-elements 6;
+ uses wire-interface-problem-severity-type-g;
+ description "Severity of the problem to be configured.";
+ }
+ description "none";
+ }
+ grouping wire-interface-status-g {
+ leaf interface-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "802.3 according 30.3.2.1.7 aPhyAdminState
+ 1 = A Physical layer entity (PHY) exists (including Medium Attachment Unit (e.g. SFP) ) and it is powered and can be managed";
+ }
+ leaf-list receive-signal-is-detected {
+ type boolean;
+ config false;
+ min-elements 1;
+ max-elements 11;
+ description "802.3 45.2.1.9 PMD receive signal detect
+ 1 = Receiver (e.g. laser) detects signal; receiveSignalIsDetected[0]:total interface; receiveSignalIsDetected[1..10] different lanes of a multilane Medium Attachment Unit (MAU)";
+ }
+ leaf pmd-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "Inverse of 802.3 45.2.1.2.3 Fault (1.1.7)
+ If (interfaceIsUp=1) BUT 0 = there is a fault in either transmit or receive path";
+ }
+ leaf pmd-cur {
+ type pmd-name-type;
+ default not-yet-defined;
+ config false;
+ description "Indicates the kind of Physical Medium Dependent (PMD) currently operated at this interface";
+ }
+ container signal-ordering-kind-cur {
+ config false;
+ uses signal-ordering-type-g;
+ description "Reference on a SignalOrderingType for expressing the currently active way of ordering the signals on the physical medium. Must contain a value as defined in TypeDefinitions::SignalOrderingType::signalOrderingKindName";
+ }
+ leaf eee-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "1 = Energy Efficient Ethernet is supported at both ends of the link and it is activated";
+ }
+ leaf link-is-up {
+ type boolean;
+ default false;
+ config false;
+ description "Parameter
+ 1 = (transceiverIsUp=1) AND communication is established to the remote site";
+ }
+ leaf link-is-idle {
+ type boolean;
+ default false;
+ config false;
+ description "1 = (linkIsUp=1) AND (eeeIsAvail=1) AND (eeeIsOn=1) AND link is currently in idle mode. If Energy Efficient Ethernet is not supported or switched off, this attribute must be 0.";
+ }
+ leaf tx-level-cur {
+ type int8;
+ units "dBm";
+ default 99;
+ config false;
+ description "Current transmit power";
+ }
+ leaf-list rx-level-cur {
+ type int8;
+ units "dBm";
+ config false;
+ min-elements 1;
+ max-elements 4;
+ description "Current receive power; Also used for receive signal power measured at the Medium Dependent Interface (MDI) of 10GBASE-T during training as described in 802.3 55.4.3.1";
+ }
+ leaf temp-cur {
+ type int8;
+ units "Celsius";
+ default -99;
+ config false;
+ description "Current temperature (in degree Celsius) inside the transceiver
+ To be moved to CoreModel::CorePhysicalModel-Initial::EquipmentDetail::ObjectClasses::DynamicDetails::PhysicalProperties ";
+ }
+ leaf loop-back-kind-up {
+ type loop-back-type;
+ default none;
+ config false;
+ description "Paramter and MW IM
+ The currently active (not just configured) type of looping back of the wire interface header shall be expressed here. The received header is returned to the remote site.";
+ }
+ description "none";
+ }
+ grouping wire-interface-current-problems-g {
+ list current-problem-list {
+ key 'sequence-number';
+ config false;
+ uses wire-interface-current-problem-type-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping wire-interface-current-performance-g {
+ list current-performance-data-list {
+ key 'scanner-id';
+ config false;
+ min-elements 1;
+ max-elements 2;
+ uses wire-interface-current-performance-type-g;
+ description "At least values of the counters, which are reset every 15 minutes, are to be provided. If available, the current values of the counters, which are reset every 24 hour, can be provided, too.";
+ }
+ description "Aggregated performance information of the air interface at a particular moment.";
+ }
+ grouping wire-interface-historical-performances-g {
+ list historical-performance-data-list {
+ key 'history-data-id';
+ config false;
+ uses wire-interface-historical-performance-type-g;
+ description "none";
+ }
+ description "Aggregated performance information of the air interface for a pre-defined measurement interval.";
+ }
+
+ /***********************
+ * package super-classes
+ **********************/
+ grouping mw-current-problem-g {
+ leaf sequence-number {
+ type int32;
+ config false;
+ description "Unique sequence number of the current problem object.";
+ }
+ leaf time-stamp {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ config false;
description "Time and date of the problem. ";
- }\r
- leaf problem-severity {\r
- type severity-type;\r
- default warning;\r
- config false;\r
- description "Severity of the alarm.";\r
- }\r
- description "none";\r
- }\r
-\r
-\r
- /***********************\r
- * package notifications\r
- **********************/ \r
- notification object-creation-notification {\r
- uses object-creation-notification-g;\r
- description "none";\r
- }\r
- grouping object-creation-notification-g {\r
- leaf counter {\r
- type int32;\r
- default -1;\r
- description "Counts object creation notifications.";\r
- }\r
- leaf time-stamp {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- description "none";\r
- }\r
- leaf object-id-ref {\r
- type core-model:universal-id;\r
- description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";\r
- }\r
- leaf object-type {\r
- type string;\r
- default "Type of created object not specified.";\r
- description "Type of Object to be chosen from the following list of values: 'MW_AirInterface_Pac', 'MW_AirInterfaceDiversity_Pac', 'MW_Structure_Pac', 'MW_PureEthernetStructure_Pac', 'MW_HybridMwStructure_Pac', 'MW_Container_Pac', 'MW_EthernetContainer_Pac' or 'MW_TdmContainer_Pac'.";\r
- }\r
- description "To be sent when a new MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac has to be instancieted in the controller.";\r
- }\r
- notification object-deletion-notification {\r
- uses object-deletion-notification-g;\r
- description "none";\r
- }\r
- grouping object-deletion-notification-g {\r
- leaf counter {\r
- type int32;\r
- default -1;\r
- description "Counts object deletion notifications.";\r
- }\r
- leaf time-stamp {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- description "none";\r
- }\r
- leaf object-id-ref {\r
- type core-model:universal-id;\r
- description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";\r
- }\r
- description "To be sent when a new MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac instance has to be deleted in the controller.";\r
- }\r
- notification attribute-value-changed-notification {\r
- uses attribute-value-changed-notification-g;\r
- description "none";\r
- }\r
- grouping attribute-value-changed-notification-g {\r
- leaf counter {\r
- type int32;\r
- default -1;\r
- description "Counts attribute value changed notifications.";\r
- }\r
- leaf time-stamp {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- description "none";\r
- }\r
- leaf object-id-ref {\r
- type core-model:universal-id;\r
- description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";\r
- }\r
- leaf attribute-name {\r
- type string;\r
- default "Attribute name not specified.";\r
- description "Name of the attribute that has been changed.";\r
- }\r
- leaf new-value {\r
- type string;\r
- default "New value not specified.";\r
- description "Attribute value converted to a string (xml, json, ...)";\r
- }\r
- description "To be sent when an attribute has changed and one or more controllers have to update their data.";\r
- }\r
- notification problem-notification {\r
- uses problem-notification-g;\r
- description "none";\r
- }\r
- grouping problem-notification-g {\r
- leaf counter {\r
- type int32;\r
- default -1;\r
- description "Counts problem notifications";\r
- }\r
- leaf time-stamp {\r
- type yang:date-and-time;\r
- default "2017-01-01T00:00:00.0Z";\r
- description "none";\r
- }\r
- leaf object-id-ref {\r
- type core-model:universal-id;\r
- description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";\r
- }\r
- leaf problem {\r
- type string;\r
- default "Problem name not specified.";\r
- description "Name of the problem according to AirInterface::AirInterfaceCapability::supportedAlarms or AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms or Structure::StructureCapability::supportedAlarms or PureEthernetStructure::PureEthernetStructureCapability::supportedAlarms or HybridMwStructure::HybridMwStructureCapability::supportedAlarms or Container::ContainerCapability::supportedAlarms or EthernetContainer::EthernetContainerCapability::supportedAlarms or TdmContainer::TdmContainerCapability::supportedAlarms.";\r
- }\r
- leaf severity {\r
- type severity-type;\r
- default warning;\r
- description "Severity of the problem according to AirInterface::AirInterfaceConfiguration::problemSeverityList, AirInterfaceDiversity::AirInterfaceDiversityConfiguration::problemSeverityList, Structure::StructureConfiguration::problemSeverityList, PureEthernetStructure::PureEthernetStructureConfiguration::problemSeverityList, HybridMwStructure::HybridMwStructureConfiguration::problemSeverityList, Container::ContainerConfiguration::problemSeverityList, EthernetContainer::EthernetContainerConfiguration::problemSeverityList or TdmContainer::TdmContainerConfiguration::problemSeverityList";\r
- }\r
- description "To be sent when a problem occurs at a MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";\r
- }\r
-\r
-}\r
+ }
+ leaf problem-severity {
+ type severity-type;
+ default warning;
+ config false;
+ description "Severity of the alarm.";
+ }
+ description "none";
+ }
+
+
+ /***********************
+ * package notifications
+ **********************/
+ notification object-creation-notification {
+ uses object-creation-notification-g;
+ description "none";
+ }
+ grouping object-creation-notification-g {
+ leaf counter {
+ type int32;
+ default -1;
+ description "Counts object creation notifications.";
+ }
+ leaf time-stamp {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ description "none";
+ }
+ leaf object-id-ref {
+ type core-model:universal-id;
+ description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";
+ }
+ leaf object-type {
+ type string;
+ default "Type of created object not specified.";
+ description "Type of Object to be chosen from the following list of values: 'MW_AirInterface_Pac', 'MW_AirInterfaceDiversity_Pac', 'MW_Structure_Pac', 'MW_PureEthernetStructure_Pac', 'MW_HybridMwStructure_Pac', 'MW_Container_Pac', 'MW_EthernetContainer_Pac' or 'MW_TdmContainer_Pac'.";
+ }
+ description "To be sent when a new MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac has to be instancieted in the controller.";
+ }
+ notification object-deletion-notification {
+ uses object-deletion-notification-g;
+ description "none";
+ }
+ grouping object-deletion-notification-g {
+ leaf counter {
+ type int32;
+ default -1;
+ description "Counts object deletion notifications.";
+ }
+ leaf time-stamp {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ description "none";
+ }
+ leaf object-id-ref {
+ type core-model:universal-id;
+ description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";
+ }
+ description "To be sent when a new MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac instance has to be deleted in the controller.";
+ }
+ notification attribute-value-changed-notification {
+ uses attribute-value-changed-notification-g;
+ description "none";
+ }
+ grouping attribute-value-changed-notification-g {
+ leaf counter {
+ type int32;
+ default -1;
+ description "Counts attribute value changed notifications.";
+ }
+ leaf time-stamp {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ description "none";
+ }
+ leaf object-id-ref {
+ type core-model:universal-id;
+ description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";
+ }
+ leaf attribute-name {
+ type string;
+ default "Attribute name not specified.";
+ description "Name of the attribute that has been changed.";
+ }
+ leaf new-value {
+ type string;
+ default "New value not specified.";
+ description "Attribute value converted to a string (xml, json, ...)";
+ }
+ description "To be sent when an attribute has changed and one or more controllers have to update their data.";
+ }
+ notification problem-notification {
+ uses problem-notification-g;
+ description "none";
+ }
+ grouping problem-notification-g {
+ leaf counter {
+ type int32;
+ default -1;
+ description "Counts problem notifications";
+ }
+ leaf time-stamp {
+ type yang:date-and-time;
+ default "2017-01-01T00:00:00.0Z";
+ description "none";
+ }
+ leaf object-id-ref {
+ type core-model:universal-id;
+ description "ID of the affected MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";
+ }
+ leaf problem {
+ type string;
+ default "Problem name not specified.";
+ description "Name of the problem according to AirInterface::AirInterfaceCapability::supportedAlarms or AirInterfaceDiversity::AirInterfaceDiversityCapability::supportedAlarms or Structure::StructureCapability::supportedAlarms or PureEthernetStructure::PureEthernetStructureCapability::supportedAlarms or HybridMwStructure::HybridMwStructureCapability::supportedAlarms or Container::ContainerCapability::supportedAlarms or EthernetContainer::EthernetContainerCapability::supportedAlarms or TdmContainer::TdmContainerCapability::supportedAlarms.";
+ }
+ leaf severity {
+ type severity-type;
+ default warning;
+ description "Severity of the problem according to AirInterface::AirInterfaceConfiguration::problemSeverityList, AirInterfaceDiversity::AirInterfaceDiversityConfiguration::problemSeverityList, Structure::StructureConfiguration::problemSeverityList, PureEthernetStructure::PureEthernetStructureConfiguration::problemSeverityList, HybridMwStructure::HybridMwStructureConfiguration::problemSeverityList, Container::ContainerConfiguration::problemSeverityList, EthernetContainer::EthernetContainerConfiguration::problemSeverityList or TdmContainer::TdmContainerConfiguration::problemSeverityList";
+ }
+ description "To be sent when a problem occurs at a MW_AirInterface_Pac, MW_AirInterfaceDiversity_Pac, MW_Structure_Pac, MW_PureEthernetStructure_Pac, MW_HybridMwStructure_Pac, MW_Container_Pac, MW_EthernetContainer_Pac or MW_TdmContainer_Pac.";
+ }
+
+}
-module tapi-common {\r
- namespace "urn:onf:otcc:yang:tapi-common";\r
- prefix tapi-common;\r
- organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
+module tapi-common {
+ namespace "urn:onf:otcc:yang:tapi-common";
+ prefix tapi-common;
+ organization "ONF OTCC (Open Transport Configuration & Control) Project";
contact "
Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
Project List: <mailto:transport-api@opennetworking.org>
Editor: Karthik Sethuraman
- <mailto:karthik.sethuraman@necam.com>";\r
- description "\r
- This module contains TAPI Common Model definitions.\r
- Source: TapiCommon.uml\r
- Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
- License: This module is distributed under the Apache License 2.0\r
- ";\r
- revision 2018-08-31 {\r
+ <mailto:karthik.sethuraman@necam.com>";
+ description "
+ This module contains TAPI Common Model definitions.
+ Source: TapiCommon.uml
+ Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+ License: This module is distributed under the Apache License 2.0
+ ";
+ revision 2018-08-31 {
description "ONF Transport API version 2.1.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
- }\r
- revision 2018-03-07 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
+ }
+ revision 2018-03-07 {
description "ONF Transport API version 2.0.2
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
- }\r
- revision 2018-02-16 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
+ }
+ revision 2018-02-16 {
description "ONF Transport API version 2.0.1
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
- }\r
- revision 2018-01-02 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
+ }
+ revision 2018-01-02 {
description "ONF Transport API version 2.0.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
- }\r
-\r
- /*************************\r
- * definitions of refrences\r
- *************************/\r
- grouping service-interface-point-ref-g {\r
- leaf service-interface-point-uuid {\r
- type leafref {\r
- path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping admin-state-pac-g {\r
- leaf administrative-state {\r
- type administrative-state;\r
- description "none";\r
- }\r
- leaf operational-state {\r
- type operational-state;\r
- config false;\r
- description "none";\r
- }\r
- leaf lifecycle-state {\r
- type lifecycle-state;\r
- config false;\r
- description "none";\r
- }\r
- description "Provides state attributes that are applicable to an entity that can be administered. Such an entity also has operational and lifecycle aspects.";\r
- }\r
- grouping global-class-g {\r
- leaf uuid {\r
- type uuid;\r
- description "UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity.\r
- UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters.\r
- Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} \r
- Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\r
- }\r
- list name {\r
- key 'value-name';\r
- uses name-and-value-g;\r
- description "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.";\r
- }\r
- description "The TAPI GlobalComponent serves as the super class for all TAPI entities that can be directly retrieved by their ID. As such, these are first class entities and their ID is expected to be globally unique. ";\r
- }\r
- grouping lifecycle-state-pac-g {\r
- leaf lifecycle-state {\r
- type lifecycle-state;\r
- config false;\r
- description "none";\r
- }\r
- description "Provides state attributes for an entity that has lifeccycle aspects only.";\r
- }\r
- grouping local-class-g {\r
- leaf local-id {\r
- type string;\r
- description "none";\r
- }\r
- list name {\r
- key 'value-name';\r
- uses name-and-value-g;\r
- description "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.";\r
- }\r
- description "The TAPI GlobalComponent serves as the super class for all TAPI entities that can be directly retrieved by their ID. As such, these are first class entities and their ID is expected to be globally unique. ";\r
- }\r
- grouping operational-state-pac-g {\r
- leaf operational-state {\r
- type operational-state;\r
- config false;\r
- description "none";\r
- }\r
- leaf lifecycle-state {\r
- type lifecycle-state;\r
- config false;\r
- description "none";\r
- }\r
- description "Provides state attributes that are applicable to an entity that reflects operational aspects. Such an entity is expected to also have lifecycle aspects.";\r
- }\r
- container context {\r
- uses tapi-context-g;\r
- presence "Root container for all TAPI interaction";\r
- description "none";\r
- }\r
- grouping tapi-context-g {\r
- list service-interface-point {\r
- key 'uuid';\r
- uses service-interface-point-g;\r
- description "none";\r
- }\r
- uses global-class-g;\r
- description "The Network Control Domain (NCD) object class represents the scope of control that a particular SDN controller has with respect to a particular network, (i.e., encompassing a designated set of interconnected (virtual) network elements).";\r
- }\r
- grouping resource-spec-g {\r
- uses global-class-g;\r
- description "none";\r
- }\r
- grouping service-spec-g {\r
- uses global-class-g;\r
- description "none";\r
- }\r
- grouping service-interface-point-g {\r
- leaf layer-protocol-name {\r
- type layer-protocol-name;\r
- config false;\r
- description "Usage of layerProtocolName [>1] in the ServiceInterfacePoint should be considered experimental";\r
- }\r
- leaf-list supported-layer-protocol-qualifier {\r
- type layer-protocol-qualifier;\r
- config false;\r
- min-elements 1;\r
- description "none";\r
- }\r
- uses resource-spec-g;\r
- uses admin-state-pac-g;\r
- uses capacity-pac-g;\r
- description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers. \r
- The structure of LTP supports all transport protocols including circuit and packet forms.";\r
- }\r
- grouping capacity-pac-g {\r
- container total-potential-capacity {\r
- config false;\r
- uses capacity-g;\r
- description "An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken.";\r
- }\r
- container available-capacity {\r
- config false;\r
- uses capacity-g;\r
- description "Capacity available to be assigned.";\r
- }\r
- description "The TopologicalEntity derives capacity from the underlying realization. \r
- A TopologicalEntity may be an abstraction and virtualization of a subset of the underlying capability offered in a view or may be directly reflecting the underlying realization.\r
- A TopologicalEntity may be directly used in the view or may be assigned to another view for use.\r
- The clients supported by a multi-layer TopologicalEntity may interact such that the resources used by one client may impact those available to another. This is derived from the LTP spec details.\r
- Represents the capacity available to user (client) along with client interaction and usage. \r
- A TopologicalEntity may reflect one or more client protocols and one or more members for each profile.";\r
- }\r
- grouping termination-pac-g {\r
- leaf termination-direction {\r
- type termination-direction;\r
- config false;\r
- description "The overall directionality of the LP. \r
- - A BIDIRECTIONAL LP will have some SINK and/or SOURCE flowss.\r
- - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows\r
- - A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";\r
- }\r
- leaf termination-state {\r
- type termination-state;\r
- config false;\r
- description "Indicates whether the layer is terminated and if so how.";\r
- }\r
- description "Each transport layer is represented by a LayerProtocol (LP) instance. The LayerProtocol instances it can be used for controlling termination and monitoring functionality. \r
- It can also be used for controlling the adaptation (i.e. encapsulation and/or multiplexing of client signal), tandem connection monitoring, traffic conditioning and/or shaping functionality at an intermediate point along a connection. \r
- Where the client – server relationship is fixed 1:1 and immutable, the layers can be encapsulated in a single LTP instance. Where the is a n:1 relationship between client and server, the layers must be split over two separate instances of LTP. ";\r
- }\r
-\r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- identity LAYER_PROTOCOL_QUALIFIER {\r
- description "none";\r
- }\r
- typedef administrative-state {\r
- type enumeration {\r
- enum LOCKED {\r
- description "Users are administratively prohibited from making use of the resource.";\r
- }\r
- enum UNLOCKED {\r
- description "Users are allowed to use the resource";\r
- }\r
- }\r
- description "The possible values of the administrativeState.";\r
- }\r
- typedef date-and-time {\r
- type string;\r
- description "This primitive type defines the date and time according to the following structure:\r
- yyyyMMddhhmmss.s[Z|{+|-}HHMm] where:\r
- yyyy 0000..9999 year\r
- MM 01..12 month\r
- dd 01..31 day\r
- hh 00..23 hour\r
- mm 00..59 minute\r
- ss 00..59 second\r
- s .0...9 tenth of second (set to .0 if EMS or NE cannot support this granularity)\r
- Z Z indicates UTC (rather than local time)\r
- {+|-} + or - delta from UTC\r
- HH 00..23 time zone difference in hours\r
- Mm 00..59 time zone difference in minutes.";\r
- }\r
- typedef directive-value {\r
- type enumeration {\r
- enum MINIMIZE {\r
- description "none";\r
- }\r
- enum MAXIMIZE {\r
- description "none";\r
- }\r
- enum ALLOW {\r
- description "none";\r
- }\r
- enum DISALLOW {\r
- description "none";\r
- }\r
- enum DONT_CARE {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef forwarding-direction {\r
- type enumeration {\r
- enum BIDIRECTIONAL {\r
- description "The Fowarding entity supports both BIDIRECTIONAL flows at all Ports (i.e. all Ports have both an INPUT flow and an OUTPUT flow defined)";\r
- }\r
- enum UNIDIRECTIONAL {\r
- description "The Forwarding entity has Ports that are either INPUT or OUTPUT. It has no BIDIRECTIONAL Ports.";\r
- }\r
- enum UNDEFINED_OR_UNKNOWN {\r
- description "Not a normal state. The system is unable to determine the correct value.";\r
- }\r
- }\r
- description "The directionality of a Forwarding entity.";\r
- }\r
- typedef layer-protocol-name {\r
- type enumeration {\r
- enum ODU {\r
- description "Models the ODU layer as per ITU-T G.872";\r
- }\r
- enum ETH {\r
- description "Models the ETH layer as per ITU-T G.8010";\r
- }\r
- enum DSR {\r
- description "Models a Digital Signal of an unspecified rate. This value can be used when the intent is to respresent an generic digital layer signal without making any statement on its format or overhead (processing) capabilities.";\r
- }\r
- enum PHOTONIC_MEDIA {\r
- description "Models the OCH, OTSi, OTSiA, OTSiG, OMS, OTS and Media channels as per ITU-T G.872 (2017) version 4";\r
- }\r
- }\r
- description "Provides a controlled list of layer protocol names and indicates the naming authority.\r
- Note that it is expected that attributes will be added to this structure to convey the naming authority name, the name of the layer protocol using a human readable string and any particular standard reference.\r
- Layer protocol names include:\r
- - Layer 1 (L1): OTU, ODU\r
- - Layer 2 (L2): Carrier Grade Ethernet (ETY, ETH), MPLS-TP (MT)\r
- ";\r
- }\r
- typedef lifecycle-state {\r
- type enumeration {\r
- enum PLANNED {\r
- description "The resource is planned but is not present in the network.";\r
- }\r
- enum POTENTIAL_AVAILABLE {\r
- description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.\r
- o When a potential resource is configured and allocated to a client it is moved to the installed state for that client.\r
- o If the potential resource has been consumed (e.g. allocated to another client) it is moved to the planned state for all other clients.";\r
- }\r
- enum POTENTIAL_BUSY {\r
- description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.\r
- o When a potential resource is configured and allocated to a client it is moved to the installed state for that client.\r
- o If the potential resource has been consumed (e.g. allocated to another client) it is moved to the planned state for all other clients.";\r
- }\r
- enum INSTALLED {\r
- description "The resource is present in the network and is capable of providing the service expected.";\r
- }\r
- enum PENDING_REMOVAL {\r
- description "The resource has been marked for removal";\r
- }\r
- }\r
- description "The possible values of the lifecycleState.";\r
- }\r
- grouping name-and-value-g {\r
- leaf value-name {\r
- type string;\r
- description "The name of the value. The value need not have a name.";\r
- }\r
- leaf value {\r
- type string;\r
- description "The value";\r
- }\r
- description "A scoped name-value pair";\r
- }\r
- typedef operational-state {\r
- type enumeration {\r
- enum DISABLED {\r
- description "The resource is unable to meet the SLA of the user of the resource. If no (explicit) SLA is defined the resource is disabled if it is totally inoperable and unable to provide service to the user.";\r
- }\r
- enum ENABLED {\r
- description "The resource is partially or fully operable and available for use";\r
- }\r
- }\r
- description "The possible values of the operationalState.";\r
- }\r
- typedef port-direction {\r
- type enumeration {\r
- enum BIDIRECTIONAL {\r
- description "The Port has both an INPUT flow and an OUTPUT flow defined.";\r
- }\r
- enum INPUT {\r
- description "The Port only has definition for a flow into the Forwarding entity (i.e. an ingress flow).";\r
- }\r
- enum OUTPUT {\r
- description "The Port only has definition for a flow out of the Forwarding entity (i.e. an egress flow).";\r
- }\r
- enum UNIDENTIFIED_OR_UNKNOWN {\r
- description "Not a normal state. The system is unable to determine the correct value.";\r
- }\r
- }\r
- description "The orientation of flow at the Port of a Forwarding entity";\r
- }\r
- typedef port-role {\r
- type enumeration {\r
- enum SYMMETRIC {\r
- description "none";\r
- }\r
- enum ROOT {\r
- description "none";\r
- }\r
- enum LEAF {\r
- description "none";\r
- }\r
- enum TRUNK {\r
- description "none";\r
- }\r
- enum UNKNOWN {\r
- description "none";\r
- }\r
- }\r
- description "The role of an end in the context of the function of the forwarding entity that it bounds";\r
- }\r
- typedef termination-direction {\r
- type enumeration {\r
- enum BIDIRECTIONAL {\r
- description "A Termination with both SINK and SOURCE flows.";\r
- }\r
- enum SINK {\r
- description "The flow is up the layer stack from the server side to the client side. \r
- Considering an example of a Termination function within the termination entity, a SINK flow:\r
- - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component\r
- - then will be decoded and deconstructed \r
- - then relevant parts of the flow will be sent out of the termination function (the client side) where it is essentially at an OUTPUT from the termination component\r
- A SINK termination is one that only supports a SINK flow.\r
- A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";\r
- }\r
- enum SOURCE {\r
- description "The flow is down the layer stack from the server side to the client side. \r
- Considering an example of a Termination function within the termination entity, a SOURCE flow:\r
- - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component\r
- - then will be assembled with various overheads etc and will be coded \r
- - then coded form of the assembly of flow will be sent out of the termination function (the server side) where it is essentially at an OUTPUT from the termination component\r
- A SOURCE termination is one that only supports a SOURCE flow.\r
- A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";\r
- }\r
- enum UNDEFINED_OR_UNKNOWN {\r
- description "Not a normal state. The system is unable to determine the correct value.";\r
- }\r
- }\r
- description "The directionality of a termination entity";\r
- }\r
- typedef termination-state {\r
- type enumeration {\r
- enum LP_CAN_NEVER_TERMINATE {\r
- description "A non-flexible case that can never be terminated.";\r
- }\r
- enum LT_NOT_TERMINATED {\r
- description "A flexible termination that can terminate but is currently not terminated.";\r
- }\r
- enum TERMINATED_SERVER_TO_CLIENT_FLOW {\r
- description "A flexible termination that is currently terminated for server to client flow only.";\r
- }\r
- enum TERMINATED_CLIENT_TO_SERVER_FLOW {\r
- description "A flexible termination that is currently terminated for client to server flow only.";\r
- }\r
- enum TERMINATED_BIDIRECTIONAL {\r
- description "A flexible termination that is currently terminated in both directions of flow.";\r
- }\r
- enum LT_PERMENANTLY_TERMINATED {\r
- description "A non-flexible termination that is always terminated (in both directions of flow for a bidirectional case and in the one direction of flow for both unidirectional cases).";\r
- }\r
- enum TERMINATION_STATE_UNKNOWN {\r
- description "There TerminationState cannot be determined.";\r
- }\r
- }\r
- description "Provides support for the range of behaviours and specific states that an LP can take with respect to termination of the signal.\r
- Indicates to what degree the LayerTermination is terminated.";\r
- }\r
- typedef uuid {\r
- type string;\r
- description "The univeral ID value where the mechanism for generation is defned by some authority not directly referenced in the structure.\r
- UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters.\r
- Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12} \r
- Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";\r
- }\r
- grouping capacity-g {\r
- container total-size {\r
- uses capacity-value-g;\r
- description "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate.";\r
- }\r
- container bandwidth-profile {\r
- uses bandwidth-profile-g;\r
- description "none";\r
- }\r
- description "Information on capacity of a particular TopologicalEntity.";\r
- }\r
- grouping bandwidth-profile-g {\r
- leaf bw-profile-type {\r
- type bandwidth-profile-type;\r
- description "none";\r
- }\r
- container committed-information-rate {\r
- uses capacity-value-g;\r
- description "none";\r
- }\r
- container committed-burst-size {\r
- uses capacity-value-g;\r
- description "none";\r
- }\r
- container peak-information-rate {\r
- uses capacity-value-g;\r
- description "none";\r
- }\r
- container peak-burst-size {\r
- uses capacity-value-g;\r
- description "none";\r
- }\r
- leaf color-aware {\r
- type boolean;\r
- description "none";\r
- }\r
- leaf coupling-flag {\r
- type boolean;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping capacity-value-g {\r
- leaf value {\r
- type uint64;\r
- description "none";\r
- }\r
- leaf unit {\r
- type capacity-unit;\r
- description "none";\r
- }\r
- description "The Capacity (Bandwidth) values that are applicable for digital layers.";\r
- }\r
- typedef capacity-unit {\r
- type enumeration {\r
- enum TB {\r
- description "Indicates that the integer CapacityValue is in TeraBytes";\r
- }\r
- enum TBPS {\r
- description "Indicates that the integer CapacityValue is in Terabit-per-second";\r
- }\r
- enum GB {\r
- description "Indicates that the integer CapacityValue is in GigaBytes";\r
- }\r
- enum GBPS {\r
- description "Indicates that the integer CapacityValue is in Gigabit-per-second";\r
- }\r
- enum MB {\r
- description "Indicates that the integer CapacityValue is in MegaBytes";\r
- }\r
- enum MBPS {\r
- description "Indicates that the integer CapacityValue is in Megabit-per-second";\r
- }\r
- enum KB {\r
- description "Indicates that the integer CapacityValue is in KiloBytes";\r
- }\r
- enum KBPS {\r
- description "Indicates that the integer CapacityValue is in Kilobit-per-second";\r
- }\r
- enum GHz {\r
- description "none";\r
- }\r
- enum MHz {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef bandwidth-profile-type {\r
- type enumeration {\r
- enum MEF_10.x {\r
- description "none";\r
- }\r
- enum RFC_2697 {\r
- description "none";\r
- }\r
- enum RFC_2698 {\r
- description "none";\r
- }\r
- enum RFC_4115 {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping time-range-g {\r
- leaf end-time {\r
- type date-and-time;\r
- description "none";\r
- }\r
- leaf start-time {\r
- type date-and-time;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping time-period-g {\r
- leaf value {\r
- type uint64;\r
- description "none";\r
- }\r
- leaf unit {\r
- type time-unit;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- typedef time-unit {\r
- type enumeration {\r
- enum YEARS {\r
- description "none";\r
- }\r
- enum MONTHS {\r
- description "none";\r
- }\r
- enum DAYS {\r
- description "none";\r
- }\r
- enum HOURS {\r
- description "none";\r
- }\r
- enum MINUTES {\r
- description "none";\r
- }\r
- enum SECONDS {\r
- description "none";\r
- }\r
- enum MILLISECONDS {\r
- description "none";\r
- }\r
- enum MICROSECONDS {\r
- description "none";\r
- }\r
- enum NANOSECONDS {\r
- description "none";\r
- }\r
- enum PICOSECONDS {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping time-interval-g {\r
- list period {\r
- min-elements 1;\r
- max-elements 5;\r
- uses time-period-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- typedef layer-protocol-qualifier {\r
- type identityref {\r
- base LAYER_PROTOCOL_QUALIFIER;\r
- }\r
- description "This enumeration is used to qualify the sub-layers (if applicable) for a specific LayerProtocol.\r
- This extensible enumeration is intentionally empty in the common module and will be augmented with layer-specific values in the respective technology-specific modules.\r
- Examples:\r
- - LayerProtocolName := OPTICAL_DATA_UNIT\r
- LayerProtocolQualifier := 'ODU_FLEX', 'ODU_0', 'ODU_1', 'ODU_2', 'ODU_2E', 'ODU_3', 'ODU_4'', 'ODU_CBR'', 'ODU_GFP'', 'ODU_GFP_HAO', etc\r
- - LayerProtocolName := DIGITAL_SIGNAL_RATE\r
- LayerProtocolQualifier := 'GBE', '10_GBE_WAN', '10_GBE_LAN', '100_GBE', 'FC_100', 'FC_200', 'FC_400', 'FC_800', 'FC_1200', 'FC_1600', 'FC_3200', 'STM_1', 'STM_4', 'STM_16', 'STM_64', 'STM_256', 'OC_3', 'OC_12', 'OC_48', 'OC_192', 'OC_768', 'OTU_1', 'OTU_2', 'OTU_2E', 'OTU_3', 'OTU_4', 'GPON', 'XGPON', 'IB_SDR', 'IB_DDR', 'IB_QDR', 'SBCON_ESCON', 'DVB_ASI', 'SDI', 'SDI_1G5', 'SDI_3G', etc\r
- - LayerProtocolName := PHOTONIC_MEDIA\r
- LayerProtocolQualifier := OCH, OTSi, OTSiA, NMC, NMCA, SMC, SMCA, OMS, OTS\r
- ";\r
- }\r
-\r
- /***********************\r
- * package interfaces\r
- **********************/ \r
- rpc get-service-interface-point-details {\r
- description "none";\r
- input {\r
- leaf sip-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container sip {\r
- uses service-interface-point-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-service-interface-point-list {\r
- description "none";\r
- output {\r
- list sip {\r
- uses service-interface-point-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc update-service-interface-point {\r
- description "none";\r
- input {\r
- leaf sip-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- leaf state {\r
- type administrative-state;\r
- description "none";\r
- }\r
- }\r
- }\r
-\r
-}\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
+ }
+
+ /*************************
+ * definitions of refrences
+ *************************/
+ grouping service-interface-point-ref-g {
+ leaf service-interface-point-uuid {
+ type leafref {
+ path '/tapi-common:context/tapi-common:service-interface-point/tapi-common:uuid';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ /***********************
+ * package object-classes
+ **********************/
+ grouping admin-state-pac-g {
+ leaf administrative-state {
+ type administrative-state;
+ description "none";
+ }
+ leaf operational-state {
+ type operational-state;
+ config false;
+ description "none";
+ }
+ leaf lifecycle-state {
+ type lifecycle-state;
+ config false;
+ description "none";
+ }
+ description "Provides state attributes that are applicable to an entity that can be administered. Such an entity also has operational and lifecycle aspects.";
+ }
+ grouping global-class-g {
+ leaf uuid {
+ type uuid;
+ description "UUID: An identifier that is universally unique within an identifier space, where the identifier space is itself globally unique, and immutable. An UUID carries no semantics with respect to the purpose or state of the entity.
+ UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters.
+ Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
+ Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";
+ }
+ list name {
+ key 'value-name';
+ uses name-and-value-g;
+ description "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.";
+ }
+ description "The TAPI GlobalComponent serves as the super class for all TAPI entities that can be directly retrieved by their ID. As such, these are first class entities and their ID is expected to be globally unique. ";
+ }
+ grouping lifecycle-state-pac-g {
+ leaf lifecycle-state {
+ type lifecycle-state;
+ config false;
+ description "none";
+ }
+ description "Provides state attributes for an entity that has lifeccycle aspects only.";
+ }
+ grouping local-class-g {
+ leaf local-id {
+ type string;
+ description "none";
+ }
+ list name {
+ key 'value-name';
+ uses name-and-value-g;
+ description "List of names. A property of an entity with a value that is unique in some namespace but may change during the life of the entity. A name carries no semantics with respect to the purpose of the entity.";
+ }
+ description "The TAPI GlobalComponent serves as the super class for all TAPI entities that can be directly retrieved by their ID. As such, these are first class entities and their ID is expected to be globally unique. ";
+ }
+ grouping operational-state-pac-g {
+ leaf operational-state {
+ type operational-state;
+ config false;
+ description "none";
+ }
+ leaf lifecycle-state {
+ type lifecycle-state;
+ config false;
+ description "none";
+ }
+ description "Provides state attributes that are applicable to an entity that reflects operational aspects. Such an entity is expected to also have lifecycle aspects.";
+ }
+ container context {
+ uses tapi-context-g;
+ presence "Root container for all TAPI interaction";
+ description "none";
+ }
+ grouping tapi-context-g {
+ list service-interface-point {
+ key 'uuid';
+ uses service-interface-point-g;
+ description "none";
+ }
+ uses global-class-g;
+ description "The Network Control Domain (NCD) object class represents the scope of control that a particular SDN controller has with respect to a particular network, (i.e., encompassing a designated set of interconnected (virtual) network elements).";
+ }
+ grouping resource-spec-g {
+ uses global-class-g;
+ description "none";
+ }
+ grouping service-spec-g {
+ uses global-class-g;
+ description "none";
+ }
+ grouping service-interface-point-g {
+ leaf layer-protocol-name {
+ type layer-protocol-name;
+ config false;
+ description "Usage of layerProtocolName [>1] in the ServiceInterfacePoint should be considered experimental";
+ }
+ leaf-list supported-layer-protocol-qualifier {
+ type layer-protocol-qualifier;
+ config false;
+ min-elements 1;
+ description "none";
+ }
+ uses resource-spec-g;
+ uses admin-state-pac-g;
+ uses capacity-pac-g;
+ description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers.
+ The structure of LTP supports all transport protocols including circuit and packet forms.";
+ }
+ grouping capacity-pac-g {
+ container total-potential-capacity {
+ config false;
+ uses capacity-g;
+ description "An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken.";
+ }
+ container available-capacity {
+ config false;
+ uses capacity-g;
+ description "Capacity available to be assigned.";
+ }
+ description "The TopologicalEntity derives capacity from the underlying realization.
+ A TopologicalEntity may be an abstraction and virtualization of a subset of the underlying capability offered in a view or may be directly reflecting the underlying realization.
+ A TopologicalEntity may be directly used in the view or may be assigned to another view for use.
+ The clients supported by a multi-layer TopologicalEntity may interact such that the resources used by one client may impact those available to another. This is derived from the LTP spec details.
+ Represents the capacity available to user (client) along with client interaction and usage.
+ A TopologicalEntity may reflect one or more client protocols and one or more members for each profile.";
+ }
+ grouping termination-pac-g {
+ leaf termination-direction {
+ type termination-direction;
+ config false;
+ description "The overall directionality of the LP.
+ - A BIDIRECTIONAL LP will have some SINK and/or SOURCE flowss.
+ - A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows
+ - A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";
+ }
+ leaf termination-state {
+ type termination-state;
+ config false;
+ description "Indicates whether the layer is terminated and if so how.";
+ }
+ description "Each transport layer is represented by a LayerProtocol (LP) instance. The LayerProtocol instances it can be used for controlling termination and monitoring functionality.
+ It can also be used for controlling the adaptation (i.e. encapsulation and/or multiplexing of client signal), tandem connection monitoring, traffic conditioning and/or shaping functionality at an intermediate point along a connection.
+ Where the client – server relationship is fixed 1:1 and immutable, the layers can be encapsulated in a single LTP instance. Where the is a n:1 relationship between client and server, the layers must be split over two separate instances of LTP. ";
+ }
+
+ /***********************
+ * package type-definitions
+ **********************/
+ identity LAYER_PROTOCOL_QUALIFIER {
+ description "none";
+ }
+ typedef administrative-state {
+ type enumeration {
+ enum LOCKED {
+ description "Users are administratively prohibited from making use of the resource.";
+ }
+ enum UNLOCKED {
+ description "Users are allowed to use the resource";
+ }
+ }
+ description "The possible values of the administrativeState.";
+ }
+ typedef date-and-time {
+ type string;
+ description "This primitive type defines the date and time according to the following structure:
+ yyyyMMddhhmmss.s[Z|{+|-}HHMm] where:
+ yyyy 0000..9999 year
+ MM 01..12 month
+ dd 01..31 day
+ hh 00..23 hour
+ mm 00..59 minute
+ ss 00..59 second
+ s .0...9 tenth of second (set to .0 if EMS or NE cannot support this granularity)
+ Z Z indicates UTC (rather than local time)
+ {+|-} + or - delta from UTC
+ HH 00..23 time zone difference in hours
+ Mm 00..59 time zone difference in minutes.";
+ }
+ typedef directive-value {
+ type enumeration {
+ enum MINIMIZE {
+ description "none";
+ }
+ enum MAXIMIZE {
+ description "none";
+ }
+ enum ALLOW {
+ description "none";
+ }
+ enum DISALLOW {
+ description "none";
+ }
+ enum DONT_CARE {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef forwarding-direction {
+ type enumeration {
+ enum BIDIRECTIONAL {
+ description "The Fowarding entity supports both BIDIRECTIONAL flows at all Ports (i.e. all Ports have both an INPUT flow and an OUTPUT flow defined)";
+ }
+ enum UNIDIRECTIONAL {
+ description "The Forwarding entity has Ports that are either INPUT or OUTPUT. It has no BIDIRECTIONAL Ports.";
+ }
+ enum UNDEFINED_OR_UNKNOWN {
+ description "Not a normal state. The system is unable to determine the correct value.";
+ }
+ }
+ description "The directionality of a Forwarding entity.";
+ }
+ typedef layer-protocol-name {
+ type enumeration {
+ enum ODU {
+ description "Models the ODU layer as per ITU-T G.872";
+ }
+ enum ETH {
+ description "Models the ETH layer as per ITU-T G.8010";
+ }
+ enum DSR {
+ description "Models a Digital Signal of an unspecified rate. This value can be used when the intent is to respresent an generic digital layer signal without making any statement on its format or overhead (processing) capabilities.";
+ }
+ enum PHOTONIC_MEDIA {
+ description "Models the OCH, OTSi, OTSiA, OTSiG, OMS, OTS and Media channels as per ITU-T G.872 (2017) version 4";
+ }
+ }
+ description "Provides a controlled list of layer protocol names and indicates the naming authority.
+ Note that it is expected that attributes will be added to this structure to convey the naming authority name, the name of the layer protocol using a human readable string and any particular standard reference.
+ Layer protocol names include:
+ - Layer 1 (L1): OTU, ODU
+ - Layer 2 (L2): Carrier Grade Ethernet (ETY, ETH), MPLS-TP (MT)
+ ";
+ }
+ typedef lifecycle-state {
+ type enumeration {
+ enum PLANNED {
+ description "The resource is planned but is not present in the network.";
+ }
+ enum POTENTIAL_AVAILABLE {
+ description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.
+ o When a potential resource is configured and allocated to a client it is moved to the installed state for that client.
+ o If the potential resource has been consumed (e.g. allocated to another client) it is moved to the planned state for all other clients.";
+ }
+ enum POTENTIAL_BUSY {
+ description "The supporting resources are present in the network but are shared with other clients; or require further configuration before they can be used; or both.
+ o When a potential resource is configured and allocated to a client it is moved to the installed state for that client.
+ o If the potential resource has been consumed (e.g. allocated to another client) it is moved to the planned state for all other clients.";
+ }
+ enum INSTALLED {
+ description "The resource is present in the network and is capable of providing the service expected.";
+ }
+ enum PENDING_REMOVAL {
+ description "The resource has been marked for removal";
+ }
+ }
+ description "The possible values of the lifecycleState.";
+ }
+ grouping name-and-value-g {
+ leaf value-name {
+ type string;
+ description "The name of the value. The value need not have a name.";
+ }
+ leaf value {
+ type string;
+ description "The value";
+ }
+ description "A scoped name-value pair";
+ }
+ typedef operational-state {
+ type enumeration {
+ enum DISABLED {
+ description "The resource is unable to meet the SLA of the user of the resource. If no (explicit) SLA is defined the resource is disabled if it is totally inoperable and unable to provide service to the user.";
+ }
+ enum ENABLED {
+ description "The resource is partially or fully operable and available for use";
+ }
+ }
+ description "The possible values of the operationalState.";
+ }
+ typedef port-direction {
+ type enumeration {
+ enum BIDIRECTIONAL {
+ description "The Port has both an INPUT flow and an OUTPUT flow defined.";
+ }
+ enum INPUT {
+ description "The Port only has definition for a flow into the Forwarding entity (i.e. an ingress flow).";
+ }
+ enum OUTPUT {
+ description "The Port only has definition for a flow out of the Forwarding entity (i.e. an egress flow).";
+ }
+ enum UNIDENTIFIED_OR_UNKNOWN {
+ description "Not a normal state. The system is unable to determine the correct value.";
+ }
+ }
+ description "The orientation of flow at the Port of a Forwarding entity";
+ }
+ typedef port-role {
+ type enumeration {
+ enum SYMMETRIC {
+ description "none";
+ }
+ enum ROOT {
+ description "none";
+ }
+ enum LEAF {
+ description "none";
+ }
+ enum TRUNK {
+ description "none";
+ }
+ enum UNKNOWN {
+ description "none";
+ }
+ }
+ description "The role of an end in the context of the function of the forwarding entity that it bounds";
+ }
+ typedef termination-direction {
+ type enumeration {
+ enum BIDIRECTIONAL {
+ description "A Termination with both SINK and SOURCE flows.";
+ }
+ enum SINK {
+ description "The flow is up the layer stack from the server side to the client side.
+ Considering an example of a Termination function within the termination entity, a SINK flow:
+ - will arrive at at the base of the termination function (the server side) where it is essentially at an INPUT to the termination component
+ - then will be decoded and deconstructed
+ - then relevant parts of the flow will be sent out of the termination function (the client side) where it is essentially at an OUTPUT from the termination component
+ A SINK termination is one that only supports a SINK flow.
+ A SINK termiation can be bound to an OUTPUT Port of a Forwarding entity";
+ }
+ enum SOURCE {
+ description "The flow is down the layer stack from the server side to the client side.
+ Considering an example of a Termination function within the termination entity, a SOURCE flow:
+ - will arrive at at the top of the termination function (the client side) where it is essentially at an INPUT to the termination component
+ - then will be assembled with various overheads etc and will be coded
+ - then coded form of the assembly of flow will be sent out of the termination function (the server side) where it is essentially at an OUTPUT from the termination component
+ A SOURCE termination is one that only supports a SOURCE flow.
+ A SOURCE termiation can be bound to an INPUT Port of a Forwarding entity";
+ }
+ enum UNDEFINED_OR_UNKNOWN {
+ description "Not a normal state. The system is unable to determine the correct value.";
+ }
+ }
+ description "The directionality of a termination entity";
+ }
+ typedef termination-state {
+ type enumeration {
+ enum LP_CAN_NEVER_TERMINATE {
+ description "A non-flexible case that can never be terminated.";
+ }
+ enum LT_NOT_TERMINATED {
+ description "A flexible termination that can terminate but is currently not terminated.";
+ }
+ enum TERMINATED_SERVER_TO_CLIENT_FLOW {
+ description "A flexible termination that is currently terminated for server to client flow only.";
+ }
+ enum TERMINATED_CLIENT_TO_SERVER_FLOW {
+ description "A flexible termination that is currently terminated for client to server flow only.";
+ }
+ enum TERMINATED_BIDIRECTIONAL {
+ description "A flexible termination that is currently terminated in both directions of flow.";
+ }
+ enum LT_PERMENANTLY_TERMINATED {
+ description "A non-flexible termination that is always terminated (in both directions of flow for a bidirectional case and in the one direction of flow for both unidirectional cases).";
+ }
+ enum TERMINATION_STATE_UNKNOWN {
+ description "There TerminationState cannot be determined.";
+ }
+ }
+ description "Provides support for the range of behaviours and specific states that an LP can take with respect to termination of the signal.
+ Indicates to what degree the LayerTermination is terminated.";
+ }
+ typedef uuid {
+ type string;
+ description "The univeral ID value where the mechanism for generation is defned by some authority not directly referenced in the structure.
+ UUID here uses string representation as defined in RFC 4122. The canonical representation uses lowercase characters.
+ Pattern: [0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-' + '[0-9a-fA-F]{4}-[0-9a-fA-F]{12}
+ Example of a UUID in string representation: f81d4fae-7dec-11d0-a765-00a0c91e6bf6";
+ }
+ grouping capacity-g {
+ container total-size {
+ uses capacity-value-g;
+ description "Total capacity of the TopologicalEntity in MB/s. In case of bandwidthProfile, this is expected to same as the committedInformationRate.";
+ }
+ container bandwidth-profile {
+ uses bandwidth-profile-g;
+ description "none";
+ }
+ description "Information on capacity of a particular TopologicalEntity.";
+ }
+ grouping bandwidth-profile-g {
+ leaf bw-profile-type {
+ type bandwidth-profile-type;
+ description "none";
+ }
+ container committed-information-rate {
+ uses capacity-value-g;
+ description "none";
+ }
+ container committed-burst-size {
+ uses capacity-value-g;
+ description "none";
+ }
+ container peak-information-rate {
+ uses capacity-value-g;
+ description "none";
+ }
+ container peak-burst-size {
+ uses capacity-value-g;
+ description "none";
+ }
+ leaf color-aware {
+ type boolean;
+ description "none";
+ }
+ leaf coupling-flag {
+ type boolean;
+ description "none";
+ }
+ description "none";
+ }
+ grouping capacity-value-g {
+ leaf value {
+ type uint64;
+ description "none";
+ }
+ leaf unit {
+ type capacity-unit;
+ description "none";
+ }
+ description "The Capacity (Bandwidth) values that are applicable for digital layers.";
+ }
+ typedef capacity-unit {
+ type enumeration {
+ enum TB {
+ description "Indicates that the integer CapacityValue is in TeraBytes";
+ }
+ enum TBPS {
+ description "Indicates that the integer CapacityValue is in Terabit-per-second";
+ }
+ enum GB {
+ description "Indicates that the integer CapacityValue is in GigaBytes";
+ }
+ enum GBPS {
+ description "Indicates that the integer CapacityValue is in Gigabit-per-second";
+ }
+ enum MB {
+ description "Indicates that the integer CapacityValue is in MegaBytes";
+ }
+ enum MBPS {
+ description "Indicates that the integer CapacityValue is in Megabit-per-second";
+ }
+ enum KB {
+ description "Indicates that the integer CapacityValue is in KiloBytes";
+ }
+ enum KBPS {
+ description "Indicates that the integer CapacityValue is in Kilobit-per-second";
+ }
+ enum GHz {
+ description "none";
+ }
+ enum MHz {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef bandwidth-profile-type {
+ type enumeration {
+ enum MEF_10.x {
+ description "none";
+ }
+ enum RFC_2697 {
+ description "none";
+ }
+ enum RFC_2698 {
+ description "none";
+ }
+ enum RFC_4115 {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ grouping time-range-g {
+ leaf end-time {
+ type date-and-time;
+ description "none";
+ }
+ leaf start-time {
+ type date-and-time;
+ description "none";
+ }
+ description "none";
+ }
+ grouping time-period-g {
+ leaf value {
+ type uint64;
+ description "none";
+ }
+ leaf unit {
+ type time-unit;
+ description "none";
+ }
+ description "none";
+ }
+ typedef time-unit {
+ type enumeration {
+ enum YEARS {
+ description "none";
+ }
+ enum MONTHS {
+ description "none";
+ }
+ enum DAYS {
+ description "none";
+ }
+ enum HOURS {
+ description "none";
+ }
+ enum MINUTES {
+ description "none";
+ }
+ enum SECONDS {
+ description "none";
+ }
+ enum MILLISECONDS {
+ description "none";
+ }
+ enum MICROSECONDS {
+ description "none";
+ }
+ enum NANOSECONDS {
+ description "none";
+ }
+ enum PICOSECONDS {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ grouping time-interval-g {
+ list period {
+ min-elements 1;
+ max-elements 5;
+ uses time-period-g;
+ description "none";
+ }
+ description "none";
+ }
+ typedef layer-protocol-qualifier {
+ type identityref {
+ base LAYER_PROTOCOL_QUALIFIER;
+ }
+ description "This enumeration is used to qualify the sub-layers (if applicable) for a specific LayerProtocol.
+ This extensible enumeration is intentionally empty in the common module and will be augmented with layer-specific values in the respective technology-specific modules.
+ Examples:
+ - LayerProtocolName := OPTICAL_DATA_UNIT
+ LayerProtocolQualifier := 'ODU_FLEX', 'ODU_0', 'ODU_1', 'ODU_2', 'ODU_2E', 'ODU_3', 'ODU_4'', 'ODU_CBR'', 'ODU_GFP'', 'ODU_GFP_HAO', etc
+ - LayerProtocolName := DIGITAL_SIGNAL_RATE
+ LayerProtocolQualifier := 'GBE', '10_GBE_WAN', '10_GBE_LAN', '100_GBE', 'FC_100', 'FC_200', 'FC_400', 'FC_800', 'FC_1200', 'FC_1600', 'FC_3200', 'STM_1', 'STM_4', 'STM_16', 'STM_64', 'STM_256', 'OC_3', 'OC_12', 'OC_48', 'OC_192', 'OC_768', 'OTU_1', 'OTU_2', 'OTU_2E', 'OTU_3', 'OTU_4', 'GPON', 'XGPON', 'IB_SDR', 'IB_DDR', 'IB_QDR', 'SBCON_ESCON', 'DVB_ASI', 'SDI', 'SDI_1G5', 'SDI_3G', etc
+ - LayerProtocolName := PHOTONIC_MEDIA
+ LayerProtocolQualifier := OCH, OTSi, OTSiA, NMC, NMCA, SMC, SMCA, OMS, OTS
+ ";
+ }
+
+ /***********************
+ * package interfaces
+ **********************/
+ rpc get-service-interface-point-details {
+ description "none";
+ input {
+ leaf sip-id-or-name {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container sip {
+ uses service-interface-point-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-service-interface-point-list {
+ description "none";
+ output {
+ list sip {
+ uses service-interface-point-g;
+ description "none";
+ }
+ }
+ }
+ rpc update-service-interface-point {
+ description "none";
+ input {
+ leaf sip-id-or-name {
+ type string;
+ description "none";
+ }
+ leaf state {
+ type administrative-state;
+ description "none";
+ }
+ }
+ }
+
+}
-module tapi-dsr {\r
- namespace "urn:onf:otcc:yang:tapi-dsr";\r
- prefix tapi-dsr;\r
- import tapi-common {\r
- prefix tapi-common;\r
- }\r
- organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
+module tapi-dsr {
+ namespace "urn:onf:otcc:yang:tapi-dsr";
+ prefix tapi-dsr;
+ import tapi-common {
+ prefix tapi-common;
+ }
+ organization "ONF OTCC (Open Transport Configuration & Control) Project";
contact "
Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
Project List: <mailto:transport-api@opennetworking.org>
Editor: Karthik Sethuraman
- <mailto:karthik.sethuraman@necam.com>";\r
- description "none";\r
- revision 2018-08-31 {\r
+ <mailto:karthik.sethuraman@necam.com>";
+ description "none";
+ revision 2018-08-31 {
description "ONF Transport API version 2.1.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
- }\r
- revision 2018-03-07 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
+ }
+ revision 2018-03-07 {
description "ONF Transport API version 2.0.2
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
- }\r
- revision 2018-02-16 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
+ }
+ revision 2018-02-16 {
description "ONF Transport API version 2.0.1
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
- }\r
- revision 2018-01-02 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
+ }
+ revision 2018-01-02 {
description "ONF Transport API version 2.0.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
- }\r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- identity DIGITAL_SIGNAL_TYPE {\r
- base tapi-common:LAYER_PROTOCOL_QUALIFIER;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_GigE {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_10_GigE_LAN {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_10_GigE_WAN {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_40_GigE {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_100_GigE {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_FC_100 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_FC_200 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_FC_400 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_FC_800 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_FC_1200 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_FC_1600 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_FC_3200 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_STM_1 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_STM_4 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_STM_16 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_STM_64 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_STM_256 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_OC_3 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_OC_12 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_OC_48 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_OC_192 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_OC_768 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_OTU_1 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_OTU_2 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_OTU_2E {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_OTU_3 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_OTU_4 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_GPON {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_XGPON {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_IB_SDR {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_IB_DDR {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_IB_QDR {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_SBCON_ESCON {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_DVB_ASI {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_SDI {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_SDI_1G5 {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- identity DIGITAL_SIGNAL_TYPE_SDI_3G {\r
- base DIGITAL_SIGNAL_TYPE;\r
- description "none";\r
- }\r
- typedef digital-signal-type {\r
- type identityref {\r
- base DIGITAL_SIGNAL_TYPE;\r
- }\r
- description "none";\r
- }\r
-\r
-}\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
+ }
+ /***********************
+ * package type-definitions
+ **********************/
+ identity DIGITAL_SIGNAL_TYPE {
+ base tapi-common:LAYER_PROTOCOL_QUALIFIER;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_GigE {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_10_GigE_LAN {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_10_GigE_WAN {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_40_GigE {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_100_GigE {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_FC_100 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_FC_200 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_FC_400 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_FC_800 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_FC_1200 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_FC_1600 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_FC_3200 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_STM_1 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_STM_4 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_STM_16 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_STM_64 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_STM_256 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_OC_3 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_OC_12 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_OC_48 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_OC_192 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_OC_768 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_OTU_1 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_OTU_2 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_OTU_2E {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_OTU_3 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_OTU_4 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_GPON {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_XGPON {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_IB_SDR {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_IB_DDR {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_IB_QDR {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_SBCON_ESCON {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_DVB_ASI {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_SDI {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_SDI_1G5 {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ identity DIGITAL_SIGNAL_TYPE_SDI_3G {
+ base DIGITAL_SIGNAL_TYPE;
+ description "none";
+ }
+ typedef digital-signal-type {
+ type identityref {
+ base DIGITAL_SIGNAL_TYPE;
+ }
+ description "none";
+ }
+
+}
-module tapi-eth {\r
- namespace "urn:onf:otcc:yang:tapi-eth";\r
- prefix tapi-eth;\r
- import tapi-common {\r
- prefix tapi-common;\r
- }\r
- import tapi-topology {\r
- prefix tapi-topology;\r
- }\r
- import tapi-connectivity {\r
- prefix tapi-connectivity;\r
- }\r
- import tapi-oam {\r
- prefix tapi-oam;\r
- }\r
- organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
+module tapi-eth {
+ namespace "urn:onf:otcc:yang:tapi-eth";
+ prefix tapi-eth;
+ import tapi-common {
+ prefix tapi-common;
+ }
+ import tapi-topology {
+ prefix tapi-topology;
+ }
+ import tapi-connectivity {
+ prefix tapi-connectivity;
+ }
+ import tapi-oam {
+ prefix tapi-oam;
+ }
+ organization "ONF OTCC (Open Transport Configuration & Control) Project";
contact "
Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
Project List: <mailto:transport-api@opennetworking.org>
Editor: Karthik Sethuraman
- <mailto:karthik.sethuraman@necam.com>";\r
- description "This module contains TAPI ETH Model definitions.\r
- Source: TapiEth.uml\r
- Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
- License: This module is distributed under the Apache License 2.0";\r
- revision 2018-08-31 {\r
+ <mailto:karthik.sethuraman@necam.com>";
+ description "This module contains TAPI ETH Model definitions.
+ Source: TapiEth.uml
+ Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+ License: This module is distributed under the Apache License 2.0";
+ revision 2018-08-31 {
description "ONF Transport API version 2.1.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
- }\r
- revision 2018-03-07 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
+ }
+ revision 2018-03-07 {
description "ONF Transport API version 2.0.2
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
- }\r
- revision 2018-02-16 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
+ }
+ revision 2018-02-16 {
description "ONF Transport API version 2.0.1
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
- }\r
- revision 2018-01-02 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
+ }
+ revision 2018-01-02 {
description "ONF Transport API version 2.0.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
- }\r
- augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
- uses eth-connection-end-point-spec-g;\r
- description "Augments the base LayerProtocol information in ConnectionEndPoint with ETH-specific information";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job" {\r
- uses eth-loopback-job-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:meg" {\r
- uses eth-meg-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:meg/tapi-oam:mep" {\r
- uses eth-mep-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:meg/tapi-oam:mip" {\r
- uses eth-mip-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job" {\r
- uses eth-pro-active-2way-measurement-job-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job" {\r
- uses eth-link-trace-job-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job" {\r
- uses eth-test-job-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job" {\r
- uses eth-pro-active-1way-measurement-job-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {\r
- uses eth-pro-active-dm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {\r
- uses eth-pro-active-dm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {\r
- uses eth-pro-active-lm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {\r
- uses eth-pro-active-lm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {\r
- uses eth-on-demand-dm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {\r
- uses eth-on-demand-1-lm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {\r
- uses eth-on-demand-1-dm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {\r
- uses eth-pro-active-1-dm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {\r
- uses eth-pro-active-1-dm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {\r
- uses eth-pro-active-1-lm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {\r
- uses eth-pro-active-1-lm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job" {\r
- uses eth-on-demand-1way-measurement-job-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job" {\r
- uses eth-on-demand-2way-measurement-job-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {\r
- uses eth-on-demand-1-dm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {\r
- uses eth-on-demand-1-lm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {\r
- uses eth-on-demand-dm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {\r
- uses eth-on-demand-lm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {\r
- uses eth-on-demand-lm-performance-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {\r
- uses eth-1-dm-threshold-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {\r
- uses eth-1-lm-threshold-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {\r
- uses eth-dm-threshold-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {\r
- uses eth-lm-threshold-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {\r
- uses eth-link-trace-result-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {\r
- uses eth-test-result-data-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {\r
- uses eth-loopback-result-data-g;\r
- description "none";\r
- }\r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping eth-ctp-pac-g {\r
- leaf-list auxiliary-function-position-sequence {\r
- type uint64;\r
- description "This attribute indicates the positions (i.e., the relative order) of all the MEP, MIP, and TCS objects which are associated with the CTP.";\r
- }\r
- leaf vlan-config {\r
- type uint64;\r
- description "This attribute models the ETHx/ETH-m_A_So_MI_Vlan_Config information defined in G.8021.\r
- range of type : -1, 0, 1..4094";\r
- }\r
- leaf csf-rdi-fdi-enable {\r
- type boolean;\r
- description "This attribute models the MI_CSFrdifdiEnable information defined in G.8021.";\r
- }\r
- leaf csf-report {\r
- type boolean;\r
- description "This attribute models the MI_CSF_Reported information defined in G.8021.\r
- range of type : true, false";\r
- }\r
- leaf-list filter-config-snk {\r
- type mac-address;\r
- description "This attribute models the FilteConfig MI defined in 8.3/G.8021. It indicates the configured filter action for each of the 33 group MAC addresses for control frames. The 33 MAC addresses are:\r
- 01-80-C2-00-00-10, \r
- 01-80-C2-00-00-00 to 01-80-C2-00-00-0F, and \r
- 01-80-C2-00-00-20 to 01-80-C2-00-00-2F.\r
- The filter action is Pass or Block. \r
- If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action. \r
- If none of the above addresses match, the ETH_CI_D is passed.";\r
- }\r
- leaf mac-length {\r
- type uint64;\r
- default "2000";\r
- description "This attribute models the MAC_Lenght MI defined in 8.6/G.8021 for the MAC Length Check process. It indicates the allowed maximum frame length in bytes.\r
- range of type : 1518, 1522, 2000";\r
- }\r
- container filter-config {\r
- uses control-frame-filter-g;\r
- description "This attribute models the FilterConfig MI defined in section 8.3/G.8021. It indicates the configured filter action for each of the 33 group MAC addresses for control frames. The 33 MAC addresses are:\r
- - All bridges address: 01-80-C2-00-00-10,\r
- - Reserved addresses: 01-80-C2-00-00-00 to 01-80-C2-00-00-0F,\r
- - GARP Application addresses: 01-80-C2-00-00-20 to 01-80-C2-00-00-2F.\r
- The filter action is Pass or Block. \r
- If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action. \r
- If none of the above addresses match, the ETH_CI_D is passed.";\r
- }\r
- leaf is-ssf-reported {\r
- type boolean;\r
- description "This attribute provisions whether the SSF defect should be reported as fault cause or not.\r
- It models the ETH-LAG_FT_Sk_MI_SSF_Reported defined in G.8021.";\r
- }\r
- leaf pll-thr {\r
- type uint64;\r
- description "This attribute provisions the threshold for the number of active ports. If the number of active ports is more than zero but less than the provisioned threshold, a cPLL (Partial Link Loss) is raised. See section 9.7.1.2 of G.8021.\r
- range of type : 0..number of ports";\r
- }\r
- leaf actor-oper-key {\r
- type uint64;\r
- config false;\r
- description "See 802.1AX:\r
- The current operational value of the Key for the Aggregator. The administrative Key value may differ from the operational Key value for the reasons discussed in 5.6.2.\r
- The meaning of particular Key values is of local significance.\r
- range of type : 16 bit";\r
- }\r
- leaf actor-system-id {\r
- type mac-address;\r
- description "See 802.1AX:\r
- A MAC address used as a unique identifier for the System that contains this Aggregator.";\r
- }\r
- leaf actor-system-priority {\r
- type uint64;\r
- description "See 802.1AX:\r
- Indicating the priority associated with the Actor’s System ID.\r
- range of type : 2-octet";\r
- }\r
- leaf collector-max-delay {\r
- type uint64;\r
- description "See 802.1AX:\r
- The value of this attribute defines the maximum delay, in tens of microseconds, that may be imposed by the Frame Collector between receiving a frame from an Aggregator Parser, and either delivering the frame to its MAC Client or discarding the frame (see IEEE 802.1AX clause 5.2.3.1.1).\r
- range of type : 16-bit";\r
- }\r
- leaf data-rate {\r
- type uint64;\r
- config false;\r
- description "See 802.1AX:\r
- The current data rate, in bits per second, of the aggregate link. The value is calculated as N times the data rate of a single link in the aggregation, where N is the number of active links.";\r
- }\r
- leaf partner-oper-key {\r
- type uint64;\r
- config false;\r
- description "See 802.1AX:\r
- The current operational value of the Key for the Aggregator’s current protocol Partner. If the aggregation is manually configured, this Key value will be a value assigned by the local System.\r
- range of type : 16-bit";\r
- }\r
- leaf partner-system-id {\r
- type mac-address;\r
- config false;\r
- description "See 802.1AX:\r
- A MAC address consisting of the unique identifier for the current protocol Partner of this Aggregator. A value of zero indicates that there is no known Partner. If the aggregation is manually configured, this System ID value will be a value assigned by the local System.";\r
- }\r
- leaf partner-system-priority {\r
- type uint64;\r
- config false;\r
- description "See 802.1AX:\r
- Indicates the priority associated with the Partner’s System ID. If the aggregation is manually configured, this System Priority value will be a value assigned by the local System.\r
- range of type : 2-octet";\r
- }\r
- leaf csf-config {\r
- type csf-config;\r
- description "This attribute models the combination of all CSF related MI signals (MI_CSF_Enable, MI_CSFrdifdi_Enable, MI_CSFdci_Enable) as defined in G.8021.\r
- range of type : true, false";\r
- }\r
- container traffic-shaping {\r
- uses traffic-shaping-pac-g;\r
- description "none";\r
- }\r
- container traffic-conditioning {\r
- uses traffic-conditioning-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping eth-connection-end-point-spec-g {\r
- container ety-term {\r
- uses ety-termination-pac-g;\r
- description "none";\r
- }\r
- container eth-term {\r
- uses eth-termination-pac-g;\r
- description "none";\r
- }\r
- container eth-ctp {\r
- uses eth-ctp-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping eth-termination-pac-g {\r
- container priority-regenerate {\r
- uses priority-mapping-g;\r
- description "This attribute models the ETHx/ETH-m _A_Sk_MI_P_Regenerate information defined in G.8021.";\r
- }\r
- leaf ether-type {\r
- type vlan-type;\r
- description "This attribute models the ETHx/ETH-m _A_Sk_MI_Etype information defined in G.8021.";\r
- }\r
- leaf-list filter-config-1 {\r
- type mac-address;\r
- description "This attribute models the ETHx/ETH-m_A_Sk_MI_Filter_Config information defined in G.8021.\r
- It indicates the configured filter action for each of the 33 group MAC addresses for control frames.\r
- The 33 MAC addresses are:\r
- 01-80-C2-00-00-10, \r
- 01-80-C2-00-00-00 to 01-80-C2-00-00-0F, and \r
- 01-80-C2-00-00-20 to 01-80-C2-00-00-2F.\r
- The filter action is Pass or Block. \r
- If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action. \r
- If none of the above addresses match, the ETH_CI_D is passed.\r
- range of type : MacAddress: \r
- 01-80-C2-00-00-10, \r
- 01-80-C2-00-00-00 to \r
- 01-80-C2-00-00-0F, and \r
- 01-80-C2-00-00-20 to \r
- 01-80-C2-00-00-2F;\r
- ActionEnum:\r
- PASS, BLOCK";\r
- }\r
- leaf frametype-config {\r
- type frame-type;\r
- description "This attribute models the ETHx/ETH-m_A_Sk_MI_Frametype_Config information defined in G.8021.\r
- range of type : see Enumeration";\r
- }\r
- leaf port-vid {\r
- type vid;\r
- default "1";\r
- description "This attribute models the ETHx/ETH-m _A_Sk_MI_PVID information defined in G.8021.";\r
- }\r
- leaf priority-code-point-config {\r
- type pcp-coding;\r
- description "This attribute models the ETHx/ETH-m _A_Sk_MI_PCP_Config information defined in G.8021.\r
- range of type : see Enumeration";\r
- }\r
- description "This object class models the Ethernet Flow Termination function located at a layer boundary.";\r
- }\r
- grouping ety-termination-pac-g {\r
- leaf is-fts-enabled {\r
- type boolean;\r
- description "This attribute indicates whether Forced Transmitter Shutdown (FTS) is enabled or not. It models the ETYn_TT_So_MI_FTSEnable information.";\r
- }\r
- leaf is-tx-pause-enabled {\r
- type boolean;\r
- description "This attribute identifies whether the Transmit Pause process is enabled or not. It models the MI_TxPauseEnable defined in G.8021.";\r
- }\r
- leaf phy-type {\r
- type ety-phy-type;\r
- config false;\r
- description "This attribute identifies the PHY type of the ETY trail termination. See IEEE 802.3 clause 30.3.2.1.2.";\r
- }\r
- leaf-list phy-type-list {\r
- type ety-phy-type;\r
- config false;\r
- description "This attribute identifies the possible PHY types that could be supported at the ETY trail termination. See IEEE 802.3 clause 30.3.2.1.3.";\r
- }\r
- description "none";\r
- }\r
- grouping traffic-conditioning-pac-g {\r
- list prio-config-list {\r
- config false;\r
- uses priority-configuration-g;\r
- description "This attribute indicates the Priority Splitter function for the mapping of the Ethernet frame priority (ETH_CI_P) values to the output queue.";\r
- }\r
- list cond-config-list {\r
- config false;\r
- uses traffic-conditioning-configuration-g;\r
- description "This attribute indicates for the conditioner process the conditioning parameters:\r
- - Queue ID: Indicates the Queue ID\r
- - Committed Information Rate (CIR): number of bits per second\r
- - Committed Burst Size (CBS): number of bytes\r
- - Excess Information Rate (EIR): number of bits per second\r
- - Excess Burst Size (EBS): number of bytes\r
- - Coupling flag (CF): 0 or 1\r
- - Color mode (CM): color-blind and color-aware.";\r
- }\r
- leaf codirectional {\r
- type boolean;\r
- config false;\r
- description "This attribute indicates the direction of the conditioner. The value of true means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the sink part of the containing CTP. The value of false means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the source part of the containing CTP.";\r
- }\r
- description "This object class models the ETH traffic conditioning function as defined in G.8021.\r
- Basic attributes: codirectional, condConfigList, prioConfigList";\r
- }\r
- grouping traffic-shaping-pac-g {\r
- list prio-config-list {\r
- config false;\r
- uses priority-configuration-g;\r
- description "This attribute configures the Priority Splitter function for the mapping of the Ethernet frame priority (ETH_CI_P) values to the output queue.";\r
- }\r
- list queue-config-list {\r
- config false;\r
- uses queue-configuration-g;\r
- description "This attribute configures the Queue depth and Dropping threshold parameters of the Queue process. The Queue depth sets the maximum size of the queue in bytes. An incoming ETH_CI traffic unit is dropped if there is insufficient space in the queue to hold the whole unit. The Dropping threshold sets the threshold of the queue. If the queue is filled beyond this threshold, incoming ETH_CI traffic units accompanied by the ETH_CI_DE signal set are dropped.";\r
- }\r
- leaf sched-config {\r
- type scheduling-configuration;\r
- config false;\r
- description "This attribute configures the scheduler process. The value of this attribute is for further study because it is for further study in G.8021.\r
- Scheduler is a pointer to a Scheduler object, which is to be defined in the future (because in G.8021, this is FFS).\r
- Note that the only significance of the GTCS function defined in G.8021 is the use of a common scheduler for shaping. Given that, G.8052 models the common scheduler feature by having a common value for this attribute.";\r
- }\r
- leaf codirectional {\r
- type boolean;\r
- config false;\r
- description "This attribute indicates the direction of the shaping function. The value of true means that the shaping (modeled as a TCS Source according to G.8021) is associated with the source part of the containing CTP. The value of false means that the shaping (modeled as a TCS Source according to G.8021) is associated with the sink part of the containing CTP.";\r
- }\r
- description "This object class models the ETH traffic shaping function as defined in G.8021.\r
- Basic attribute: codirectional, prioConfigList, queueConfigList, schedConfig";\r
- }\r
- grouping eth-meg-spec-g {\r
- leaf client-mel {\r
- type uint64;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping eth-mep-spec-g {\r
- container eth-mep-common {\r
- uses eth-mep-common-g;\r
- description "none";\r
- }\r
- container eth-mep-source-pac {\r
- uses eth-mep-source-g;\r
- description "none";\r
- }\r
- container eth-mep-sink {\r
- uses eth-mep-sink-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping eth-mip-spec-g {\r
- description "none";\r
- }\r
- grouping eth-loopback-job-g {\r
- container eth-lb-msg {\r
- uses eth-oam-msg-common-pac-g;\r
- description "none";\r
- }\r
- leaf number {\r
- type uint64;\r
- description "G.8052: This parameter specifies how many LB messages to be sent for the LB_Series process.";\r
- }\r
- description "This class represents the Loopback (LB) process (send a series of LB messages carrying a test pattern to a particular MEP). The termination occurs at specified stop time (schedule attribute of OamJob).\r
- This class models also the 'loopback discover' process, when destinationAddress is multicast.\r
- When number is greater than 1, then the process is to perform a Loopback (LB) Series process (send a series of N LB messages to a particular MEP/MIP. ";\r
- }\r
- grouping eth-mep-common-g {\r
- leaf mep-mac {\r
- type mac-address;\r
- config false;\r
- description "This attribute contains the MAC Address of the MEP.";\r
- }\r
- leaf is-cc-enabled {\r
- type boolean;\r
- description "This attribute models the MI_CC_Enable signal defined in G.8021 and configured as specified in G8051.";\r
- }\r
- leaf cc-period {\r
- type oam-period;\r
- description "This attribute models the MI_CC_Period signal defined in G.8021 and configured as specified in G8051. \r
- It is the period at which the CCM message should be sent. \r
- Default values are: 3.33 ms for PS, 100 ms for PM, 1 s for FM.";\r
- }\r
- leaf cc-priority {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "7";\r
- description "This attribute models the MI_CC_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the CCM message should be sent.";\r
- }\r
- leaf lck-period {\r
- type oam-period;\r
- description "This attribute models the MI_LCK_Period signal defined in G.8021 and configured as specified in G8051. It is the frequency at which the LCK messages should be sent.\r
- range of type : 1s, 1min";\r
- }\r
- leaf lck-priority {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "7";\r
- description "This attribute models the MI_LCK_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the LCK messages should be sent.";\r
- }\r
- description "Basic attributes: adminState, clientMel, megIdentifier, mepMac\r
- Continuity Check Process related attributes: ccPeriod, ccPriority, isCcEnabled\r
- Lock Process related attributes: lckPeriod, lckPriority\r
- This object class models the MEP functions that are common to MEP Sink and MEP Source.";\r
- }\r
- grouping eth-mep-sink-g {\r
- leaf-list dm-1-priority {\r
- type uint64;\r
- description "This attribute indicates the list of 1DM priorities for the MepSink.";\r
- }\r
- leaf ais-priority {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "7";\r
- description "This attribute models the MI_AIS_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the AIS messages should be sent.";\r
- }\r
- leaf ais-period {\r
- type oam-period;\r
- description "This attribute models the MI_AIS_Period signal defined in G.8021 and configured as specified in G8051. It is the frequency at which the AIS messages should be sent.\r
- range of type : 1s, 1min";\r
- }\r
- leaf is-csf-reported {\r
- type boolean;\r
- default "true";\r
- description "This attribute models the MI_CSF_Reported signal defined in G.8021 and configured as specified in G8051. It configures whether the secondary failure CSF should be reported or not.";\r
- }\r
- leaf is-csf-rdi-fdi-enabled {\r
- type boolean;\r
- default "true";\r
- description "This attribute models the MI_CSFrdifdiEnable signal defined in G.8021 and configured as specified in G8051.";\r
- }\r
- container bandwidth-report {\r
- config false;\r
- uses bandwidth-report-g;\r
- description "This attribute models the content of the bandwidth report received by the MEP Sink from the peer MEP Source.";\r
- }\r
- leaf lm-degm {\r
- type uint64;\r
- default "10";\r
- description "This attribute defines the number of consecutive bad seconds necessary for the 'degraded' detection. See also section 'Degraded signal defect (dDEG)' in G.8021.";\r
- }\r
- leaf lm-deg-thr {\r
- type uint64;\r
- default "30";\r
- description "This attribute defines the threshold for declaring a 'bad second'. See also section 'Degraded signal defect (dDEG)' in G.8021.";\r
- }\r
- leaf lm-m {\r
- type uint64 {\r
- range "2..10";\r
- }\r
- default "10";\r
- description "This attribute defines the number of consecutive good seconds necessary for the clearing of 'degraded'. See also section 'Degraded signal defect (dDEG)' in G.8021.";\r
- }\r
- leaf lm-tf-min {\r
- type uint64;\r
- description "This attribute defines the necessary number of transmitted frames to enable the detection of 'bad seconds'. See also section 'Degraded signal defect (dDEG)' in G.8021.";\r
- }\r
- description "1DM related attribute: 1DmPriority\r
- AIS Process related attributes: aisPeriod, aisPriority\r
- Bandwidth notification Process related attribute: bandwidthReport\r
- Basic attribute: peerMepRefList\r
- CSF Process related attributes: isCsfRdiFdiEnabled, isCsfReported\r
- Defect correlation Process related attribute: currentProblemList\r
- This object class models the MEP sink function. Instance of this object class can be created and contained by ETH CTP or TTP objects.\r
- It also provides the management of the dual-ended maintenance job, such as test.\r
- This object contains the configuration parameters for detecting 'degraded signal' (DEG).";\r
- }\r
- grouping eth-mep-source-g {\r
- leaf aps-priority {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "7";\r
- description "This attribute specifies the priority of the APS messages.\r
- See section 8.1.5 APS insert process in G.8021.";\r
- }\r
- leaf csf-priority {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "7";\r
- description "This attribute models the MI_CSF_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the CSF messages should be sent";\r
- }\r
- leaf csf-period {\r
- type oam-period;\r
- description "This attribute models the MI_CSF_Period signal defined in G.8021 and configured as specified in G8051. It is the period at which the CSF messages should be sent.\r
- range of type : 1s, 1min";\r
- }\r
- leaf csf-config {\r
- type csf-config;\r
- description "This attribute models the combination of all CSF related MI signals (MI_CSF_Enable, MI_CSFrdifdi_Enable, MI_CSFdci_Enable) as defined in G.8021.";\r
- }\r
- description "APS Process related attribute: apsPriority\r
- Basic attribute: mepIdentifier\r
- CSF Process related attributes: csfConfig, csfPeriod, csfPriority\r
- Link trace related operation: linkTrace\r
- Loopback related operations: loopbackDiscover, loopbackSeries, loopbackTest, loopbackTestTerminate\r
- On demand measurement job control related operation: establishOnDemandDualEndedMeasurementJobSource\r
- Proactive measurement job control related operation: establishProActiveDualEndedMeasurementJobSource\r
- Test related operations: testInitiatorStart, testInitiatorTerminate\r
- This object class models the MEP source function. Instance of this object class can be created and contained by ETH CTP or TTP objects.\r
- It also provides the management of single-ended maintenance jobs, such as loopback test, loopback discover, loopback series, link trace, and dual-ended maintenance job, such as test.";\r
- }\r
- grouping eth-link-trace-job-g {\r
- container eth-lt-msg {\r
- uses eth-oam-operation-common-pac-g;\r
- description "none";\r
- }\r
- leaf time-to-live {\r
- type uint64;\r
- description "G.8052: This parameter provides the Time To Live (TTL) parameter of the Link Track protocol.\r
- The TTL parameter allows the receiver (MIP or MEP) of the LTM frame to determine if the frame can be terminated. TTL is decremented every time the LTM frame is relayed. LTM frame with TTL<=1 is terminated and not relayed.";\r
- }\r
- description "This class represents the Link Trace (LT) process for fault localization or for discovering the intermediate MIPs along the link from the MEP Source to a target MEP or MIP. An LTM frame will be sent from the MEP source to the target MEP/MIP.\r
- The termination occurs at specified stop time (schedule attribute of OamJob).";\r
- }\r
- grouping eth-test-job-g {\r
- container eth-test-msg {\r
- uses eth-oam-msg-common-pac-g;\r
- description "none";\r
- }\r
- description "This class represents the 1-way on-demand in-service or out-of-service diagnostic test. The diagnostic test includes verifying bandwidth throughput, frame loss, bit errors, etc. TST frames are transmitted.\r
- The termination occurs at specified stop time (schedule attribute of OamJob).";\r
- }\r
- grouping eth-on-demand-measurement-job-control-sink-g {\r
- leaf responder-mep-id {\r
- type string;\r
- description "none";\r
- }\r
- leaf source-address {\r
- type mac-address;\r
- description "This attribute contains the MAC address of the peer MEP. See G.8013 for details.";\r
- }\r
- leaf priority {\r
- type uint64;\r
- default "7";\r
- description "This attribute contains the priority of the OAM PDU frames.\r
- range of type : 0, 1, 2, 3, 4, 5, 6, 7";\r
- }\r
- leaf test-identifier {\r
- type uint64;\r
- description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.\r
- range of type : 0..(2^32) - 1";\r
- }\r
- description "This object class represents an on-demand measurement job controller sink for 1-way measurements. It is created as a result of an establishOnDemandDualEndedMeasurementJobSink() operation. It is deleted either automatically after the measurement job has completed (stop time reached) and the performance data AVC notification has been sent, or by an explicit abortOnDemandMeasurementJob() operation when the measurement job is running.";\r
- }\r
- grouping eth-on-demand-measurement-job-control-source-g {\r
- leaf controller-mep-id {\r
- type string;\r
- description "none";\r
- }\r
- leaf oam-pdu-generation-type {\r
- type oam-pdu-generation-type;\r
- description "This attribute contains the pattern that is used for the generation of OAM PDUs.";\r
- }\r
- leaf destination-address {\r
- type mac-address;\r
- description "This attribute contains the MAC address of the peer MEP. See G.8013 for details.";\r
- }\r
- leaf priority {\r
- type uint64;\r
- default "7";\r
- description "This attribute contains the priority of the OAM PDU frames.\r
- range of type : 0, 1, 2, 3, 4, 5, 6, 7";\r
- }\r
- leaf message-period {\r
- type message-period;\r
- description "This attribute contains the frequency of the OAM message (PDU) generation within a series. \r
- Note that the value 0 means that only one OAM message per measurement interval is generated.\r
- range of type : See corresponding Enum.";\r
- }\r
- leaf repetition-period {\r
- type repetition-period;\r
- description "This attribute contains the time between the start of two measurement intervals. This IS applicable for the repetitive instance type and MAY be applicable for the repetitive series type. \r
- Note that a value of 0 means not applicable (NA), which is for the cases of single instance, single series, or repetitive series without extra gap in between the measurement intervals (i.e., also as known as continuous series).";\r
- }\r
- leaf measurement-interval {\r
- type uint64;\r
- description "This attribute contains the discrete non overlapping periods of time (in seconds) during which measurements are performed (i.e., OAM messages are generated) and reports are gathered at the end of the measurement intervals. Note that the value 0 means a degenerated measurement interval with a single OAM message and the report is sent as immediately as possible.\r
- range of type : Non-negative";\r
- }\r
- leaf test-identifier {\r
- type uint64;\r
- description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.\r
- Note: The attribute is not used in case of LMM/LMR measurement.\r
- range of type : 0..(2^32) - 1";\r
- }\r
- leaf data-tlv-length {\r
- type uint64;\r
- description "This parameter provides the size of the optional data TLV.\r
- Non-negative integer represents the number of bytes for the length of the padding TLV.\r
- Notes:\r
- When configuring this parameter one should be aware of the maximum allowed total frame size limitation.\r
- The attribute is not used in case of 2-way loss measurement.\r
- range of type : Depends on the allowed MTU size.";\r
- }\r
- description "Basic attributes: destinationAddress, priority\r
- Measurement configuration related attributes: oamPduGenerationType, startTime, stopTime, messagePeriod, repetitionPeriod, measurementInterval\r
- Optional attributes: dataTlvLength, testIdentifier\r
- This object class represents an on-demand measurement job controller source for 1-way measurements. It is created as a result of an establishOnDemandDualEndedMeasurementJobSource() operation. It is deleted either automatically after the measurement job has completed (stop time reached), or by an explicit abortOnDemandMeasurementJob() operation while the measurement job is running.";\r
- }\r
- grouping eth-pro-active-measurement-job-control-sink-g {\r
- leaf responder-mep-id {\r
- type string;\r
- description "none";\r
- }\r
- leaf is-enabled {\r
- type boolean;\r
- default "true";\r
- description "This attribute identifies the state of the measurement job. If set to TRUE, the MEP performs proactive Performance Measurement.";\r
- }\r
- leaf source-address {\r
- type mac-address;\r
- description "This attribute contains the MAC address of the peer MEP. See G.8013 for details.";\r
- }\r
- leaf test-identifier {\r
- type uint64;\r
- description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.\r
- range of type : 0..(2^32) - 1";\r
- }\r
- description "This object class allows the control of the proactive 1-way measurement. It is created as a part of an establishProActiveDualEndedMeasurementJobSink() operation. Lifecycle: A pre-condition of deleting the object is that the “Enable” attribute should have the value “FALSE”.";\r
- }\r
- grouping eth-pro-active-measurement-job-control-source-g {\r
- leaf controller-mep-id {\r
- type string;\r
- description "none";\r
- }\r
- leaf is-enabled {\r
- type boolean;\r
- default "true";\r
- description "This attribute identifies the state of the measurement job. If set to TRUE, the MEP performs proactive Performance Measurement.";\r
- }\r
- leaf destination-address {\r
- type mac-address;\r
- description "This attribute provides the Unicast MAC address of the intented destination.";\r
- }\r
- leaf priority {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "7";\r
- description "This attribute contains the priority value on which the MEP performs the measurement. When the measurement is enabled, the MEP should use this value to encode the priority of generated measurement frames. The EMF usese this value to assign the “P” parameter of the measurement operation.";\r
- }\r
- leaf period {\r
- type oam-period;\r
- description "This attribute indicates the period (frequency) of the measurement frame transmission.\r
- range of type : 100ms, 1s, 10s";\r
- }\r
- leaf test-identifier {\r
- type uint64;\r
- description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.\r
- Note: The attribute is not used in case of 2-way loss measurement. \r
- range of type : 0..(2^32) - 1";\r
- }\r
- leaf data-tlv-length {\r
- type uint64;\r
- description "This parameter provides the size of the optional data TLV.\r
- Non-negative integer represents the number of bytes for the length of the padding TLV.\r
- Notes:\r
- When configuring this parameter one should be aware of the maximum allowed total frame size limitation.\r
- The attribute is not used in case of 2-way loss measurement.\r
- range of type : Depends on the allowed MTU size.";\r
- }\r
- description "This object class represents a proactive measurement job controller source for 1way measurements. It is created as a part of an establishProactiveDualEndedMeasurementJobSource() operation.";\r
- }\r
- grouping eth-pro-active-1-dm-performance-data-g {\r
- container pro-active-near-end-1-dm-parameters {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the statistical near end performnace parameters.";\r
- }\r
- description "This object class represents the PM current data collected in a pro-active delay measurement job (using 1DM).";\r
- }\r
- grouping eth-pro-active-1-lm-performance-data-g {\r
- container pro-active-near-end-1-lm-parameters {\r
- uses statistical-lm-performance-parameters-g;\r
- description "This attribute contains the statistical near end performnace parameters.";\r
- }\r
- description "This object class represents the PM current data collected in a pro-active loss measurement job (using 1SL).";\r
- }\r
- grouping eth-pro-active-dm-performance-data-g {\r
- container pro-active-bi-dir-dm-parameters {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the statistical bidirectional performnace parameters.";\r
- }\r
- container pro-active-far-end-dm-parameters {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the statistical far end performnace parameters.";\r
- }\r
- container pro-active-near-end-dm-parameters {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the statistical near end performnace parameters.";\r
- }\r
- description "This object class represents the PM current data collected in a pro-active delay measurement job (using DMM/DMR).";\r
- }\r
- grouping eth-pro-active-lm-performance-data-g {\r
- container pro-active-far-end-lm-parameters {\r
- uses statistical-lm-performance-parameters-g;\r
- description "This attribute contains the statistical far end performnace parameters.";\r
- }\r
- container pro-active-near-end-lm-parameters {\r
- uses statistical-lm-performance-parameters-g;\r
- description "This attribute contains the statistical near end performnace parameters.";\r
- }\r
- leaf bidirectional-uas {\r
- type uint64;\r
- description "This attribute contains the bidirectional UAS (unavailable seconds) detected in the monitoring interval.\r
- range of type : 0..900 for 15min interval or 0..86400 for 24 hr interval.";\r
- }\r
- description "This object class represents the PM current data collected in a pro-active loss measurement job (using LMM/LMR or SLM/SLR).";\r
- }\r
- grouping eth-on-demand-1-dm-performance-data-g {\r
- container on-demand-near-end-1-dm-parameters {\r
- uses on-demand-dm-performance-parameters-g;\r
- description "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.";\r
- }\r
- description "none";\r
- }\r
- grouping eth-on-demand-1-lm-performance-data-g {\r
- container on-demand-near-end-1-lm-parameters {\r
- uses on-demand-lm-performance-parameters-g;\r
- description "This attribute contains the results of an on-demand synthetic loss measurement job in the ingress direction.";\r
- }\r
- description "none";\r
- }\r
- grouping eth-on-demand-dm-performance-data-g {\r
- container on-demand-far-end-dm-parameters {\r
- uses on-demand-dm-performance-parameters-g;\r
- description "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.";\r
- }\r
- container on-demand-near-end-dm-parameters {\r
- uses on-demand-dm-performance-parameters-g;\r
- description "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.";\r
- }\r
- description "none";\r
- }\r
- grouping eth-on-demand-lm-performance-data-g {\r
- container on-demand-far-end-lm-parameters {\r
- uses on-demand-lm-performance-parameters-g;\r
- description "This attribute contains the results of an on-demand synthetic loss measurement job in the egress direction.";\r
- }\r
- container on-demand-near-end-lm-parameters {\r
- uses on-demand-lm-performance-parameters-g;\r
- description "This attribute contains the results of an on-demand synthetic loss measurement job in the ingress direction.";\r
- }\r
- description "none";\r
- }\r
- grouping eth-pro-active-1way-measurement-job-g {\r
- container pro-active-control-1way-source {\r
- uses eth-pro-active-measurement-job-control-source-g;\r
- description "none";\r
- }\r
- container pro-active-control-1way-sink {\r
- uses eth-pro-active-measurement-job-control-sink-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping eth-pro-active-2way-measurement-job-g {\r
- container pro-active-control-2way-source {\r
- uses eth-pro-active-measurement-job-control-source-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping eth-on-demand-2way-measurement-job-g {\r
- container on-demand-control-2way-source {\r
- uses eth-on-demand-measurement-job-control-source-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping eth-on-demand-1way-measurement-job-g {\r
- container on-demand-control-1way-source {\r
- uses eth-on-demand-measurement-job-control-source-g;\r
- description "none";\r
- }\r
- container on-demand-control-1way-sink {\r
- uses eth-on-demand-measurement-job-control-sink-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping eth-1-dm-threshold-data-g {\r
- container near-end-1-dm-cross-threshold {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the near end cross threshold values of the delay measurements.";\r
- }\r
- container near-end-1-dm-clear-threshold {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the near end clear threshold values of the delay measurements.";\r
- }\r
- description "This data type contains the threshold values for frame delay related 1-way measurements.";\r
- }\r
- grouping eth-1-lm-threshold-data-g {\r
- container near-end-1-lm-cross-threshold {\r
- uses statistical-lm-performance-parameters-g;\r
- description "This attribute contains the near end cross threshold values of the loss measurements.";\r
- }\r
- container near-end-1-lm-clear-threshold {\r
- uses statistical-lm-performance-parameters-g;\r
- description "This attribute is only valid for frame loss ratio parameters and counter type parameters working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the near end clear threshold values of the loss measurements.";\r
- }\r
- description "This data type contains the threshold values for frame loss related 1-way measurements.";\r
- }\r
- grouping eth-dm-threshold-data-g {\r
- container near-end-dm-cross-threshold {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the near end cross threshold values of the delay measurements.";\r
- }\r
- container near-end-dm-clear-threshold {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the near end clear threshold values of the delay measurements.";\r
- }\r
- container far-end-dm-cross-threshold {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the far end cross threshold values of the delay measurements.";\r
- }\r
- container far-end-dm-clear-threshold {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the far end clear threshold values of the delay measurements.";\r
- }\r
- container bi-dir-dm-cross-threshold {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the bidirectional cross threshold values of the delay measurements.";\r
- }\r
- container bi-dir-dm-clear-threshold {\r
- uses statistical-dm-performance-parameters-g;\r
- description "This attribute contains the bidirectional clear threshold values of the delay measurements.";\r
- }\r
- description "This data type contains the threshold values for frame delay related 2-way measurements.";\r
- }\r
- grouping eth-lm-threshold-data-g {\r
- container near-end-lm-cross-threshold {\r
- uses statistical-lm-performance-parameters-g;\r
- description "This attribute contains the near end cross threshold values of the loss measurements.";\r
- }\r
- container near-end-lm-clear-threshold {\r
- uses statistical-lm-performance-parameters-g;\r
- description "This attribute is only valid for frame loss ratio parameters and counter type parameters working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the near end clear threshold values of the loss measurements.";\r
- }\r
- container far-end-lm-cross-threshold {\r
- uses statistical-lm-performance-parameters-g;\r
- description "This attribute contains the far end cross threshold values of the loss measurements.";\r
- }\r
- container far-end-lm-clear-threshold {\r
- uses statistical-lm-performance-parameters-g;\r
- description "This attribute is only valid for frame loss ratio parameters and counter type parameters working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the far end clear threshold values of the loss measurements.";\r
- }\r
- leaf bi-dir-lm-uas-cross-threshold {\r
- type uint64;\r
- description "This attribute contains the bidirectional cross threshold value of the UAS loss measurement.";\r
- }\r
- leaf bi-dir-lm-uas-clear-threshold {\r
- type uint64;\r
- description "This attribute is only valid for the UAS parameter working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the bidirectional clear threshold value of the UAS loss measurement.";\r
- }\r
- description "This data type contains the threshold values for frame loss related 2-way measurements.";\r
- }\r
- grouping eth-loopback-result-data-g {\r
- leaf rec-lbr-frames {\r
- type uint64;\r
- config false;\r
- description "G.8052: This parameter returns the total number of received LBR messages, including the out of order LBR frames.";\r
- }\r
- leaf out-of-order-lbr-frames {\r
- type uint64;\r
- config false;\r
- description "G.8052: This parameter returns the number of LBR traffic unites (messages) that were received out of order (OO).";\r
- }\r
- leaf sent-lbm-frames {\r
- type uint64;\r
- config false;\r
- description "G.8052: This parameter returns the total number of sent LBM frames.";\r
- }\r
- leaf crc-lbr-frames {\r
- type uint64;\r
- config false;\r
- description "G.8052: This parameter returns the number of LBR frames where the CRC in the pattern failed.";\r
- }\r
- leaf ber-lbr-frames {\r
- type uint64;\r
- config false;\r
- description "G.8052: This parameter returns the number of LBR frames where there was a bit error in the pattern.";\r
- }\r
- leaf-list detected-peer-mep {\r
- type mac-address;\r
- config false;\r
- description "G.8052: This parameter returns the MAC addresses of the discovered peer MEPs of the subject MEP.";\r
- }\r
- description "none";\r
- }\r
- grouping eth-link-trace-result-data-g {\r
- list result-list {\r
- config false;\r
- uses link-trace-result-g;\r
- description "G.8052: This parameter returns the results of the LT process. It contains a list of the result received from the individual LTR frames.\r
- The result from the individual LTR frame include the Source Mac Address, the TTL, and TLV.";\r
- }\r
- description "none";\r
- }\r
- grouping eth-test-result-data-g {\r
- leaf sent-tst-frames {\r
- type uint64;\r
- config false;\r
- description "G.8052: This parameter returns the total number of sent TST frames.";\r
- }\r
- description "none";\r
- }\r
- grouping eth-oam-operation-common-pac-g {\r
- leaf destination-address {\r
- type mac-address;\r
- description "G.8052: This parameter provides the destination address, i.e., the MAC Address of the target MEP or MIP.";\r
- }\r
- leaf priority {\r
- type uint64;\r
- default "7";\r
- description "G.8052: This parameter provides the priority to be used in the LBM frame.";\r
- }\r
- description "none";\r
- }\r
- grouping eth-oam-msg-common-pac-g {\r
- leaf period {\r
- type oam-period;\r
- description "G.8052: This parameter provides the periodicity of the TST OAM messages.";\r
- }\r
- leaf drop-eligibility {\r
- type boolean;\r
- description "G.8052: This parameter provides the eligibility of frames with unicast ETH-TST information to be discarded when congestion conditions are encountered.";\r
- }\r
- leaf data-tlv-length {\r
- type uint64;\r
- description "G.8052: This parameter provides the length (in number of octet) of the optional Data TLV to be included in the TST frame.";\r
- }\r
- leaf test-pattern {\r
- type uint64;\r
- description "G.8052: This parameter provides the test pattern to be used in the optional Data TLV.\r
- Examples of test patterns include pseudo-random bit sequence (PRBS) 2^31-1 as specified in clause 5.8 of [ITU-T O.150], all '0' pattern, etc.\r
- The following values of pattern types are defined:\r
- 0: 'Null signal without CRC-32'\r
- 1: 'Null signal with CRC-32'\r
- 2: 'PRBS 2^31-1 without CRC-32'\r
- 3: 'PRBS 2^31-1 with CRC-32'.";\r
- }\r
- uses eth-oam-operation-common-pac-g;\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- identity ETH_OAM_JOB_TYPE {\r
- base tapi-oam:OAM_JOB_TYPE;\r
- description "none";\r
- }\r
- identity ETH_OAM_JOB_TYPE_ETH_1DM {\r
- base ETH_OAM_JOB_TYPE;\r
- description "none";\r
- }\r
- identity ETH_OAM_JOB_TYPE_ETH_1SLM {\r
- base ETH_OAM_JOB_TYPE;\r
- description "none";\r
- }\r
- identity ETH_OAM_JOB_TYPE_ETH_LM_CCM {\r
- base ETH_OAM_JOB_TYPE;\r
- description "none";\r
- }\r
- identity ETH_OAM_JOB_TYPE_ETH_LM_LMM {\r
- base ETH_OAM_JOB_TYPE;\r
- description "none";\r
- }\r
- identity ETH_OAM_JOB_TYPE_ETH_SLM {\r
- base ETH_OAM_JOB_TYPE;\r
- description "none";\r
- }\r
- identity ETH_OAM_JOB_TYPE_ETH_DM {\r
- base ETH_OAM_JOB_TYPE;\r
- description "none";\r
- }\r
- identity ETH_OAM_JOB_TYPE_ETH_LTC {\r
- base ETH_OAM_JOB_TYPE;\r
- description "none";\r
- }\r
- identity ETH_OAM_JOB_TYPE_ETH_LBK {\r
- base ETH_OAM_JOB_TYPE;\r
- description "none";\r
- }\r
- identity ETH_OAM_JOB_TYPE_ETH_TEST {\r
- base ETH_OAM_JOB_TYPE;\r
- description "none";\r
- }\r
- grouping priority-configuration-g {\r
- leaf priority {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- description "none";\r
- }\r
- leaf queue-id {\r
- type uint64 {\r
- range "1..8";\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping queue-configuration-g {\r
- leaf queue-id {\r
- type uint64;\r
- description "This attribute indicates the queue id.";\r
- }\r
- leaf queue-depth {\r
- type uint64;\r
- description "This attribute defines the depth of the queue in bytes.";\r
- }\r
- leaf queue-threshold {\r
- type uint64;\r
- description "This attribute defines the threshold of the queue in bytes.";\r
- }\r
- description "none";\r
- }\r
- grouping traffic-conditioning-configuration-g {\r
- leaf cir {\r
- type uint64;\r
- description "This attribute indicates the Committed Information Rate in bits/s.";\r
- }\r
- leaf cbs {\r
- type uint64;\r
- description "This attribute indicates the Committed Burst Size in bytes.";\r
- }\r
- leaf eir {\r
- type uint64;\r
- description "This attribute indicates the Excess Information Rate in bits/s.";\r
- }\r
- leaf ebs {\r
- type uint64;\r
- description "This attribute indicates the Excess Burst Size in bytes.";\r
- }\r
- leaf coupling-flag {\r
- type boolean;\r
- description "This attribute indicates the coupling flag.";\r
- }\r
- leaf colour-mode {\r
- type colour-mode;\r
- description "This attribute indicates the colour mode.";\r
- }\r
- leaf queue-id {\r
- type uint64 {\r
- range "1..8";\r
- }\r
- description "This attribute indicates the queue id.";\r
- }\r
- description "none";\r
- }\r
- typedef mac-address {\r
- type string;\r
- description "This primitive data type contains an Ethernet MAC address defined by IEEE 802a. The format of the address consists of 12 hexadecimal characters, grouped in pairs and separated by '-' (e.g., 03-27-AC-75-3E-1D).";\r
- }\r
- grouping priority-mapping-g {\r
- leaf priority-0 {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- description "This attribute defines the new priority value for the old priority value 0.";\r
- }\r
- leaf priority-1 {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "1";\r
- description "This attribute defines the new priority value for the old priority value 1.";\r
- }\r
- leaf priority-2 {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "2";\r
- description "This attribute defines the new priority value for the old priority value 2.";\r
- }\r
- leaf priority-3 {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "3";\r
- description "This attribute defines the new priority value for the old priority value 3.";\r
- }\r
- leaf priority-4 {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "4";\r
- description "This attribute defines the new priority value for the old priority value 4.";\r
- }\r
- leaf priority-5 {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "5";\r
- description "This attribute defines the new priority value for the old priority value 5.";\r
- }\r
- leaf priority-6 {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "6";\r
- description "This attribute defines the new priority value for the old priority value 6.";\r
- }\r
- leaf priority-7 {\r
- type uint64 {\r
- range "0..7";\r
- }\r
- default "7";\r
- description "This attribute defines the new priority value for the old priority value 7.";\r
- }\r
- description "This data type provides the priority mapping done in the 'P Regenerate' process defined in G.8021.";\r
- }\r
- typedef vid {\r
- type string;\r
- description "This primitive type models the 12 Bit VLAN identifier of a VLAN tag.";\r
- }\r
- typedef modify-cross-connection-data {\r
- type string;\r
- description "none";\r
- }\r
- grouping address-tuple-g {\r
- leaf address {\r
- type mac-address;\r
- description "This attribute contains the MAC address of the address tuple.";\r
- }\r
- leaf-list port-list {\r
- type mac-address;\r
- description "This attribute contains the ports associated to the MAC address in the address tuple.";\r
- }\r
- description "This data type contains an address tuple consisting of a MAC address and a corresponding port list.";\r
- }\r
- typedef scheduling-configuration {\r
- type string;\r
- description "The syntax of this dataType is pending on the specification in G.8021, which is for further study.";\r
- }\r
- grouping control-frame-filter-g {\r
- leaf c-2-00-00-10 {\r
- type boolean;\r
- description "This attribute identifies the 'All LANs Bridge Management Group Address'.";\r
- }\r
- leaf c-2-00-00-00 {\r
- type boolean;\r
- description "This attribute identifies the STP/RSTP/MSTP protocol address.";\r
- }\r
- leaf c-2-00-00-01 {\r
- type boolean;\r
- description "This attribute identifies the IEEE MAC-specific Control Protocols group address (PAUSE protocol).";\r
- }\r
- leaf c-2-00-00-02 {\r
- type boolean;\r
- description "This attribute identifies the IEEE 802.3 Slow_Protocols_Multicast address (LACP/LAMP or Link OAM protocols).";\r
- }\r
- leaf c-2-00-00-03 {\r
- type boolean;\r
- description "This attribute identifies the Nearest non-TPMR Bridge group address (Port Authentication protocol).";\r
- }\r
- leaf c-2-00-00-04 {\r
- type boolean;\r
- description "This attribute identifies the IEEE MAC-specific Control Protocols group address.";\r
- }\r
- leaf c-2-00-00-05 {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-06 {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-07 {\r
- type boolean;\r
- description "This attribute identifies the Metro Ethernet Forum E-LMI protocol group address.";\r
- }\r
- leaf c-2-00-00-08 {\r
- type boolean;\r
- description "This attribute identifies the Provider Bridge Group address.";\r
- }\r
- leaf c-2-00-00-09 {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-0-a {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-0-b {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-0-c {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-0-d {\r
- type boolean;\r
- description "This attribute identifies the Provider Bridge MVRP address.";\r
- }\r
- leaf c-2-00-00-0-e {\r
- type boolean;\r
- description "This attribute identifies the Individual LAN Scope group address, Nearest Bridge group address (LLDP protocol).";\r
- }\r
- leaf c-2-00-00-0-f {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-20 {\r
- type boolean;\r
- description "This attribute identifies the Customer and Provider Bridge MMRP address.";\r
- }\r
- leaf c-2-00-00-21 {\r
- type boolean;\r
- description "This attribute identifies the Customer Bridge MVRP address.";\r
- }\r
- leaf c-2-00-00-22 {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-23 {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-24 {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-25 {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-26 {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-27 {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-28 {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-29 {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-2-a {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-2-b {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-2-c {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-2-d {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-2-e {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- leaf c-2-00-00-2-f {\r
- type boolean;\r
- description "Reserved for future standardization.";\r
- }\r
- description "This data type identifies the filter action for each of the 33 group MAC addresses (control frames).\r
- Value 'false' means block: The frame is discarded by the filter process.\r
- Value 'true' means pass: The frame is passed unchanged through the filter process.";\r
- }\r
- grouping bandwidth-report-g {\r
- leaf source-mac-address {\r
- type mac-address;\r
- description "The sourceMacAddress is the address from the far end.";\r
- }\r
- leaf port-id {\r
- type uint64;\r
- description "This attribute returns the far end port identifier.";\r
- }\r
- leaf nominal-bandwidth {\r
- type uint64;\r
- description "This attribute returns the configured bandwidth";\r
- }\r
- leaf current-bandwidth {\r
- type uint64;\r
- description "This attribute returns the current bandwidth.";\r
- }\r
- description "Data type for the bandwidth report.";\r
- }\r
- typedef admin-state {\r
- type enumeration {\r
- enum LOCK {\r
- description "none";\r
- }\r
- enum NORMAL {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef colour-mode {\r
- type enumeration {\r
- enum COLOUR_BLIND {\r
- description "none";\r
- }\r
- enum COLOUR_AWARE {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef csf-config {\r
- type enumeration {\r
- enum DISABLED {\r
- description "This literal covers the following states of the CSF related MI informations:\r
- - MI_CSF_Enable is false\r
- - MI_CSFrdifdi_Enable is false\r
- - MI_CSFdci_Enable is false.";\r
- }\r
- enum ENABLED {\r
- description "This literal covers the following states of the CSF related MI informations:\r
- - MI_CSF_Enable is true\r
- - MI_CSFrdifdi_Enable is false\r
- - MI_CSFdci_Enable is false.";\r
- }\r
- enum ENABLED_WITH_RDI_FDI {\r
- description "This literal covers the following states of the CSF related MI informations:\r
- - MI_CSF_Enable is true\r
- - MI_CSFrdifdi_Enable is true\r
- - MI_CSFdci_Enable is false.";\r
- }\r
- enum ENABLED_WITH_RDI_FDI_DCI {\r
- description "This literal covers the following states of the CSF related MI informations:\r
- - MI_CSF_Enable is true\r
- - MI_CSFrdifdi_Enable is true\r
- - MI_CSFdci_Enable is true.";\r
- }\r
- enum ENABLED_WITH_DCI {\r
- description "This literal covers the following states of the CSF related MI informations:\r
- - MI_CSF_Enable is true\r
- - MI_CSFrdifdi_Enable is false\r
- - MI_CSFdci_Enable is true.";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef ety-phy-type {\r
- type enumeration {\r
- enum OTHER {\r
- description "none";\r
- }\r
- enum UNKNOWN {\r
- description "none";\r
- }\r
- enum NONE {\r
- description "none";\r
- }\r
- enum 2BASE_TL {\r
- description "none";\r
- }\r
- enum 10MBIT_S {\r
- description "none";\r
- }\r
- enum 10PASS_TS {\r
- description "none";\r
- }\r
- enum 100BASE_T4 {\r
- description "none";\r
- }\r
- enum 100BASE_X {\r
- description "none";\r
- }\r
- enum 100BASE_T2 {\r
- description "none";\r
- }\r
- enum 1000BASE_X {\r
- description "none";\r
- }\r
- enum 1000BASE_T {\r
- description "none";\r
- }\r
- enum 10GBASE-X {\r
- description "none";\r
- }\r
- enum 10GBASE_R {\r
- description "none";\r
- }\r
- enum 10GBASE_W {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef frame-type {\r
- type enumeration {\r
- enum ADMIT_ONLY_VLAN_TAGGED_FRAMES {\r
- description "none";\r
- }\r
- enum ADMIT_ONLY_UNTAGGED_AND_PRIORITY_TAGGED_FRAMES {\r
- description "none";\r
- }\r
- enum ADMIT_ALL_FRAMES {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef oam-period {\r
- type enumeration {\r
- enum 3_33MS {\r
- description "Default for protection.";\r
- }\r
- enum 10MS {\r
- description "none";\r
- }\r
- enum 100MS {\r
- description "none";\r
- }\r
- enum 1S {\r
- description "none";\r
- }\r
- enum 10S {\r
- description "none";\r
- }\r
- enum 1MIN {\r
- description "none";\r
- }\r
- enum 10MIN {\r
- description "none";\r
- }\r
- }\r
- description "Provides the frequency for the OAM PDU insertion.";\r
- }\r
- typedef pcp-coding {\r
- type enumeration {\r
- enum 8P0D {\r
- description "none";\r
- }\r
- enum 7P1D {\r
- description "none";\r
- }\r
- enum 6P2D {\r
- description "none";\r
- }\r
- enum 5P3D {\r
- description "none";\r
- }\r
- enum DEI {\r
- description "This enumeration value means that all priorities should be drop eligible.\r
- DEI = Drop Eligibility Indicator";\r
- }\r
- }\r
- description "This enum models the coding of the Priority Code Point as defined in section 'Priority Code Point encoding' of IEEE 802.1Q.";\r
- }\r
- typedef vlan-type {\r
- type enumeration {\r
- enum C_Tag {\r
- description "0x8100";\r
- }\r
- enum S_Tag {\r
- description "0x88a8";\r
- }\r
- enum I_Tag {\r
- description "88-e7";\r
- }\r
- }\r
- description "This enumeration contains the Ethertypes defined in IEEE 802.1Q.";\r
- }\r
- typedef repetition-period {\r
- type enumeration {\r
- enum 1MIN {\r
- description "none";\r
- }\r
- enum 1S {\r
- description "none";\r
- }\r
- enum 10S {\r
- description "none";\r
- }\r
- enum 0 {\r
- description "none";\r
- }\r
- }\r
- description "This enumeration defines the allowed values for the repetition period in on-demand measurements.\r
- Note: The value 0 means that the value is not relevant.";\r
- }\r
- typedef message-period {\r
- type enumeration {\r
- enum 10MS {\r
- description "none";\r
- }\r
- enum 100MS {\r
- description "none";\r
- }\r
- enum 1S {\r
- description "none";\r
- }\r
- enum 10S {\r
- description "none";\r
- }\r
- enum 0 {\r
- description "none";\r
- }\r
- }\r
- description "This enumeration defines the allowed values for the message period in on-demand measurements.\r
- Notes:\r
- The value 10ms is only used in synthetic loss measurements.\r
- The value 0 means that the value is not relevant.";\r
- }\r
- typedef oam-pdu-generation-type {\r
- type enumeration {\r
- enum SINGLE_INSTANCE {\r
- description "none";\r
- }\r
- enum REPETITIVE_INSTANCE {\r
- description "none";\r
- }\r
- enum SINGLE_SERIES {\r
- description "none";\r
- }\r
- enum REPETITIVE_SERIES {\r
- description "none";\r
- }\r
- }\r
- description "This enumeration defines the generation pattern of the on-demand OAM PDUs (messages). ";\r
- }\r
- grouping on-demand-dm-performance-parameters-g {\r
- leaf number-of-samples {\r
- type uint64;\r
- description "This attribute contains the number of received DM frames (successful samples) used for this frame delay measurement.\r
- range of type : non-negative";\r
- }\r
- leaf-list frame-delay-list {\r
- type uint64;\r
- description "This attribute contains the frame delays measured in ns (nano second, 1x10e-9 seconds). The multiplicity is defined by the numberOfSamples attribute.";\r
- }\r
- leaf-list frame-delay-variation-list {\r
- type uint64;\r
- description "This attribute contains the frame delay variations measured in ns (nano second). The multiplicity is defined by (numberOfSamples - 1, for numberOfSamples > 0).";\r
- }\r
- description "This data type contains the results of an on-demand delay measurement job.";\r
- }\r
- grouping on-demand-lm-performance-parameters-g {\r
- leaf total-transmitted-frames {\r
- type uint64;\r
- description "This attribute contains the total number of frames transmitted.";\r
- }\r
- leaf total-lost-frames {\r
- type uint64;\r
- description "This attribute contains the total number of frames lost.";\r
- }\r
- leaf total-frame-loss-ratio {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "This attribute contains the frame loss ratio (number of lost frames divided by the number of total frames (N_LF / N_TF)).\r
- The accuracy of the value is for further study.";\r
- }\r
- description "This data type contains the results of an on-demand loss measurement job.";\r
- }\r
- grouping statistical-dm-performance-parameters-g {\r
- leaf minimum-frame-delay {\r
- type uint64;\r
- description "This attribute contains the minimum frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds).";\r
- }\r
- leaf average-frame-delay {\r
- type uint64;\r
- description "This attribute contains the average frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds).";\r
- }\r
- leaf maximum-frame-delay {\r
- type uint64;\r
- description "This attribute contains the maximum frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds).";\r
- }\r
- leaf minimum-frame-delay-variation {\r
- type uint64;\r
- description "This attribute contains the minimum frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).";\r
- }\r
- leaf average-frame-delay-variation {\r
- type uint64;\r
- description "This attribute contains the average frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).";\r
- }\r
- leaf maximum-frame-delay-variation {\r
- type uint64;\r
- description "This attribute contains the maximum frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).";\r
- }\r
- description "This data type contains the statistical delay measurement performance parameters.";\r
- }\r
- grouping statistical-lm-performance-parameters-g {\r
- leaf minimum-frame-loss-ratio {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "This attribute contains the minimum frame loss ratio calculated over a period of time.\r
- The accuracy of the value is for further study.";\r
- }\r
- leaf average-frame-loss-ratio {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "This attribute contains the average frame loss ratio calculated over a period of time.\r
- The accuracy of the value is for further study.";\r
- }\r
- leaf maximum-frame-loss-ratio {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "This attribute contains the maximum frame loss ratio calculated over a period of time.\r
- The accuracy of the value is for further study.";\r
- }\r
- leaf ses {\r
- type uint64;\r
- description "This attribute contains the SES detected in the monitoring interval.\r
- range of type : 0..900 for 15min interval or 0..86400 for 24 hr interval.";\r
- }\r
- leaf uas {\r
- type uint64;\r
- description "This attribute contains UAS (unavailable seconds) detected in the monitoring interval.\r
- range of type : 0..900 for 15min interval or 0..86400 for 24 hr interval.";\r
- }\r
- description "This data type contains the statistical loss measurement performance parameters.";\r
- }\r
- typedef eth-oam-job-type {\r
- type identityref {\r
- base ETH_OAM_JOB_TYPE;\r
- }\r
- description "none";\r
- }\r
- grouping link-trace-result-g {\r
- leaf source-address {\r
- type mac-address;\r
- description "G.8052: This attribute contains the source MAC Address of an individual LTR frame result.";\r
- }\r
- leaf time-to-live {\r
- type uint64;\r
- description "G.8052: This attribute contains the Time To Live (TTL) value of an individual LTR frame result.";\r
- }\r
- leaf data-tlv-length {\r
- type uint64;\r
- description "G.8052: This attribute contains the length (in number of octets) of the Data TLV of an individual LTR frame result.";\r
- }\r
- description "G.8052: This data type contains the result from an individual LTR frame.";\r
- }\r
-\r
-}\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
+ }
+ augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
+ uses eth-connection-end-point-spec-g;
+ description "Augments the base LayerProtocol information in ConnectionEndPoint with ETH-specific information";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job" {
+ uses eth-loopback-job-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:meg" {
+ uses eth-meg-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:meg/tapi-oam:mep" {
+ uses eth-mep-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:meg/tapi-oam:mip" {
+ uses eth-mip-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job" {
+ uses eth-pro-active-2way-measurement-job-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job" {
+ uses eth-link-trace-job-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job" {
+ uses eth-test-job-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job" {
+ uses eth-pro-active-1way-measurement-job-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {
+ uses eth-pro-active-dm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {
+ uses eth-pro-active-dm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {
+ uses eth-pro-active-lm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {
+ uses eth-pro-active-lm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {
+ uses eth-on-demand-dm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {
+ uses eth-on-demand-1-lm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {
+ uses eth-on-demand-1-dm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {
+ uses eth-pro-active-1-dm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {
+ uses eth-pro-active-1-dm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {
+ uses eth-pro-active-1-lm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {
+ uses eth-pro-active-1-lm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job" {
+ uses eth-on-demand-1way-measurement-job-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job" {
+ uses eth-on-demand-2way-measurement-job-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {
+ uses eth-on-demand-1-dm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {
+ uses eth-on-demand-1-lm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {
+ uses eth-on-demand-dm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {
+ uses eth-on-demand-lm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data" {
+ uses eth-on-demand-lm-performance-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {
+ uses eth-1-dm-threshold-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {
+ uses eth-1-lm-threshold-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {
+ uses eth-dm-threshold-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data" {
+ uses eth-lm-threshold-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {
+ uses eth-link-trace-result-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {
+ uses eth-test-result-data-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data" {
+ uses eth-loopback-result-data-g;
+ description "none";
+ }
+ /***********************
+ * package object-classes
+ **********************/
+ grouping eth-ctp-pac-g {
+ leaf-list auxiliary-function-position-sequence {
+ type uint64;
+ description "This attribute indicates the positions (i.e., the relative order) of all the MEP, MIP, and TCS objects which are associated with the CTP.";
+ }
+ leaf vlan-config {
+ type uint64;
+ description "This attribute models the ETHx/ETH-m_A_So_MI_Vlan_Config information defined in G.8021.
+ range of type : -1, 0, 1..4094";
+ }
+ leaf csf-rdi-fdi-enable {
+ type boolean;
+ description "This attribute models the MI_CSFrdifdiEnable information defined in G.8021.";
+ }
+ leaf csf-report {
+ type boolean;
+ description "This attribute models the MI_CSF_Reported information defined in G.8021.
+ range of type : true, false";
+ }
+ leaf-list filter-config-snk {
+ type mac-address;
+ description "This attribute models the FilteConfig MI defined in 8.3/G.8021. It indicates the configured filter action for each of the 33 group MAC addresses for control frames. The 33 MAC addresses are:
+ 01-80-C2-00-00-10,
+ 01-80-C2-00-00-00 to 01-80-C2-00-00-0F, and
+ 01-80-C2-00-00-20 to 01-80-C2-00-00-2F.
+ The filter action is Pass or Block.
+ If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action.
+ If none of the above addresses match, the ETH_CI_D is passed.";
+ }
+ leaf mac-length {
+ type uint64;
+ default "2000";
+ description "This attribute models the MAC_Lenght MI defined in 8.6/G.8021 for the MAC Length Check process. It indicates the allowed maximum frame length in bytes.
+ range of type : 1518, 1522, 2000";
+ }
+ container filter-config {
+ uses control-frame-filter-g;
+ description "This attribute models the FilterConfig MI defined in section 8.3/G.8021. It indicates the configured filter action for each of the 33 group MAC addresses for control frames. The 33 MAC addresses are:
+ - All bridges address: 01-80-C2-00-00-10,
+ - Reserved addresses: 01-80-C2-00-00-00 to 01-80-C2-00-00-0F,
+ - GARP Application addresses: 01-80-C2-00-00-20 to 01-80-C2-00-00-2F.
+ The filter action is Pass or Block.
+ If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action.
+ If none of the above addresses match, the ETH_CI_D is passed.";
+ }
+ leaf is-ssf-reported {
+ type boolean;
+ description "This attribute provisions whether the SSF defect should be reported as fault cause or not.
+ It models the ETH-LAG_FT_Sk_MI_SSF_Reported defined in G.8021.";
+ }
+ leaf pll-thr {
+ type uint64;
+ description "This attribute provisions the threshold for the number of active ports. If the number of active ports is more than zero but less than the provisioned threshold, a cPLL (Partial Link Loss) is raised. See section 9.7.1.2 of G.8021.
+ range of type : 0..number of ports";
+ }
+ leaf actor-oper-key {
+ type uint64;
+ config false;
+ description "See 802.1AX:
+ The current operational value of the Key for the Aggregator. The administrative Key value may differ from the operational Key value for the reasons discussed in 5.6.2.
+ The meaning of particular Key values is of local significance.
+ range of type : 16 bit";
+ }
+ leaf actor-system-id {
+ type mac-address;
+ description "See 802.1AX:
+ A MAC address used as a unique identifier for the System that contains this Aggregator.";
+ }
+ leaf actor-system-priority {
+ type uint64;
+ description "See 802.1AX:
+ Indicating the priority associated with the Actor’s System ID.
+ range of type : 2-octet";
+ }
+ leaf collector-max-delay {
+ type uint64;
+ description "See 802.1AX:
+ The value of this attribute defines the maximum delay, in tens of microseconds, that may be imposed by the Frame Collector between receiving a frame from an Aggregator Parser, and either delivering the frame to its MAC Client or discarding the frame (see IEEE 802.1AX clause 5.2.3.1.1).
+ range of type : 16-bit";
+ }
+ leaf data-rate {
+ type uint64;
+ config false;
+ description "See 802.1AX:
+ The current data rate, in bits per second, of the aggregate link. The value is calculated as N times the data rate of a single link in the aggregation, where N is the number of active links.";
+ }
+ leaf partner-oper-key {
+ type uint64;
+ config false;
+ description "See 802.1AX:
+ The current operational value of the Key for the Aggregator’s current protocol Partner. If the aggregation is manually configured, this Key value will be a value assigned by the local System.
+ range of type : 16-bit";
+ }
+ leaf partner-system-id {
+ type mac-address;
+ config false;
+ description "See 802.1AX:
+ A MAC address consisting of the unique identifier for the current protocol Partner of this Aggregator. A value of zero indicates that there is no known Partner. If the aggregation is manually configured, this System ID value will be a value assigned by the local System.";
+ }
+ leaf partner-system-priority {
+ type uint64;
+ config false;
+ description "See 802.1AX:
+ Indicates the priority associated with the Partner’s System ID. If the aggregation is manually configured, this System Priority value will be a value assigned by the local System.
+ range of type : 2-octet";
+ }
+ leaf csf-config {
+ type csf-config;
+ description "This attribute models the combination of all CSF related MI signals (MI_CSF_Enable, MI_CSFrdifdi_Enable, MI_CSFdci_Enable) as defined in G.8021.
+ range of type : true, false";
+ }
+ container traffic-shaping {
+ uses traffic-shaping-pac-g;
+ description "none";
+ }
+ container traffic-conditioning {
+ uses traffic-conditioning-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping eth-connection-end-point-spec-g {
+ container ety-term {
+ uses ety-termination-pac-g;
+ description "none";
+ }
+ container eth-term {
+ uses eth-termination-pac-g;
+ description "none";
+ }
+ container eth-ctp {
+ uses eth-ctp-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping eth-termination-pac-g {
+ container priority-regenerate {
+ uses priority-mapping-g;
+ description "This attribute models the ETHx/ETH-m _A_Sk_MI_P_Regenerate information defined in G.8021.";
+ }
+ leaf ether-type {
+ type vlan-type;
+ description "This attribute models the ETHx/ETH-m _A_Sk_MI_Etype information defined in G.8021.";
+ }
+ leaf-list filter-config-1 {
+ type mac-address;
+ description "This attribute models the ETHx/ETH-m_A_Sk_MI_Filter_Config information defined in G.8021.
+ It indicates the configured filter action for each of the 33 group MAC addresses for control frames.
+ The 33 MAC addresses are:
+ 01-80-C2-00-00-10,
+ 01-80-C2-00-00-00 to 01-80-C2-00-00-0F, and
+ 01-80-C2-00-00-20 to 01-80-C2-00-00-2F.
+ The filter action is Pass or Block.
+ If the destination address of the incoming ETH_CI_D matches one of the above addresses, the filter process shall perform the corresponding configured filter action.
+ If none of the above addresses match, the ETH_CI_D is passed.
+ range of type : MacAddress:
+ 01-80-C2-00-00-10,
+ 01-80-C2-00-00-00 to
+ 01-80-C2-00-00-0F, and
+ 01-80-C2-00-00-20 to
+ 01-80-C2-00-00-2F;
+ ActionEnum:
+ PASS, BLOCK";
+ }
+ leaf frametype-config {
+ type frame-type;
+ description "This attribute models the ETHx/ETH-m_A_Sk_MI_Frametype_Config information defined in G.8021.
+ range of type : see Enumeration";
+ }
+ leaf port-vid {
+ type vid;
+ default "1";
+ description "This attribute models the ETHx/ETH-m _A_Sk_MI_PVID information defined in G.8021.";
+ }
+ leaf priority-code-point-config {
+ type pcp-coding;
+ description "This attribute models the ETHx/ETH-m _A_Sk_MI_PCP_Config information defined in G.8021.
+ range of type : see Enumeration";
+ }
+ description "This object class models the Ethernet Flow Termination function located at a layer boundary.";
+ }
+ grouping ety-termination-pac-g {
+ leaf is-fts-enabled {
+ type boolean;
+ description "This attribute indicates whether Forced Transmitter Shutdown (FTS) is enabled or not. It models the ETYn_TT_So_MI_FTSEnable information.";
+ }
+ leaf is-tx-pause-enabled {
+ type boolean;
+ description "This attribute identifies whether the Transmit Pause process is enabled or not. It models the MI_TxPauseEnable defined in G.8021.";
+ }
+ leaf phy-type {
+ type ety-phy-type;
+ config false;
+ description "This attribute identifies the PHY type of the ETY trail termination. See IEEE 802.3 clause 30.3.2.1.2.";
+ }
+ leaf-list phy-type-list {
+ type ety-phy-type;
+ config false;
+ description "This attribute identifies the possible PHY types that could be supported at the ETY trail termination. See IEEE 802.3 clause 30.3.2.1.3.";
+ }
+ description "none";
+ }
+ grouping traffic-conditioning-pac-g {
+ list prio-config-list {
+ config false;
+ uses priority-configuration-g;
+ description "This attribute indicates the Priority Splitter function for the mapping of the Ethernet frame priority (ETH_CI_P) values to the output queue.";
+ }
+ list cond-config-list {
+ config false;
+ uses traffic-conditioning-configuration-g;
+ description "This attribute indicates for the conditioner process the conditioning parameters:
+ - Queue ID: Indicates the Queue ID
+ - Committed Information Rate (CIR): number of bits per second
+ - Committed Burst Size (CBS): number of bytes
+ - Excess Information Rate (EIR): number of bits per second
+ - Excess Burst Size (EBS): number of bytes
+ - Coupling flag (CF): 0 or 1
+ - Color mode (CM): color-blind and color-aware.";
+ }
+ leaf codirectional {
+ type boolean;
+ config false;
+ description "This attribute indicates the direction of the conditioner. The value of true means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the sink part of the containing CTP. The value of false means that the conditioner (modeled as a TCS Sink according to G.8021) is associated with the source part of the containing CTP.";
+ }
+ description "This object class models the ETH traffic conditioning function as defined in G.8021.
+ Basic attributes: codirectional, condConfigList, prioConfigList";
+ }
+ grouping traffic-shaping-pac-g {
+ list prio-config-list {
+ config false;
+ uses priority-configuration-g;
+ description "This attribute configures the Priority Splitter function for the mapping of the Ethernet frame priority (ETH_CI_P) values to the output queue.";
+ }
+ list queue-config-list {
+ config false;
+ uses queue-configuration-g;
+ description "This attribute configures the Queue depth and Dropping threshold parameters of the Queue process. The Queue depth sets the maximum size of the queue in bytes. An incoming ETH_CI traffic unit is dropped if there is insufficient space in the queue to hold the whole unit. The Dropping threshold sets the threshold of the queue. If the queue is filled beyond this threshold, incoming ETH_CI traffic units accompanied by the ETH_CI_DE signal set are dropped.";
+ }
+ leaf sched-config {
+ type scheduling-configuration;
+ config false;
+ description "This attribute configures the scheduler process. The value of this attribute is for further study because it is for further study in G.8021.
+ Scheduler is a pointer to a Scheduler object, which is to be defined in the future (because in G.8021, this is FFS).
+ Note that the only significance of the GTCS function defined in G.8021 is the use of a common scheduler for shaping. Given that, G.8052 models the common scheduler feature by having a common value for this attribute.";
+ }
+ leaf codirectional {
+ type boolean;
+ config false;
+ description "This attribute indicates the direction of the shaping function. The value of true means that the shaping (modeled as a TCS Source according to G.8021) is associated with the source part of the containing CTP. The value of false means that the shaping (modeled as a TCS Source according to G.8021) is associated with the sink part of the containing CTP.";
+ }
+ description "This object class models the ETH traffic shaping function as defined in G.8021.
+ Basic attribute: codirectional, prioConfigList, queueConfigList, schedConfig";
+ }
+ grouping eth-meg-spec-g {
+ leaf client-mel {
+ type uint64;
+ description "none";
+ }
+ description "none";
+ }
+ grouping eth-mep-spec-g {
+ container eth-mep-common {
+ uses eth-mep-common-g;
+ description "none";
+ }
+ container eth-mep-source-pac {
+ uses eth-mep-source-g;
+ description "none";
+ }
+ container eth-mep-sink {
+ uses eth-mep-sink-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping eth-mip-spec-g {
+ description "none";
+ }
+ grouping eth-loopback-job-g {
+ container eth-lb-msg {
+ uses eth-oam-msg-common-pac-g;
+ description "none";
+ }
+ leaf number {
+ type uint64;
+ description "G.8052: This parameter specifies how many LB messages to be sent for the LB_Series process.";
+ }
+ description "This class represents the Loopback (LB) process (send a series of LB messages carrying a test pattern to a particular MEP). The termination occurs at specified stop time (schedule attribute of OamJob).
+ This class models also the 'loopback discover' process, when destinationAddress is multicast.
+ When number is greater than 1, then the process is to perform a Loopback (LB) Series process (send a series of N LB messages to a particular MEP/MIP. ";
+ }
+ grouping eth-mep-common-g {
+ leaf mep-mac {
+ type mac-address;
+ config false;
+ description "This attribute contains the MAC Address of the MEP.";
+ }
+ leaf is-cc-enabled {
+ type boolean;
+ description "This attribute models the MI_CC_Enable signal defined in G.8021 and configured as specified in G8051.";
+ }
+ leaf cc-period {
+ type oam-period;
+ description "This attribute models the MI_CC_Period signal defined in G.8021 and configured as specified in G8051.
+ It is the period at which the CCM message should be sent.
+ Default values are: 3.33 ms for PS, 100 ms for PM, 1 s for FM.";
+ }
+ leaf cc-priority {
+ type uint64 {
+ range "0..7";
+ }
+ default "7";
+ description "This attribute models the MI_CC_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the CCM message should be sent.";
+ }
+ leaf lck-period {
+ type oam-period;
+ description "This attribute models the MI_LCK_Period signal defined in G.8021 and configured as specified in G8051. It is the frequency at which the LCK messages should be sent.
+ range of type : 1s, 1min";
+ }
+ leaf lck-priority {
+ type uint64 {
+ range "0..7";
+ }
+ default "7";
+ description "This attribute models the MI_LCK_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the LCK messages should be sent.";
+ }
+ description "Basic attributes: adminState, clientMel, megIdentifier, mepMac
+ Continuity Check Process related attributes: ccPeriod, ccPriority, isCcEnabled
+ Lock Process related attributes: lckPeriod, lckPriority
+ This object class models the MEP functions that are common to MEP Sink and MEP Source.";
+ }
+ grouping eth-mep-sink-g {
+ leaf-list dm-1-priority {
+ type uint64;
+ description "This attribute indicates the list of 1DM priorities for the MepSink.";
+ }
+ leaf ais-priority {
+ type uint64 {
+ range "0..7";
+ }
+ default "7";
+ description "This attribute models the MI_AIS_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the AIS messages should be sent.";
+ }
+ leaf ais-period {
+ type oam-period;
+ description "This attribute models the MI_AIS_Period signal defined in G.8021 and configured as specified in G8051. It is the frequency at which the AIS messages should be sent.
+ range of type : 1s, 1min";
+ }
+ leaf is-csf-reported {
+ type boolean;
+ default "true";
+ description "This attribute models the MI_CSF_Reported signal defined in G.8021 and configured as specified in G8051. It configures whether the secondary failure CSF should be reported or not.";
+ }
+ leaf is-csf-rdi-fdi-enabled {
+ type boolean;
+ default "true";
+ description "This attribute models the MI_CSFrdifdiEnable signal defined in G.8021 and configured as specified in G8051.";
+ }
+ container bandwidth-report {
+ config false;
+ uses bandwidth-report-g;
+ description "This attribute models the content of the bandwidth report received by the MEP Sink from the peer MEP Source.";
+ }
+ leaf lm-degm {
+ type uint64;
+ default "10";
+ description "This attribute defines the number of consecutive bad seconds necessary for the 'degraded' detection. See also section 'Degraded signal defect (dDEG)' in G.8021.";
+ }
+ leaf lm-deg-thr {
+ type uint64;
+ default "30";
+ description "This attribute defines the threshold for declaring a 'bad second'. See also section 'Degraded signal defect (dDEG)' in G.8021.";
+ }
+ leaf lm-m {
+ type uint64 {
+ range "2..10";
+ }
+ default "10";
+ description "This attribute defines the number of consecutive good seconds necessary for the clearing of 'degraded'. See also section 'Degraded signal defect (dDEG)' in G.8021.";
+ }
+ leaf lm-tf-min {
+ type uint64;
+ description "This attribute defines the necessary number of transmitted frames to enable the detection of 'bad seconds'. See also section 'Degraded signal defect (dDEG)' in G.8021.";
+ }
+ description "1DM related attribute: 1DmPriority
+ AIS Process related attributes: aisPeriod, aisPriority
+ Bandwidth notification Process related attribute: bandwidthReport
+ Basic attribute: peerMepRefList
+ CSF Process related attributes: isCsfRdiFdiEnabled, isCsfReported
+ Defect correlation Process related attribute: currentProblemList
+ This object class models the MEP sink function. Instance of this object class can be created and contained by ETH CTP or TTP objects.
+ It also provides the management of the dual-ended maintenance job, such as test.
+ This object contains the configuration parameters for detecting 'degraded signal' (DEG).";
+ }
+ grouping eth-mep-source-g {
+ leaf aps-priority {
+ type uint64 {
+ range "0..7";
+ }
+ default "7";
+ description "This attribute specifies the priority of the APS messages.
+ See section 8.1.5 APS insert process in G.8021.";
+ }
+ leaf csf-priority {
+ type uint64 {
+ range "0..7";
+ }
+ default "7";
+ description "This attribute models the MI_CSF_Pri signal defined in G.8021 and configured as specified in G8051. It is the priority at which the CSF messages should be sent";
+ }
+ leaf csf-period {
+ type oam-period;
+ description "This attribute models the MI_CSF_Period signal defined in G.8021 and configured as specified in G8051. It is the period at which the CSF messages should be sent.
+ range of type : 1s, 1min";
+ }
+ leaf csf-config {
+ type csf-config;
+ description "This attribute models the combination of all CSF related MI signals (MI_CSF_Enable, MI_CSFrdifdi_Enable, MI_CSFdci_Enable) as defined in G.8021.";
+ }
+ description "APS Process related attribute: apsPriority
+ Basic attribute: mepIdentifier
+ CSF Process related attributes: csfConfig, csfPeriod, csfPriority
+ Link trace related operation: linkTrace
+ Loopback related operations: loopbackDiscover, loopbackSeries, loopbackTest, loopbackTestTerminate
+ On demand measurement job control related operation: establishOnDemandDualEndedMeasurementJobSource
+ Proactive measurement job control related operation: establishProActiveDualEndedMeasurementJobSource
+ Test related operations: testInitiatorStart, testInitiatorTerminate
+ This object class models the MEP source function. Instance of this object class can be created and contained by ETH CTP or TTP objects.
+ It also provides the management of single-ended maintenance jobs, such as loopback test, loopback discover, loopback series, link trace, and dual-ended maintenance job, such as test.";
+ }
+ grouping eth-link-trace-job-g {
+ container eth-lt-msg {
+ uses eth-oam-operation-common-pac-g;
+ description "none";
+ }
+ leaf time-to-live {
+ type uint64;
+ description "G.8052: This parameter provides the Time To Live (TTL) parameter of the Link Track protocol.
+ The TTL parameter allows the receiver (MIP or MEP) of the LTM frame to determine if the frame can be terminated. TTL is decremented every time the LTM frame is relayed. LTM frame with TTL<=1 is terminated and not relayed.";
+ }
+ description "This class represents the Link Trace (LT) process for fault localization or for discovering the intermediate MIPs along the link from the MEP Source to a target MEP or MIP. An LTM frame will be sent from the MEP source to the target MEP/MIP.
+ The termination occurs at specified stop time (schedule attribute of OamJob).";
+ }
+ grouping eth-test-job-g {
+ container eth-test-msg {
+ uses eth-oam-msg-common-pac-g;
+ description "none";
+ }
+ description "This class represents the 1-way on-demand in-service or out-of-service diagnostic test. The diagnostic test includes verifying bandwidth throughput, frame loss, bit errors, etc. TST frames are transmitted.
+ The termination occurs at specified stop time (schedule attribute of OamJob).";
+ }
+ grouping eth-on-demand-measurement-job-control-sink-g {
+ leaf responder-mep-id {
+ type string;
+ description "none";
+ }
+ leaf source-address {
+ type mac-address;
+ description "This attribute contains the MAC address of the peer MEP. See G.8013 for details.";
+ }
+ leaf priority {
+ type uint64;
+ default "7";
+ description "This attribute contains the priority of the OAM PDU frames.
+ range of type : 0, 1, 2, 3, 4, 5, 6, 7";
+ }
+ leaf test-identifier {
+ type uint64;
+ description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.
+ range of type : 0..(2^32) - 1";
+ }
+ description "This object class represents an on-demand measurement job controller sink for 1-way measurements. It is created as a result of an establishOnDemandDualEndedMeasurementJobSink() operation. It is deleted either automatically after the measurement job has completed (stop time reached) and the performance data AVC notification has been sent, or by an explicit abortOnDemandMeasurementJob() operation when the measurement job is running.";
+ }
+ grouping eth-on-demand-measurement-job-control-source-g {
+ leaf controller-mep-id {
+ type string;
+ description "none";
+ }
+ leaf oam-pdu-generation-type {
+ type oam-pdu-generation-type;
+ description "This attribute contains the pattern that is used for the generation of OAM PDUs.";
+ }
+ leaf destination-address {
+ type mac-address;
+ description "This attribute contains the MAC address of the peer MEP. See G.8013 for details.";
+ }
+ leaf priority {
+ type uint64;
+ default "7";
+ description "This attribute contains the priority of the OAM PDU frames.
+ range of type : 0, 1, 2, 3, 4, 5, 6, 7";
+ }
+ leaf message-period {
+ type message-period;
+ description "This attribute contains the frequency of the OAM message (PDU) generation within a series.
+ Note that the value 0 means that only one OAM message per measurement interval is generated.
+ range of type : See corresponding Enum.";
+ }
+ leaf repetition-period {
+ type repetition-period;
+ description "This attribute contains the time between the start of two measurement intervals. This IS applicable for the repetitive instance type and MAY be applicable for the repetitive series type.
+ Note that a value of 0 means not applicable (NA), which is for the cases of single instance, single series, or repetitive series without extra gap in between the measurement intervals (i.e., also as known as continuous series).";
+ }
+ leaf measurement-interval {
+ type uint64;
+ description "This attribute contains the discrete non overlapping periods of time (in seconds) during which measurements are performed (i.e., OAM messages are generated) and reports are gathered at the end of the measurement intervals. Note that the value 0 means a degenerated measurement interval with a single OAM message and the report is sent as immediately as possible.
+ range of type : Non-negative";
+ }
+ leaf test-identifier {
+ type uint64;
+ description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.
+ Note: The attribute is not used in case of LMM/LMR measurement.
+ range of type : 0..(2^32) - 1";
+ }
+ leaf data-tlv-length {
+ type uint64;
+ description "This parameter provides the size of the optional data TLV.
+ Non-negative integer represents the number of bytes for the length of the padding TLV.
+ Notes:
+ When configuring this parameter one should be aware of the maximum allowed total frame size limitation.
+ The attribute is not used in case of 2-way loss measurement.
+ range of type : Depends on the allowed MTU size.";
+ }
+ description "Basic attributes: destinationAddress, priority
+ Measurement configuration related attributes: oamPduGenerationType, startTime, stopTime, messagePeriod, repetitionPeriod, measurementInterval
+ Optional attributes: dataTlvLength, testIdentifier
+ This object class represents an on-demand measurement job controller source for 1-way measurements. It is created as a result of an establishOnDemandDualEndedMeasurementJobSource() operation. It is deleted either automatically after the measurement job has completed (stop time reached), or by an explicit abortOnDemandMeasurementJob() operation while the measurement job is running.";
+ }
+ grouping eth-pro-active-measurement-job-control-sink-g {
+ leaf responder-mep-id {
+ type string;
+ description "none";
+ }
+ leaf is-enabled {
+ type boolean;
+ default "true";
+ description "This attribute identifies the state of the measurement job. If set to TRUE, the MEP performs proactive Performance Measurement.";
+ }
+ leaf source-address {
+ type mac-address;
+ description "This attribute contains the MAC address of the peer MEP. See G.8013 for details.";
+ }
+ leaf test-identifier {
+ type uint64;
+ description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.
+ range of type : 0..(2^32) - 1";
+ }
+ description "This object class allows the control of the proactive 1-way measurement. It is created as a part of an establishProActiveDualEndedMeasurementJobSink() operation. Lifecycle: A pre-condition of deleting the object is that the “Enable” attribute should have the value “FALSE”.";
+ }
+ grouping eth-pro-active-measurement-job-control-source-g {
+ leaf controller-mep-id {
+ type string;
+ description "none";
+ }
+ leaf is-enabled {
+ type boolean;
+ default "true";
+ description "This attribute identifies the state of the measurement job. If set to TRUE, the MEP performs proactive Performance Measurement.";
+ }
+ leaf destination-address {
+ type mac-address;
+ description "This attribute provides the Unicast MAC address of the intented destination.";
+ }
+ leaf priority {
+ type uint64 {
+ range "0..7";
+ }
+ default "7";
+ description "This attribute contains the priority value on which the MEP performs the measurement. When the measurement is enabled, the MEP should use this value to encode the priority of generated measurement frames. The EMF usese this value to assign the “P” parameter of the measurement operation.";
+ }
+ leaf period {
+ type oam-period;
+ description "This attribute indicates the period (frequency) of the measurement frame transmission.
+ range of type : 100ms, 1s, 10s";
+ }
+ leaf test-identifier {
+ type uint64;
+ description "This attribute is used to distinguish each measurement session if multiple measurement sessions are simultaneously activated towards a peer MEP including concurrent on-demand and proactive tests. It must be unique at least within the context of any measurement type for the MEG and initiating MEP.
+ Note: The attribute is not used in case of 2-way loss measurement.
+ range of type : 0..(2^32) - 1";
+ }
+ leaf data-tlv-length {
+ type uint64;
+ description "This parameter provides the size of the optional data TLV.
+ Non-negative integer represents the number of bytes for the length of the padding TLV.
+ Notes:
+ When configuring this parameter one should be aware of the maximum allowed total frame size limitation.
+ The attribute is not used in case of 2-way loss measurement.
+ range of type : Depends on the allowed MTU size.";
+ }
+ description "This object class represents a proactive measurement job controller source for 1way measurements. It is created as a part of an establishProactiveDualEndedMeasurementJobSource() operation.";
+ }
+ grouping eth-pro-active-1-dm-performance-data-g {
+ container pro-active-near-end-1-dm-parameters {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the statistical near end performnace parameters.";
+ }
+ description "This object class represents the PM current data collected in a pro-active delay measurement job (using 1DM).";
+ }
+ grouping eth-pro-active-1-lm-performance-data-g {
+ container pro-active-near-end-1-lm-parameters {
+ uses statistical-lm-performance-parameters-g;
+ description "This attribute contains the statistical near end performnace parameters.";
+ }
+ description "This object class represents the PM current data collected in a pro-active loss measurement job (using 1SL).";
+ }
+ grouping eth-pro-active-dm-performance-data-g {
+ container pro-active-bi-dir-dm-parameters {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the statistical bidirectional performnace parameters.";
+ }
+ container pro-active-far-end-dm-parameters {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the statistical far end performnace parameters.";
+ }
+ container pro-active-near-end-dm-parameters {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the statistical near end performnace parameters.";
+ }
+ description "This object class represents the PM current data collected in a pro-active delay measurement job (using DMM/DMR).";
+ }
+ grouping eth-pro-active-lm-performance-data-g {
+ container pro-active-far-end-lm-parameters {
+ uses statistical-lm-performance-parameters-g;
+ description "This attribute contains the statistical far end performnace parameters.";
+ }
+ container pro-active-near-end-lm-parameters {
+ uses statistical-lm-performance-parameters-g;
+ description "This attribute contains the statistical near end performnace parameters.";
+ }
+ leaf bidirectional-uas {
+ type uint64;
+ description "This attribute contains the bidirectional UAS (unavailable seconds) detected in the monitoring interval.
+ range of type : 0..900 for 15min interval or 0..86400 for 24 hr interval.";
+ }
+ description "This object class represents the PM current data collected in a pro-active loss measurement job (using LMM/LMR or SLM/SLR).";
+ }
+ grouping eth-on-demand-1-dm-performance-data-g {
+ container on-demand-near-end-1-dm-parameters {
+ uses on-demand-dm-performance-parameters-g;
+ description "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.";
+ }
+ description "none";
+ }
+ grouping eth-on-demand-1-lm-performance-data-g {
+ container on-demand-near-end-1-lm-parameters {
+ uses on-demand-lm-performance-parameters-g;
+ description "This attribute contains the results of an on-demand synthetic loss measurement job in the ingress direction.";
+ }
+ description "none";
+ }
+ grouping eth-on-demand-dm-performance-data-g {
+ container on-demand-far-end-dm-parameters {
+ uses on-demand-dm-performance-parameters-g;
+ description "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.";
+ }
+ container on-demand-near-end-dm-parameters {
+ uses on-demand-dm-performance-parameters-g;
+ description "This attribute contains the results of an on-demand frame delay measurement job in the ingress direction.";
+ }
+ description "none";
+ }
+ grouping eth-on-demand-lm-performance-data-g {
+ container on-demand-far-end-lm-parameters {
+ uses on-demand-lm-performance-parameters-g;
+ description "This attribute contains the results of an on-demand synthetic loss measurement job in the egress direction.";
+ }
+ container on-demand-near-end-lm-parameters {
+ uses on-demand-lm-performance-parameters-g;
+ description "This attribute contains the results of an on-demand synthetic loss measurement job in the ingress direction.";
+ }
+ description "none";
+ }
+ grouping eth-pro-active-1way-measurement-job-g {
+ container pro-active-control-1way-source {
+ uses eth-pro-active-measurement-job-control-source-g;
+ description "none";
+ }
+ container pro-active-control-1way-sink {
+ uses eth-pro-active-measurement-job-control-sink-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping eth-pro-active-2way-measurement-job-g {
+ container pro-active-control-2way-source {
+ uses eth-pro-active-measurement-job-control-source-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping eth-on-demand-2way-measurement-job-g {
+ container on-demand-control-2way-source {
+ uses eth-on-demand-measurement-job-control-source-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping eth-on-demand-1way-measurement-job-g {
+ container on-demand-control-1way-source {
+ uses eth-on-demand-measurement-job-control-source-g;
+ description "none";
+ }
+ container on-demand-control-1way-sink {
+ uses eth-on-demand-measurement-job-control-sink-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping eth-1-dm-threshold-data-g {
+ container near-end-1-dm-cross-threshold {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the near end cross threshold values of the delay measurements.";
+ }
+ container near-end-1-dm-clear-threshold {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the near end clear threshold values of the delay measurements.";
+ }
+ description "This data type contains the threshold values for frame delay related 1-way measurements.";
+ }
+ grouping eth-1-lm-threshold-data-g {
+ container near-end-1-lm-cross-threshold {
+ uses statistical-lm-performance-parameters-g;
+ description "This attribute contains the near end cross threshold values of the loss measurements.";
+ }
+ container near-end-1-lm-clear-threshold {
+ uses statistical-lm-performance-parameters-g;
+ description "This attribute is only valid for frame loss ratio parameters and counter type parameters working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the near end clear threshold values of the loss measurements.";
+ }
+ description "This data type contains the threshold values for frame loss related 1-way measurements.";
+ }
+ grouping eth-dm-threshold-data-g {
+ container near-end-dm-cross-threshold {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the near end cross threshold values of the delay measurements.";
+ }
+ container near-end-dm-clear-threshold {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the near end clear threshold values of the delay measurements.";
+ }
+ container far-end-dm-cross-threshold {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the far end cross threshold values of the delay measurements.";
+ }
+ container far-end-dm-clear-threshold {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the far end clear threshold values of the delay measurements.";
+ }
+ container bi-dir-dm-cross-threshold {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the bidirectional cross threshold values of the delay measurements.";
+ }
+ container bi-dir-dm-clear-threshold {
+ uses statistical-dm-performance-parameters-g;
+ description "This attribute contains the bidirectional clear threshold values of the delay measurements.";
+ }
+ description "This data type contains the threshold values for frame delay related 2-way measurements.";
+ }
+ grouping eth-lm-threshold-data-g {
+ container near-end-lm-cross-threshold {
+ uses statistical-lm-performance-parameters-g;
+ description "This attribute contains the near end cross threshold values of the loss measurements.";
+ }
+ container near-end-lm-clear-threshold {
+ uses statistical-lm-performance-parameters-g;
+ description "This attribute is only valid for frame loss ratio parameters and counter type parameters working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the near end clear threshold values of the loss measurements.";
+ }
+ container far-end-lm-cross-threshold {
+ uses statistical-lm-performance-parameters-g;
+ description "This attribute contains the far end cross threshold values of the loss measurements.";
+ }
+ container far-end-lm-clear-threshold {
+ uses statistical-lm-performance-parameters-g;
+ description "This attribute is only valid for frame loss ratio parameters and counter type parameters working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the far end clear threshold values of the loss measurements.";
+ }
+ leaf bi-dir-lm-uas-cross-threshold {
+ type uint64;
+ description "This attribute contains the bidirectional cross threshold value of the UAS loss measurement.";
+ }
+ leaf bi-dir-lm-uas-clear-threshold {
+ type uint64;
+ description "This attribute is only valid for the UAS parameter working in the 'standing condition method' (see G.7710, section 10.1.7.2: Threshold reporting) and contains the bidirectional clear threshold value of the UAS loss measurement.";
+ }
+ description "This data type contains the threshold values for frame loss related 2-way measurements.";
+ }
+ grouping eth-loopback-result-data-g {
+ leaf rec-lbr-frames {
+ type uint64;
+ config false;
+ description "G.8052: This parameter returns the total number of received LBR messages, including the out of order LBR frames.";
+ }
+ leaf out-of-order-lbr-frames {
+ type uint64;
+ config false;
+ description "G.8052: This parameter returns the number of LBR traffic unites (messages) that were received out of order (OO).";
+ }
+ leaf sent-lbm-frames {
+ type uint64;
+ config false;
+ description "G.8052: This parameter returns the total number of sent LBM frames.";
+ }
+ leaf crc-lbr-frames {
+ type uint64;
+ config false;
+ description "G.8052: This parameter returns the number of LBR frames where the CRC in the pattern failed.";
+ }
+ leaf ber-lbr-frames {
+ type uint64;
+ config false;
+ description "G.8052: This parameter returns the number of LBR frames where there was a bit error in the pattern.";
+ }
+ leaf-list detected-peer-mep {
+ type mac-address;
+ config false;
+ description "G.8052: This parameter returns the MAC addresses of the discovered peer MEPs of the subject MEP.";
+ }
+ description "none";
+ }
+ grouping eth-link-trace-result-data-g {
+ list result-list {
+ config false;
+ uses link-trace-result-g;
+ description "G.8052: This parameter returns the results of the LT process. It contains a list of the result received from the individual LTR frames.
+ The result from the individual LTR frame include the Source Mac Address, the TTL, and TLV.";
+ }
+ description "none";
+ }
+ grouping eth-test-result-data-g {
+ leaf sent-tst-frames {
+ type uint64;
+ config false;
+ description "G.8052: This parameter returns the total number of sent TST frames.";
+ }
+ description "none";
+ }
+ grouping eth-oam-operation-common-pac-g {
+ leaf destination-address {
+ type mac-address;
+ description "G.8052: This parameter provides the destination address, i.e., the MAC Address of the target MEP or MIP.";
+ }
+ leaf priority {
+ type uint64;
+ default "7";
+ description "G.8052: This parameter provides the priority to be used in the LBM frame.";
+ }
+ description "none";
+ }
+ grouping eth-oam-msg-common-pac-g {
+ leaf period {
+ type oam-period;
+ description "G.8052: This parameter provides the periodicity of the TST OAM messages.";
+ }
+ leaf drop-eligibility {
+ type boolean;
+ description "G.8052: This parameter provides the eligibility of frames with unicast ETH-TST information to be discarded when congestion conditions are encountered.";
+ }
+ leaf data-tlv-length {
+ type uint64;
+ description "G.8052: This parameter provides the length (in number of octet) of the optional Data TLV to be included in the TST frame.";
+ }
+ leaf test-pattern {
+ type uint64;
+ description "G.8052: This parameter provides the test pattern to be used in the optional Data TLV.
+ Examples of test patterns include pseudo-random bit sequence (PRBS) 2^31-1 as specified in clause 5.8 of [ITU-T O.150], all '0' pattern, etc.
+ The following values of pattern types are defined:
+ 0: 'Null signal without CRC-32'
+ 1: 'Null signal with CRC-32'
+ 2: 'PRBS 2^31-1 without CRC-32'
+ 3: 'PRBS 2^31-1 with CRC-32'.";
+ }
+ uses eth-oam-operation-common-pac-g;
+ description "none";
+ }
+
+ /***********************
+ * package type-definitions
+ **********************/
+ identity ETH_OAM_JOB_TYPE {
+ base tapi-oam:OAM_JOB_TYPE;
+ description "none";
+ }
+ identity ETH_OAM_JOB_TYPE_ETH_1DM {
+ base ETH_OAM_JOB_TYPE;
+ description "none";
+ }
+ identity ETH_OAM_JOB_TYPE_ETH_1SLM {
+ base ETH_OAM_JOB_TYPE;
+ description "none";
+ }
+ identity ETH_OAM_JOB_TYPE_ETH_LM_CCM {
+ base ETH_OAM_JOB_TYPE;
+ description "none";
+ }
+ identity ETH_OAM_JOB_TYPE_ETH_LM_LMM {
+ base ETH_OAM_JOB_TYPE;
+ description "none";
+ }
+ identity ETH_OAM_JOB_TYPE_ETH_SLM {
+ base ETH_OAM_JOB_TYPE;
+ description "none";
+ }
+ identity ETH_OAM_JOB_TYPE_ETH_DM {
+ base ETH_OAM_JOB_TYPE;
+ description "none";
+ }
+ identity ETH_OAM_JOB_TYPE_ETH_LTC {
+ base ETH_OAM_JOB_TYPE;
+ description "none";
+ }
+ identity ETH_OAM_JOB_TYPE_ETH_LBK {
+ base ETH_OAM_JOB_TYPE;
+ description "none";
+ }
+ identity ETH_OAM_JOB_TYPE_ETH_TEST {
+ base ETH_OAM_JOB_TYPE;
+ description "none";
+ }
+ grouping priority-configuration-g {
+ leaf priority {
+ type uint64 {
+ range "0..7";
+ }
+ description "none";
+ }
+ leaf queue-id {
+ type uint64 {
+ range "1..8";
+ }
+ description "none";
+ }
+ description "none";
+ }
+ grouping queue-configuration-g {
+ leaf queue-id {
+ type uint64;
+ description "This attribute indicates the queue id.";
+ }
+ leaf queue-depth {
+ type uint64;
+ description "This attribute defines the depth of the queue in bytes.";
+ }
+ leaf queue-threshold {
+ type uint64;
+ description "This attribute defines the threshold of the queue in bytes.";
+ }
+ description "none";
+ }
+ grouping traffic-conditioning-configuration-g {
+ leaf cir {
+ type uint64;
+ description "This attribute indicates the Committed Information Rate in bits/s.";
+ }
+ leaf cbs {
+ type uint64;
+ description "This attribute indicates the Committed Burst Size in bytes.";
+ }
+ leaf eir {
+ type uint64;
+ description "This attribute indicates the Excess Information Rate in bits/s.";
+ }
+ leaf ebs {
+ type uint64;
+ description "This attribute indicates the Excess Burst Size in bytes.";
+ }
+ leaf coupling-flag {
+ type boolean;
+ description "This attribute indicates the coupling flag.";
+ }
+ leaf colour-mode {
+ type colour-mode;
+ description "This attribute indicates the colour mode.";
+ }
+ leaf queue-id {
+ type uint64 {
+ range "1..8";
+ }
+ description "This attribute indicates the queue id.";
+ }
+ description "none";
+ }
+ typedef mac-address {
+ type string;
+ description "This primitive data type contains an Ethernet MAC address defined by IEEE 802a. The format of the address consists of 12 hexadecimal characters, grouped in pairs and separated by '-' (e.g., 03-27-AC-75-3E-1D).";
+ }
+ grouping priority-mapping-g {
+ leaf priority-0 {
+ type uint64 {
+ range "0..7";
+ }
+ description "This attribute defines the new priority value for the old priority value 0.";
+ }
+ leaf priority-1 {
+ type uint64 {
+ range "0..7";
+ }
+ default "1";
+ description "This attribute defines the new priority value for the old priority value 1.";
+ }
+ leaf priority-2 {
+ type uint64 {
+ range "0..7";
+ }
+ default "2";
+ description "This attribute defines the new priority value for the old priority value 2.";
+ }
+ leaf priority-3 {
+ type uint64 {
+ range "0..7";
+ }
+ default "3";
+ description "This attribute defines the new priority value for the old priority value 3.";
+ }
+ leaf priority-4 {
+ type uint64 {
+ range "0..7";
+ }
+ default "4";
+ description "This attribute defines the new priority value for the old priority value 4.";
+ }
+ leaf priority-5 {
+ type uint64 {
+ range "0..7";
+ }
+ default "5";
+ description "This attribute defines the new priority value for the old priority value 5.";
+ }
+ leaf priority-6 {
+ type uint64 {
+ range "0..7";
+ }
+ default "6";
+ description "This attribute defines the new priority value for the old priority value 6.";
+ }
+ leaf priority-7 {
+ type uint64 {
+ range "0..7";
+ }
+ default "7";
+ description "This attribute defines the new priority value for the old priority value 7.";
+ }
+ description "This data type provides the priority mapping done in the 'P Regenerate' process defined in G.8021.";
+ }
+ typedef vid {
+ type string;
+ description "This primitive type models the 12 Bit VLAN identifier of a VLAN tag.";
+ }
+ typedef modify-cross-connection-data {
+ type string;
+ description "none";
+ }
+ grouping address-tuple-g {
+ leaf address {
+ type mac-address;
+ description "This attribute contains the MAC address of the address tuple.";
+ }
+ leaf-list port-list {
+ type mac-address;
+ description "This attribute contains the ports associated to the MAC address in the address tuple.";
+ }
+ description "This data type contains an address tuple consisting of a MAC address and a corresponding port list.";
+ }
+ typedef scheduling-configuration {
+ type string;
+ description "The syntax of this dataType is pending on the specification in G.8021, which is for further study.";
+ }
+ grouping control-frame-filter-g {
+ leaf c-2-00-00-10 {
+ type boolean;
+ description "This attribute identifies the 'All LANs Bridge Management Group Address'.";
+ }
+ leaf c-2-00-00-00 {
+ type boolean;
+ description "This attribute identifies the STP/RSTP/MSTP protocol address.";
+ }
+ leaf c-2-00-00-01 {
+ type boolean;
+ description "This attribute identifies the IEEE MAC-specific Control Protocols group address (PAUSE protocol).";
+ }
+ leaf c-2-00-00-02 {
+ type boolean;
+ description "This attribute identifies the IEEE 802.3 Slow_Protocols_Multicast address (LACP/LAMP or Link OAM protocols).";
+ }
+ leaf c-2-00-00-03 {
+ type boolean;
+ description "This attribute identifies the Nearest non-TPMR Bridge group address (Port Authentication protocol).";
+ }
+ leaf c-2-00-00-04 {
+ type boolean;
+ description "This attribute identifies the IEEE MAC-specific Control Protocols group address.";
+ }
+ leaf c-2-00-00-05 {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-06 {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-07 {
+ type boolean;
+ description "This attribute identifies the Metro Ethernet Forum E-LMI protocol group address.";
+ }
+ leaf c-2-00-00-08 {
+ type boolean;
+ description "This attribute identifies the Provider Bridge Group address.";
+ }
+ leaf c-2-00-00-09 {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-0-a {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-0-b {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-0-c {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-0-d {
+ type boolean;
+ description "This attribute identifies the Provider Bridge MVRP address.";
+ }
+ leaf c-2-00-00-0-e {
+ type boolean;
+ description "This attribute identifies the Individual LAN Scope group address, Nearest Bridge group address (LLDP protocol).";
+ }
+ leaf c-2-00-00-0-f {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-20 {
+ type boolean;
+ description "This attribute identifies the Customer and Provider Bridge MMRP address.";
+ }
+ leaf c-2-00-00-21 {
+ type boolean;
+ description "This attribute identifies the Customer Bridge MVRP address.";
+ }
+ leaf c-2-00-00-22 {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-23 {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-24 {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-25 {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-26 {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-27 {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-28 {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-29 {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-2-a {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-2-b {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-2-c {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-2-d {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-2-e {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ leaf c-2-00-00-2-f {
+ type boolean;
+ description "Reserved for future standardization.";
+ }
+ description "This data type identifies the filter action for each of the 33 group MAC addresses (control frames).
+ Value 'false' means block: The frame is discarded by the filter process.
+ Value 'true' means pass: The frame is passed unchanged through the filter process.";
+ }
+ grouping bandwidth-report-g {
+ leaf source-mac-address {
+ type mac-address;
+ description "The sourceMacAddress is the address from the far end.";
+ }
+ leaf port-id {
+ type uint64;
+ description "This attribute returns the far end port identifier.";
+ }
+ leaf nominal-bandwidth {
+ type uint64;
+ description "This attribute returns the configured bandwidth";
+ }
+ leaf current-bandwidth {
+ type uint64;
+ description "This attribute returns the current bandwidth.";
+ }
+ description "Data type for the bandwidth report.";
+ }
+ typedef admin-state {
+ type enumeration {
+ enum LOCK {
+ description "none";
+ }
+ enum NORMAL {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef colour-mode {
+ type enumeration {
+ enum COLOUR_BLIND {
+ description "none";
+ }
+ enum COLOUR_AWARE {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef csf-config {
+ type enumeration {
+ enum DISABLED {
+ description "This literal covers the following states of the CSF related MI informations:
+ - MI_CSF_Enable is false
+ - MI_CSFrdifdi_Enable is false
+ - MI_CSFdci_Enable is false.";
+ }
+ enum ENABLED {
+ description "This literal covers the following states of the CSF related MI informations:
+ - MI_CSF_Enable is true
+ - MI_CSFrdifdi_Enable is false
+ - MI_CSFdci_Enable is false.";
+ }
+ enum ENABLED_WITH_RDI_FDI {
+ description "This literal covers the following states of the CSF related MI informations:
+ - MI_CSF_Enable is true
+ - MI_CSFrdifdi_Enable is true
+ - MI_CSFdci_Enable is false.";
+ }
+ enum ENABLED_WITH_RDI_FDI_DCI {
+ description "This literal covers the following states of the CSF related MI informations:
+ - MI_CSF_Enable is true
+ - MI_CSFrdifdi_Enable is true
+ - MI_CSFdci_Enable is true.";
+ }
+ enum ENABLED_WITH_DCI {
+ description "This literal covers the following states of the CSF related MI informations:
+ - MI_CSF_Enable is true
+ - MI_CSFrdifdi_Enable is false
+ - MI_CSFdci_Enable is true.";
+ }
+ }
+ description "none";
+ }
+ typedef ety-phy-type {
+ type enumeration {
+ enum OTHER {
+ description "none";
+ }
+ enum UNKNOWN {
+ description "none";
+ }
+ enum NONE {
+ description "none";
+ }
+ enum 2BASE_TL {
+ description "none";
+ }
+ enum 10MBIT_S {
+ description "none";
+ }
+ enum 10PASS_TS {
+ description "none";
+ }
+ enum 100BASE_T4 {
+ description "none";
+ }
+ enum 100BASE_X {
+ description "none";
+ }
+ enum 100BASE_T2 {
+ description "none";
+ }
+ enum 1000BASE_X {
+ description "none";
+ }
+ enum 1000BASE_T {
+ description "none";
+ }
+ enum 10GBASE-X {
+ description "none";
+ }
+ enum 10GBASE_R {
+ description "none";
+ }
+ enum 10GBASE_W {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef frame-type {
+ type enumeration {
+ enum ADMIT_ONLY_VLAN_TAGGED_FRAMES {
+ description "none";
+ }
+ enum ADMIT_ONLY_UNTAGGED_AND_PRIORITY_TAGGED_FRAMES {
+ description "none";
+ }
+ enum ADMIT_ALL_FRAMES {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef oam-period {
+ type enumeration {
+ enum 3_33MS {
+ description "Default for protection.";
+ }
+ enum 10MS {
+ description "none";
+ }
+ enum 100MS {
+ description "none";
+ }
+ enum 1S {
+ description "none";
+ }
+ enum 10S {
+ description "none";
+ }
+ enum 1MIN {
+ description "none";
+ }
+ enum 10MIN {
+ description "none";
+ }
+ }
+ description "Provides the frequency for the OAM PDU insertion.";
+ }
+ typedef pcp-coding {
+ type enumeration {
+ enum 8P0D {
+ description "none";
+ }
+ enum 7P1D {
+ description "none";
+ }
+ enum 6P2D {
+ description "none";
+ }
+ enum 5P3D {
+ description "none";
+ }
+ enum DEI {
+ description "This enumeration value means that all priorities should be drop eligible.
+ DEI = Drop Eligibility Indicator";
+ }
+ }
+ description "This enum models the coding of the Priority Code Point as defined in section 'Priority Code Point encoding' of IEEE 802.1Q.";
+ }
+ typedef vlan-type {
+ type enumeration {
+ enum C_Tag {
+ description "0x8100";
+ }
+ enum S_Tag {
+ description "0x88a8";
+ }
+ enum I_Tag {
+ description "88-e7";
+ }
+ }
+ description "This enumeration contains the Ethertypes defined in IEEE 802.1Q.";
+ }
+ typedef repetition-period {
+ type enumeration {
+ enum 1MIN {
+ description "none";
+ }
+ enum 1S {
+ description "none";
+ }
+ enum 10S {
+ description "none";
+ }
+ enum 0 {
+ description "none";
+ }
+ }
+ description "This enumeration defines the allowed values for the repetition period in on-demand measurements.
+ Note: The value 0 means that the value is not relevant.";
+ }
+ typedef message-period {
+ type enumeration {
+ enum 10MS {
+ description "none";
+ }
+ enum 100MS {
+ description "none";
+ }
+ enum 1S {
+ description "none";
+ }
+ enum 10S {
+ description "none";
+ }
+ enum 0 {
+ description "none";
+ }
+ }
+ description "This enumeration defines the allowed values for the message period in on-demand measurements.
+ Notes:
+ The value 10ms is only used in synthetic loss measurements.
+ The value 0 means that the value is not relevant.";
+ }
+ typedef oam-pdu-generation-type {
+ type enumeration {
+ enum SINGLE_INSTANCE {
+ description "none";
+ }
+ enum REPETITIVE_INSTANCE {
+ description "none";
+ }
+ enum SINGLE_SERIES {
+ description "none";
+ }
+ enum REPETITIVE_SERIES {
+ description "none";
+ }
+ }
+ description "This enumeration defines the generation pattern of the on-demand OAM PDUs (messages). ";
+ }
+ grouping on-demand-dm-performance-parameters-g {
+ leaf number-of-samples {
+ type uint64;
+ description "This attribute contains the number of received DM frames (successful samples) used for this frame delay measurement.
+ range of type : non-negative";
+ }
+ leaf-list frame-delay-list {
+ type uint64;
+ description "This attribute contains the frame delays measured in ns (nano second, 1x10e-9 seconds). The multiplicity is defined by the numberOfSamples attribute.";
+ }
+ leaf-list frame-delay-variation-list {
+ type uint64;
+ description "This attribute contains the frame delay variations measured in ns (nano second). The multiplicity is defined by (numberOfSamples - 1, for numberOfSamples > 0).";
+ }
+ description "This data type contains the results of an on-demand delay measurement job.";
+ }
+ grouping on-demand-lm-performance-parameters-g {
+ leaf total-transmitted-frames {
+ type uint64;
+ description "This attribute contains the total number of frames transmitted.";
+ }
+ leaf total-lost-frames {
+ type uint64;
+ description "This attribute contains the total number of frames lost.";
+ }
+ leaf total-frame-loss-ratio {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "This attribute contains the frame loss ratio (number of lost frames divided by the number of total frames (N_LF / N_TF)).
+ The accuracy of the value is for further study.";
+ }
+ description "This data type contains the results of an on-demand loss measurement job.";
+ }
+ grouping statistical-dm-performance-parameters-g {
+ leaf minimum-frame-delay {
+ type uint64;
+ description "This attribute contains the minimum frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds).";
+ }
+ leaf average-frame-delay {
+ type uint64;
+ description "This attribute contains the average frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds).";
+ }
+ leaf maximum-frame-delay {
+ type uint64;
+ description "This attribute contains the maximum frame delay observed over the monitored period. It is measured in units of ns (nano second, 1x10e-9 seconds).";
+ }
+ leaf minimum-frame-delay-variation {
+ type uint64;
+ description "This attribute contains the minimum frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).";
+ }
+ leaf average-frame-delay-variation {
+ type uint64;
+ description "This attribute contains the average frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).";
+ }
+ leaf maximum-frame-delay-variation {
+ type uint64;
+ description "This attribute contains the maximum frame delay variation measured in units of ns (nano second, 1x10e-9 seconds).";
+ }
+ description "This data type contains the statistical delay measurement performance parameters.";
+ }
+ grouping statistical-lm-performance-parameters-g {
+ leaf minimum-frame-loss-ratio {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "This attribute contains the minimum frame loss ratio calculated over a period of time.
+ The accuracy of the value is for further study.";
+ }
+ leaf average-frame-loss-ratio {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "This attribute contains the average frame loss ratio calculated over a period of time.
+ The accuracy of the value is for further study.";
+ }
+ leaf maximum-frame-loss-ratio {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "This attribute contains the maximum frame loss ratio calculated over a period of time.
+ The accuracy of the value is for further study.";
+ }
+ leaf ses {
+ type uint64;
+ description "This attribute contains the SES detected in the monitoring interval.
+ range of type : 0..900 for 15min interval or 0..86400 for 24 hr interval.";
+ }
+ leaf uas {
+ type uint64;
+ description "This attribute contains UAS (unavailable seconds) detected in the monitoring interval.
+ range of type : 0..900 for 15min interval or 0..86400 for 24 hr interval.";
+ }
+ description "This data type contains the statistical loss measurement performance parameters.";
+ }
+ typedef eth-oam-job-type {
+ type identityref {
+ base ETH_OAM_JOB_TYPE;
+ }
+ description "none";
+ }
+ grouping link-trace-result-g {
+ leaf source-address {
+ type mac-address;
+ description "G.8052: This attribute contains the source MAC Address of an individual LTR frame result.";
+ }
+ leaf time-to-live {
+ type uint64;
+ description "G.8052: This attribute contains the Time To Live (TTL) value of an individual LTR frame result.";
+ }
+ leaf data-tlv-length {
+ type uint64;
+ description "G.8052: This attribute contains the length (in number of octets) of the Data TLV of an individual LTR frame result.";
+ }
+ description "G.8052: This data type contains the result from an individual LTR frame.";
+ }
+
+}
-module tapi-notification {\r
- namespace "urn:onf:otcc:yang:tapi-notification";\r
- prefix tapi-notification;\r
- import tapi-common {\r
- prefix tapi-common;\r
- }\r
- organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
+module tapi-notification {
+ namespace "urn:onf:otcc:yang:tapi-notification";
+ prefix tapi-notification;
+ import tapi-common {
+ prefix tapi-common;
+ }
+ organization "ONF OTCC (Open Transport Configuration & Control) Project";
contact "
Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
Project List: <mailto:transport-api@opennetworking.org>
Editor: Karthik Sethuraman
- <mailto:karthik.sethuraman@necam.com>";\r
- description "\r
- This module contains TAPI Notification Model definitions.\r
- Source: TapiNotification.uml\r
- Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
- License: This module is distributed under the Apache License 2.0";\r
- revision 2018-08-31 {\r
+ <mailto:karthik.sethuraman@necam.com>";
+ description "
+ This module contains TAPI Notification Model definitions.
+ Source: TapiNotification.uml
+ Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+ License: This module is distributed under the Apache License 2.0";
+ revision 2018-08-31 {
description "ONF Transport API version 2.1.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
- }\r
- revision 2018-03-07 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
+ }
+ revision 2018-03-07 {
description "ONF Transport API version 2.0.2
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
- }\r
- revision 2018-02-16 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
+ }
+ revision 2018-02-16 {
description "ONF Transport API version 2.0.1
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
- }\r
- revision 2018-01-02 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
+ }
+ revision 2018-01-02 {
description "ONF Transport API version 2.0.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
- }\r
- augment "/tapi-common:context" {\r
- uses notification-context-g;\r
- description "Augments the base TAPI Context with NotificationService information";\r
- }\r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping notification-subscription-service-g {\r
- list notification {\r
- key 'uuid';\r
- config false;\r
- uses notification-g;\r
- description "none";\r
- }\r
- container notification-channel {\r
- uses notification-channel-g;\r
- description "none";\r
- }\r
- container subscription-filter {\r
- uses subscription-filter-g;\r
- description "none";\r
- }\r
- leaf subscription-state {\r
- type subscription-state;\r
- description "none";\r
- }\r
- leaf-list supported-notification-types {\r
- type notification-type;\r
- config false;\r
- min-elements 1;\r
- description "none";\r
- }\r
- leaf-list supported-object-types {\r
- type object-type;\r
- config false;\r
- min-elements 1;\r
- description "none";\r
- }\r
- uses tapi-common:service-spec-g;\r
- description "none";\r
- }\r
- grouping subscription-filter-g {\r
- leaf-list requested-notification-types {\r
- type notification-type;\r
- config false;\r
- description "none";\r
- }\r
- leaf-list requested-object-types {\r
- type object-type;\r
- config false;\r
- description "none";\r
- }\r
- leaf-list requested-layer-protocols {\r
- type tapi-common:layer-protocol-name;\r
- config false;\r
- description "none";\r
- }\r
- leaf-list requested-object-identifier {\r
- type tapi-common:uuid;\r
- config false;\r
- description "none";\r
- }\r
- leaf include-content {\r
- type boolean;\r
- config false;\r
- description "Indicates whether the published Notification includes content or just the Notification Id (which enables retrieval of the notification at the later stage)";\r
- }\r
- uses tapi-common:local-class-g;\r
- description "none";\r
- }\r
- notification notification {\r
- uses notification-g;\r
- description "none";\r
- }\r
- grouping notification-g {\r
- leaf notification-type {\r
- type notification-type;\r
- description "none";\r
- }\r
- leaf target-object-type {\r
- type object-type;\r
- description "none";\r
- }\r
- leaf target-object-identifier {\r
- type tapi-common:uuid;\r
- description "none";\r
- }\r
- list target-object-name {\r
- key 'value-name';\r
- min-elements 1;\r
- uses tapi-common:name-and-value-g;\r
- description "none";\r
- }\r
- leaf event-time-stamp {\r
- type tapi-common:date-and-time;\r
- description "none";\r
- }\r
- leaf sequence-number {\r
- type uint64;\r
- config false;\r
- description "A monotonous increasing sequence number associated with the notification.\r
- The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined.";\r
- }\r
- leaf source-indicator {\r
- type source-indicator;\r
- description "none";\r
- }\r
- leaf layer-protocol-name {\r
- type tapi-common:layer-protocol-name;\r
- description "none";\r
- }\r
- list changed-attributes {\r
- key 'value-name';\r
- uses name-and-value-change-g;\r
- description "none";\r
- }\r
- list additional-info {\r
- key 'value-name';\r
- uses tapi-common:name-and-value-g;\r
- description "none";\r
- }\r
- leaf additional-text {\r
- type string;\r
- description "none";\r
- }\r
- container tca-info {\r
- uses tca-info-g;\r
- description "none";\r
- }\r
- container alarm-info {\r
- uses alarm-info-g;\r
- description "none";\r
- }\r
- uses tapi-common:resource-spec-g;\r
- description "none";\r
- }\r
- grouping notification-channel-g {\r
- leaf stream-address {\r
- type string;\r
- config false;\r
- description "The address/location/URI of the channel/stream to which the subscribed notifications are published.\r
- This specifics of this is typically dependent on the implementation protocol & mechanism and hence is typed as a string.";\r
- }\r
- leaf next-sequence-no {\r
- type uint64;\r
- config false;\r
- description "The sequence number of the next notification that will be published on the channel";\r
- }\r
- uses tapi-common:local-class-g;\r
- description "none";\r
- }\r
- grouping notification-context-g {\r
- list notif-subscription {\r
- key 'uuid';\r
- uses notification-subscription-service-g;\r
- description "none";\r
- }\r
- list notification {\r
- key 'uuid';\r
- config false;\r
- uses notification-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping alarm-info-g {\r
- leaf is-transient {\r
- type boolean;\r
- config false;\r
- description "none";\r
- }\r
- leaf perceived-severity {\r
- type perceived-severity-type;\r
- config false;\r
- description "none";\r
- }\r
- leaf probable-cause {\r
- type string;\r
- config false;\r
- description "none";\r
- }\r
- leaf service-affecting {\r
- type service-affecting;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping tca-info-g {\r
- leaf is-transient {\r
- type boolean;\r
- config false;\r
- description "none";\r
- }\r
- leaf threshold-crossing {\r
- type threshold-crossing-type;\r
- description "none";\r
- }\r
- leaf threshold-parameter {\r
- type string;\r
- config false;\r
- description "none";\r
- }\r
- leaf threshold-value {\r
- type uint64;\r
- config false;\r
- description "none";\r
- }\r
- leaf perceived-severity {\r
- type perceived-tca-severity;\r
- description "none";\r
- }\r
- leaf measurement-interval {\r
- type tapi-common:date-and-time;\r
- description "none";\r
- }\r
- leaf suspect-interval-flag {\r
- type boolean;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- grouping name-and-value-change-g {\r
- leaf value-name {\r
- type string;\r
- description "The name of the value. The value need not have a name.";\r
- }\r
- leaf old-value {\r
- type string;\r
- description "The value";\r
- }\r
- leaf new-value {\r
- type string;\r
- description "The value";\r
- }\r
- description "A scoped name-value triple, including old value and new value";\r
- }\r
- typedef notification-type {\r
- type enumeration {\r
- enum OBJECT_CREATION {\r
- description "Not a normal state. The system is unable to determine the correct value.";\r
- }\r
- enum OBJECT_DELETION {\r
- description "none";\r
- }\r
- enum ATTRIBUTE_VALUE_CHANGE {\r
- description "none";\r
- }\r
- enum ALARM_EVENT {\r
- description "none";\r
- }\r
- enum THRESHOLD_CROSSING_ALERT {\r
- description "none";\r
- }\r
- }\r
- description "List of supported Notifications types.";\r
- }\r
- typedef object-type {\r
- type enumeration {\r
- enum TOPOLOGY {\r
- description "none";\r
- }\r
- enum NODE {\r
- description "none";\r
- }\r
- enum LINK {\r
- description "none";\r
- }\r
- enum CONNECTION {\r
- description "none";\r
- }\r
- enum PATH {\r
- description "none";\r
- }\r
- enum CONNECTIVITY_SERVICE {\r
- description "none";\r
- }\r
- enum VIRTUAL_NETWORK_SERVICE {\r
- description "none";\r
- }\r
- enum PATH_COMPUTATION_SERVICE {\r
- description "none";\r
- }\r
- enum NODE_EDGE_POINT {\r
- description "none";\r
- }\r
- enum SERVICE_INTERFACE_POINT {\r
- description "none";\r
- }\r
- enum CONNECTION_END_POINT {\r
- description "none";\r
- }\r
- enum MAINTENANCE_ENTITY_GROUP {\r
- description "none";\r
- }\r
- enum MAINTENANCE_ENTITY {\r
- description "none";\r
- }\r
- enum MEG_END_POINT {\r
- description "none";\r
- }\r
- enum MEG_INTERMEDIATE_POINT {\r
- description "none";\r
- }\r
- enum SWITCH_CONTROL {\r
- description "none";\r
- }\r
- enum SWITCH {\r
- description "none";\r
- }\r
- enum ROUTE {\r
- description "none";\r
- }\r
- enum NODE_RULE_GROUP {\r
- description "none";\r
- }\r
- enum INTER_RULE_GROUP {\r
- description "none";\r
- }\r
- enum RULE {\r
- description "none";\r
- }\r
- enum OAM_JOB {\r
- description "none";\r
- }\r
- }\r
- description "The list of TAPI Global Object Class types on which Notifications can be raised.";\r
- }\r
- typedef source-indicator {\r
- type enumeration {\r
- enum RESOURCE_OPERATION {\r
- description "none";\r
- }\r
- enum MANAGEMENT_OPERATION {\r
- description "none";\r
- }\r
- enum UNKNOWN {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef subscription-state {\r
- type enumeration {\r
- enum SUSPENDED {\r
- description "none";\r
- }\r
- enum ACTIVE {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef perceived-severity-type {\r
- type enumeration {\r
- enum CRITICAL {\r
- description "none";\r
- }\r
- enum MAJOR {\r
- description "none";\r
- }\r
- enum MINOR {\r
- description "none";\r
- }\r
- enum WARNING {\r
- description "none";\r
- }\r
- enum CLEARED {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef threshold-crossing-type {\r
- type enumeration {\r
- enum THRESHOLD_ABOVE {\r
- description "none";\r
- }\r
- enum THRESHOLD_BELOW {\r
- description "none";\r
- }\r
- enum CLEARED {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef service-affecting {\r
- type enumeration {\r
- enum SERVICE_AFFECTING {\r
- description "none";\r
- }\r
- enum NOT_SERVICE_AFFECTING {\r
- description "none";\r
- }\r
- enum UNKNOWN {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef perceived-tca-severity {\r
- type enumeration {\r
- enum WARNING {\r
- description "none";\r
- }\r
- enum CLEAR {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package interfaces\r
- **********************/ \r
- rpc get-supported-notification-types {\r
- description "none";\r
- output {\r
- leaf-list supported-notification-types {\r
- type notification-type;\r
- min-elements 1;\r
- description "none";\r
- }\r
- leaf-list supported-object-types {\r
- type object-type;\r
- min-elements 1;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc create-notification-subscription-service {\r
- description "none";\r
- input {\r
- container subscription-filter {\r
- uses subscription-filter-g;\r
- description "none";\r
- }\r
- leaf subscription-state {\r
- type subscription-state;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container subscription-service {\r
- uses notification-subscription-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc update-notification-subscription-service {\r
- description "none";\r
- input {\r
- leaf subscription-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- container subscription-filter {\r
- uses subscription-filter-g;\r
- description "none";\r
- }\r
- leaf subscription-state {\r
- type subscription-state;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container subscription-service {\r
- uses notification-subscription-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc delete-notification-subscription-service {\r
- description "none";\r
- input {\r
- leaf subscription-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container subscription-service {\r
- uses notification-subscription-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-notification-subscription-service-details {\r
- description "none";\r
- input {\r
- leaf subscription-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container subscription-service {\r
- uses notification-subscription-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-notification-subscription-service-list {\r
- description "none";\r
- output {\r
- list subscription-service {\r
- uses notification-subscription-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-notification-list {\r
- description "none";\r
- input {\r
- leaf subscription-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- leaf time-period {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- list notification {\r
- uses notification-g;\r
- description "none";\r
- }\r
- }\r
- }\r
-\r
-}\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
+ }
+ augment "/tapi-common:context" {
+ uses notification-context-g;
+ description "Augments the base TAPI Context with NotificationService information";
+ }
+ /***********************
+ * package object-classes
+ **********************/
+ grouping notification-subscription-service-g {
+ list notification {
+ key 'uuid';
+ config false;
+ uses notification-g;
+ description "none";
+ }
+ container notification-channel {
+ uses notification-channel-g;
+ description "none";
+ }
+ container subscription-filter {
+ uses subscription-filter-g;
+ description "none";
+ }
+ leaf subscription-state {
+ type subscription-state;
+ description "none";
+ }
+ leaf-list supported-notification-types {
+ type notification-type;
+ config false;
+ min-elements 1;
+ description "none";
+ }
+ leaf-list supported-object-types {
+ type object-type;
+ config false;
+ min-elements 1;
+ description "none";
+ }
+ uses tapi-common:service-spec-g;
+ description "none";
+ }
+ grouping subscription-filter-g {
+ leaf-list requested-notification-types {
+ type notification-type;
+ config false;
+ description "none";
+ }
+ leaf-list requested-object-types {
+ type object-type;
+ config false;
+ description "none";
+ }
+ leaf-list requested-layer-protocols {
+ type tapi-common:layer-protocol-name;
+ config false;
+ description "none";
+ }
+ leaf-list requested-object-identifier {
+ type tapi-common:uuid;
+ config false;
+ description "none";
+ }
+ leaf include-content {
+ type boolean;
+ config false;
+ description "Indicates whether the published Notification includes content or just the Notification Id (which enables retrieval of the notification at the later stage)";
+ }
+ uses tapi-common:local-class-g;
+ description "none";
+ }
+ notification notification {
+ uses notification-g;
+ description "none";
+ }
+ grouping notification-g {
+ leaf notification-type {
+ type notification-type;
+ description "none";
+ }
+ leaf target-object-type {
+ type object-type;
+ description "none";
+ }
+ leaf target-object-identifier {
+ type tapi-common:uuid;
+ description "none";
+ }
+ list target-object-name {
+ key 'value-name';
+ min-elements 1;
+ uses tapi-common:name-and-value-g;
+ description "none";
+ }
+ leaf event-time-stamp {
+ type tapi-common:date-and-time;
+ description "none";
+ }
+ leaf sequence-number {
+ type uint64;
+ config false;
+ description "A monotonous increasing sequence number associated with the notification.
+ The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined.";
+ }
+ leaf source-indicator {
+ type source-indicator;
+ description "none";
+ }
+ leaf layer-protocol-name {
+ type tapi-common:layer-protocol-name;
+ description "none";
+ }
+ list changed-attributes {
+ key 'value-name';
+ uses name-and-value-change-g;
+ description "none";
+ }
+ list additional-info {
+ key 'value-name';
+ uses tapi-common:name-and-value-g;
+ description "none";
+ }
+ leaf additional-text {
+ type string;
+ description "none";
+ }
+ container tca-info {
+ uses tca-info-g;
+ description "none";
+ }
+ container alarm-info {
+ uses alarm-info-g;
+ description "none";
+ }
+ uses tapi-common:resource-spec-g;
+ description "none";
+ }
+ grouping notification-channel-g {
+ leaf stream-address {
+ type string;
+ config false;
+ description "The address/location/URI of the channel/stream to which the subscribed notifications are published.
+ This specifics of this is typically dependent on the implementation protocol & mechanism and hence is typed as a string.";
+ }
+ leaf next-sequence-no {
+ type uint64;
+ config false;
+ description "The sequence number of the next notification that will be published on the channel";
+ }
+ uses tapi-common:local-class-g;
+ description "none";
+ }
+ grouping notification-context-g {
+ list notif-subscription {
+ key 'uuid';
+ uses notification-subscription-service-g;
+ description "none";
+ }
+ list notification {
+ key 'uuid';
+ config false;
+ uses notification-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping alarm-info-g {
+ leaf is-transient {
+ type boolean;
+ config false;
+ description "none";
+ }
+ leaf perceived-severity {
+ type perceived-severity-type;
+ config false;
+ description "none";
+ }
+ leaf probable-cause {
+ type string;
+ config false;
+ description "none";
+ }
+ leaf service-affecting {
+ type service-affecting;
+ description "none";
+ }
+ description "none";
+ }
+ grouping tca-info-g {
+ leaf is-transient {
+ type boolean;
+ config false;
+ description "none";
+ }
+ leaf threshold-crossing {
+ type threshold-crossing-type;
+ description "none";
+ }
+ leaf threshold-parameter {
+ type string;
+ config false;
+ description "none";
+ }
+ leaf threshold-value {
+ type uint64;
+ config false;
+ description "none";
+ }
+ leaf perceived-severity {
+ type perceived-tca-severity;
+ description "none";
+ }
+ leaf measurement-interval {
+ type tapi-common:date-and-time;
+ description "none";
+ }
+ leaf suspect-interval-flag {
+ type boolean;
+ description "none";
+ }
+ description "none";
+ }
+
+ /***********************
+ * package type-definitions
+ **********************/
+ grouping name-and-value-change-g {
+ leaf value-name {
+ type string;
+ description "The name of the value. The value need not have a name.";
+ }
+ leaf old-value {
+ type string;
+ description "The value";
+ }
+ leaf new-value {
+ type string;
+ description "The value";
+ }
+ description "A scoped name-value triple, including old value and new value";
+ }
+ typedef notification-type {
+ type enumeration {
+ enum OBJECT_CREATION {
+ description "Not a normal state. The system is unable to determine the correct value.";
+ }
+ enum OBJECT_DELETION {
+ description "none";
+ }
+ enum ATTRIBUTE_VALUE_CHANGE {
+ description "none";
+ }
+ enum ALARM_EVENT {
+ description "none";
+ }
+ enum THRESHOLD_CROSSING_ALERT {
+ description "none";
+ }
+ }
+ description "List of supported Notifications types.";
+ }
+ typedef object-type {
+ type enumeration {
+ enum TOPOLOGY {
+ description "none";
+ }
+ enum NODE {
+ description "none";
+ }
+ enum LINK {
+ description "none";
+ }
+ enum CONNECTION {
+ description "none";
+ }
+ enum PATH {
+ description "none";
+ }
+ enum CONNECTIVITY_SERVICE {
+ description "none";
+ }
+ enum VIRTUAL_NETWORK_SERVICE {
+ description "none";
+ }
+ enum PATH_COMPUTATION_SERVICE {
+ description "none";
+ }
+ enum NODE_EDGE_POINT {
+ description "none";
+ }
+ enum SERVICE_INTERFACE_POINT {
+ description "none";
+ }
+ enum CONNECTION_END_POINT {
+ description "none";
+ }
+ enum MAINTENANCE_ENTITY_GROUP {
+ description "none";
+ }
+ enum MAINTENANCE_ENTITY {
+ description "none";
+ }
+ enum MEG_END_POINT {
+ description "none";
+ }
+ enum MEG_INTERMEDIATE_POINT {
+ description "none";
+ }
+ enum SWITCH_CONTROL {
+ description "none";
+ }
+ enum SWITCH {
+ description "none";
+ }
+ enum ROUTE {
+ description "none";
+ }
+ enum NODE_RULE_GROUP {
+ description "none";
+ }
+ enum INTER_RULE_GROUP {
+ description "none";
+ }
+ enum RULE {
+ description "none";
+ }
+ enum OAM_JOB {
+ description "none";
+ }
+ }
+ description "The list of TAPI Global Object Class types on which Notifications can be raised.";
+ }
+ typedef source-indicator {
+ type enumeration {
+ enum RESOURCE_OPERATION {
+ description "none";
+ }
+ enum MANAGEMENT_OPERATION {
+ description "none";
+ }
+ enum UNKNOWN {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef subscription-state {
+ type enumeration {
+ enum SUSPENDED {
+ description "none";
+ }
+ enum ACTIVE {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef perceived-severity-type {
+ type enumeration {
+ enum CRITICAL {
+ description "none";
+ }
+ enum MAJOR {
+ description "none";
+ }
+ enum MINOR {
+ description "none";
+ }
+ enum WARNING {
+ description "none";
+ }
+ enum CLEARED {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef threshold-crossing-type {
+ type enumeration {
+ enum THRESHOLD_ABOVE {
+ description "none";
+ }
+ enum THRESHOLD_BELOW {
+ description "none";
+ }
+ enum CLEARED {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef service-affecting {
+ type enumeration {
+ enum SERVICE_AFFECTING {
+ description "none";
+ }
+ enum NOT_SERVICE_AFFECTING {
+ description "none";
+ }
+ enum UNKNOWN {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef perceived-tca-severity {
+ type enumeration {
+ enum WARNING {
+ description "none";
+ }
+ enum CLEAR {
+ description "none";
+ }
+ }
+ description "none";
+ }
+
+ /***********************
+ * package interfaces
+ **********************/
+ rpc get-supported-notification-types {
+ description "none";
+ output {
+ leaf-list supported-notification-types {
+ type notification-type;
+ min-elements 1;
+ description "none";
+ }
+ leaf-list supported-object-types {
+ type object-type;
+ min-elements 1;
+ description "none";
+ }
+ }
+ }
+ rpc create-notification-subscription-service {
+ description "none";
+ input {
+ container subscription-filter {
+ uses subscription-filter-g;
+ description "none";
+ }
+ leaf subscription-state {
+ type subscription-state;
+ description "none";
+ }
+ }
+ output {
+ container subscription-service {
+ uses notification-subscription-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc update-notification-subscription-service {
+ description "none";
+ input {
+ leaf subscription-id-or-name {
+ type string;
+ description "none";
+ }
+ container subscription-filter {
+ uses subscription-filter-g;
+ description "none";
+ }
+ leaf subscription-state {
+ type subscription-state;
+ description "none";
+ }
+ }
+ output {
+ container subscription-service {
+ uses notification-subscription-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc delete-notification-subscription-service {
+ description "none";
+ input {
+ leaf subscription-id-or-name {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container subscription-service {
+ uses notification-subscription-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-notification-subscription-service-details {
+ description "none";
+ input {
+ leaf subscription-id-or-name {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container subscription-service {
+ uses notification-subscription-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-notification-subscription-service-list {
+ description "none";
+ output {
+ list subscription-service {
+ uses notification-subscription-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-notification-list {
+ description "none";
+ input {
+ leaf subscription-id-or-name {
+ type string;
+ description "none";
+ }
+ leaf time-period {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ list notification {
+ uses notification-g;
+ description "none";
+ }
+ }
+ }
+
+}
-module tapi-oam {\r
- namespace "urn:onf:otcc:yang:tapi-oam";\r
- prefix tapi-oam;\r
- import tapi-common {\r
- prefix tapi-common;\r
- }\r
- import tapi-connectivity {\r
- prefix tapi-connectivity;\r
- }\r
- import tapi-topology {\r
- prefix tapi-topology;\r
- }\r
- organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
+module tapi-oam {
+ namespace "urn:onf:otcc:yang:tapi-oam";
+ prefix tapi-oam;
+ import tapi-common {
+ prefix tapi-common;
+ }
+ import tapi-connectivity {
+ prefix tapi-connectivity;
+ }
+ import tapi-topology {
+ prefix tapi-topology;
+ }
+ organization "ONF OTCC (Open Transport Configuration & Control) Project";
contact "
Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
Project List: <mailto:transport-api@opennetworking.org>
Editor: Karthik Sethuraman
- <mailto:karthik.sethuraman@necam.com>";\r
- description "\r
- This module contains TAPI OAM Model definitions.\r
- Source: TapiOam.uml\r
- Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
- License: This module is distributed under the Apache License 2.0";\r
- revision 2018-08-31 {\r
+ <mailto:karthik.sethuraman@necam.com>";
+ description "
+ This module contains TAPI OAM Model definitions.
+ Source: TapiOam.uml
+ Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+ License: This module is distributed under the Apache License 2.0";
+ revision 2018-08-31 {
description "ONF Transport API version 2.1.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
- }\r
- revision 2018-03-07 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
+ }
+ revision 2018-03-07 {
description "ONF Transport API version 2.0.2
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
- }\r
- revision 2018-02-16 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
+ }
+ revision 2018-02-16 {
description "ONF Transport API version 2.0.1
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
- }\r
- revision 2018-01-02 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
+ }
+ revision 2018-01-02 {
description "ONF Transport API version 2.0.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
- }\r
- augment "/tapi-common:context" {\r
- uses oam-context-g;\r
- description "Augments the base TAPI Context with OamService information";\r
- }\r
- augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
- uses mep-mip-list-g;\r
- description "none";\r
- }\r
- \r
- /*************************\r
- * definitions of references\r
- *************************/\r
- grouping oam-service-ref-g {\r
- leaf oam-service-uuid {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:uuid';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
-\r
- grouping oam-service-end-point-ref-g {\r
- uses oam-service-ref-g;\r
- leaf oam-service-end-point-local-id {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:local-id';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- grouping meg-ref-g {\r
- leaf meg-uuid {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:meg/tapi-oam:uuid';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- grouping maintenance-entity-ref-g {\r
- uses meg-ref-g;\r
- leaf maintenance-entity-local-id {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:meg/tapi-oam:me/tapi-oam:local-id';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- grouping mep-ref-g {\r
- uses meg-ref-g;\r
- leaf mep-local-id {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- grouping mip-ref-g {\r
- uses meg-ref-g;\r
- leaf mip-local-id {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- grouping oam-job-ref-g {\r
- leaf oam-job-uuid {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:oam-job/tapi-oam:uuid';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- grouping pm-current-data-ref-g {\r
- uses oam-job-ref-g;\r
- leaf pm-current-data-local-id {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:local-id';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- grouping pm-history-data-ref-g {\r
- uses pm-current-data-ref-g;\r
- leaf pm-history-data-local-id {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data/tapi-oam:local-id';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- grouping oam-profile-ref-g {\r
- leaf oam-profile-uuid {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:oam-profile/tapi-oam:uuid';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- grouping pm-threshold-data-ref-g {\r
- uses oam-profile-ref-g;\r
- leaf pm-threshold-data-local-id {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data/tapi-oam:local-id';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- grouping pm-bin-data-ref-g {\r
- uses oam-profile-ref-g;\r
- leaf pm-bin-data-local-id {\r
- type leafref {\r
- path '/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-bin-data/tapi-oam:local-id';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping mep-g {\r
- container oam-service-end-point {\r
- uses oam-service-end-point-ref-g;\r
- config false;\r
- description "none";\r
- }\r
- leaf layer-protocol-name {\r
- type tapi-common:layer-protocol-name;\r
- config false;\r
- description "none";\r
- }\r
- leaf direction {\r
- type tapi-common:termination-direction;\r
- config false;\r
- description "none";\r
- }\r
- leaf mep-identifier {\r
- type string;\r
- config false;\r
- description "none";\r
- }\r
- leaf-list peer-mep-identifier {\r
- type string;\r
- config false;\r
- min-elements 1;\r
- description "none";\r
- }\r
- uses tapi-common:local-class-g;\r
- uses tapi-common:operational-state-pac-g;\r
- description "none";\r
- }\r
- grouping oam-job-g {\r
- list oam-service-end-point {\r
- uses oam-service-end-point-ref-g;\r
- key 'oam-service-uuid oam-service-end-point-local-id';\r
- min-elements 1;\r
- max-elements 2;\r
- description "none";\r
- }\r
- container oam-profile {\r
- uses oam-profile-ref-g;\r
- description "none";\r
- }\r
- list pm-current-data {\r
- key 'local-id';\r
- config false;\r
- uses pm-current-data-g;\r
- description "Granularity period of the CurrentData identifies the specific CurrentData instance in the scope of this OamJob.\r
- For example, typically at least\r
- one 15min and\r
- one 24hr;\r
- optionally one additional configurable (< 15min)";\r
- }\r
- leaf oam-job-type {\r
- type oam-job-type;\r
- description "none";\r
- }\r
- container schedule {\r
- uses tapi-common:time-range-g;\r
- description "none";\r
- }\r
- leaf creation-time {\r
- type tapi-common:date-and-time;\r
- config false;\r
- description "none";\r
- }\r
- uses tapi-common:global-class-g;\r
- uses tapi-common:admin-state-pac-g;\r
- description "none";\r
- }\r
- grouping meg-g {\r
- list me {\r
- key 'local-id';\r
- config false;\r
- min-elements 1;\r
- uses maintenance-entity-g;\r
- description "none";\r
- }\r
- list mep {\r
- key 'local-id';\r
- config false;\r
- uses mep-g;\r
- description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)\r
- 2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)\r
- 3. ME may have 2 MEPs";\r
- }\r
- list mip {\r
- key 'local-id';\r
- config false;\r
- uses mip-g;\r
- description "ME may 0, 1, or more MIPs";\r
- }\r
- leaf layer-protocol-name {\r
- type tapi-common:layer-protocol-name;\r
- config false;\r
- description "none";\r
- }\r
- leaf direction {\r
- type tapi-common:forwarding-direction;\r
- config false;\r
- description "none";\r
- }\r
- leaf meg-level {\r
- type uint64;\r
- config false;\r
- description "none";\r
- }\r
- leaf meg-identifier {\r
- type string;\r
- config false;\r
- description "none";\r
- }\r
- uses tapi-common:resource-spec-g;\r
- uses tapi-common:operational-state-pac-g;\r
- description "none";\r
- }\r
- grouping maintenance-entity-g {\r
- list mep {\r
- uses mep-ref-g;\r
- key 'meg-uuid mep-local-id';\r
- config false;\r
- max-elements 2;\r
- description "none";\r
- }\r
- list mip {\r
- uses mip-ref-g;\r
- key 'meg-uuid mip-local-id';\r
- config false;\r
- description "none";\r
- }\r
- container connection-route {\r
- uses tapi-connectivity:route-ref-g;\r
- config false;\r
- description "none";\r
- }\r
- uses tapi-common:local-class-g;\r
- description "none";\r
- }\r
- grouping mip-g {\r
- container oam-service-end-point {\r
- uses oam-service-end-point-ref-g;\r
- description "none";\r
- }\r
- leaf layer-protocol-name {\r
- type tapi-common:layer-protocol-name;\r
- config false;\r
- description "none";\r
- }\r
- uses tapi-common:local-class-g;\r
- description "none";\r
- }\r
- grouping oam-service-g {\r
- list end-point {\r
- key 'local-id';\r
- min-elements 1;\r
- uses oam-service-end-point-g;\r
- description "none";\r
- }\r
- container meg {\r
- uses meg-ref-g;\r
- config false;\r
- description "none";\r
- }\r
- container oam-profile {\r
- uses oam-profile-ref-g;\r
- description "none";\r
- }\r
- uses tapi-common:service-spec-g;\r
- uses tapi-common:admin-state-pac-g;\r
- uses oam-constraint-g;\r
- description "none";\r
- }\r
- grouping oam-context-g {\r
- list oam-service {\r
- key 'uuid';\r
- uses oam-service-g;\r
- description "none";\r
- }\r
- list meg {\r
- key 'uuid';\r
- config false;\r
- uses meg-g;\r
- description "none";\r
- }\r
- list oam-job {\r
- key 'uuid';\r
- uses oam-job-g;\r
- description "none";\r
- }\r
- list oam-profile {\r
- key 'uuid';\r
- uses oam-profile-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping oam-service-end-point-g {\r
- container service-interface-point {\r
- uses tapi-common:service-interface-point-ref-g;\r
- description "none";\r
- }\r
- container connectivity-service-end-point {\r
- uses tapi-connectivity:connectivity-service-end-point-ref-g;\r
- description "none";\r
- }\r
- container mep {\r
- uses mep-ref-g;\r
- config false;\r
- description "none";\r
- }\r
- container mip {\r
- uses mip-ref-g;\r
- config false;\r
- description "none";\r
- }\r
- leaf layer-protocol-name {\r
- type tapi-common:layer-protocol-name;\r
- description "none";\r
- }\r
- leaf direction {\r
- type tapi-common:port-direction;\r
- description "none";\r
- }\r
- uses tapi-common:local-class-g;\r
- uses tapi-common:admin-state-pac-g;\r
- description "none";\r
- }\r
- grouping mep-mip-list-g {\r
- list mip {\r
- uses mip-ref-g;\r
- key 'meg-uuid mip-local-id';\r
- description "none";\r
- }\r
- list mep {\r
- uses mep-ref-g;\r
- key 'meg-uuid mep-local-id';\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping oam-constraint-g {\r
- leaf layer-protocol-name {\r
- type tapi-common:layer-protocol-name;\r
- description "none";\r
- }\r
- leaf direction {\r
- type tapi-common:forwarding-direction;\r
- description "none";\r
- }\r
- leaf meg-level {\r
- type uint64;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping pm-current-data-g {\r
- list pm-history-data {\r
- key 'local-id';\r
- config false;\r
- uses pm-history-data-g;\r
- description "in case of 24hr Current Data, at least 1 History Data.\r
- In case of 15min Current Data, at least 16 History Data.\r
- In case of <15min, the number of History Data shall be able to cover a span of 4 hours.";\r
- }\r
- container granularity-period {\r
- uses tapi-common:time-period-g;\r
- description "none";\r
- }\r
- leaf timestamp {\r
- type tapi-common:date-and-time;\r
- config false;\r
- description "This attribute indicates the start of the current monitoring interval.\r
- The value is bound to the quarter of an hour in case of a 15 minute interval and bound to the hour in case of a 24 hour interval.";\r
- }\r
- container elapsed-time {\r
- uses tapi-common:time-interval-g;\r
- description "none";\r
- }\r
- leaf suspect-interval-flag {\r
- type boolean;\r
- description "This attribute is used to indicate that the performance data for the current period may not be reliable. Some reasons for this to occur are:\r
- – Suspect data were detected by the actual resource doing data collection.\r
- – Transition of the administrativeState attribute to/from the 'lock' state.\r
- – Transition of the operationalState to/from the 'disabled' state.\r
- – Scheduler setting that inhibits the collection function.\r
- – The performance counters were reset during the interval.\r
- – The currentData (or subclass) object instance was created during the monitoring period.";\r
- }\r
- uses tapi-common:local-class-g;\r
- description "none";\r
- }\r
- grouping pm-history-data-g {\r
- container granularity-period {\r
- uses tapi-common:time-period-g;\r
- description "none";\r
- }\r
- leaf period-end-time {\r
- type tapi-common:date-and-time;\r
- description "none";\r
- }\r
- leaf suspect-interval-flag {\r
- type boolean;\r
- config false;\r
- description "This attribute indicates that the performance data may not be reliable.";\r
- }\r
- uses tapi-common:local-class-g;\r
- description "none";\r
- }\r
- grouping oam-profile-g {\r
- list pm-threshold-data {\r
- key 'local-id';\r
- min-elements 1;\r
- uses pm-threshold-data-g;\r
- description "none";\r
- }\r
- list pm-bin-data {\r
- key 'local-id';\r
- min-elements 1;\r
- uses pm-bin-data-g;\r
- description "none";\r
- }\r
- uses tapi-common:global-class-g;\r
- description "none";\r
- }\r
- grouping pm-threshold-data-g {\r
- container granularity-period {\r
- uses tapi-common:time-period-g;\r
- description "none";\r
- }\r
- leaf is-transient {\r
- type boolean;\r
- description "none";\r
- }\r
- uses tapi-common:local-class-g;\r
- description "none";\r
- }\r
- grouping pm-bin-data-g {\r
- container granularity-period {\r
- uses tapi-common:time-period-g;\r
- description "none";\r
- }\r
- uses tapi-common:local-class-g;\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- identity OAM_JOB_TYPE {\r
- description "none";\r
- }\r
- typedef oam-job-type {\r
- type identityref {\r
- base OAM_JOB_TYPE;\r
- }\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package interfaces\r
- **********************/ \r
- rpc create-oam-service {\r
- description "none";\r
- input {\r
- list end-point {\r
- min-elements 1;\r
- uses oam-service-end-point-g;\r
- description "none";\r
- }\r
- container oam-constraint {\r
- uses oam-constraint-g;\r
- description "none";\r
- }\r
- leaf state {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container service {\r
- uses oam-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc delete-oam-service {\r
- description "none";\r
- input {\r
- leaf service-id {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-oam-service {\r
- description "none";\r
- input {\r
- leaf service-id {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container service {\r
- uses oam-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc create-oam-job {\r
- description "none";\r
- input {\r
- leaf oam-job-type {\r
- type oam-job-type;\r
- description "none";\r
- }\r
- list oam-service-end-point {\r
- min-elements 1;\r
- max-elements 2;\r
- uses oam-service-end-point-g;\r
- description "none";\r
- }\r
- container oam-profile {\r
- uses oam-profile-g;\r
- description "none";\r
- }\r
- leaf state {\r
- type string;\r
- description "none";\r
- }\r
- leaf schedule {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container oam-job {\r
- uses oam-job-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-oam-job {\r
- description "none";\r
- input {\r
- leaf job-id {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container oam-job {\r
- uses oam-job-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-oam-service-list {\r
- description "none";\r
- output {\r
- list service {\r
- uses oam-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-meg {\r
- description "none";\r
- input {\r
- leaf service-id {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container meg {\r
- uses meg-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc update-oam-service {\r
- description "none";\r
- input {\r
- leaf service-id {\r
- type string;\r
- description "none";\r
- }\r
- list end-point {\r
- uses oam-service-end-point-g;\r
- description "none";\r
- }\r
- container oam-constraint {\r
- uses oam-constraint-g;\r
- description "none";\r
- }\r
- leaf state {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container service {\r
- uses oam-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc delete-oam-job {\r
- description "none";\r
- input {\r
- leaf job-id {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc update-oam-job {\r
- description "none";\r
- input {\r
- leaf job-id {\r
- type string;\r
- description "none";\r
- }\r
- container oam-profile {\r
- uses oam-profile-g;\r
- description "none";\r
- }\r
- leaf state {\r
- type string;\r
- description "none";\r
- }\r
- leaf schedule {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container oam-job {\r
- uses oam-job-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc create-oam-service-end-point {\r
- description "none";\r
- input {\r
- leaf service-id {\r
- type string;\r
- description "none";\r
- }\r
- leaf sip-id {\r
- type string;\r
- description "none";\r
- }\r
- leaf c-sep-id {\r
- type string;\r
- description "none";\r
- }\r
- leaf layer {\r
- type string;\r
- description "none";\r
- }\r
- leaf direction {\r
- type string;\r
- description "none";\r
- }\r
- leaf state {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container end-point {\r
- uses oam-service-end-point-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc delete-oam-service-end-point {\r
- description "none";\r
- input {\r
- leaf service-id {\r
- type string;\r
- description "none";\r
- }\r
- leaf o-sep-id {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc update-oam-service-end-point {\r
- description "none";\r
- input {\r
- leaf service-id {\r
- type string;\r
- description "none";\r
- }\r
- leaf o-sep-id {\r
- type string;\r
- description "none";\r
- }\r
- leaf state {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container end-point {\r
- uses oam-service-end-point-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-oam-service-end-point {\r
- description "none";\r
- input {\r
- leaf service-id {\r
- type string;\r
- description "none";\r
- }\r
- leaf o-sep-id {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container end-point {\r
- uses oam-service-end-point-g;\r
- description "none";\r
- }\r
- }\r
- }\r
-\r
-}\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
+ }
+ augment "/tapi-common:context" {
+ uses oam-context-g;
+ description "Augments the base TAPI Context with OamService information";
+ }
+ augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
+ uses mep-mip-list-g;
+ description "none";
+ }
+
+ /*************************
+ * definitions of references
+ *************************/
+ grouping oam-service-ref-g {
+ leaf oam-service-uuid {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:uuid';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping oam-service-end-point-ref-g {
+ uses oam-service-ref-g;
+ leaf oam-service-end-point-local-id {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:oam-service/tapi-oam:end-point/tapi-oam:local-id';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping meg-ref-g {
+ leaf meg-uuid {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:meg/tapi-oam:uuid';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping maintenance-entity-ref-g {
+ uses meg-ref-g;
+ leaf maintenance-entity-local-id {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:meg/tapi-oam:me/tapi-oam:local-id';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping mep-ref-g {
+ uses meg-ref-g;
+ leaf mep-local-id {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:meg/tapi-oam:mep/tapi-oam:local-id';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping mip-ref-g {
+ uses meg-ref-g;
+ leaf mip-local-id {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:meg/tapi-oam:mip/tapi-oam:local-id';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping oam-job-ref-g {
+ leaf oam-job-uuid {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:oam-job/tapi-oam:uuid';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping pm-current-data-ref-g {
+ uses oam-job-ref-g;
+ leaf pm-current-data-local-id {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:local-id';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping pm-history-data-ref-g {
+ uses pm-current-data-ref-g;
+ leaf pm-history-data-local-id {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:oam-job/tapi-oam:pm-current-data/tapi-oam:pm-history-data/tapi-oam:local-id';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping oam-profile-ref-g {
+ leaf oam-profile-uuid {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:oam-profile/tapi-oam:uuid';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping pm-threshold-data-ref-g {
+ uses oam-profile-ref-g;
+ leaf pm-threshold-data-local-id {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-threshold-data/tapi-oam:local-id';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping pm-bin-data-ref-g {
+ uses oam-profile-ref-g;
+ leaf pm-bin-data-local-id {
+ type leafref {
+ path '/tapi-common:context/tapi-oam:oam-profile/tapi-oam:pm-bin-data/tapi-oam:local-id';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ /***********************
+ * package object-classes
+ **********************/
+ grouping mep-g {
+ container oam-service-end-point {
+ uses oam-service-end-point-ref-g;
+ config false;
+ description "none";
+ }
+ leaf layer-protocol-name {
+ type tapi-common:layer-protocol-name;
+ config false;
+ description "none";
+ }
+ leaf direction {
+ type tapi-common:termination-direction;
+ config false;
+ description "none";
+ }
+ leaf mep-identifier {
+ type string;
+ config false;
+ description "none";
+ }
+ leaf-list peer-mep-identifier {
+ type string;
+ config false;
+ min-elements 1;
+ description "none";
+ }
+ uses tapi-common:local-class-g;
+ uses tapi-common:operational-state-pac-g;
+ description "none";
+ }
+ grouping oam-job-g {
+ list oam-service-end-point {
+ uses oam-service-end-point-ref-g;
+ key 'oam-service-uuid oam-service-end-point-local-id';
+ min-elements 1;
+ max-elements 2;
+ description "none";
+ }
+ container oam-profile {
+ uses oam-profile-ref-g;
+ description "none";
+ }
+ list pm-current-data {
+ key 'local-id';
+ config false;
+ uses pm-current-data-g;
+ description "Granularity period of the CurrentData identifies the specific CurrentData instance in the scope of this OamJob.
+ For example, typically at least
+ one 15min and
+ one 24hr;
+ optionally one additional configurable (< 15min)";
+ }
+ leaf oam-job-type {
+ type oam-job-type;
+ description "none";
+ }
+ container schedule {
+ uses tapi-common:time-range-g;
+ description "none";
+ }
+ leaf creation-time {
+ type tapi-common:date-and-time;
+ config false;
+ description "none";
+ }
+ uses tapi-common:global-class-g;
+ uses tapi-common:admin-state-pac-g;
+ description "none";
+ }
+ grouping meg-g {
+ list me {
+ key 'local-id';
+ config false;
+ min-elements 1;
+ uses maintenance-entity-g;
+ description "none";
+ }
+ list mep {
+ key 'local-id';
+ config false;
+ uses mep-g;
+ description "1. ME may have 0 MEPs (case of transit domains where at least 1 MIP is present)
+ 2. ME may have 1 MEP (case of edge domaind, where the peer MEP is ouside the managed domain)
+ 3. ME may have 2 MEPs";
+ }
+ list mip {
+ key 'local-id';
+ config false;
+ uses mip-g;
+ description "ME may 0, 1, or more MIPs";
+ }
+ leaf layer-protocol-name {
+ type tapi-common:layer-protocol-name;
+ config false;
+ description "none";
+ }
+ leaf direction {
+ type tapi-common:forwarding-direction;
+ config false;
+ description "none";
+ }
+ leaf meg-level {
+ type uint64;
+ config false;
+ description "none";
+ }
+ leaf meg-identifier {
+ type string;
+ config false;
+ description "none";
+ }
+ uses tapi-common:resource-spec-g;
+ uses tapi-common:operational-state-pac-g;
+ description "none";
+ }
+ grouping maintenance-entity-g {
+ list mep {
+ uses mep-ref-g;
+ key 'meg-uuid mep-local-id';
+ config false;
+ max-elements 2;
+ description "none";
+ }
+ list mip {
+ uses mip-ref-g;
+ key 'meg-uuid mip-local-id';
+ config false;
+ description "none";
+ }
+ container connection-route {
+ uses tapi-connectivity:route-ref-g;
+ config false;
+ description "none";
+ }
+ uses tapi-common:local-class-g;
+ description "none";
+ }
+ grouping mip-g {
+ container oam-service-end-point {
+ uses oam-service-end-point-ref-g;
+ description "none";
+ }
+ leaf layer-protocol-name {
+ type tapi-common:layer-protocol-name;
+ config false;
+ description "none";
+ }
+ uses tapi-common:local-class-g;
+ description "none";
+ }
+ grouping oam-service-g {
+ list end-point {
+ key 'local-id';
+ min-elements 1;
+ uses oam-service-end-point-g;
+ description "none";
+ }
+ container meg {
+ uses meg-ref-g;
+ config false;
+ description "none";
+ }
+ container oam-profile {
+ uses oam-profile-ref-g;
+ description "none";
+ }
+ uses tapi-common:service-spec-g;
+ uses tapi-common:admin-state-pac-g;
+ uses oam-constraint-g;
+ description "none";
+ }
+ grouping oam-context-g {
+ list oam-service {
+ key 'uuid';
+ uses oam-service-g;
+ description "none";
+ }
+ list meg {
+ key 'uuid';
+ config false;
+ uses meg-g;
+ description "none";
+ }
+ list oam-job {
+ key 'uuid';
+ uses oam-job-g;
+ description "none";
+ }
+ list oam-profile {
+ key 'uuid';
+ uses oam-profile-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping oam-service-end-point-g {
+ container service-interface-point {
+ uses tapi-common:service-interface-point-ref-g;
+ description "none";
+ }
+ container connectivity-service-end-point {
+ uses tapi-connectivity:connectivity-service-end-point-ref-g;
+ description "none";
+ }
+ container mep {
+ uses mep-ref-g;
+ config false;
+ description "none";
+ }
+ container mip {
+ uses mip-ref-g;
+ config false;
+ description "none";
+ }
+ leaf layer-protocol-name {
+ type tapi-common:layer-protocol-name;
+ description "none";
+ }
+ leaf direction {
+ type tapi-common:port-direction;
+ description "none";
+ }
+ uses tapi-common:local-class-g;
+ uses tapi-common:admin-state-pac-g;
+ description "none";
+ }
+ grouping mep-mip-list-g {
+ list mip {
+ uses mip-ref-g;
+ key 'meg-uuid mip-local-id';
+ description "none";
+ }
+ list mep {
+ uses mep-ref-g;
+ key 'meg-uuid mep-local-id';
+ description "none";
+ }
+ description "none";
+ }
+ grouping oam-constraint-g {
+ leaf layer-protocol-name {
+ type tapi-common:layer-protocol-name;
+ description "none";
+ }
+ leaf direction {
+ type tapi-common:forwarding-direction;
+ description "none";
+ }
+ leaf meg-level {
+ type uint64;
+ description "none";
+ }
+ description "none";
+ }
+ grouping pm-current-data-g {
+ list pm-history-data {
+ key 'local-id';
+ config false;
+ uses pm-history-data-g;
+ description "in case of 24hr Current Data, at least 1 History Data.
+ In case of 15min Current Data, at least 16 History Data.
+ In case of <15min, the number of History Data shall be able to cover a span of 4 hours.";
+ }
+ container granularity-period {
+ uses tapi-common:time-period-g;
+ description "none";
+ }
+ leaf timestamp {
+ type tapi-common:date-and-time;
+ config false;
+ description "This attribute indicates the start of the current monitoring interval.
+ The value is bound to the quarter of an hour in case of a 15 minute interval and bound to the hour in case of a 24 hour interval.";
+ }
+ container elapsed-time {
+ uses tapi-common:time-interval-g;
+ description "none";
+ }
+ leaf suspect-interval-flag {
+ type boolean;
+ description "This attribute is used to indicate that the performance data for the current period may not be reliable. Some reasons for this to occur are:
+ – Suspect data were detected by the actual resource doing data collection.
+ – Transition of the administrativeState attribute to/from the 'lock' state.
+ – Transition of the operationalState to/from the 'disabled' state.
+ – Scheduler setting that inhibits the collection function.
+ – The performance counters were reset during the interval.
+ – The currentData (or subclass) object instance was created during the monitoring period.";
+ }
+ uses tapi-common:local-class-g;
+ description "none";
+ }
+ grouping pm-history-data-g {
+ container granularity-period {
+ uses tapi-common:time-period-g;
+ description "none";
+ }
+ leaf period-end-time {
+ type tapi-common:date-and-time;
+ description "none";
+ }
+ leaf suspect-interval-flag {
+ type boolean;
+ config false;
+ description "This attribute indicates that the performance data may not be reliable.";
+ }
+ uses tapi-common:local-class-g;
+ description "none";
+ }
+ grouping oam-profile-g {
+ list pm-threshold-data {
+ key 'local-id';
+ min-elements 1;
+ uses pm-threshold-data-g;
+ description "none";
+ }
+ list pm-bin-data {
+ key 'local-id';
+ min-elements 1;
+ uses pm-bin-data-g;
+ description "none";
+ }
+ uses tapi-common:global-class-g;
+ description "none";
+ }
+ grouping pm-threshold-data-g {
+ container granularity-period {
+ uses tapi-common:time-period-g;
+ description "none";
+ }
+ leaf is-transient {
+ type boolean;
+ description "none";
+ }
+ uses tapi-common:local-class-g;
+ description "none";
+ }
+ grouping pm-bin-data-g {
+ container granularity-period {
+ uses tapi-common:time-period-g;
+ description "none";
+ }
+ uses tapi-common:local-class-g;
+ description "none";
+ }
+
+ /***********************
+ * package type-definitions
+ **********************/
+ identity OAM_JOB_TYPE {
+ description "none";
+ }
+ typedef oam-job-type {
+ type identityref {
+ base OAM_JOB_TYPE;
+ }
+ description "none";
+ }
+
+ /***********************
+ * package interfaces
+ **********************/
+ rpc create-oam-service {
+ description "none";
+ input {
+ list end-point {
+ min-elements 1;
+ uses oam-service-end-point-g;
+ description "none";
+ }
+ container oam-constraint {
+ uses oam-constraint-g;
+ description "none";
+ }
+ leaf state {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container service {
+ uses oam-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc delete-oam-service {
+ description "none";
+ input {
+ leaf service-id {
+ type string;
+ description "none";
+ }
+ }
+ }
+ rpc get-oam-service {
+ description "none";
+ input {
+ leaf service-id {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container service {
+ uses oam-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc create-oam-job {
+ description "none";
+ input {
+ leaf oam-job-type {
+ type oam-job-type;
+ description "none";
+ }
+ list oam-service-end-point {
+ min-elements 1;
+ max-elements 2;
+ uses oam-service-end-point-g;
+ description "none";
+ }
+ container oam-profile {
+ uses oam-profile-g;
+ description "none";
+ }
+ leaf state {
+ type string;
+ description "none";
+ }
+ leaf schedule {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container oam-job {
+ uses oam-job-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-oam-job {
+ description "none";
+ input {
+ leaf job-id {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container oam-job {
+ uses oam-job-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-oam-service-list {
+ description "none";
+ output {
+ list service {
+ uses oam-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-meg {
+ description "none";
+ input {
+ leaf service-id {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container meg {
+ uses meg-g;
+ description "none";
+ }
+ }
+ }
+ rpc update-oam-service {
+ description "none";
+ input {
+ leaf service-id {
+ type string;
+ description "none";
+ }
+ list end-point {
+ uses oam-service-end-point-g;
+ description "none";
+ }
+ container oam-constraint {
+ uses oam-constraint-g;
+ description "none";
+ }
+ leaf state {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container service {
+ uses oam-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc delete-oam-job {
+ description "none";
+ input {
+ leaf job-id {
+ type string;
+ description "none";
+ }
+ }
+ }
+ rpc update-oam-job {
+ description "none";
+ input {
+ leaf job-id {
+ type string;
+ description "none";
+ }
+ container oam-profile {
+ uses oam-profile-g;
+ description "none";
+ }
+ leaf state {
+ type string;
+ description "none";
+ }
+ leaf schedule {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container oam-job {
+ uses oam-job-g;
+ description "none";
+ }
+ }
+ }
+ rpc create-oam-service-end-point {
+ description "none";
+ input {
+ leaf service-id {
+ type string;
+ description "none";
+ }
+ leaf sip-id {
+ type string;
+ description "none";
+ }
+ leaf c-sep-id {
+ type string;
+ description "none";
+ }
+ leaf layer {
+ type string;
+ description "none";
+ }
+ leaf direction {
+ type string;
+ description "none";
+ }
+ leaf state {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container end-point {
+ uses oam-service-end-point-g;
+ description "none";
+ }
+ }
+ }
+ rpc delete-oam-service-end-point {
+ description "none";
+ input {
+ leaf service-id {
+ type string;
+ description "none";
+ }
+ leaf o-sep-id {
+ type string;
+ description "none";
+ }
+ }
+ }
+ rpc update-oam-service-end-point {
+ description "none";
+ input {
+ leaf service-id {
+ type string;
+ description "none";
+ }
+ leaf o-sep-id {
+ type string;
+ description "none";
+ }
+ leaf state {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container end-point {
+ uses oam-service-end-point-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-oam-service-end-point {
+ description "none";
+ input {
+ leaf service-id {
+ type string;
+ description "none";
+ }
+ leaf o-sep-id {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container end-point {
+ uses oam-service-end-point-g;
+ description "none";
+ }
+ }
+ }
+
+}
-module tapi-odu {\r
- namespace "urn:onf:otcc:yang:tapi-odu";\r
- prefix tapi-odu;\r
- import tapi-common {\r
- prefix tapi-common;\r
- }\r
- import tapi-connectivity {\r
- prefix tapi-connectivity;\r
- }\r
- import tapi-topology {\r
- prefix tapi-topology;\r
- }\r
- import tapi-oam {\r
- prefix tapi-oam;\r
- }\r
- import tapi-dsr {\r
- prefix tapi-dsr;\r
- }\r
- organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
+module tapi-odu {
+ namespace "urn:onf:otcc:yang:tapi-odu";
+ prefix tapi-odu;
+ import tapi-common {
+ prefix tapi-common;
+ }
+ import tapi-connectivity {
+ prefix tapi-connectivity;
+ }
+ import tapi-topology {
+ prefix tapi-topology;
+ }
+ import tapi-oam {
+ prefix tapi-oam;
+ }
+ import tapi-dsr {
+ prefix tapi-dsr;
+ }
+ organization "ONF OTCC (Open Transport Configuration & Control) Project";
contact "
Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
Project List: <mailto:transport-api@opennetworking.org>
Editor: Karthik Sethuraman
- <mailto:karthik.sethuraman@necam.com>";\r
- description "\r
- This module contains TAPI Odu Model definitions.\r
- Source: TapiOdu.uml\r
- Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
- License: This module is distributed under the Apache License 2.0";\r
- revision 2018-08-31 {\r
+ <mailto:karthik.sethuraman@necam.com>";
+ description "
+ This module contains TAPI Odu Model definitions.
+ Source: TapiOdu.uml
+ Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+ License: This module is distributed under the Apache License 2.0";
+ revision 2018-08-31 {
description "ONF Transport API version 2.1.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
- }\r
- revision 2018-03-07 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
+ }
+ revision 2018-03-07 {
description "ONF Transport API version 2.0.2
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
- }\r
- revision 2018-02-16 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
+ }
+ revision 2018-02-16 {
description "ONF Transport API version 2.0.1
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
- }\r
- revision 2018-01-02 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
+ }
+ revision 2018-01-02 {
description "ONF Transport API version 2.0.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
- }\r
- augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {\r
- uses odu-node-edge-point-spec-g;\r
- description "Augments the base LayerProtocol information in NodeEdgePoint with ODU-specific information";\r
- }\r
- augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
- uses odu-connection-end-point-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:meg/tapi-oam:mep" {\r
- uses odu-connection-end-point-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-oam:meg/tapi-oam:mip" {\r
- uses odu-mip-spec-g;\r
- description "none";\r
- }\r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping odu-termination-and-client-adaptation-pac-g {\r
- leaf opu-tributary-slot-size {\r
- type odu-slot-size;\r
- config false;\r
- description "This attribute is applicable for ODU2 and ODU3 CTP only. It indicates the slot size of the ODU CTP.";\r
- }\r
- leaf auto-payload-type {\r
- type boolean;\r
- config false;\r
- description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU CTP Source at the client layer of the ODUP/ODUj-21 adaptation function. The value of true of this attribute configures that the adaptation source function shall fall back to the payload type PT=20 if the conditions specified in 14.3.10.1/G.798 are satisfied. ";\r
- }\r
- leaf configured-client-type {\r
- type tapi-dsr:digital-signal-type;\r
- config false;\r
- description "This attribute configures the type of the client CTP of the server ODU TTP.";\r
- }\r
- leaf configured-mapping-type {\r
- type mapping-type;\r
- config false;\r
- description "This attributes indicates the configured mapping type.";\r
- }\r
- container accepted-payload-type {\r
- config false;\r
- uses odu-payload-type-g;\r
- description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU CTP Sink at the client layer of the ODUP/ODU[i]j or ODUP/ODUj-21 adaptation function. \r
- This attribute is a 2-digit Hex code that indicates the new accepted payload type.\r
- Valid values are defined in Table 15-8 of ITU-T Recommendation G.709 with one additional value UN_INTERPRETABLE.";\r
- }\r
- description "This Pac contains the attributes associated with the client adaptation function of the server layer TTP\r
- It is present only if the CEP contains a TTP";\r
- }\r
- grouping odu-connection-end-point-spec-g {\r
- container odu-common {\r
- uses odu-common-pac-g;\r
- description "none";\r
- }\r
- container odu-term-and-adapter {\r
- config false;\r
- uses odu-termination-and-client-adaptation-pac-g;\r
- description "none";\r
- }\r
- container odu-ctp {\r
- config false;\r
- uses odu-ctp-pac-g;\r
- description "none";\r
- }\r
- container odu-protection {\r
- config false;\r
- uses odu-protection-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping odu-pool-pac-g {\r
- leaf client-capacity {\r
- type uint64;\r
- description "none";\r
- }\r
- leaf max-client-instances {\r
- type uint64;\r
- config false;\r
- description "none";\r
- }\r
- leaf max-client-size {\r
- type uint64;\r
- config false;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping odu-node-edge-point-spec-g {\r
- container odu-pool {\r
- config false;\r
- uses odu-pool-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping odu-ctp-pac-g {\r
- leaf-list tributary-slot-list {\r
- type uint64;\r
- config false;\r
- description "This attribute contains a set of distinct (i.e. unique) integers (e.g. 2, 3, 5, 9, 15 representing the tributary slots TS2, TS3, TS5, TS9 and TS15) which represents the resources occupied by the Low Order ODU Link Connection (e.g. carrying an ODUflex with a bit rate of 6.25G). \r
- This attribute applies when the LO ODU_ ConnectionTerminationPoint connects with an HO ODU_TrailTerminationPoint object. \r
- It will not apply if this ODU_ ConnectionTerminationPoint object directly connects to an OTU_TrailTerminationPoint object (i.e. OTU has no trib slots). \r
- The upper bound of the integer allowed in this set is a function of the HO-ODU server layer to which the ODU connection has been mapped (adapted). \r
- Thus, for example, M=8/32/80 for ODU2/ODU3/ODU4 server layers (respectively). Note that the value of this attribute can be changed only in the case of ODUflex and has to be through specific operations (i.e. not be changing the attribute tributarySlotList directly).";\r
- }\r
- leaf tributary-port-number {\r
- type uint64;\r
- config false;\r
- description "This attribute identifies the tributary port number that is associated with the ODU CTP.\r
- range of type : The value range depends on the size of the Tributary Port Number (TPN) field used which depends on th server-layer ODU or OTU.\r
- In case of ODUk mapping into OTUk, there is no TPN field, so the tributaryPortNumber shall be zero.\r
- In case of LO ODUj mapping over ODU1, ODU2 or ODU3, the TPN is encoded in a 6-bit field so the value range is 0-63. See clause 14.4.1/G.709-2016.\r
- In case of LO ODUj mapping over ODU4, the TPN is encoded in a 7-bit field so the value range is 0-127. See clause 14.4.1.4/G.709-2016.\r
- In case of ODUk mapping over ODUCn, the TPN is encoded in a 14-bit field so the value range is 0-16383. See clause 20.4.1.1/G.709-2016.\r
- ";\r
- }\r
- leaf accepted-msi {\r
- type string;\r
- config false;\r
- description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU1 or ODU2 CTP Sink at the client layer of the ODU3P/ODU12 adaptation function or represents a lower order ODUj CTP Sink at the client layer of the ODUP/ODUj-21 adaptation function. This attribute is a 1-byte field that represents the accepted multiplex structure of the adaptation function. ";\r
- }\r
- description "This Pac contains the attributes associated with the CTP\r
- It is present only if the CEP contains a CTP";\r
- }\r
- grouping odu-mep-spec-g {\r
- container odu-mep {\r
- uses odu-mep-pac-g;\r
- description "none";\r
- }\r
- container odu-ncm {\r
- config false;\r
- uses odu-ncm-pac-g;\r
- description "none";\r
- }\r
- container odu-tcm {\r
- config false;\r
- uses odu-tcm-mep-pac-g;\r
- description "none";\r
- }\r
- container odu-defect {\r
- uses odu-defect-pac-g;\r
- description "none";\r
- }\r
- container odu-pm {\r
- uses odu-pm-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping odu-protection-pac-g {\r
- leaf aps-enable {\r
- type boolean;\r
- default "true";\r
- description "This attribute is for enabling/disabling the automatic protection switching (APS) capability at the transport adaptation function that is represented by the ODU_ConnectionTerminationPoint object class. It triggers the MI_APS_EN signal to the transport adaptation function.";\r
- }\r
- leaf aps-level {\r
- type uint64;\r
- description "This attribute is for configuring the automatic protection switching (APS) level that should operate at the transport adaptation function that is represented by the ODU_ConnectionTerminationPoint object class. It triggers the MI_APS_LVL signal to the transport adaptation function. The value 0 means path and the values 1 through 6 mean TCM level 1 through 6 respectively.";\r
- }\r
- description "none";\r
- }\r
- grouping odu-ncm-pac-g {\r
- leaf-list tcm-fields-in-use {\r
- type uint64;\r
- config false;\r
- description "This attribute indicates the used TCM fields of the ODU OH.";\r
- }\r
- description "none";\r
- }\r
- grouping odu-tcm-mep-pac-g {\r
- leaf tcm-extension {\r
- type tcm-extension;\r
- description "none";\r
- }\r
- leaf tcm-mode {\r
- type tcm-mode;\r
- description "This attribute specifies the TCM mode at the entity. Valid values are: Operational, Monitor, and Transparent.";\r
- }\r
- leaf codirectional {\r
- type boolean;\r
- config false;\r
- description "This attribute specifies the directionality of the ODUT MEP with respect to the associated ODU CEP. The value of TRUE means that the sink part of the ODUT MEP terminates the same signal direction as the sink part of the ODU CEP. The Source part behaves similarly. This attribute is meaningful only on objects instantiated under ODU CEP, and at least one among ODU CEP and the subordinate object is bidirectional.";\r
- }\r
- leaf ac-status-source {\r
- type tcm-status;\r
- config false;\r
- description "This attribute indicates the status of the accepted TCM. ";\r
- }\r
- leaf ac-status-sink {\r
- type tcm-status;\r
- config false;\r
- description "This attribute indicates the status of the accepted TCM. ";\r
- }\r
- leaf admin-state-source {\r
- type tapi-common:administrative-state;\r
- description "This attribute provides the capability to provision the LOCK signal at the source, which is one of the ODU maintenance signals. When a Tandem Connection endpoint is set to admin state locked, it will insert the ODU-LCK signal in the source direction.";\r
- }\r
- leaf admin-state-sink {\r
- type tapi-common:administrative-state;\r
- description "This attribute provides the capability to provision the LOCK signal at the sink, which is one of the ODU maintenance signals. When a Tandem Connection endpoint is set to admin state locked, it will insert the ODU-LCK signal in the downstream direction.";\r
- }\r
- uses odu-tcm-mip-pac-g;\r
- description "none";\r
- }\r
- grouping odu-mip-spec-g {\r
- container odu-mip {\r
- config false;\r
- uses odu-mip-pac-g;\r
- description "none";\r
- }\r
- container odu-ncm {\r
- config false;\r
- uses odu-ncm-pac-g;\r
- description "none";\r
- }\r
- container odu-tcm {\r
- config false;\r
- uses odu-tcm-mip-pac-g;\r
- description "none";\r
- }\r
- container odu-pm {\r
- uses odu-pm-pac-g;\r
- description "none";\r
- }\r
- container odu-defect {\r
- uses odu-defect-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping odu-mip-pac-g {\r
- leaf acti {\r
- type string;\r
- config false;\r
- description "The Trail Trace Identifier (TTI) information recovered (Accepted) from the TTI overhead position at the sink of a trail.";\r
- }\r
- leaf ex-dapi {\r
- type string;\r
- description "The Expected Destination Access Point Identifier (ExDAPI), provisioned by the managing system, to be compared with the TTI accepted at the overhead position of the sink for the purpose of checking the integrity of connectivity.";\r
- }\r
- leaf ex-sapi {\r
- type string;\r
- description "The Expected Source Access Point Identifier (ExSAPI), provisioned by the managing system, to be compared with the TTI accepted at the overhead position of the sink for the purpose of checking the integrity of connectivity.\r
- ";\r
- }\r
- leaf tim-act-disabled {\r
- type boolean;\r
- default "true";\r
- description "This attribute provides the control capability for the managing system to enable or disable the Consequent Action function when detecting Trace Identifier Mismatch (TIM) at the trail termination sink.";\r
- }\r
- leaf tim-det-mode {\r
- type tim-det-mo;\r
- description "This attribute indicates the mode of the Trace Identifier Mismatch (TIM) Detection function allowed values: OFF, SAPIonly, DAPIonly, SAPIandDAPI";\r
- }\r
- leaf deg-m {\r
- type uint64;\r
- description "This attribute indicates the threshold level for declaring a Degraded Signal defect (dDEG). A dDEG shall be declared if DegM consecutive bad PM Seconds are detected.";\r
- }\r
- container deg-thr {\r
- uses deg-thr-g;\r
- description "This attribute indicates the threshold level for declaring a performance monitoring (PM) Second to be bad. The value of the threshold can be provisioned in terms of number of errored blocks or in terms of percentage of errored blocks. For percentage-based specification, in order to support provision of less than 1%, the specification consists of two fields. The first field indicates the granularity of percentage. For examples, in 1%, in 0.1%, or in 0.01%, etc. The second field indicates the multiple of the granularity. For number of errored block based, the value is a positive integer.";\r
- }\r
- description "none";\r
- }\r
- grouping odu-tcm-mip-pac-g {\r
- leaf tcm-field {\r
- type uint64;\r
- config false;\r
- description "This attribute indicates the tandem connection monitoring field of the ODU OH.";\r
- }\r
- description "none";\r
- }\r
- grouping odu-mep-pac-g {\r
- leaf dm-source {\r
- type boolean;\r
- description "This attribute is for configuring the delay measurement process at the trail termination function represented by the subject TTP object class. It models the MI_DM_Source MI signal. If MI_DM_Source is false, then the value of the DMp bit is determined by the RI_DM. If MI_DM_Source is true, then the value of the DMp bit is set to MI_DMValue.";\r
- }\r
- leaf dm-value {\r
- type boolean;\r
- description "This attribute is for setting the DMp and DMti bits of the delay measurement process. The value of 'true' sets the DMp and DMti bits to 0 and the value of 'false' to 1.";\r
- }\r
- leaf txti {\r
- type string;\r
- description "The Trail Trace Identifier (TTI) information, provisioned by the managing system at the termination source, to be placed in the TTI overhead position of the source of a trail for transmission.\r
- ";\r
- }\r
- uses odu-mip-pac-g;\r
- description "none";\r
- }\r
- grouping odu-common-pac-g {\r
- leaf odu-type {\r
- type odu-type;\r
- config false;\r
- description "This attribute specifies the type of the ODU termination point.";\r
- }\r
- leaf odu-rate {\r
- type uint64;\r
- config false;\r
- description "This attribute indicates the rate of the ODU terminatino point. \r
- This attribute is Set at create; i.e., once created it cannot be changed directly. \r
- In case of resizable ODU flex, its value can be changed via HAO (not directly on the attribute). \r
- ";\r
- }\r
- leaf odu-rate-tolerance {\r
- type uint64;\r
- config false;\r
- description "This attribute indicates the rate tolerance of the ODU termination point. \r
- Valid values are real value in the unit of ppm. \r
- Standardized values are defined in Table 7-2/G.709.";\r
- }\r
- description "none";\r
- }\r
- grouping odu-pm-pac-g {\r
- leaf n-bbe {\r
- type uint64;\r
- description "Near-end Background Block Error";\r
- }\r
- leaf f-bbe {\r
- type uint64;\r
- config false;\r
- description "Far-end Background Block Error";\r
- }\r
- leaf n-ses {\r
- type uint64;\r
- description "Near-end Severely Errored Second";\r
- }\r
- leaf f-ses {\r
- type uint64;\r
- description "Far-end Severely Errored Second";\r
- }\r
- container uas {\r
- uses uas-choice-g;\r
- description "UnAvailable Second";\r
- }\r
- description "Instance of this object class contains the ODUP layer-specific Current Data. This object class is a subclass of the OTN_CurrentData object class.\r
- PM data attributes: fBbe, fSes, nBbe, nSes. uas";\r
- }\r
- grouping odu-defect-pac-g {\r
- leaf bdi {\r
- type boolean;\r
- config false;\r
- description "Backward Defect Indication";\r
- }\r
- leaf deg {\r
- type boolean;\r
- config false;\r
- description "Signal Degraded";\r
- }\r
- leaf lck {\r
- type boolean;\r
- config false;\r
- description "Locked";\r
- }\r
- leaf oci {\r
- type boolean;\r
- config false;\r
- description "Open Connection Indicator";\r
- }\r
- leaf ssf {\r
- type boolean;\r
- config false;\r
- description "Server Signal Failure";\r
- }\r
- leaf tim {\r
- type boolean;\r
- config false;\r
- description "Trail Trace Identifier Mismatch";\r
- }\r
- description "The valid list of defects raised on the entity. If the value of any attribute is true, then the corresponding defect is raised.";\r
- }\r
-\r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- identity ODU_TYPE {\r
- base tapi-common:LAYER_PROTOCOL_QUALIFIER;\r
- description "none";\r
- }\r
- identity ODU_TYPE_ODU0 {\r
- base ODU_TYPE;\r
- description "none";\r
- }\r
- identity ODU_TYPE_ODU1 {\r
- base ODU_TYPE;\r
- description "none";\r
- }\r
- identity ODU_TYPE_ODU2 {\r
- base ODU_TYPE;\r
- description "none";\r
- }\r
- identity ODU_TYPE_ODU2E {\r
- base ODU_TYPE;\r
- description "none";\r
- }\r
- identity ODU_TYPE_ODU3 {\r
- base ODU_TYPE;\r
- description "none";\r
- }\r
- identity ODU_TYPE_ODU4 {\r
- base ODU_TYPE;\r
- description "none";\r
- }\r
- identity ODU_TYPE_ODU_FLEX {\r
- base ODU_TYPE;\r
- description "none";\r
- }\r
- identity ODU_TYPE_ODU_CN {\r
- base ODU_TYPE;\r
- description "none";\r
- }\r
- typedef odu-type {\r
- type identityref {\r
- base ODU_TYPE;\r
- }\r
- description "none";\r
- }\r
- typedef mapping-type {\r
- type enumeration {\r
- enum AMP {\r
- description "none";\r
- }\r
- enum BMP {\r
- description "none";\r
- }\r
- enum GFP-F {\r
- description "none";\r
- }\r
- enum GMP {\r
- description "none";\r
- }\r
- enum TTP_GFP_BMP {\r
- description "none";\r
- }\r
- enum NULL {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef tim-det-mo {\r
- type enumeration {\r
- enum DAPI {\r
- description "none";\r
- }\r
- enum SAPI {\r
- description "none";\r
- }\r
- enum BOTH {\r
- description "none";\r
- }\r
- enum OFF {\r
- description "none";\r
- }\r
- }\r
- description "List of modes for trace identifier mismatch detection.";\r
- }\r
- typedef odu-slot-size {\r
- type enumeration {\r
- enum 1G25 {\r
- description "none";\r
- }\r
- enum 2G5 {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping odu-payload-type-g {\r
- leaf named-payload-type {\r
- type odu-named-payload-type;\r
- description "none";\r
- }\r
- leaf hex-payload-type {\r
- type uint64;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- typedef odu-named-payload-type {\r
- type enumeration {\r
- enum UNKNOWN {\r
- description "none";\r
- }\r
- enum UNINTERPRETABLE {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping deg-thr-g {\r
- leaf deg-thr-value {\r
- type uint64;\r
- description "Percentage of detected errored blocks";\r
- }\r
- leaf deg-thr-type {\r
- type deg-thr-type;\r
- description "Number of errored blocks";\r
- }\r
- leaf percentage-granularity {\r
- type percentage-granularity;\r
- description "none";\r
- }\r
- description "Degraded Threshold, specify either the percentage or the number of Errored Blocks in the defined interval. \r
- degThrValue when type is PERCENTAGE:\r
- percentageGranularity is used to indicate the number of decimal points\r
- So if percentageGranularity is ones, a value of 1 in degThrValue would indicate 1%, a value of 10 = 10%, a value of 100 = 100%\r
- So if percentageGranularity is thousandths a value of 1 in degThrValue would indicate 0.001%, a value of 1000 = 1%, a value of 1000000 = 100%\r
- degThrValue when type is NUMBER_ERROR_BLOCKS:\r
- Number of Errored Blocks is captured in an integer value.";\r
- }\r
- typedef deg-thr-type {\r
- type enumeration {\r
- enum PERCENTAGE {\r
- description "Choice of % or Number of errored blocks";\r
- }\r
- enum NUMBER_ERRORED_BLOCKS {\r
- description "Number of % or blocks";\r
- }\r
- }\r
- description "The value of the threshold can be provisioned in terms of number of errored blocks or in terms of percentage of errored blocks. For percentage-based specification, in order to support provision of less than 1%, the specification consists of two fields. The first field indicates the granularity of percentage. For examples, in 1%, in 0.1%, or in 0.01%, etc. The second field indicates the multiple of the granularity. For number of errored block based, the value is a positive integer.";\r
- }\r
- typedef tcm-status {\r
- type enumeration {\r
- enum NO_SOURCE_TC {\r
- description "TCM byte 3 (bits 6 7 8) -- 0 0 0, No source Tandem Connection";\r
- }\r
- enum IN_USE_WITHOUT_IAE {\r
- description "TCM byte 3 (bits 6 7 8) -- 0 0 1, In use without IAE (Incoming Alignment Error)";\r
- }\r
- enum IN_USE_WITH_IAE {\r
- description "TCM byte 3 (bits 6 7 8) -- 0 1 0, In use with IAE (Incoming Alignment Error)";\r
- }\r
- enum RESERVED_1 {\r
- description "TCM byte 3 (bits 6 7 8) -- 0 1 1, Reserved for future international standardization";\r
- }\r
- enum RESERVED_2 {\r
- description "TCM byte 3 (bits 6 7 8) -- 1 0 0, Reserved for future international standardization";\r
- }\r
- enum LCK {\r
- description "TCM byte 3 (bits 6 7 8) -- 1 0 1, Maintenance signal: ODU-LCK";\r
- }\r
- enum OCI {\r
- description "TCM byte 3 (bits 6 7 8) -- 1 1 0, Maintenance signal: ODU-OCI";\r
- }\r
- enum AIS {\r
- description "TCM byte 3 (bits 6 7 8) -- 1 1 1, Maintenance signal: ODU-AIS";\r
- }\r
- }\r
- description "See Table 15-5/G.709/Y.1331 ";\r
- }\r
- typedef tcm-mode {\r
- type enumeration {\r
- enum OPERATIONAL {\r
- description "none";\r
- }\r
- enum TRANSPARENT {\r
- description "none";\r
- }\r
- enum MONITOR {\r
- description "none";\r
- }\r
- }\r
- description "List of value modes for the sink side of the tandem connection monitoring function.";\r
- }\r
- typedef tcm-monitoring {\r
- type enumeration {\r
- enum INTRUSIVE {\r
- description "none";\r
- }\r
- enum NON-INTRUSIVE {\r
- description "none";\r
- }\r
- }\r
- description "Monitoring types for the tandem connection monitoring function.";\r
- }\r
- typedef tcm-extension {\r
- type enumeration {\r
- enum NORMAL {\r
- description "none";\r
- }\r
- enum PASS-THROUGH {\r
- description "none";\r
- }\r
- enum ERASE {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef percentage-granularity {\r
- type enumeration {\r
- enum ONES {\r
- description "none";\r
- }\r
- enum ONE_TENTHS {\r
- description "value * (1/10)";\r
- }\r
- enum ONE_HUNDREDTHS {\r
- description "value * (1/100)";\r
- }\r
- enum ONE_THOUSANDTHS {\r
- description "value * (1/1000)";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping uas-choice-g {\r
- leaf bidirectional {\r
- type boolean;\r
- default "true";\r
- description "none";\r
- }\r
- leaf uas {\r
- type uint64;\r
- description "none";\r
- }\r
- leaf nuas {\r
- type uint64;\r
- description "none";\r
- }\r
- leaf fuas {\r
- type uint64;\r
- description "none";\r
- }\r
- description "If bidirectional is TRUE then use the uas attribute, if bidirectional is FALSE use the nuas, and fuas attributes";\r
- }\r
-\r
-}\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
+ }
+ augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
+ uses odu-node-edge-point-spec-g;
+ description "Augments the base LayerProtocol information in NodeEdgePoint with ODU-specific information";
+ }
+ augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
+ uses odu-connection-end-point-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:meg/tapi-oam:mep" {
+ uses odu-connection-end-point-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-oam:meg/tapi-oam:mip" {
+ uses odu-mip-spec-g;
+ description "none";
+ }
+ /***********************
+ * package object-classes
+ **********************/
+ grouping odu-termination-and-client-adaptation-pac-g {
+ leaf opu-tributary-slot-size {
+ type odu-slot-size;
+ config false;
+ description "This attribute is applicable for ODU2 and ODU3 CTP only. It indicates the slot size of the ODU CTP.";
+ }
+ leaf auto-payload-type {
+ type boolean;
+ config false;
+ description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU CTP Source at the client layer of the ODUP/ODUj-21 adaptation function. The value of true of this attribute configures that the adaptation source function shall fall back to the payload type PT=20 if the conditions specified in 14.3.10.1/G.798 are satisfied. ";
+ }
+ leaf configured-client-type {
+ type tapi-dsr:digital-signal-type;
+ config false;
+ description "This attribute configures the type of the client CTP of the server ODU TTP.";
+ }
+ leaf configured-mapping-type {
+ type mapping-type;
+ config false;
+ description "This attributes indicates the configured mapping type.";
+ }
+ container accepted-payload-type {
+ config false;
+ uses odu-payload-type-g;
+ description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU CTP Sink at the client layer of the ODUP/ODU[i]j or ODUP/ODUj-21 adaptation function.
+ This attribute is a 2-digit Hex code that indicates the new accepted payload type.
+ Valid values are defined in Table 15-8 of ITU-T Recommendation G.709 with one additional value UN_INTERPRETABLE.";
+ }
+ description "This Pac contains the attributes associated with the client adaptation function of the server layer TTP
+ It is present only if the CEP contains a TTP";
+ }
+ grouping odu-connection-end-point-spec-g {
+ container odu-common {
+ uses odu-common-pac-g;
+ description "none";
+ }
+ container odu-term-and-adapter {
+ config false;
+ uses odu-termination-and-client-adaptation-pac-g;
+ description "none";
+ }
+ container odu-ctp {
+ config false;
+ uses odu-ctp-pac-g;
+ description "none";
+ }
+ container odu-protection {
+ config false;
+ uses odu-protection-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping odu-pool-pac-g {
+ leaf client-capacity {
+ type uint64;
+ description "none";
+ }
+ leaf max-client-instances {
+ type uint64;
+ config false;
+ description "none";
+ }
+ leaf max-client-size {
+ type uint64;
+ config false;
+ description "none";
+ }
+ description "none";
+ }
+ grouping odu-node-edge-point-spec-g {
+ container odu-pool {
+ config false;
+ uses odu-pool-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping odu-ctp-pac-g {
+ leaf-list tributary-slot-list {
+ type uint64;
+ config false;
+ description "This attribute contains a set of distinct (i.e. unique) integers (e.g. 2, 3, 5, 9, 15 representing the tributary slots TS2, TS3, TS5, TS9 and TS15) which represents the resources occupied by the Low Order ODU Link Connection (e.g. carrying an ODUflex with a bit rate of 6.25G).
+ This attribute applies when the LO ODU_ ConnectionTerminationPoint connects with an HO ODU_TrailTerminationPoint object.
+ It will not apply if this ODU_ ConnectionTerminationPoint object directly connects to an OTU_TrailTerminationPoint object (i.e. OTU has no trib slots).
+ The upper bound of the integer allowed in this set is a function of the HO-ODU server layer to which the ODU connection has been mapped (adapted).
+ Thus, for example, M=8/32/80 for ODU2/ODU3/ODU4 server layers (respectively). Note that the value of this attribute can be changed only in the case of ODUflex and has to be through specific operations (i.e. not be changing the attribute tributarySlotList directly).";
+ }
+ leaf tributary-port-number {
+ type uint64;
+ config false;
+ description "This attribute identifies the tributary port number that is associated with the ODU CTP.
+ range of type : The value range depends on the size of the Tributary Port Number (TPN) field used which depends on th server-layer ODU or OTU.
+ In case of ODUk mapping into OTUk, there is no TPN field, so the tributaryPortNumber shall be zero.
+ In case of LO ODUj mapping over ODU1, ODU2 or ODU3, the TPN is encoded in a 6-bit field so the value range is 0-63. See clause 14.4.1/G.709-2016.
+ In case of LO ODUj mapping over ODU4, the TPN is encoded in a 7-bit field so the value range is 0-127. See clause 14.4.1.4/G.709-2016.
+ In case of ODUk mapping over ODUCn, the TPN is encoded in a 14-bit field so the value range is 0-16383. See clause 20.4.1.1/G.709-2016.
+ ";
+ }
+ leaf accepted-msi {
+ type string;
+ config false;
+ description "This attribute is applicable when the ODU CTP object instance represents a lower order ODU1 or ODU2 CTP Sink at the client layer of the ODU3P/ODU12 adaptation function or represents a lower order ODUj CTP Sink at the client layer of the ODUP/ODUj-21 adaptation function. This attribute is a 1-byte field that represents the accepted multiplex structure of the adaptation function. ";
+ }
+ description "This Pac contains the attributes associated with the CTP
+ It is present only if the CEP contains a CTP";
+ }
+ grouping odu-mep-spec-g {
+ container odu-mep {
+ uses odu-mep-pac-g;
+ description "none";
+ }
+ container odu-ncm {
+ config false;
+ uses odu-ncm-pac-g;
+ description "none";
+ }
+ container odu-tcm {
+ config false;
+ uses odu-tcm-mep-pac-g;
+ description "none";
+ }
+ container odu-defect {
+ uses odu-defect-pac-g;
+ description "none";
+ }
+ container odu-pm {
+ uses odu-pm-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping odu-protection-pac-g {
+ leaf aps-enable {
+ type boolean;
+ default "true";
+ description "This attribute is for enabling/disabling the automatic protection switching (APS) capability at the transport adaptation function that is represented by the ODU_ConnectionTerminationPoint object class. It triggers the MI_APS_EN signal to the transport adaptation function.";
+ }
+ leaf aps-level {
+ type uint64;
+ description "This attribute is for configuring the automatic protection switching (APS) level that should operate at the transport adaptation function that is represented by the ODU_ConnectionTerminationPoint object class. It triggers the MI_APS_LVL signal to the transport adaptation function. The value 0 means path and the values 1 through 6 mean TCM level 1 through 6 respectively.";
+ }
+ description "none";
+ }
+ grouping odu-ncm-pac-g {
+ leaf-list tcm-fields-in-use {
+ type uint64;
+ config false;
+ description "This attribute indicates the used TCM fields of the ODU OH.";
+ }
+ description "none";
+ }
+ grouping odu-tcm-mep-pac-g {
+ leaf tcm-extension {
+ type tcm-extension;
+ description "none";
+ }
+ leaf tcm-mode {
+ type tcm-mode;
+ description "This attribute specifies the TCM mode at the entity. Valid values are: Operational, Monitor, and Transparent.";
+ }
+ leaf codirectional {
+ type boolean;
+ config false;
+ description "This attribute specifies the directionality of the ODUT MEP with respect to the associated ODU CEP. The value of TRUE means that the sink part of the ODUT MEP terminates the same signal direction as the sink part of the ODU CEP. The Source part behaves similarly. This attribute is meaningful only on objects instantiated under ODU CEP, and at least one among ODU CEP and the subordinate object is bidirectional.";
+ }
+ leaf ac-status-source {
+ type tcm-status;
+ config false;
+ description "This attribute indicates the status of the accepted TCM. ";
+ }
+ leaf ac-status-sink {
+ type tcm-status;
+ config false;
+ description "This attribute indicates the status of the accepted TCM. ";
+ }
+ leaf admin-state-source {
+ type tapi-common:administrative-state;
+ description "This attribute provides the capability to provision the LOCK signal at the source, which is one of the ODU maintenance signals. When a Tandem Connection endpoint is set to admin state locked, it will insert the ODU-LCK signal in the source direction.";
+ }
+ leaf admin-state-sink {
+ type tapi-common:administrative-state;
+ description "This attribute provides the capability to provision the LOCK signal at the sink, which is one of the ODU maintenance signals. When a Tandem Connection endpoint is set to admin state locked, it will insert the ODU-LCK signal in the downstream direction.";
+ }
+ uses odu-tcm-mip-pac-g;
+ description "none";
+ }
+ grouping odu-mip-spec-g {
+ container odu-mip {
+ config false;
+ uses odu-mip-pac-g;
+ description "none";
+ }
+ container odu-ncm {
+ config false;
+ uses odu-ncm-pac-g;
+ description "none";
+ }
+ container odu-tcm {
+ config false;
+ uses odu-tcm-mip-pac-g;
+ description "none";
+ }
+ container odu-pm {
+ uses odu-pm-pac-g;
+ description "none";
+ }
+ container odu-defect {
+ uses odu-defect-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping odu-mip-pac-g {
+ leaf acti {
+ type string;
+ config false;
+ description "The Trail Trace Identifier (TTI) information recovered (Accepted) from the TTI overhead position at the sink of a trail.";
+ }
+ leaf ex-dapi {
+ type string;
+ description "The Expected Destination Access Point Identifier (ExDAPI), provisioned by the managing system, to be compared with the TTI accepted at the overhead position of the sink for the purpose of checking the integrity of connectivity.";
+ }
+ leaf ex-sapi {
+ type string;
+ description "The Expected Source Access Point Identifier (ExSAPI), provisioned by the managing system, to be compared with the TTI accepted at the overhead position of the sink for the purpose of checking the integrity of connectivity.
+ ";
+ }
+ leaf tim-act-disabled {
+ type boolean;
+ default "true";
+ description "This attribute provides the control capability for the managing system to enable or disable the Consequent Action function when detecting Trace Identifier Mismatch (TIM) at the trail termination sink.";
+ }
+ leaf tim-det-mode {
+ type tim-det-mo;
+ description "This attribute indicates the mode of the Trace Identifier Mismatch (TIM) Detection function allowed values: OFF, SAPIonly, DAPIonly, SAPIandDAPI";
+ }
+ leaf deg-m {
+ type uint64;
+ description "This attribute indicates the threshold level for declaring a Degraded Signal defect (dDEG). A dDEG shall be declared if DegM consecutive bad PM Seconds are detected.";
+ }
+ container deg-thr {
+ uses deg-thr-g;
+ description "This attribute indicates the threshold level for declaring a performance monitoring (PM) Second to be bad. The value of the threshold can be provisioned in terms of number of errored blocks or in terms of percentage of errored blocks. For percentage-based specification, in order to support provision of less than 1%, the specification consists of two fields. The first field indicates the granularity of percentage. For examples, in 1%, in 0.1%, or in 0.01%, etc. The second field indicates the multiple of the granularity. For number of errored block based, the value is a positive integer.";
+ }
+ description "none";
+ }
+ grouping odu-tcm-mip-pac-g {
+ leaf tcm-field {
+ type uint64;
+ config false;
+ description "This attribute indicates the tandem connection monitoring field of the ODU OH.";
+ }
+ description "none";
+ }
+ grouping odu-mep-pac-g {
+ leaf dm-source {
+ type boolean;
+ description "This attribute is for configuring the delay measurement process at the trail termination function represented by the subject TTP object class. It models the MI_DM_Source MI signal. If MI_DM_Source is false, then the value of the DMp bit is determined by the RI_DM. If MI_DM_Source is true, then the value of the DMp bit is set to MI_DMValue.";
+ }
+ leaf dm-value {
+ type boolean;
+ description "This attribute is for setting the DMp and DMti bits of the delay measurement process. The value of 'true' sets the DMp and DMti bits to 0 and the value of 'false' to 1.";
+ }
+ leaf txti {
+ type string;
+ description "The Trail Trace Identifier (TTI) information, provisioned by the managing system at the termination source, to be placed in the TTI overhead position of the source of a trail for transmission.
+ ";
+ }
+ uses odu-mip-pac-g;
+ description "none";
+ }
+ grouping odu-common-pac-g {
+ leaf odu-type {
+ type odu-type;
+ config false;
+ description "This attribute specifies the type of the ODU termination point.";
+ }
+ leaf odu-rate {
+ type uint64;
+ config false;
+ description "This attribute indicates the rate of the ODU terminatino point.
+ This attribute is Set at create; i.e., once created it cannot be changed directly.
+ In case of resizable ODU flex, its value can be changed via HAO (not directly on the attribute).
+ ";
+ }
+ leaf odu-rate-tolerance {
+ type uint64;
+ config false;
+ description "This attribute indicates the rate tolerance of the ODU termination point.
+ Valid values are real value in the unit of ppm.
+ Standardized values are defined in Table 7-2/G.709.";
+ }
+ description "none";
+ }
+ grouping odu-pm-pac-g {
+ leaf n-bbe {
+ type uint64;
+ description "Near-end Background Block Error";
+ }
+ leaf f-bbe {
+ type uint64;
+ config false;
+ description "Far-end Background Block Error";
+ }
+ leaf n-ses {
+ type uint64;
+ description "Near-end Severely Errored Second";
+ }
+ leaf f-ses {
+ type uint64;
+ description "Far-end Severely Errored Second";
+ }
+ container uas {
+ uses uas-choice-g;
+ description "UnAvailable Second";
+ }
+ description "Instance of this object class contains the ODUP layer-specific Current Data. This object class is a subclass of the OTN_CurrentData object class.
+ PM data attributes: fBbe, fSes, nBbe, nSes. uas";
+ }
+ grouping odu-defect-pac-g {
+ leaf bdi {
+ type boolean;
+ config false;
+ description "Backward Defect Indication";
+ }
+ leaf deg {
+ type boolean;
+ config false;
+ description "Signal Degraded";
+ }
+ leaf lck {
+ type boolean;
+ config false;
+ description "Locked";
+ }
+ leaf oci {
+ type boolean;
+ config false;
+ description "Open Connection Indicator";
+ }
+ leaf ssf {
+ type boolean;
+ config false;
+ description "Server Signal Failure";
+ }
+ leaf tim {
+ type boolean;
+ config false;
+ description "Trail Trace Identifier Mismatch";
+ }
+ description "The valid list of defects raised on the entity. If the value of any attribute is true, then the corresponding defect is raised.";
+ }
+
+ /***********************
+ * package type-definitions
+ **********************/
+ identity ODU_TYPE {
+ base tapi-common:LAYER_PROTOCOL_QUALIFIER;
+ description "none";
+ }
+ identity ODU_TYPE_ODU0 {
+ base ODU_TYPE;
+ description "none";
+ }
+ identity ODU_TYPE_ODU1 {
+ base ODU_TYPE;
+ description "none";
+ }
+ identity ODU_TYPE_ODU2 {
+ base ODU_TYPE;
+ description "none";
+ }
+ identity ODU_TYPE_ODU2E {
+ base ODU_TYPE;
+ description "none";
+ }
+ identity ODU_TYPE_ODU3 {
+ base ODU_TYPE;
+ description "none";
+ }
+ identity ODU_TYPE_ODU4 {
+ base ODU_TYPE;
+ description "none";
+ }
+ identity ODU_TYPE_ODU_FLEX {
+ base ODU_TYPE;
+ description "none";
+ }
+ identity ODU_TYPE_ODU_CN {
+ base ODU_TYPE;
+ description "none";
+ }
+ typedef odu-type {
+ type identityref {
+ base ODU_TYPE;
+ }
+ description "none";
+ }
+ typedef mapping-type {
+ type enumeration {
+ enum AMP {
+ description "none";
+ }
+ enum BMP {
+ description "none";
+ }
+ enum GFP-F {
+ description "none";
+ }
+ enum GMP {
+ description "none";
+ }
+ enum TTP_GFP_BMP {
+ description "none";
+ }
+ enum NULL {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef tim-det-mo {
+ type enumeration {
+ enum DAPI {
+ description "none";
+ }
+ enum SAPI {
+ description "none";
+ }
+ enum BOTH {
+ description "none";
+ }
+ enum OFF {
+ description "none";
+ }
+ }
+ description "List of modes for trace identifier mismatch detection.";
+ }
+ typedef odu-slot-size {
+ type enumeration {
+ enum 1G25 {
+ description "none";
+ }
+ enum 2G5 {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ grouping odu-payload-type-g {
+ leaf named-payload-type {
+ type odu-named-payload-type;
+ description "none";
+ }
+ leaf hex-payload-type {
+ type uint64;
+ description "none";
+ }
+ description "none";
+ }
+ typedef odu-named-payload-type {
+ type enumeration {
+ enum UNKNOWN {
+ description "none";
+ }
+ enum UNINTERPRETABLE {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ grouping deg-thr-g {
+ leaf deg-thr-value {
+ type uint64;
+ description "Percentage of detected errored blocks";
+ }
+ leaf deg-thr-type {
+ type deg-thr-type;
+ description "Number of errored blocks";
+ }
+ leaf percentage-granularity {
+ type percentage-granularity;
+ description "none";
+ }
+ description "Degraded Threshold, specify either the percentage or the number of Errored Blocks in the defined interval.
+ degThrValue when type is PERCENTAGE:
+ percentageGranularity is used to indicate the number of decimal points
+ So if percentageGranularity is ones, a value of 1 in degThrValue would indicate 1%, a value of 10 = 10%, a value of 100 = 100%
+ So if percentageGranularity is thousandths a value of 1 in degThrValue would indicate 0.001%, a value of 1000 = 1%, a value of 1000000 = 100%
+ degThrValue when type is NUMBER_ERROR_BLOCKS:
+ Number of Errored Blocks is captured in an integer value.";
+ }
+ typedef deg-thr-type {
+ type enumeration {
+ enum PERCENTAGE {
+ description "Choice of % or Number of errored blocks";
+ }
+ enum NUMBER_ERRORED_BLOCKS {
+ description "Number of % or blocks";
+ }
+ }
+ description "The value of the threshold can be provisioned in terms of number of errored blocks or in terms of percentage of errored blocks. For percentage-based specification, in order to support provision of less than 1%, the specification consists of two fields. The first field indicates the granularity of percentage. For examples, in 1%, in 0.1%, or in 0.01%, etc. The second field indicates the multiple of the granularity. For number of errored block based, the value is a positive integer.";
+ }
+ typedef tcm-status {
+ type enumeration {
+ enum NO_SOURCE_TC {
+ description "TCM byte 3 (bits 6 7 8) -- 0 0 0, No source Tandem Connection";
+ }
+ enum IN_USE_WITHOUT_IAE {
+ description "TCM byte 3 (bits 6 7 8) -- 0 0 1, In use without IAE (Incoming Alignment Error)";
+ }
+ enum IN_USE_WITH_IAE {
+ description "TCM byte 3 (bits 6 7 8) -- 0 1 0, In use with IAE (Incoming Alignment Error)";
+ }
+ enum RESERVED_1 {
+ description "TCM byte 3 (bits 6 7 8) -- 0 1 1, Reserved for future international standardization";
+ }
+ enum RESERVED_2 {
+ description "TCM byte 3 (bits 6 7 8) -- 1 0 0, Reserved for future international standardization";
+ }
+ enum LCK {
+ description "TCM byte 3 (bits 6 7 8) -- 1 0 1, Maintenance signal: ODU-LCK";
+ }
+ enum OCI {
+ description "TCM byte 3 (bits 6 7 8) -- 1 1 0, Maintenance signal: ODU-OCI";
+ }
+ enum AIS {
+ description "TCM byte 3 (bits 6 7 8) -- 1 1 1, Maintenance signal: ODU-AIS";
+ }
+ }
+ description "See Table 15-5/G.709/Y.1331 ";
+ }
+ typedef tcm-mode {
+ type enumeration {
+ enum OPERATIONAL {
+ description "none";
+ }
+ enum TRANSPARENT {
+ description "none";
+ }
+ enum MONITOR {
+ description "none";
+ }
+ }
+ description "List of value modes for the sink side of the tandem connection monitoring function.";
+ }
+ typedef tcm-monitoring {
+ type enumeration {
+ enum INTRUSIVE {
+ description "none";
+ }
+ enum NON-INTRUSIVE {
+ description "none";
+ }
+ }
+ description "Monitoring types for the tandem connection monitoring function.";
+ }
+ typedef tcm-extension {
+ type enumeration {
+ enum NORMAL {
+ description "none";
+ }
+ enum PASS-THROUGH {
+ description "none";
+ }
+ enum ERASE {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef percentage-granularity {
+ type enumeration {
+ enum ONES {
+ description "none";
+ }
+ enum ONE_TENTHS {
+ description "value * (1/10)";
+ }
+ enum ONE_HUNDREDTHS {
+ description "value * (1/100)";
+ }
+ enum ONE_THOUSANDTHS {
+ description "value * (1/1000)";
+ }
+ }
+ description "none";
+ }
+ grouping uas-choice-g {
+ leaf bidirectional {
+ type boolean;
+ default "true";
+ description "none";
+ }
+ leaf uas {
+ type uint64;
+ description "none";
+ }
+ leaf nuas {
+ type uint64;
+ description "none";
+ }
+ leaf fuas {
+ type uint64;
+ description "none";
+ }
+ description "If bidirectional is TRUE then use the uas attribute, if bidirectional is FALSE use the nuas, and fuas attributes";
+ }
+
+}
-module tapi-photonic-media {\r
- namespace "urn:onf:otcc:yang:tapi-photonic-media";\r
- prefix tapi-photonic-media;\r
- import tapi-common {\r
- prefix tapi-common;\r
- }\r
- import tapi-connectivity {\r
- prefix tapi-connectivity;\r
- }\r
- import tapi-topology {\r
- prefix tapi-topology;\r
- }\r
- organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
+module tapi-photonic-media {
+ namespace "urn:onf:otcc:yang:tapi-photonic-media";
+ prefix tapi-photonic-media;
+ import tapi-common {
+ prefix tapi-common;
+ }
+ import tapi-connectivity {
+ prefix tapi-connectivity;
+ }
+ import tapi-topology {
+ prefix tapi-topology;
+ }
+ organization "ONF OTCC (Open Transport Configuration & Control) Project";
contact "
Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
Project List: <mailto:transport-api@opennetworking.org>
Editor: Karthik Sethuraman
- <mailto:karthik.sethuraman@necam.com>";\r
- description "\r
- This module contains TAPI PhotonicMedia Model definitions.\r
- Source: TapiPhotonicMedia.uml\r
- Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
- License: This module is distributed under the Apache License 2.0";\r
- revision 2018-08-31 {\r
+ <mailto:karthik.sethuraman@necam.com>";
+ description "
+ This module contains TAPI PhotonicMedia Model definitions.
+ Source: TapiPhotonicMedia.uml
+ Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+ License: This module is distributed under the Apache License 2.0";
+ revision 2018-08-31 {
description "ONF Transport API version 2.1.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
- }\r
- revision 2018-03-07 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
+ }
+ revision 2018-03-07 {
description "ONF Transport API version 2.0.2
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
- }\r
- revision 2018-02-16 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
+ }
+ revision 2018-02-16 {
description "ONF Transport API version 2.0.1
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
- }\r
- revision 2018-01-02 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
+ }
+ revision 2018-01-02 {
description "ONF Transport API version 2.0.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
- }\r
- augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
- uses otsi-connection-end-point-spec-g;\r
- description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";\r
- }\r
- augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {\r
- uses media-channel-node-edge-point-spec-g;\r
- description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";\r
- }\r
- augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
- uses otsi-assembly-connection-end-point-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-common:service-interface-point" {\r
- uses otsi-service-interface-point-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {\r
- uses otsi-connectivity-service-end-point-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-common:service-interface-point" {\r
- uses media-channel-service-interface-point-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {\r
- uses media-channel-service-interface-point-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
- uses media-channel-connection-end-point-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
- uses ots-connection-end-point-spec-g;\r
- description "none";\r
- }\r
- augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {\r
- uses media-channel-assembly-spec-g;\r
- description "none";\r
- }\r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping otsi-gserver-adaptation-pac-g {\r
- leaf number-of-otsi {\r
- type uint64;\r
- config false;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping otsi-connection-end-point-spec-g {\r
- container otsi-termination {\r
- config false;\r
- uses otsi-termination-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping otsi-termination-pac-g {\r
- container selected-central-frequency {\r
- config false;\r
- uses central-frequency-or-wavelength-g;\r
- description "none";\r
- }\r
- container selected-application-identifier {\r
- config false;\r
- uses application-identifier-g;\r
- description "This attribute indicates the selected Application Identifier that is used by the OCh trail termination function. The syntax of ApplicationIdentifier is a pair {ApplicationIdentifierType, PrintableString}. The value of ApplicationIdentifierType is either STANDARD or PROPRIETARY. The value of PrintableString represents the standard application code as defined in the ITU-T Recommendations or a vendor-specific proprietary code. If the ApplicationIdentifierType is STANDARD the value of PrintableString represents a standard application code as defined in the ITU-T Recommendations. If the ApplicationIdentifierType is PROPRIETARY, the first six characters of the PrintableString must contain the Hexadecimal representation of an OUI assigned to the vendor whose implementation generated the Application Identifier; the remaining octets of the PrintableString are unspecified. The value of this attribute of an object instance has to be one of the values identified in the attribute SupportableApplicationIdentifierList of the same object instance. The values and value ranges of the optical interface parameters of a standard application code must be consistent with those values specified in the ITU-T Recommendation for that application code.";\r
- }\r
- leaf selected-modulation {\r
- type modulation-technique;\r
- default "UNDEFINED";\r
- config false;\r
- description "This parameter defines the modulation used at the source";\r
- }\r
- container selected-spectrum {\r
- config false;\r
- uses spectrum-g;\r
- description "none";\r
- }\r
- container transmited-power {\r
- config false;\r
- uses power-properties-pac-g;\r
- description "Measured power at the Transmitter.";\r
- }\r
- container received-power {\r
- uses power-properties-pac-g;\r
- description "none";\r
- }\r
- container laser-properties {\r
- config false;\r
- uses laser-properties-pac-g;\r
- description "Laser properties.";\r
- }\r
- description "Provides status information only.";\r
- }\r
- grouping media-channel-pool-capability-pac-g {\r
- list supportable-spectrum {\r
- config false;\r
- uses spectrum-g;\r
- description "none";\r
- }\r
- list available-spectrum {\r
- config false;\r
- uses spectrum-g;\r
- description "none";\r
- }\r
- list occupied-spectrum {\r
- config false;\r
- uses spectrum-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping media-channel-node-edge-point-spec-g {\r
- container mc-pool {\r
- config false;\r
- uses media-channel-pool-capability-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping otsi-routing-spec-g {\r
- leaf optical-routing-strategy {\r
- type optical-routing-strategy;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping media-channel-properties-pac-g {\r
- container occupied-spectrum {\r
- config false;\r
- uses spectrum-g;\r
- description "none";\r
- }\r
- container measured-power-ingress {\r
- config false;\r
- uses power-properties-pac-g;\r
- description "none";\r
- }\r
- container measured-power-egress {\r
- uses power-properties-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping otsi-assembly-connection-end-point-spec-g {\r
- container otsi-adapter {\r
- config false;\r
- uses otsi-gserver-adaptation-pac-g;\r
- description "none";\r
- }\r
- container fec-parameters {\r
- config false;\r
- uses fec-properties-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping otsi-capability-pac-g {\r
- list supportable-lower-central-frequency {\r
- config false;\r
- uses central-frequency-or-wavelength-g;\r
- description "The lower frequency of the channel spectrum";\r
- }\r
- list supportable-upper-central-frequency {\r
- config false;\r
- uses central-frequency-or-wavelength-g;\r
- description "The Upper frequency of the channel spectrum";\r
- }\r
- list supportable-application-identifier {\r
- config false;\r
- uses application-identifier-g;\r
- description "The list of supportable ApplicationIdentifiers.";\r
- }\r
- leaf-list supportable-modulation {\r
- type modulation-technique;\r
- config false;\r
- description "This parameter defines the modulation used at the source";\r
- }\r
- container total-power-warn-threshold {\r
- config false;\r
- uses total-power-threshold-pac-g;\r
- description "none";\r
- }\r
- description "Can read the status of the warning for the upper value that the power can reach.";\r
- }\r
- grouping otsi-service-interface-point-spec-g {\r
- container otsi-capability {\r
- config false;\r
- uses otsi-capability-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping otsi-connectivity-service-end-point-spec-g {\r
- container otsi-config {\r
- uses otsi-termination-config-pac-g;\r
- description "none";\r
- }\r
- container nmc-config {\r
- uses media-channel-config-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping otsi-termination-config-pac-g {\r
- container central-frequency {\r
- uses central-frequency-or-wavelength-g;\r
- description "The central frequency of the laser. It is the oscillation frequency of the corresponding electromagnetic wave";\r
- }\r
- container application-identifier {\r
- uses application-identifier-g;\r
- description "This attribute indicates the selected Application Identifier.";\r
- }\r
- leaf modulation {\r
- type modulation-technique;\r
- description "The modulation techniqu selected at the source.";\r
- }\r
- leaf laser-control {\r
- type laser-control-type;\r
- description "Laser control can be FORCED-ON, FORCED-OFF or AUTOMATIC-LASER-SHUTDOWN";\r
- }\r
- container transmit-power {\r
- uses power-properties-pac-g;\r
- description "Transmit power as requested.";\r
- }\r
- leaf total-power-warn-threshold-upper {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "Configure the Max, Default and Min values for the Upper power threshold.";\r
- }\r
- leaf total-power-warn-threshold-lower {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "Configure Max, Default and Min values for lower power threshold.";\r
- }\r
- description "none";\r
- }\r
- grouping fec-properties-pac-g {\r
- leaf pre-fec-ber {\r
- type uint64;\r
- config false;\r
- description "counter: bit error rate before correction by FEC";\r
- }\r
- leaf post-fec-ber {\r
- type uint64;\r
- config false;\r
- description "counter: bit error rate after correction by FEC";\r
- }\r
- leaf corrected-bytes {\r
- type uint64;\r
- config false;\r
- description "Bytes corrected between those that were received corrupted";\r
- }\r
- leaf corrected-bits {\r
- type uint64;\r
- config false;\r
- description "Bits corrected between those that were received corrupted";\r
- }\r
- leaf uncorrectable-bytes {\r
- type uint64;\r
- config false;\r
- description "Bytes that could not be corrected by FEC";\r
- }\r
- leaf uncorrectable-bits {\r
- type uint64;\r
- config false;\r
- description "Bits that could not be corrected by FEC";\r
- }\r
- description "none";\r
- }\r
- grouping media-channel-service-interface-point-spec-g {\r
- container mc-pool {\r
- config false;\r
- uses media-channel-pool-capability-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping media-channel-connectivity-service-end-point-spec-g {\r
- container mc-config {\r
- uses media-channel-config-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping media-channel-config-pac-g {\r
- container spectrum {\r
- uses spectrum-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping media-channel-connection-end-point-spec-g {\r
- container media-channel {\r
- config false;\r
- uses media-channel-properties-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping ots-connection-end-point-spec-g {\r
- container ots-media-channel {\r
- config false;\r
- uses media-channel-properties-pac-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping media-channel-assembly-spec-g {\r
- description "none";\r
- }\r
- grouping laser-properties-pac-g {\r
- leaf laser-status {\r
- type laser-control-status-type;\r
- config false;\r
- description "none";\r
- }\r
- leaf laser-application-type {\r
- type laser-type;\r
- config false;\r
- description "The type of laser, its operational wavelengths, and its applications. String size 255.";\r
- }\r
- leaf laser-bias-current {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- config false;\r
- description "The Bias current of the laser that is the medium polarization current of the laser.";\r
- }\r
- leaf laser-temperature {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- config false;\r
- description "The temperature of the laser";\r
- }\r
- description "none";\r
- }\r
- grouping power-properties-pac-g {\r
- leaf total-power {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "The total power at any point in a channel specified in dBm.\r
- range of type : -99.000..99.000";\r
- }\r
- leaf power-spectral-density {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- config false;\r
- description "This describes how power of a signal is distributed over frequency specified in nW/MHz\r
- range of type : -2147483648..2147483648";\r
- }\r
- description "Indication with severity warning raised when a total power value measured is above the threshold.";\r
- }\r
- grouping total-power-threshold-pac-g {\r
- leaf total-power-upper-warn-threshold-default {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "Can read the value of the default threshold that was set";\r
- }\r
- leaf total-power-upper-warn-threshold-min {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "Can read the value of the lower threshold that was set";\r
- }\r
- leaf total-power-upper-warn-threshold-max {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "Can read the value of the upper threshold that was set";\r
- }\r
- leaf total-power-lower-warn-threshold-default {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "Can read the value of the default threshold that was set";\r
- }\r
- leaf total-power-lower-warn-threshold-max {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "Can read the value of the upper threshold that was set";\r
- }\r
- leaf total-power-lower-warn-threshold-min {\r
- type decimal64 {\r
- fraction-digits 7;\r
- }\r
- description "Can read the value of the lower threshold that was set";\r
- }\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- identity SPECTRUM_TYPE {\r
- base tapi-common:LAYER_PROTOCOL_QUALIFIER;\r
- description "none";\r
- }\r
- identity SPECTRUM_TYPE_OTSi {\r
- base SPECTRUM_TYPE;\r
- description "none";\r
- }\r
- identity SPECTRUM_TYPE_OTSiA {\r
- base SPECTRUM_TYPE;\r
- description "none";\r
- }\r
- identity SPECTRUM_TYPE_OTSiG {\r
- base SPECTRUM_TYPE;\r
- description "none";\r
- }\r
- identity SPECTRUM_TYPE_NMC {\r
- base SPECTRUM_TYPE;\r
- description "none";\r
- }\r
- identity SPECTRUM_TYPE_NMCA {\r
- base SPECTRUM_TYPE;\r
- description "none";\r
- }\r
- identity SPECTRUM_TYPE_SMC {\r
- base SPECTRUM_TYPE;\r
- description "none";\r
- }\r
- identity SPECTRUM_TYPE_SMCA {\r
- base SPECTRUM_TYPE;\r
- description "none";\r
- }\r
- identity SPECTRUM_TYPE_OCH {\r
- base SPECTRUM_TYPE;\r
- description "none";\r
- }\r
- identity SPECTRUM_TYPE_OMS {\r
- base SPECTRUM_TYPE;\r
- description "none";\r
- }\r
- identity SPECTRUM_TYPE_OTS {\r
- base SPECTRUM_TYPE;\r
- description "none";\r
- }\r
- grouping application-identifier-g {\r
- leaf application-identifier-type {\r
- type application-identifier-type;\r
- description "The ITU-T recommendation which defines the application code format.";\r
- }\r
- leaf application-code {\r
- type string;\r
- description "none";\r
- }\r
- description "The syntax of ApplicationIdentifier is a pair {ApplicationIdentifierType, PrintableString}. The value of ApplicationIdentifierType is either STANDARD or PROPRIETARY. The value of PrintableString represents the standard application code as defined in the ITU-T Recommendations or a vendor-specific proprietary code. If the ApplicationIdentifierType is STANDARD the value of PrintableString represents a standard application code as defined in the ITU-T Recommendations. If the ApplicationIdentifierType is PROPRIETARY, the first six characters of the PrintableString must contain the Hexadecimal representation of an OUI assigned to the vendor whose implementation generated the Application Identifier; the remaining octets of the PrintableString are unspecified. The value of this attribute of an object instance has to be one of the values identified in the attribute SupportableApplicationIdentifierList of the same object instance. The values and value ranges of the optical interface parameters of a standard application code must be consistent with those values specified in the ITU-T Recommendation for that application code.";\r
- }\r
- grouping central-frequency-or-wavelength-g {\r
- leaf grid-type {\r
- type grid-type;\r
- description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";\r
- }\r
- leaf adjustment-granularity {\r
- type adjustment-granularity;\r
- description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";\r
- }\r
- leaf central-frequency {\r
- type uint64;\r
- description "The central frequency of the laser specified in MHz. It is the oscillation frequency of the corresponding electromagnetic wave. ";\r
- }\r
- leaf channel-number {\r
- type uint64;\r
- description "As per ITU-T G.694.1, this attribute is denoted as 'n' and is used to calculate the nominal central frequency (in THz) as follows:\r
- 193.1 + <channelNumber> × <adjustmentGranularity> where channelNumber is a positive or negative integer including 0 and adjustment_granularity is the nominal central frequency granularity in THz";\r
- }\r
- description "This data-type holds the central frequency directly or optionally the information to determine the nominal central frequency of a FIXED grid (DWDM or CWDM) and FLEX grid type systems.\r
- As per ITU-T G.694.1, the nominal central frequency (in THz) is calculated as follows:\r
- 193.1 + <channelNumber> × <adjustmentGranularity> where channelNumber is a positive or negative integer including 0 and <adjustment_granularity> is the nominal central frequency granularity in THz\r
- For FIXED grid types, the adjustmentGranularity is one of (0.1/0.05/0.025/0.0125) THz corresponding to channel spacing of one of (100/50/25/12.5) GHz\r
- For FLEX grid type, the adjusmentGranularity is 0.00625 THz and the slot width is variable in increments of 12.5 GHz";\r
- }\r
- typedef optical-routing-strategy {\r
- type enumeration {\r
- enum OPTIMAL_OSNR {\r
- description "none";\r
- }\r
- enum NO_RELAY {\r
- description "none";\r
- }\r
- enum MIN_RELAY {\r
- description "none";\r
- }\r
- enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {\r
- description "none";\r
- }\r
- enum PREFERRED_NO_SKIPPING_WAVELENGTH {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef application-identifier-type {\r
- type enumeration {\r
- enum PROPRIETARY {\r
- description "none";\r
- }\r
- enum ITUT_G959_1 {\r
- description "none";\r
- }\r
- enum ITUT_G698_1 {\r
- description "none";\r
- }\r
- enum ITUT_G698_2 {\r
- description "none";\r
- }\r
- enum ITUT_G696_1 {\r
- description "none";\r
- }\r
- enum ITUT_G695 {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef grid-type {\r
- type enumeration {\r
- enum DWDM {\r
- description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1\r
- ";\r
- }\r
- enum CWDM {\r
- description "Fixed frequency grid as specified in ITU-T G.694.2";\r
- }\r
- enum FLEX {\r
- description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,\r
- - the allowed frequency slots have a nominal central frequency (in THz) defined by:\r
- 193.1 + n × 0.00625 where n is a positive or negative integer including 0 and 0.00625 is the nominal central frequency granularity in THz\r
- - and a slot width defined by:\r
- 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.\r
- Any combination of frequency slots is allowed as long as no two frequency slots overlap.";\r
- }\r
- enum GRIDLESS {\r
- description "none";\r
- }\r
- enum UNSPECIFIED {\r
- description "Unspecified/proprietary frequency grid";\r
- }\r
- }\r
- description "The frequency grid standard that specify reference set of frequencies used to denote allowed nominal central frequencies that may be used for defining applications.";\r
- }\r
- typedef adjustment-granularity {\r
- type enumeration {\r
- enum G_100GHZ {\r
- description "100000 MHz";\r
- }\r
- enum G_50GHZ {\r
- description "50000 MHz";\r
- }\r
- enum G_25GHZ {\r
- description "25000 MHz";\r
- }\r
- enum G_12_5GHZ {\r
- description "12500 MHz";\r
- }\r
- enum G_6_25GHZ {\r
- description "6250 MHz";\r
- }\r
- enum G_3_125GHZ {\r
- description "3125 MHz";\r
- }\r
- enum UNCONSTRAINED {\r
- description "none";\r
- }\r
- }\r
- description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency";\r
- }\r
- grouping spectrum-g {\r
- leaf upper-frequency {\r
- type uint64;\r
- description "The upper frequency bound of the media channel spectrum specified in MHz";\r
- }\r
- leaf lower-frequency {\r
- type uint64;\r
- description "The lower frequency bound of the media channel spectrum specified in MHz";\r
- }\r
- container frequency-slot {\r
- uses frequency-slot-g;\r
- description "none";\r
- }\r
- description "This data-type holds the spectrum information in termsof upper/lower frequency directly or optionally the information to determin this in terms of the nominal central frequency and spectral width for a FIXED grid (DWDM or CWDM) and FLEX grid type systems.";\r
- }\r
- typedef modulation-technique {\r
- type enumeration {\r
- enum RZ {\r
- description "none";\r
- }\r
- enum NRZ {\r
- description "none";\r
- }\r
- enum BPSK {\r
- description "none";\r
- }\r
- enum DPSK {\r
- description "none";\r
- }\r
- enum QPSK {\r
- description "none";\r
- }\r
- enum 8QAM {\r
- description "none";\r
- }\r
- enum 16QAM {\r
- description "none";\r
- }\r
- enum UNDEFINED {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping frequency-slot-g {\r
- container central-frequency {\r
- uses central-frequency-or-wavelength-g;\r
- description "none";\r
- }\r
- leaf spectral-width {\r
- type uint64;\r
- description "Width of the media channel spectrum specified in MHz";\r
- }\r
- leaf slot-width-number {\r
- type uint64;\r
- description "As per ITU-T G.694.1, this attribute is denoted as 'm' and is used to calculate the slot width (in GHz) as follows:\r
- 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.";\r
- }\r
- description "The frequency range allocated to a slot and unavailable to other slots within a flexible grid. A frequency slot is defined by its nominal central frequency. As per ITU-T G.694.1 the slot width is calculated as follows:\r
- 12.5 × <slotWidthNumber> where slotWidthNumber is a positive integer and 12.5 is the slot width granularity in GHz";\r
- }\r
- typedef laser-type {\r
- type enumeration {\r
- enum PUMP {\r
- description "none";\r
- }\r
- enum MODULATED {\r
- description "none";\r
- }\r
- enum PULSE {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef spectrum-type {\r
- type identityref {\r
- base SPECTRUM_TYPE;\r
- }\r
- description "none";\r
- }\r
- typedef laser-control-type {\r
- type enumeration {\r
- enum FORCED-ON {\r
- description "none";\r
- }\r
- enum FORCED-OFF {\r
- description "none";\r
- }\r
- enum AUTOMATIC-LASER-SHUTDOWN {\r
- description "none";\r
- }\r
- enum UNDEFINED {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef laser-control-status-type {\r
- type enumeration {\r
- enum ON {\r
- description "none";\r
- }\r
- enum OFF {\r
- description "none";\r
- }\r
- enum PULSING {\r
- description "none";\r
- }\r
- enum UNDEFINED {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
-\r
-}\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
+ }
+ augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
+ uses otsi-connection-end-point-spec-g;
+ description "Augments the base LayerProtocol information in ConnectionEndPoint with OCH-specific information";
+ }
+ augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point" {
+ uses media-channel-node-edge-point-spec-g;
+ description "Augments the base LayerProtocol information in NodeEdgePoint with OCH-specific information";
+ }
+ augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
+ uses otsi-assembly-connection-end-point-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-common:service-interface-point" {
+ uses otsi-service-interface-point-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {
+ uses otsi-connectivity-service-end-point-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-common:service-interface-point" {
+ uses media-channel-service-interface-point-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-connectivity:connectivity-service/tapi-connectivity:end-point" {
+ uses media-channel-service-interface-point-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
+ uses media-channel-connection-end-point-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
+ uses ots-connection-end-point-spec-g;
+ description "none";
+ }
+ augment "/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-connectivity:connection-end-point" {
+ uses media-channel-assembly-spec-g;
+ description "none";
+ }
+ /***********************
+ * package object-classes
+ **********************/
+ grouping otsi-gserver-adaptation-pac-g {
+ leaf number-of-otsi {
+ type uint64;
+ config false;
+ description "none";
+ }
+ description "none";
+ }
+ grouping otsi-connection-end-point-spec-g {
+ container otsi-termination {
+ config false;
+ uses otsi-termination-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping otsi-termination-pac-g {
+ container selected-central-frequency {
+ config false;
+ uses central-frequency-or-wavelength-g;
+ description "none";
+ }
+ container selected-application-identifier {
+ config false;
+ uses application-identifier-g;
+ description "This attribute indicates the selected Application Identifier that is used by the OCh trail termination function. The syntax of ApplicationIdentifier is a pair {ApplicationIdentifierType, PrintableString}. The value of ApplicationIdentifierType is either STANDARD or PROPRIETARY. The value of PrintableString represents the standard application code as defined in the ITU-T Recommendations or a vendor-specific proprietary code. If the ApplicationIdentifierType is STANDARD the value of PrintableString represents a standard application code as defined in the ITU-T Recommendations. If the ApplicationIdentifierType is PROPRIETARY, the first six characters of the PrintableString must contain the Hexadecimal representation of an OUI assigned to the vendor whose implementation generated the Application Identifier; the remaining octets of the PrintableString are unspecified. The value of this attribute of an object instance has to be one of the values identified in the attribute SupportableApplicationIdentifierList of the same object instance. The values and value ranges of the optical interface parameters of a standard application code must be consistent with those values specified in the ITU-T Recommendation for that application code.";
+ }
+ leaf selected-modulation {
+ type modulation-technique;
+ default "UNDEFINED";
+ config false;
+ description "This parameter defines the modulation used at the source";
+ }
+ container selected-spectrum {
+ config false;
+ uses spectrum-g;
+ description "none";
+ }
+ container transmited-power {
+ config false;
+ uses power-properties-pac-g;
+ description "Measured power at the Transmitter.";
+ }
+ container received-power {
+ uses power-properties-pac-g;
+ description "none";
+ }
+ container laser-properties {
+ config false;
+ uses laser-properties-pac-g;
+ description "Laser properties.";
+ }
+ description "Provides status information only.";
+ }
+ grouping media-channel-pool-capability-pac-g {
+ list supportable-spectrum {
+ config false;
+ uses spectrum-g;
+ description "none";
+ }
+ list available-spectrum {
+ config false;
+ uses spectrum-g;
+ description "none";
+ }
+ list occupied-spectrum {
+ config false;
+ uses spectrum-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping media-channel-node-edge-point-spec-g {
+ container mc-pool {
+ config false;
+ uses media-channel-pool-capability-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping otsi-routing-spec-g {
+ leaf optical-routing-strategy {
+ type optical-routing-strategy;
+ description "none";
+ }
+ description "none";
+ }
+ grouping media-channel-properties-pac-g {
+ container occupied-spectrum {
+ config false;
+ uses spectrum-g;
+ description "none";
+ }
+ container measured-power-ingress {
+ config false;
+ uses power-properties-pac-g;
+ description "none";
+ }
+ container measured-power-egress {
+ uses power-properties-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping otsi-assembly-connection-end-point-spec-g {
+ container otsi-adapter {
+ config false;
+ uses otsi-gserver-adaptation-pac-g;
+ description "none";
+ }
+ container fec-parameters {
+ config false;
+ uses fec-properties-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping otsi-capability-pac-g {
+ list supportable-lower-central-frequency {
+ config false;
+ uses central-frequency-or-wavelength-g;
+ description "The lower frequency of the channel spectrum";
+ }
+ list supportable-upper-central-frequency {
+ config false;
+ uses central-frequency-or-wavelength-g;
+ description "The Upper frequency of the channel spectrum";
+ }
+ list supportable-application-identifier {
+ config false;
+ uses application-identifier-g;
+ description "The list of supportable ApplicationIdentifiers.";
+ }
+ leaf-list supportable-modulation {
+ type modulation-technique;
+ config false;
+ description "This parameter defines the modulation used at the source";
+ }
+ container total-power-warn-threshold {
+ config false;
+ uses total-power-threshold-pac-g;
+ description "none";
+ }
+ description "Can read the status of the warning for the upper value that the power can reach.";
+ }
+ grouping otsi-service-interface-point-spec-g {
+ container otsi-capability {
+ config false;
+ uses otsi-capability-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping otsi-connectivity-service-end-point-spec-g {
+ container otsi-config {
+ uses otsi-termination-config-pac-g;
+ description "none";
+ }
+ container nmc-config {
+ uses media-channel-config-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping otsi-termination-config-pac-g {
+ container central-frequency {
+ uses central-frequency-or-wavelength-g;
+ description "The central frequency of the laser. It is the oscillation frequency of the corresponding electromagnetic wave";
+ }
+ container application-identifier {
+ uses application-identifier-g;
+ description "This attribute indicates the selected Application Identifier.";
+ }
+ leaf modulation {
+ type modulation-technique;
+ description "The modulation techniqu selected at the source.";
+ }
+ leaf laser-control {
+ type laser-control-type;
+ description "Laser control can be FORCED-ON, FORCED-OFF or AUTOMATIC-LASER-SHUTDOWN";
+ }
+ container transmit-power {
+ uses power-properties-pac-g;
+ description "Transmit power as requested.";
+ }
+ leaf total-power-warn-threshold-upper {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "Configure the Max, Default and Min values for the Upper power threshold.";
+ }
+ leaf total-power-warn-threshold-lower {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "Configure Max, Default and Min values for lower power threshold.";
+ }
+ description "none";
+ }
+ grouping fec-properties-pac-g {
+ leaf pre-fec-ber {
+ type uint64;
+ config false;
+ description "counter: bit error rate before correction by FEC";
+ }
+ leaf post-fec-ber {
+ type uint64;
+ config false;
+ description "counter: bit error rate after correction by FEC";
+ }
+ leaf corrected-bytes {
+ type uint64;
+ config false;
+ description "Bytes corrected between those that were received corrupted";
+ }
+ leaf corrected-bits {
+ type uint64;
+ config false;
+ description "Bits corrected between those that were received corrupted";
+ }
+ leaf uncorrectable-bytes {
+ type uint64;
+ config false;
+ description "Bytes that could not be corrected by FEC";
+ }
+ leaf uncorrectable-bits {
+ type uint64;
+ config false;
+ description "Bits that could not be corrected by FEC";
+ }
+ description "none";
+ }
+ grouping media-channel-service-interface-point-spec-g {
+ container mc-pool {
+ config false;
+ uses media-channel-pool-capability-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping media-channel-connectivity-service-end-point-spec-g {
+ container mc-config {
+ uses media-channel-config-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping media-channel-config-pac-g {
+ container spectrum {
+ uses spectrum-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping media-channel-connection-end-point-spec-g {
+ container media-channel {
+ config false;
+ uses media-channel-properties-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping ots-connection-end-point-spec-g {
+ container ots-media-channel {
+ config false;
+ uses media-channel-properties-pac-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping media-channel-assembly-spec-g {
+ description "none";
+ }
+ grouping laser-properties-pac-g {
+ leaf laser-status {
+ type laser-control-status-type;
+ config false;
+ description "none";
+ }
+ leaf laser-application-type {
+ type laser-type;
+ config false;
+ description "The type of laser, its operational wavelengths, and its applications. String size 255.";
+ }
+ leaf laser-bias-current {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ config false;
+ description "The Bias current of the laser that is the medium polarization current of the laser.";
+ }
+ leaf laser-temperature {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ config false;
+ description "The temperature of the laser";
+ }
+ description "none";
+ }
+ grouping power-properties-pac-g {
+ leaf total-power {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "The total power at any point in a channel specified in dBm.
+ range of type : -99.000..99.000";
+ }
+ leaf power-spectral-density {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ config false;
+ description "This describes how power of a signal is distributed over frequency specified in nW/MHz
+ range of type : -2147483648..2147483648";
+ }
+ description "Indication with severity warning raised when a total power value measured is above the threshold.";
+ }
+ grouping total-power-threshold-pac-g {
+ leaf total-power-upper-warn-threshold-default {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "Can read the value of the default threshold that was set";
+ }
+ leaf total-power-upper-warn-threshold-min {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "Can read the value of the lower threshold that was set";
+ }
+ leaf total-power-upper-warn-threshold-max {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "Can read the value of the upper threshold that was set";
+ }
+ leaf total-power-lower-warn-threshold-default {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "Can read the value of the default threshold that was set";
+ }
+ leaf total-power-lower-warn-threshold-max {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "Can read the value of the upper threshold that was set";
+ }
+ leaf total-power-lower-warn-threshold-min {
+ type decimal64 {
+ fraction-digits 7;
+ }
+ description "Can read the value of the lower threshold that was set";
+ }
+ description "none";
+ }
+
+ /***********************
+ * package type-definitions
+ **********************/
+ identity SPECTRUM_TYPE {
+ base tapi-common:LAYER_PROTOCOL_QUALIFIER;
+ description "none";
+ }
+ identity SPECTRUM_TYPE_OTSi {
+ base SPECTRUM_TYPE;
+ description "none";
+ }
+ identity SPECTRUM_TYPE_OTSiA {
+ base SPECTRUM_TYPE;
+ description "none";
+ }
+ identity SPECTRUM_TYPE_OTSiG {
+ base SPECTRUM_TYPE;
+ description "none";
+ }
+ identity SPECTRUM_TYPE_NMC {
+ base SPECTRUM_TYPE;
+ description "none";
+ }
+ identity SPECTRUM_TYPE_NMCA {
+ base SPECTRUM_TYPE;
+ description "none";
+ }
+ identity SPECTRUM_TYPE_SMC {
+ base SPECTRUM_TYPE;
+ description "none";
+ }
+ identity SPECTRUM_TYPE_SMCA {
+ base SPECTRUM_TYPE;
+ description "none";
+ }
+ identity SPECTRUM_TYPE_OCH {
+ base SPECTRUM_TYPE;
+ description "none";
+ }
+ identity SPECTRUM_TYPE_OMS {
+ base SPECTRUM_TYPE;
+ description "none";
+ }
+ identity SPECTRUM_TYPE_OTS {
+ base SPECTRUM_TYPE;
+ description "none";
+ }
+ grouping application-identifier-g {
+ leaf application-identifier-type {
+ type application-identifier-type;
+ description "The ITU-T recommendation which defines the application code format.";
+ }
+ leaf application-code {
+ type string;
+ description "none";
+ }
+ description "The syntax of ApplicationIdentifier is a pair {ApplicationIdentifierType, PrintableString}. The value of ApplicationIdentifierType is either STANDARD or PROPRIETARY. The value of PrintableString represents the standard application code as defined in the ITU-T Recommendations or a vendor-specific proprietary code. If the ApplicationIdentifierType is STANDARD the value of PrintableString represents a standard application code as defined in the ITU-T Recommendations. If the ApplicationIdentifierType is PROPRIETARY, the first six characters of the PrintableString must contain the Hexadecimal representation of an OUI assigned to the vendor whose implementation generated the Application Identifier; the remaining octets of the PrintableString are unspecified. The value of this attribute of an object instance has to be one of the values identified in the attribute SupportableApplicationIdentifierList of the same object instance. The values and value ranges of the optical interface parameters of a standard application code must be consistent with those values specified in the ITU-T Recommendation for that application code.";
+ }
+ grouping central-frequency-or-wavelength-g {
+ leaf grid-type {
+ type grid-type;
+ description "Specifies the frequency grid standard used to determine the nominal central frequency and frequency slot width";
+ }
+ leaf adjustment-granularity {
+ type adjustment-granularity;
+ description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency (in THz)";
+ }
+ leaf central-frequency {
+ type uint64;
+ description "The central frequency of the laser specified in MHz. It is the oscillation frequency of the corresponding electromagnetic wave. ";
+ }
+ leaf channel-number {
+ type uint64;
+ description "As per ITU-T G.694.1, this attribute is denoted as 'n' and is used to calculate the nominal central frequency (in THz) as follows:
+ 193.1 + <channelNumber> × <adjustmentGranularity> where channelNumber is a positive or negative integer including 0 and adjustment_granularity is the nominal central frequency granularity in THz";
+ }
+ description "This data-type holds the central frequency directly or optionally the information to determine the nominal central frequency of a FIXED grid (DWDM or CWDM) and FLEX grid type systems.
+ As per ITU-T G.694.1, the nominal central frequency (in THz) is calculated as follows:
+ 193.1 + <channelNumber> × <adjustmentGranularity> where channelNumber is a positive or negative integer including 0 and <adjustment_granularity> is the nominal central frequency granularity in THz
+ For FIXED grid types, the adjustmentGranularity is one of (0.1/0.05/0.025/0.0125) THz corresponding to channel spacing of one of (100/50/25/12.5) GHz
+ For FLEX grid type, the adjusmentGranularity is 0.00625 THz and the slot width is variable in increments of 12.5 GHz";
+ }
+ typedef optical-routing-strategy {
+ type enumeration {
+ enum OPTIMAL_OSNR {
+ description "none";
+ }
+ enum NO_RELAY {
+ description "none";
+ }
+ enum MIN_RELAY {
+ description "none";
+ }
+ enum PREFERRED_NO_CHANGE_WAVELENGTH_AS_RESTORE {
+ description "none";
+ }
+ enum PREFERRED_NO_SKIPPING_WAVELENGTH {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef application-identifier-type {
+ type enumeration {
+ enum PROPRIETARY {
+ description "none";
+ }
+ enum ITUT_G959_1 {
+ description "none";
+ }
+ enum ITUT_G698_1 {
+ description "none";
+ }
+ enum ITUT_G698_2 {
+ description "none";
+ }
+ enum ITUT_G696_1 {
+ description "none";
+ }
+ enum ITUT_G695 {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef grid-type {
+ type enumeration {
+ enum DWDM {
+ description "Fixed frequency grid in C & L bands as specified in ITU-T G.694.1
+ ";
+ }
+ enum CWDM {
+ description "Fixed frequency grid as specified in ITU-T G.694.2";
+ }
+ enum FLEX {
+ description "Flexible frequency grid as specified in ITU-T G.694.1. In this case,
+ - the allowed frequency slots have a nominal central frequency (in THz) defined by:
+ 193.1 + n × 0.00625 where n is a positive or negative integer including 0 and 0.00625 is the nominal central frequency granularity in THz
+ - and a slot width defined by:
+ 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.
+ Any combination of frequency slots is allowed as long as no two frequency slots overlap.";
+ }
+ enum GRIDLESS {
+ description "none";
+ }
+ enum UNSPECIFIED {
+ description "Unspecified/proprietary frequency grid";
+ }
+ }
+ description "The frequency grid standard that specify reference set of frequencies used to denote allowed nominal central frequencies that may be used for defining applications.";
+ }
+ typedef adjustment-granularity {
+ type enumeration {
+ enum G_100GHZ {
+ description "100000 MHz";
+ }
+ enum G_50GHZ {
+ description "50000 MHz";
+ }
+ enum G_25GHZ {
+ description "25000 MHz";
+ }
+ enum G_12_5GHZ {
+ description "12500 MHz";
+ }
+ enum G_6_25GHZ {
+ description "6250 MHz";
+ }
+ enum G_3_125GHZ {
+ description "3125 MHz";
+ }
+ enum UNCONSTRAINED {
+ description "none";
+ }
+ }
+ description "Adjustment granularity in Gigahertz. As per ITU-T G.694.1, it is used to calculate nominal central frequency";
+ }
+ grouping spectrum-g {
+ leaf upper-frequency {
+ type uint64;
+ description "The upper frequency bound of the media channel spectrum specified in MHz";
+ }
+ leaf lower-frequency {
+ type uint64;
+ description "The lower frequency bound of the media channel spectrum specified in MHz";
+ }
+ container frequency-slot {
+ uses frequency-slot-g;
+ description "none";
+ }
+ description "This data-type holds the spectrum information in termsof upper/lower frequency directly or optionally the information to determin this in terms of the nominal central frequency and spectral width for a FIXED grid (DWDM or CWDM) and FLEX grid type systems.";
+ }
+ typedef modulation-technique {
+ type enumeration {
+ enum RZ {
+ description "none";
+ }
+ enum NRZ {
+ description "none";
+ }
+ enum BPSK {
+ description "none";
+ }
+ enum DPSK {
+ description "none";
+ }
+ enum QPSK {
+ description "none";
+ }
+ enum 8QAM {
+ description "none";
+ }
+ enum 16QAM {
+ description "none";
+ }
+ enum UNDEFINED {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ grouping frequency-slot-g {
+ container central-frequency {
+ uses central-frequency-or-wavelength-g;
+ description "none";
+ }
+ leaf spectral-width {
+ type uint64;
+ description "Width of the media channel spectrum specified in MHz";
+ }
+ leaf slot-width-number {
+ type uint64;
+ description "As per ITU-T G.694.1, this attribute is denoted as 'm' and is used to calculate the slot width (in GHz) as follows:
+ 12.5 × m where m is a positive integer and 12.5 is the slot width granularity in GHz.";
+ }
+ description "The frequency range allocated to a slot and unavailable to other slots within a flexible grid. A frequency slot is defined by its nominal central frequency. As per ITU-T G.694.1 the slot width is calculated as follows:
+ 12.5 × <slotWidthNumber> where slotWidthNumber is a positive integer and 12.5 is the slot width granularity in GHz";
+ }
+ typedef laser-type {
+ type enumeration {
+ enum PUMP {
+ description "none";
+ }
+ enum MODULATED {
+ description "none";
+ }
+ enum PULSE {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef spectrum-type {
+ type identityref {
+ base SPECTRUM_TYPE;
+ }
+ description "none";
+ }
+ typedef laser-control-type {
+ type enumeration {
+ enum FORCED-ON {
+ description "none";
+ }
+ enum FORCED-OFF {
+ description "none";
+ }
+ enum AUTOMATIC-LASER-SHUTDOWN {
+ description "none";
+ }
+ enum UNDEFINED {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef laser-control-status-type {
+ type enumeration {
+ enum ON {
+ description "none";
+ }
+ enum OFF {
+ description "none";
+ }
+ enum PULSING {
+ description "none";
+ }
+ enum UNDEFINED {
+ description "none";
+ }
+ }
+ description "none";
+ }
+
+}
-module tapi-topology {\r
- namespace "urn:onf:otcc:yang:tapi-topology";\r
- prefix tapi-topology;\r
- import tapi-common {\r
- prefix tapi-common;\r
- }\r
- organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
+module tapi-topology {
+ namespace "urn:onf:otcc:yang:tapi-topology";
+ prefix tapi-topology;
+ import tapi-common {
+ prefix tapi-common;
+ }
+ organization "ONF OTCC (Open Transport Configuration & Control) Project";
contact "
Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
Project List: <mailto:transport-api@opennetworking.org>
Editor: Karthik Sethuraman
- <mailto:karthik.sethuraman@necam.com>";\r
- description "\r
- This module contains TAPI Topology Model definitions.\r
- Source: TapiTopology.uml\r
- Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
- License: This module is distributed under the Apache License 2.0";\r
- revision 2018-08-31 {\r
+ <mailto:karthik.sethuraman@necam.com>";
+ description "
+ This module contains TAPI Topology Model definitions.
+ Source: TapiTopology.uml
+ Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+ License: This module is distributed under the Apache License 2.0";
+ revision 2018-08-31 {
description "ONF Transport API version 2.1.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
- }\r
- revision 2018-03-07 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
+ }
+ revision 2018-03-07 {
description "ONF Transport API version 2.0.2
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
- }\r
- revision 2018-02-16 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
+ }
+ revision 2018-02-16 {
description "ONF Transport API version 2.0.1
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
- }\r
- revision 2018-01-02 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
+ }
+ revision 2018-01-02 {
description "ONF Transport API version 2.0.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
- }\r
- augment "/tapi-common:context" {\r
- uses topology-context-g;\r
- description "Augments the base TAPI Context with TopologyService information";\r
- }\r
-\r
- /*************************\r
- * definitions of refrences\r
- *************************/\r
-\r
- grouping topology-ref-g {\r
- leaf topology-uuid {\r
- type leafref {\r
- path '/tapi-common:context/tapi-topology:topology/tapi-topology:uuid';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
-\r
- grouping link-ref-g {\r
- uses topology-ref-g;\r
- leaf link-uuid {\r
- type leafref {\r
- path '/tapi-common:context/tapi-topology:topology/tapi-topology:link/tapi-topology:uuid';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
-\r
- grouping node-ref-g {\r
- uses topology-ref-g;\r
- leaf node-uuid {\r
- type leafref {\r
- path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:uuid';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
-\r
- grouping node-edge-point-ref-g {\r
- uses node-ref-g;\r
- leaf node-edge-point-uuid {\r
- type leafref {\r
- path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
-\r
- grouping node-rule-group-ref-g {\r
- uses node-ref-g;\r
- leaf node-rule-group-uuid {\r
- type leafref {\r
- path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:node-rule-group/tapi-topology:uuid';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping link-g {\r
- list node-edge-point {\r
- uses node-edge-point-ref-g;\r
- key 'topology-uuid node-uuid node-edge-point-uuid';\r
- config false;\r
- min-elements 2;\r
- description "none";\r
- }\r
- leaf-list layer-protocol-name {\r
- type tapi-common:layer-protocol-name;\r
- config false;\r
- min-elements 1;\r
- description "none";\r
- }\r
- leaf direction {\r
- type tapi-common:forwarding-direction;\r
- config false;\r
- description "The directionality of the Link. \r
- Is applicable to simple Links where all LinkEnds are BIDIRECTIONAL (the Link will be BIDIRECTIONAL) or UNIDIRECTIONAL (the Link will be UNIDIRECTIONAL). \r
- Is not present in more complex cases.";\r
- }\r
- container resilience-type {\r
- uses resilience-type-g;\r
- description "none";\r
- }\r
- uses tapi-common:resource-spec-g;\r
- uses tapi-common:admin-state-pac-g;\r
- uses tapi-common:capacity-pac-g;\r
- uses transfer-cost-pac-g;\r
- uses transfer-integrity-pac-g;\r
- uses transfer-timing-pac-g;\r
- uses risk-parameter-pac-g;\r
- uses validation-pac-g;\r
- uses layer-protocol-transition-pac-g;\r
- description "The Link object class models effective adjacency between two or more ForwardingDomains (FD). ";\r
- }\r
- grouping node-g {\r
- list owned-node-edge-point {\r
- key 'uuid';\r
- config false;\r
- uses node-edge-point-g;\r
- description "none";\r
- }\r
- list aggregated-node-edge-point {\r
- uses node-edge-point-ref-g;\r
- key 'topology-uuid node-uuid node-edge-point-uuid';\r
- config false;\r
- description "none";\r
- }\r
- list node-rule-group {\r
- key 'uuid';\r
- uses node-rule-group-g;\r
- description "none";\r
- }\r
- container encap-topology {\r
- uses topology-ref-g;\r
- config false;\r
- description "none";\r
- }\r
- leaf-list layer-protocol-name {\r
- type tapi-common:layer-protocol-name;\r
- config false;\r
- min-elements 1;\r
- description "none";\r
- }\r
- uses tapi-common:resource-spec-g;\r
- uses tapi-common:admin-state-pac-g;\r
- uses tapi-common:capacity-pac-g;\r
- uses transfer-cost-pac-g;\r
- uses transfer-integrity-pac-g;\r
- uses transfer-timing-pac-g;\r
- description "The ForwardingDomain (FD) object class models the ForwardingDomain topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding. \r
- At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). ";\r
- }\r
- grouping topology-g {\r
- list node {\r
- key 'uuid';\r
- config false;\r
- uses node-g;\r
- description "none";\r
- }\r
- list link {\r
- key 'uuid';\r
- config false;\r
- uses link-g;\r
- description "none";\r
- }\r
- leaf-list layer-protocol-name {\r
- type tapi-common:layer-protocol-name;\r
- config false;\r
- min-elements 1;\r
- description "none";\r
- }\r
- uses tapi-common:resource-spec-g;\r
- description "The ForwardingDomain (FD) object class models the ForwardingDomain topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding. \r
- At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). ";\r
- }\r
- grouping layer-protocol-transition-pac-g {\r
- leaf-list transitioned-layer-protocol-name {\r
- type string;\r
- min-elements 2;\r
- description "Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role.";\r
- }\r
- description "Relevant for a Link that is formed by abstracting one or more LTPs (in a stack) to focus on the flow and deemphasize the protocol transformation. \r
- This abstraction is relevant when considering multi-layer routing. \r
- The layer protocols of the LTP and the order of their application to the signal is still relevant and need to be accounted for. This is derived from the LTP spec details.\r
- This Pac provides the relevant abstractions of the LTPs and provides the necessary association to the LTPs involved.\r
- Links that included details in this Pac are often referred to as Transitional Links.";\r
- }\r
- grouping node-edge-point-g {\r
- leaf layer-protocol-name {\r
- type tapi-common:layer-protocol-name;\r
- config false;\r
- description "none";\r
- }\r
- leaf-list supported-cep-layer-protocol-qualifier {\r
- type tapi-common:layer-protocol-qualifier;\r
- min-elements 1;\r
- description "none";\r
- }\r
- list aggregated-node-edge-point {\r
- uses node-edge-point-ref-g;\r
- key 'topology-uuid node-uuid node-edge-point-uuid';\r
- config false;\r
- description "none";\r
- }\r
- list mapped-service-interface-point {\r
- uses tapi-common:service-interface-point-ref-g;\r
- key 'service-interface-point-uuid';\r
- config false;\r
- description "NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) should be considered experimental";\r
- }\r
- leaf link-port-direction {\r
- type tapi-common:port-direction;\r
- config false;\r
- description "The orientation of defined flow at the LinkEnd.";\r
- }\r
- leaf link-port-role {\r
- type tapi-common:port-role;\r
- config false;\r
- description "Each LinkEnd of the Link has a role (e.g., symmetric, hub, spoke, leaf, root) in the context of the Link with respect to the Link function. ";\r
- }\r
- uses tapi-common:resource-spec-g;\r
- uses tapi-common:admin-state-pac-g;\r
- uses tapi-common:termination-pac-g;\r
- uses tapi-common:capacity-pac-g;\r
- description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers. \r
- The structure of LTP supports all transport protocols including circuit and packet forms.";\r
- }\r
- grouping risk-parameter-pac-g {\r
- list risk-characteristic {\r
- key 'risk-characteristic-name';\r
- config false;\r
- min-elements 1;\r
- uses risk-characteristic-g;\r
- description "A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration.";\r
- }\r
- description "The risk characteristics of a TopologicalEntity come directly from the underlying physical realization. \r
- The risk characteristics propagate from the physical realization to the client and from the server layer to the client layer, this propagation may be modified by protection.\r
- A TopologicalEntity may suffer degradation or failure as a result of a problem in a part of the underlying realization.\r
- The realization can be partitioned into segments which have some relevant common failure modes.\r
- There is a risk of failure/degradation of each segment of the underlying realization.\r
- Each segment is a part of a larger physical/geographical unit that behaves as one with respect to failure (i.e. a failure will have a high probability of impacting the whole unit (e.g. all cables in the same duct).\r
- Disruptions to that larger physical/geographical unit will impact (cause failure/errors to) all TopologicalEntities that use any part of that larger physical/geographical entity.\r
- Any TopologicalEntity that uses any part of that larger physical/geographical unit will suffer impact and hence each TopologicalEntity shares risk.\r
- The identifier of each physical/geographical unit that is involved in the realization of each segment of a Topological entity can be listed in the RiskParameter_Pac of that TopologicalEntity.\r
- A segment has one or more risk characteristic.\r
- Shared risk between two TopologicalEntities compromises the integrity of any solution that use one of those TopologicalEntity as a backup for the other.\r
- Where two TopologicalEntities have a common risk characteristic they have an elevated probability of failing simultaneously compared to two TopologicalEntities that do not share risk characteristics.";\r
- }\r
- grouping transfer-cost-pac-g {\r
- list cost-characteristic {\r
- key 'cost-name';\r
- config false;\r
- min-elements 1;\r
- uses cost-characteristic-g;\r
- description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";\r
- }\r
- description "The cost characteristics of a TopologicalEntity not necessarily correlated to the cost of the underlying physical realization. \r
- They may be quite specific to the individual TopologicalEntity e.g. opportunity cost. Relates to layer capacity\r
- There may be many perspectives from which cost may be considered for a particular TopologicalEntity and hence many specific costs and potentially cost algorithms. \r
- Using an entity will incur a cost. ";\r
- }\r
- grouping transfer-integrity-pac-g {\r
- leaf error-characteristic {\r
- type string;\r
- config false;\r
- description "Describes the degree to which the signal propagated can be errored. \r
- Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded.";\r
- }\r
- leaf loss-characteristic {\r
- type string;\r
- config false;\r
- description "Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow.\r
- Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips).";\r
- }\r
- leaf repeat-delivery-characteristic {\r
- type string;\r
- config false;\r
- description "Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). \r
- It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay.";\r
- }\r
- leaf delivery-order-characteristic {\r
- type string;\r
- config false;\r
- description "Describes the degree to which packets will be delivered out of sequence.\r
- Does not apply to TDM as the TDM protocols maintain strict order.";\r
- }\r
- leaf unavailable-time-characteristic {\r
- type string;\r
- config false;\r
- description "Describes the duration for which there may be no valid signal propagated.";\r
- }\r
- leaf server-integrity-process-characteristic {\r
- type string;\r
- config false;\r
- description "Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity.";\r
- }\r
- description "Transfer intergrity characteristic covers expected/specified/acceptable characteristic of degradation of the transfered signal.\r
- It includes all aspects of possible degradation of signal content as well as any damage of any form to the total TopologicalEntity and to the carried signals.\r
- Note that the statement is of total impact to the TopologicalEntity so any partial usage of the TopologicalEntity (e.g. a signal that does not use full capacity) will only suffer its portion of the impact.";\r
- }\r
- grouping transfer-timing-pac-g {\r
- list latency-characteristic {\r
- key 'traffic-property-name';\r
- config false;\r
- min-elements 1;\r
- uses latency-characteristic-g;\r
- description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";\r
- }\r
- description "A TopologicalEntity will suffer effects from the underlying physical realization related to the timing of the information passed by the TopologicalEntity.";\r
- }\r
- grouping validation-pac-g {\r
- list validation-mechanism {\r
- key 'validation-mechanism';\r
- config false;\r
- min-elements 1;\r
- uses validation-mechanism-g;\r
- description "Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity.";\r
- }\r
- description "Validation covers the various adjacenct discovery and reachability verification protocols. Also may cover Information source and degree of integrity.";\r
- }\r
- grouping network-topology-service-g {\r
- list topology {\r
- uses topology-ref-g;\r
- key 'topology-uuid';\r
- config false;\r
- description "none";\r
- }\r
- uses tapi-common:service-spec-g;\r
- description "none";\r
- }\r
- grouping topology-context-g {\r
- container nw-topology-service {\r
- config false;\r
- uses network-topology-service-g;\r
- description "none";\r
- }\r
- list topology {\r
- key 'uuid';\r
- config false;\r
- uses topology-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- grouping inter-rule-group-g {\r
- list rule {\r
- key 'local-id';\r
- min-elements 1;\r
- uses rule-g;\r
- description "none";\r
- }\r
- list associated-node-rule-group {\r
- uses node-rule-group-ref-g;\r
- key 'topology-uuid node-uuid node-rule-group-uuid';\r
- min-elements 2;\r
- description "none";\r
- }\r
- uses tapi-common:resource-spec-g;\r
- uses tapi-common:capacity-pac-g;\r
- uses transfer-cost-pac-g;\r
- uses transfer-timing-pac-g;\r
- uses risk-parameter-pac-g;\r
- description "none";\r
- }\r
- grouping node-rule-group-g {\r
- list rule {\r
- key 'local-id';\r
- min-elements 1;\r
- uses rule-g;\r
- description "none";\r
- }\r
- list node-edge-point {\r
- uses node-edge-point-ref-g;\r
- key 'topology-uuid node-uuid node-edge-point-uuid';\r
- min-elements 1;\r
- description "none";\r
- }\r
- list composed-rule-group {\r
- uses node-rule-group-ref-g;\r
- key 'topology-uuid node-uuid node-rule-group-uuid';\r
- description "none";\r
- }\r
- list inter-rule-group {\r
- key 'uuid';\r
- uses inter-rule-group-g;\r
- description "none";\r
- }\r
- uses tapi-common:resource-spec-g;\r
- uses tapi-common:capacity-pac-g;\r
- uses transfer-cost-pac-g;\r
- uses transfer-timing-pac-g;\r
- uses risk-parameter-pac-g;\r
- description "none";\r
- }\r
- grouping rule-g {\r
- leaf rule-type {\r
- type rule-type;\r
- description "none";\r
- }\r
- leaf forwarding-rule {\r
- type forwarding-rule;\r
- description "none";\r
- }\r
- leaf override-priority {\r
- type uint64;\r
- description "none";\r
- }\r
- uses tapi-common:local-class-g;\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package type-definitions\r
- **********************/ \r
- grouping cost-characteristic-g {\r
- leaf cost-name {\r
- type string;\r
- description "The cost characteristic will related to some aspect of the TopologicalEntity (e.g. $ cost, routing weight). This aspect will be conveyed by the costName.";\r
- }\r
- leaf cost-value {\r
- type string;\r
- description "The specific cost.";\r
- }\r
- leaf cost-algorithm {\r
- type string;\r
- description "The cost may vary based upon some properties of the TopologicalEntity. The rules for the variation are conveyed by the costAlgorithm.";\r
- }\r
- description "The information for a particular cost characteristic.";\r
- }\r
- grouping latency-characteristic-g {\r
- leaf traffic-property-name {\r
- type string;\r
- description "The identifier of the specific traffic property to which the queuing latency applies.";\r
- }\r
- leaf fixed-latency-characteristic {\r
- type string;\r
- config false;\r
- description "A TopologicalEntity suffers delay caused by the realization of the servers (e.g. distance related; FEC encoding etc.) along with some client specific processing. This is the total average latency effect of the TopologicalEntity";\r
- }\r
- leaf queing-latency-characteristic {\r
- type string;\r
- description "The specific queuing latency for the traffic property.";\r
- }\r
- leaf jitter-characteristic {\r
- type string;\r
- config false;\r
- description "High frequency deviation from true periodicity of a signal and therefore a small high rate of change of transfer latency.\r
- Applies to TDM systems (and not packet).";\r
- }\r
- leaf wander-characteristic {\r
- type string;\r
- config false;\r
- description "Low frequency deviation from true periodicity of a signal and therefore a small low rate of change of transfer latency.\r
- Applies to TDM systems (and not packet).";\r
- }\r
- description "Provides information on latency characteristic for a particular stated trafficProperty.";\r
- }\r
- grouping risk-characteristic-g {\r
- leaf risk-characteristic-name {\r
- type string;\r
- description "The name of the risk characteristic. The characteristic may be related to a specific degree of closeness. \r
- For example a particular characteristic may apply to failures that are localized (e.g. to one side of a road) where as another characteristic may relate to failures that have a broader impact (e.g. both sides of a road that crosses a bridge).\r
- Depending upon the importance of the traffic being routed different risk characteristics will be evaluated.";\r
- }\r
- leaf-list risk-identifier-list {\r
- type string;\r
- min-elements 1;\r
- description "A list of the identifiers of each physical/geographic unit (with the specific risk characteristic) that is related to a segment of the TopologicalEntity.";\r
- }\r
- description "The information for a particular risk characteristic where there is a list of risk identifiers related to that characteristic.";\r
- }\r
- grouping validation-mechanism-g {\r
- leaf validation-mechanism {\r
- type string;\r
- description "Name of mechanism used to validate adjacency";\r
- }\r
- leaf layer-protocol-adjacency-validated {\r
- type string;\r
- description "State of validatiion";\r
- }\r
- leaf validation-robustness {\r
- type string;\r
- description "Quality of validation (i.e. how likely is the stated validation to be invalid)";\r
- }\r
- description "Identifies the validation mechanism and describes the characteristics of that mechanism";\r
- }\r
- typedef forwarding-rule {\r
- type enumeration {\r
- enum MAY_FORWARD_ACROSS_GROUP {\r
- description "none";\r
- }\r
- enum MUST_FORWARD_ACROSS_GROUP {\r
- description "none";\r
- }\r
- enum CANNOT_FORWARD_ACROSS_GROUP {\r
- description "none";\r
- }\r
- enum NO_STATEMENT_ON_FORWARDING {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef rule-type {\r
- type enumeration {\r
- enum FORWARDING {\r
- description "none";\r
- }\r
- enum CAPACITY {\r
- description "none";\r
- }\r
- enum COST {\r
- description "none";\r
- }\r
- enum TIMING {\r
- description "none";\r
- }\r
- enum RISK {\r
- description "none";\r
- }\r
- enum GROUPING {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- grouping resilience-type-g {\r
- leaf restoration-policy {\r
- type restoration-policy;\r
- description "none";\r
- }\r
- leaf protection-type {\r
- type protection-type;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- typedef restoration-policy {\r
- type enumeration {\r
- enum PER_DOMAIN_RESTORATION {\r
- description "none";\r
- }\r
- enum END_TO_END_RESTORATION {\r
- description "none";\r
- }\r
- enum NA {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
- typedef protection-type {\r
- type enumeration {\r
- enum NO_PROTECTON {\r
- description "none";\r
- }\r
- enum ONE_PLUS_ONE_PROTECTION {\r
- description "none";\r
- }\r
- enum ONE_PLUS_ONE_PROTECTION_WITH_DYNAMIC_RESTORATION {\r
- description "none";\r
- }\r
- enum PERMANENT_ONE_PLUS_ONE_PROTECTION {\r
- description "none";\r
- }\r
- enum ONE_FOR_ONE_PROTECTION {\r
- description "none";\r
- }\r
- enum DYNAMIC_RESTORATION {\r
- description "none";\r
- }\r
- enum PRE_COMPUTED_RESTORATION {\r
- description "none";\r
- }\r
- }\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package interfaces\r
- **********************/ \r
- rpc get-topology-details {\r
- description "none";\r
- input {\r
- leaf topology-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container topology {\r
- uses topology-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-node-details {\r
- description "none";\r
- input {\r
- leaf topology-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- leaf node-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container node {\r
- uses node-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-node-edge-point-details {\r
- description "none";\r
- input {\r
- leaf topology-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- leaf node-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- leaf ep-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container node-edge-point {\r
- uses node-edge-point-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-link-details {\r
- description "none";\r
- input {\r
- leaf topology-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- leaf link-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container link {\r
- uses link-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-topology-list {\r
- description "none";\r
- output {\r
- list topology {\r
- uses topology-g;\r
- description "none";\r
- }\r
- }\r
- }\r
-\r
-}\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
+ }
+ augment "/tapi-common:context" {
+ uses topology-context-g;
+ description "Augments the base TAPI Context with TopologyService information";
+ }
+
+ /*************************
+ * definitions of refrences
+ *************************/
+
+ grouping topology-ref-g {
+ leaf topology-uuid {
+ type leafref {
+ path '/tapi-common:context/tapi-topology:topology/tapi-topology:uuid';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping link-ref-g {
+ uses topology-ref-g;
+ leaf link-uuid {
+ type leafref {
+ path '/tapi-common:context/tapi-topology:topology/tapi-topology:link/tapi-topology:uuid';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping node-ref-g {
+ uses topology-ref-g;
+ leaf node-uuid {
+ type leafref {
+ path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:uuid';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping node-edge-point-ref-g {
+ uses node-ref-g;
+ leaf node-edge-point-uuid {
+ type leafref {
+ path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:owned-node-edge-point/tapi-topology:uuid';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ grouping node-rule-group-ref-g {
+ uses node-ref-g;
+ leaf node-rule-group-uuid {
+ type leafref {
+ path '/tapi-common:context/tapi-topology:topology/tapi-topology:node/tapi-topology:node-rule-group/tapi-topology:uuid';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ /***********************
+ * package object-classes
+ **********************/
+ grouping link-g {
+ list node-edge-point {
+ uses node-edge-point-ref-g;
+ key 'topology-uuid node-uuid node-edge-point-uuid';
+ config false;
+ min-elements 2;
+ description "none";
+ }
+ leaf-list layer-protocol-name {
+ type tapi-common:layer-protocol-name;
+ config false;
+ min-elements 1;
+ description "none";
+ }
+ leaf direction {
+ type tapi-common:forwarding-direction;
+ config false;
+ description "The directionality of the Link.
+ Is applicable to simple Links where all LinkEnds are BIDIRECTIONAL (the Link will be BIDIRECTIONAL) or UNIDIRECTIONAL (the Link will be UNIDIRECTIONAL).
+ Is not present in more complex cases.";
+ }
+ container resilience-type {
+ uses resilience-type-g;
+ description "none";
+ }
+ uses tapi-common:resource-spec-g;
+ uses tapi-common:admin-state-pac-g;
+ uses tapi-common:capacity-pac-g;
+ uses transfer-cost-pac-g;
+ uses transfer-integrity-pac-g;
+ uses transfer-timing-pac-g;
+ uses risk-parameter-pac-g;
+ uses validation-pac-g;
+ uses layer-protocol-transition-pac-g;
+ description "The Link object class models effective adjacency between two or more ForwardingDomains (FD). ";
+ }
+ grouping node-g {
+ list owned-node-edge-point {
+ key 'uuid';
+ config false;
+ uses node-edge-point-g;
+ description "none";
+ }
+ list aggregated-node-edge-point {
+ uses node-edge-point-ref-g;
+ key 'topology-uuid node-uuid node-edge-point-uuid';
+ config false;
+ description "none";
+ }
+ list node-rule-group {
+ key 'uuid';
+ uses node-rule-group-g;
+ description "none";
+ }
+ container encap-topology {
+ uses topology-ref-g;
+ config false;
+ description "none";
+ }
+ leaf-list layer-protocol-name {
+ type tapi-common:layer-protocol-name;
+ config false;
+ min-elements 1;
+ description "none";
+ }
+ uses tapi-common:resource-spec-g;
+ uses tapi-common:admin-state-pac-g;
+ uses tapi-common:capacity-pac-g;
+ uses transfer-cost-pac-g;
+ uses transfer-integrity-pac-g;
+ uses transfer-timing-pac-g;
+ description "The ForwardingDomain (FD) object class models the ForwardingDomain topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding.
+ At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). ";
+ }
+ grouping topology-g {
+ list node {
+ key 'uuid';
+ config false;
+ uses node-g;
+ description "none";
+ }
+ list link {
+ key 'uuid';
+ config false;
+ uses link-g;
+ description "none";
+ }
+ leaf-list layer-protocol-name {
+ type tapi-common:layer-protocol-name;
+ config false;
+ min-elements 1;
+ description "none";
+ }
+ uses tapi-common:resource-spec-g;
+ description "The ForwardingDomain (FD) object class models the ForwardingDomain topological component which is used to effect forwarding of transport characteristic information and offers the potential to enable forwarding.
+ At the lowest level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). Note that an NE can encompass multiple switch matrices (FDs). ";
+ }
+ grouping layer-protocol-transition-pac-g {
+ leaf-list transitioned-layer-protocol-name {
+ type string;
+ min-elements 2;
+ description "Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role.";
+ }
+ description "Relevant for a Link that is formed by abstracting one or more LTPs (in a stack) to focus on the flow and deemphasize the protocol transformation.
+ This abstraction is relevant when considering multi-layer routing.
+ The layer protocols of the LTP and the order of their application to the signal is still relevant and need to be accounted for. This is derived from the LTP spec details.
+ This Pac provides the relevant abstractions of the LTPs and provides the necessary association to the LTPs involved.
+ Links that included details in this Pac are often referred to as Transitional Links.";
+ }
+ grouping node-edge-point-g {
+ leaf layer-protocol-name {
+ type tapi-common:layer-protocol-name;
+ config false;
+ description "none";
+ }
+ leaf-list supported-cep-layer-protocol-qualifier {
+ type tapi-common:layer-protocol-qualifier;
+ min-elements 1;
+ description "none";
+ }
+ list aggregated-node-edge-point {
+ uses node-edge-point-ref-g;
+ key 'topology-uuid node-uuid node-edge-point-uuid';
+ config false;
+ description "none";
+ }
+ list mapped-service-interface-point {
+ uses tapi-common:service-interface-point-ref-g;
+ key 'service-interface-point-uuid';
+ config false;
+ description "NodeEdgePoint mapped to more than ServiceInterfacePoint (slicing/virtualizing) or a ServiceInterfacePoint mapped to more than one NodeEdgePoint (load balancing/Resilience) should be considered experimental";
+ }
+ leaf link-port-direction {
+ type tapi-common:port-direction;
+ config false;
+ description "The orientation of defined flow at the LinkEnd.";
+ }
+ leaf link-port-role {
+ type tapi-common:port-role;
+ config false;
+ description "Each LinkEnd of the Link has a role (e.g., symmetric, hub, spoke, leaf, root) in the context of the Link with respect to the Link function. ";
+ }
+ uses tapi-common:resource-spec-g;
+ uses tapi-common:admin-state-pac-g;
+ uses tapi-common:termination-pac-g;
+ uses tapi-common:capacity-pac-g;
+ description "The LogicalTerminationPoint (LTP) object class encapsulates the termination and adaptation functions of one or more transport layers.
+ The structure of LTP supports all transport protocols including circuit and packet forms.";
+ }
+ grouping risk-parameter-pac-g {
+ list risk-characteristic {
+ key 'risk-characteristic-name';
+ config false;
+ min-elements 1;
+ uses risk-characteristic-g;
+ description "A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration.";
+ }
+ description "The risk characteristics of a TopologicalEntity come directly from the underlying physical realization.
+ The risk characteristics propagate from the physical realization to the client and from the server layer to the client layer, this propagation may be modified by protection.
+ A TopologicalEntity may suffer degradation or failure as a result of a problem in a part of the underlying realization.
+ The realization can be partitioned into segments which have some relevant common failure modes.
+ There is a risk of failure/degradation of each segment of the underlying realization.
+ Each segment is a part of a larger physical/geographical unit that behaves as one with respect to failure (i.e. a failure will have a high probability of impacting the whole unit (e.g. all cables in the same duct).
+ Disruptions to that larger physical/geographical unit will impact (cause failure/errors to) all TopologicalEntities that use any part of that larger physical/geographical entity.
+ Any TopologicalEntity that uses any part of that larger physical/geographical unit will suffer impact and hence each TopologicalEntity shares risk.
+ The identifier of each physical/geographical unit that is involved in the realization of each segment of a Topological entity can be listed in the RiskParameter_Pac of that TopologicalEntity.
+ A segment has one or more risk characteristic.
+ Shared risk between two TopologicalEntities compromises the integrity of any solution that use one of those TopologicalEntity as a backup for the other.
+ Where two TopologicalEntities have a common risk characteristic they have an elevated probability of failing simultaneously compared to two TopologicalEntities that do not share risk characteristics.";
+ }
+ grouping transfer-cost-pac-g {
+ list cost-characteristic {
+ key 'cost-name';
+ config false;
+ min-elements 1;
+ uses cost-characteristic-g;
+ description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";
+ }
+ description "The cost characteristics of a TopologicalEntity not necessarily correlated to the cost of the underlying physical realization.
+ They may be quite specific to the individual TopologicalEntity e.g. opportunity cost. Relates to layer capacity
+ There may be many perspectives from which cost may be considered for a particular TopologicalEntity and hence many specific costs and potentially cost algorithms.
+ Using an entity will incur a cost. ";
+ }
+ grouping transfer-integrity-pac-g {
+ leaf error-characteristic {
+ type string;
+ config false;
+ description "Describes the degree to which the signal propagated can be errored.
+ Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded.";
+ }
+ leaf loss-characteristic {
+ type string;
+ config false;
+ description "Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow.
+ Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips).";
+ }
+ leaf repeat-delivery-characteristic {
+ type string;
+ config false;
+ description "Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example).
+ It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay.";
+ }
+ leaf delivery-order-characteristic {
+ type string;
+ config false;
+ description "Describes the degree to which packets will be delivered out of sequence.
+ Does not apply to TDM as the TDM protocols maintain strict order.";
+ }
+ leaf unavailable-time-characteristic {
+ type string;
+ config false;
+ description "Describes the duration for which there may be no valid signal propagated.";
+ }
+ leaf server-integrity-process-characteristic {
+ type string;
+ config false;
+ description "Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity.";
+ }
+ description "Transfer intergrity characteristic covers expected/specified/acceptable characteristic of degradation of the transfered signal.
+ It includes all aspects of possible degradation of signal content as well as any damage of any form to the total TopologicalEntity and to the carried signals.
+ Note that the statement is of total impact to the TopologicalEntity so any partial usage of the TopologicalEntity (e.g. a signal that does not use full capacity) will only suffer its portion of the impact.";
+ }
+ grouping transfer-timing-pac-g {
+ list latency-characteristic {
+ key 'traffic-property-name';
+ config false;
+ min-elements 1;
+ uses latency-characteristic-g;
+ description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";
+ }
+ description "A TopologicalEntity will suffer effects from the underlying physical realization related to the timing of the information passed by the TopologicalEntity.";
+ }
+ grouping validation-pac-g {
+ list validation-mechanism {
+ key 'validation-mechanism';
+ config false;
+ min-elements 1;
+ uses validation-mechanism-g;
+ description "Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity.";
+ }
+ description "Validation covers the various adjacenct discovery and reachability verification protocols. Also may cover Information source and degree of integrity.";
+ }
+ grouping network-topology-service-g {
+ list topology {
+ uses topology-ref-g;
+ key 'topology-uuid';
+ config false;
+ description "none";
+ }
+ uses tapi-common:service-spec-g;
+ description "none";
+ }
+ grouping topology-context-g {
+ container nw-topology-service {
+ config false;
+ uses network-topology-service-g;
+ description "none";
+ }
+ list topology {
+ key 'uuid';
+ config false;
+ uses topology-g;
+ description "none";
+ }
+ description "none";
+ }
+ grouping inter-rule-group-g {
+ list rule {
+ key 'local-id';
+ min-elements 1;
+ uses rule-g;
+ description "none";
+ }
+ list associated-node-rule-group {
+ uses node-rule-group-ref-g;
+ key 'topology-uuid node-uuid node-rule-group-uuid';
+ min-elements 2;
+ description "none";
+ }
+ uses tapi-common:resource-spec-g;
+ uses tapi-common:capacity-pac-g;
+ uses transfer-cost-pac-g;
+ uses transfer-timing-pac-g;
+ uses risk-parameter-pac-g;
+ description "none";
+ }
+ grouping node-rule-group-g {
+ list rule {
+ key 'local-id';
+ min-elements 1;
+ uses rule-g;
+ description "none";
+ }
+ list node-edge-point {
+ uses node-edge-point-ref-g;
+ key 'topology-uuid node-uuid node-edge-point-uuid';
+ min-elements 1;
+ description "none";
+ }
+ list composed-rule-group {
+ uses node-rule-group-ref-g;
+ key 'topology-uuid node-uuid node-rule-group-uuid';
+ description "none";
+ }
+ list inter-rule-group {
+ key 'uuid';
+ uses inter-rule-group-g;
+ description "none";
+ }
+ uses tapi-common:resource-spec-g;
+ uses tapi-common:capacity-pac-g;
+ uses transfer-cost-pac-g;
+ uses transfer-timing-pac-g;
+ uses risk-parameter-pac-g;
+ description "none";
+ }
+ grouping rule-g {
+ leaf rule-type {
+ type rule-type;
+ description "none";
+ }
+ leaf forwarding-rule {
+ type forwarding-rule;
+ description "none";
+ }
+ leaf override-priority {
+ type uint64;
+ description "none";
+ }
+ uses tapi-common:local-class-g;
+ description "none";
+ }
+
+ /***********************
+ * package type-definitions
+ **********************/
+ grouping cost-characteristic-g {
+ leaf cost-name {
+ type string;
+ description "The cost characteristic will related to some aspect of the TopologicalEntity (e.g. $ cost, routing weight). This aspect will be conveyed by the costName.";
+ }
+ leaf cost-value {
+ type string;
+ description "The specific cost.";
+ }
+ leaf cost-algorithm {
+ type string;
+ description "The cost may vary based upon some properties of the TopologicalEntity. The rules for the variation are conveyed by the costAlgorithm.";
+ }
+ description "The information for a particular cost characteristic.";
+ }
+ grouping latency-characteristic-g {
+ leaf traffic-property-name {
+ type string;
+ description "The identifier of the specific traffic property to which the queuing latency applies.";
+ }
+ leaf fixed-latency-characteristic {
+ type string;
+ config false;
+ description "A TopologicalEntity suffers delay caused by the realization of the servers (e.g. distance related; FEC encoding etc.) along with some client specific processing. This is the total average latency effect of the TopologicalEntity";
+ }
+ leaf queing-latency-characteristic {
+ type string;
+ description "The specific queuing latency for the traffic property.";
+ }
+ leaf jitter-characteristic {
+ type string;
+ config false;
+ description "High frequency deviation from true periodicity of a signal and therefore a small high rate of change of transfer latency.
+ Applies to TDM systems (and not packet).";
+ }
+ leaf wander-characteristic {
+ type string;
+ config false;
+ description "Low frequency deviation from true periodicity of a signal and therefore a small low rate of change of transfer latency.
+ Applies to TDM systems (and not packet).";
+ }
+ description "Provides information on latency characteristic for a particular stated trafficProperty.";
+ }
+ grouping risk-characteristic-g {
+ leaf risk-characteristic-name {
+ type string;
+ description "The name of the risk characteristic. The characteristic may be related to a specific degree of closeness.
+ For example a particular characteristic may apply to failures that are localized (e.g. to one side of a road) where as another characteristic may relate to failures that have a broader impact (e.g. both sides of a road that crosses a bridge).
+ Depending upon the importance of the traffic being routed different risk characteristics will be evaluated.";
+ }
+ leaf-list risk-identifier-list {
+ type string;
+ min-elements 1;
+ description "A list of the identifiers of each physical/geographic unit (with the specific risk characteristic) that is related to a segment of the TopologicalEntity.";
+ }
+ description "The information for a particular risk characteristic where there is a list of risk identifiers related to that characteristic.";
+ }
+ grouping validation-mechanism-g {
+ leaf validation-mechanism {
+ type string;
+ description "Name of mechanism used to validate adjacency";
+ }
+ leaf layer-protocol-adjacency-validated {
+ type string;
+ description "State of validatiion";
+ }
+ leaf validation-robustness {
+ type string;
+ description "Quality of validation (i.e. how likely is the stated validation to be invalid)";
+ }
+ description "Identifies the validation mechanism and describes the characteristics of that mechanism";
+ }
+ typedef forwarding-rule {
+ type enumeration {
+ enum MAY_FORWARD_ACROSS_GROUP {
+ description "none";
+ }
+ enum MUST_FORWARD_ACROSS_GROUP {
+ description "none";
+ }
+ enum CANNOT_FORWARD_ACROSS_GROUP {
+ description "none";
+ }
+ enum NO_STATEMENT_ON_FORWARDING {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef rule-type {
+ type enumeration {
+ enum FORWARDING {
+ description "none";
+ }
+ enum CAPACITY {
+ description "none";
+ }
+ enum COST {
+ description "none";
+ }
+ enum TIMING {
+ description "none";
+ }
+ enum RISK {
+ description "none";
+ }
+ enum GROUPING {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ grouping resilience-type-g {
+ leaf restoration-policy {
+ type restoration-policy;
+ description "none";
+ }
+ leaf protection-type {
+ type protection-type;
+ description "none";
+ }
+ description "none";
+ }
+ typedef restoration-policy {
+ type enumeration {
+ enum PER_DOMAIN_RESTORATION {
+ description "none";
+ }
+ enum END_TO_END_RESTORATION {
+ description "none";
+ }
+ enum NA {
+ description "none";
+ }
+ }
+ description "none";
+ }
+ typedef protection-type {
+ type enumeration {
+ enum NO_PROTECTON {
+ description "none";
+ }
+ enum ONE_PLUS_ONE_PROTECTION {
+ description "none";
+ }
+ enum ONE_PLUS_ONE_PROTECTION_WITH_DYNAMIC_RESTORATION {
+ description "none";
+ }
+ enum PERMANENT_ONE_PLUS_ONE_PROTECTION {
+ description "none";
+ }
+ enum ONE_FOR_ONE_PROTECTION {
+ description "none";
+ }
+ enum DYNAMIC_RESTORATION {
+ description "none";
+ }
+ enum PRE_COMPUTED_RESTORATION {
+ description "none";
+ }
+ }
+ description "none";
+ }
+
+ /***********************
+ * package interfaces
+ **********************/
+ rpc get-topology-details {
+ description "none";
+ input {
+ leaf topology-id-or-name {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container topology {
+ uses topology-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-node-details {
+ description "none";
+ input {
+ leaf topology-id-or-name {
+ type string;
+ description "none";
+ }
+ leaf node-id-or-name {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container node {
+ uses node-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-node-edge-point-details {
+ description "none";
+ input {
+ leaf topology-id-or-name {
+ type string;
+ description "none";
+ }
+ leaf node-id-or-name {
+ type string;
+ description "none";
+ }
+ leaf ep-id-or-name {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container node-edge-point {
+ uses node-edge-point-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-link-details {
+ description "none";
+ input {
+ leaf topology-id-or-name {
+ type string;
+ description "none";
+ }
+ leaf link-id-or-name {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container link {
+ uses link-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-topology-list {
+ description "none";
+ output {
+ list topology {
+ uses topology-g;
+ description "none";
+ }
+ }
+ }
+
+}
-module tapi-virtual-network {\r
- namespace "urn:onf:otcc:yang:tapi-virtual-network";\r
- prefix tapi-virtual-network;\r
- import tapi-topology {\r
- prefix tapi-topology;\r
- }\r
- import tapi-common {\r
- prefix tapi-common;\r
- }\r
- organization "ONF OTCC (Open Transport Configuration & Control) Project";\r
+module tapi-virtual-network {
+ namespace "urn:onf:otcc:yang:tapi-virtual-network";
+ prefix tapi-virtual-network;
+ import tapi-topology {
+ prefix tapi-topology;
+ }
+ import tapi-common {
+ prefix tapi-common;
+ }
+ organization "ONF OTCC (Open Transport Configuration & Control) Project";
contact "
Project Web: <https://wiki.opennetworking.org/display/OTCC/TAPI>
Project List: <mailto:transport-api@opennetworking.org>
Editor: Karthik Sethuraman
- <mailto:karthik.sethuraman@necam.com>";\r
- description "\r
- This module contains TAPI Virtual Network Model definitions.\r
- Source: TapiVirtualNetwork.uml\r
- Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.\r
- License: This module is distributed under the Apache License 2.0";\r
- revision 2018-08-31 {\r
+ <mailto:karthik.sethuraman@necam.com>";
+ description "
+ This module contains TAPI Virtual Network Model definitions.
+ Source: TapiVirtualNetwork.uml
+ Copyright (c) 2018 Open Networking Foundation (ONF). All rights reserved.
+ License: This module is distributed under the Apache License 2.0";
+ revision 2018-08-31 {
description "ONF Transport API version 2.1.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.1.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";\r
- }\r
- revision 2018-03-07 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.1.0/UML>";
+ }
+ revision 2018-03-07 {
description "ONF Transport API version 2.0.2
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.2.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";\r
- }\r
- revision 2018-02-16 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.2/UML>";
+ }
+ revision 2018-02-16 {
description "ONF Transport API version 2.0.1
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.1.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";\r
- }\r
- revision 2018-01-02 {\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.1/UML>";
+ }
+ revision 2018-01-02 {
description "ONF Transport API version 2.0.0
This YANG module has been generated from the TAPI UML Model using the IISOMI-Eagle xmi2yang mapping tool.
- Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";\r
+ Changes in this revision: <https://github.com/OpenNetworkingFoundation/TAPI/blob/develop/CHANGE_LOG/change-log.2.0.0.md>";
reference "ONF-TR-527, ONF-TR-512, ONF-TR-531, RFC 6020, RFC 6087 and ONF TAPI UML model
- <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";\r
- }\r
- augment "/tapi-common:context" {\r
- uses virtual-network-context-g;\r
- description "Augments the base TAPI Context with VirtualNetworkService information";\r
- }\r
- /*************************\r
- * definitions of refrences\r
- *************************/\r
- grouping virtual-nw-service-ref-g {\r
- leaf virtual-nw-service-uuid {\r
- type leafref {\r
- path '/tapi-common:context/tapi-virtual-network:virtual-nw-service/tapi-virtual-network:uuid';\r
- }\r
- description "none";\r
- }\r
- description "none";\r
- }\r
- \r
- /***********************\r
- * package object-classes\r
- **********************/ \r
- grouping virtual-network-constraint-g {\r
- container src-service-end-point {\r
- uses tapi-common:service-interface-point-ref-g;\r
- config false;\r
- description "none";\r
- }\r
- container sink-service-end-point {\r
- uses tapi-common:service-interface-point-ref-g;\r
- config false;\r
- description "none";\r
- }\r
- list diversity-exclusion {\r
- uses virtual-nw-service-ref-g;\r
- key 'virtual-nw-service-uuid';\r
- config false;\r
- description "none";\r
- }\r
- container requested-capacity {\r
- uses tapi-common:capacity-g;\r
- description "none";\r
- }\r
- leaf service-level {\r
- type string;\r
- description "An abstract value the meaning of which is mutually agreed – typically represents metrics such as - Class of service, priority, resiliency, availability";\r
- }\r
- leaf-list service-layer {\r
- type tapi-common:layer-protocol-name;\r
- description "none";\r
- }\r
- list cost-characteristic {\r
- key 'cost-name';\r
- uses tapi-topology:cost-characteristic-g;\r
- description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";\r
- }\r
- list latency-characteristic {\r
- key 'traffic-property-name';\r
- uses tapi-topology:latency-characteristic-g;\r
- description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";\r
- }\r
- uses tapi-common:local-class-g;\r
- description "none";\r
- }\r
- grouping virtual-network-service-g {\r
- container topology {\r
- uses tapi-topology:topology-ref-g;\r
- config false;\r
- description "none";\r
- }\r
- list end-point {\r
- key 'local-id';\r
- min-elements 2;\r
- uses virtual-network-service-end-point-g;\r
- description "none";\r
- }\r
- list vnw-constraint {\r
- key 'local-id';\r
- min-elements 1;\r
- uses virtual-network-constraint-g;\r
- description "none";\r
- }\r
- leaf schedule {\r
- type string;\r
- description "none";\r
- }\r
- container state {\r
- uses tapi-common:admin-state-pac-g;\r
- description "none";\r
- }\r
- leaf-list layer-protocol-name {\r
- type tapi-common:layer-protocol-name;\r
- min-elements 1;\r
- description "none";\r
- }\r
- uses tapi-common:service-spec-g;\r
- description "The ForwardingConstruct (FC) object class models enabled potential for forwarding between two or more LTPs and like the LTP supports any transport protocol including all circuit and packet forms.\r
- At the lowest level of recursion, a FC represents a cross-connection within an NE.";\r
- }\r
- grouping virtual-network-service-end-point-g {\r
- container service-interface-point {\r
- uses tapi-common:service-interface-point-ref-g;\r
- config false;\r
- description "none";\r
- }\r
- leaf role {\r
- type tapi-common:port-role;\r
- config false;\r
- description "Each EP of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root) in the context of the FC with respect to the FC function. ";\r
- }\r
- leaf direction {\r
- type tapi-common:port-direction;\r
- config false;\r
- description "The orientation of defined flow at the EndPoint.";\r
- }\r
- leaf service-layer {\r
- type tapi-common:layer-protocol-name;\r
- config false;\r
- description "none";\r
- }\r
- uses tapi-common:local-class-g;\r
- description "The association of the FC to LTPs is made via EndPoints.\r
- The EndPoint (EP) object class models the access to the FC function. \r
- The traffic forwarding between the associated EPs of the FC depends upon the type of FC and may be associated with FcSwitch object instances. \r
- In cases where there is resilience the EndPoint may convey the resilience role of the access to the FC. \r
- It can represent a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.\r
- The EP replaces the Protection Unit of a traditional protection model. \r
- The ForwadingConstruct can be considered as a component and the EndPoint as a Port on that component";\r
- }\r
- grouping virtual-network-context-g {\r
- list virtual-nw-service {\r
- key 'uuid';\r
- uses virtual-network-service-g;\r
- description "none";\r
- }\r
- description "none";\r
- }\r
-\r
- /***********************\r
- * package interfaces\r
- **********************/ \r
- rpc create-virtual-network-service {\r
- description "none";\r
- input {\r
- list sep {\r
- min-elements 2;\r
- uses virtual-network-service-end-point-g;\r
- description "none";\r
- }\r
- container vnw-constraint {\r
- uses virtual-network-constraint-g;\r
- description "none";\r
- }\r
- leaf conn-schedule {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container service {\r
- uses virtual-network-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc delete-virtual-network-service {\r
- description "none";\r
- input {\r
- leaf service-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container service {\r
- uses virtual-network-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-virtual-network-service-details {\r
- description "none";\r
- input {\r
- leaf service-id-or-name {\r
- type string;\r
- description "none";\r
- }\r
- }\r
- output {\r
- container service {\r
- uses virtual-network-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
- rpc get-virtual-network-service-list {\r
- description "none";\r
- output {\r
- list service {\r
- uses virtual-network-service-g;\r
- description "none";\r
- }\r
- }\r
- }\r
-\r
-}\r
+ <https://github.com/OpenNetworkingFoundation/TAPI/tree/v2.0.0/UML>";
+ }
+ augment "/tapi-common:context" {
+ uses virtual-network-context-g;
+ description "Augments the base TAPI Context with VirtualNetworkService information";
+ }
+ /*************************
+ * definitions of refrences
+ *************************/
+ grouping virtual-nw-service-ref-g {
+ leaf virtual-nw-service-uuid {
+ type leafref {
+ path '/tapi-common:context/tapi-virtual-network:virtual-nw-service/tapi-virtual-network:uuid';
+ }
+ description "none";
+ }
+ description "none";
+ }
+
+ /***********************
+ * package object-classes
+ **********************/
+ grouping virtual-network-constraint-g {
+ container src-service-end-point {
+ uses tapi-common:service-interface-point-ref-g;
+ config false;
+ description "none";
+ }
+ container sink-service-end-point {
+ uses tapi-common:service-interface-point-ref-g;
+ config false;
+ description "none";
+ }
+ list diversity-exclusion {
+ uses virtual-nw-service-ref-g;
+ key 'virtual-nw-service-uuid';
+ config false;
+ description "none";
+ }
+ container requested-capacity {
+ uses tapi-common:capacity-g;
+ description "none";
+ }
+ leaf service-level {
+ type string;
+ description "An abstract value the meaning of which is mutually agreed – typically represents metrics such as - Class of service, priority, resiliency, availability";
+ }
+ leaf-list service-layer {
+ type tapi-common:layer-protocol-name;
+ description "none";
+ }
+ list cost-characteristic {
+ key 'cost-name';
+ uses tapi-topology:cost-characteristic-g;
+ description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";
+ }
+ list latency-characteristic {
+ key 'traffic-property-name';
+ uses tapi-topology:latency-characteristic-g;
+ description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";
+ }
+ uses tapi-common:local-class-g;
+ description "none";
+ }
+ grouping virtual-network-service-g {
+ container topology {
+ uses tapi-topology:topology-ref-g;
+ config false;
+ description "none";
+ }
+ list end-point {
+ key 'local-id';
+ min-elements 2;
+ uses virtual-network-service-end-point-g;
+ description "none";
+ }
+ list vnw-constraint {
+ key 'local-id';
+ min-elements 1;
+ uses virtual-network-constraint-g;
+ description "none";
+ }
+ leaf schedule {
+ type string;
+ description "none";
+ }
+ container state {
+ uses tapi-common:admin-state-pac-g;
+ description "none";
+ }
+ leaf-list layer-protocol-name {
+ type tapi-common:layer-protocol-name;
+ min-elements 1;
+ description "none";
+ }
+ uses tapi-common:service-spec-g;
+ description "The ForwardingConstruct (FC) object class models enabled potential for forwarding between two or more LTPs and like the LTP supports any transport protocol including all circuit and packet forms.
+ At the lowest level of recursion, a FC represents a cross-connection within an NE.";
+ }
+ grouping virtual-network-service-end-point-g {
+ container service-interface-point {
+ uses tapi-common:service-interface-point-ref-g;
+ config false;
+ description "none";
+ }
+ leaf role {
+ type tapi-common:port-role;
+ config false;
+ description "Each EP of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root) in the context of the FC with respect to the FC function. ";
+ }
+ leaf direction {
+ type tapi-common:port-direction;
+ config false;
+ description "The orientation of defined flow at the EndPoint.";
+ }
+ leaf service-layer {
+ type tapi-common:layer-protocol-name;
+ config false;
+ description "none";
+ }
+ uses tapi-common:local-class-g;
+ description "The association of the FC to LTPs is made via EndPoints.
+ The EndPoint (EP) object class models the access to the FC function.
+ The traffic forwarding between the associated EPs of the FC depends upon the type of FC and may be associated with FcSwitch object instances.
+ In cases where there is resilience the EndPoint may convey the resilience role of the access to the FC.
+ It can represent a protected (resilient/reliable) point or a protecting (unreliable working or protection) point.
+ The EP replaces the Protection Unit of a traditional protection model.
+ The ForwadingConstruct can be considered as a component and the EndPoint as a Port on that component";
+ }
+ grouping virtual-network-context-g {
+ list virtual-nw-service {
+ key 'uuid';
+ uses virtual-network-service-g;
+ description "none";
+ }
+ description "none";
+ }
+
+ /***********************
+ * package interfaces
+ **********************/
+ rpc create-virtual-network-service {
+ description "none";
+ input {
+ list sep {
+ min-elements 2;
+ uses virtual-network-service-end-point-g;
+ description "none";
+ }
+ container vnw-constraint {
+ uses virtual-network-constraint-g;
+ description "none";
+ }
+ leaf conn-schedule {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container service {
+ uses virtual-network-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc delete-virtual-network-service {
+ description "none";
+ input {
+ leaf service-id-or-name {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container service {
+ uses virtual-network-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-virtual-network-service-details {
+ description "none";
+ input {
+ leaf service-id-or-name {
+ type string;
+ description "none";
+ }
+ }
+ output {
+ container service {
+ uses virtual-network-service-g;
+ description "none";
+ }
+ }
+ }
+ rpc get-virtual-network-service-list {
+ description "none";
+ output {
+ list service {
+ uses virtual-network-service-g;
+ description "none";
+ }
+ }
+ }
+
+}
+ "VES_COLLECTOR_PORT=8080\n" + "VES_COLLECTOR_TLS_ENABLED=true\n" + "VES_COLLECTOR_USERNAME=sample1\n"
+ "VES_COLLECTOR_PASSWORD=sample1\n" + "VES_COLLECTOR_VERSION=v7\n" + "REPORTING_ENTITY_NAME=ONAP SDN-R\n" + "";
- private static final VESMessage message = new VESMessage("Test Message");
+ private static final VESMessage message = new VESMessage();
private static final String CONFIG_FILE = "test.properties";
private static final String CONFIG_FILE2 = "test2.properties";
-###\r
-\r
-# ============LICENSE_START=======================================================\r
-\r
-# openECOMP : SDN-C\r
-\r
-# ================================================================================\r
-\r
-# Copyright (C) 2017 AT&T Intellectual Property. All rights\r
-\r
-# reserved.\r
-\r
-# ================================================================================\r
-\r
-# Licensed under the Apache License, Version 2.0 (the "License");\r
-\r
-# you may not use this file except in compliance with the License.\r
-\r
-# You may obtain a copy of the License at\r
-\r
-#\r
-\r
-# http://www.apache.org/licenses/LICENSE-2.0\r
-\r
-#\r
-\r
-# Unless required by applicable law or agreed to in writing, software\r
-\r
-# distributed under the License is distributed on an "AS IS" BASIS,\r
-\r
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
-\r
-# See the License for the specific language governing permissions and\r
-\r
-# limitations under the License.\r
-\r
-# ============LICENSE_END=========================================================\r
-\r
-###\r
-\r
- \r
-\r
-#\r
-\r
-# Configuration file for A&AI Client\r
-\r
-#\r
-\r
- \r
-\r
-#\r
-\r
-# Certificate keystore and truststore\r
-\r
-#\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.ssl.trust=/opt/logs/externals/data/stores/truststore.client.jks\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd=adminadmin\r
-\r
- \r
-\r
-org.onap.ccsdk.sli.adaptors.aai.ssl.key=/opt/logs/externals/data/stores/keystore.client.p12\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.ssl.key.psswd=adminadmin\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.host.certificate.ignore=true\r
-\r
- \r
-\r
-org.onap.ccsdk.sli.adaptors.aai.application=SDNC\r
-\r
- \r
-\r
-#org.onap.ccsdk.sli.adaptors.aai.uri=https://aai-int1.test.att.com:8443\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.uri=https://aai-pwt3.ecomp.cci.att.com:8443\r
-\r
- \r
-\r
-connection.timeout=60000\r
-\r
-read.timeout=60000\r
-\r
- \r
-\r
-# query\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.path.query=/aai/v13/search/sdn-zone-query\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.query.nodes=/aai/v13/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name}\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.query.generic=/aai/v13/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3\r
-\r
- \r
-\r
-# named query\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.query.named=/aai/search/named-query\r
-\r
- \r
-\r
-#update\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.update=/aai/v13/actions/update\r
-\r
- \r
-\r
-# UBB Notify\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v13/actions/notify\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id}\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information\r
-\r
- \r
-\r
-# P-Interfaces\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterfaces=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterface=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}\r
-\r
- \r
-\r
-# VNF IMAGES\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.path.vnf.images=/aai/v13/service-design-and-creation/vnf-images\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.path.vnf.image=/aai/v13/service-design-and-creation/vnf-images/vnf-image/{att-uuid}\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v13/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor}\r
-\r
- \r
-\r
-# service instance\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.path.svcinst.query=/aai/v13/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.path.service.instance=/aai/v13/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}\r
-\r
- \r
-\r
-# VNF IMAGES QUERY\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v13/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor}\r
-\r
- \r
-\r
-#\r
-\r
-# Formatting\r
-\r
-#\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.param.format=filter=%s:%s\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.param.vnf_type=vnf-type\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.param.physical.location.id=physical-location-id\r
-\r
-org.onap.ccsdk.sli.adaptors.aai.param.service.type=service-type\r
-\r
+###
+
+# ============LICENSE_START=======================================================
+
+# openECOMP : SDN-C
+
+# ================================================================================
+
+# Copyright (C) 2017 AT&T Intellectual Property. All rights
+
+# reserved.
+
+# ================================================================================
+
+# Licensed under the Apache License, Version 2.0 (the "License");
+
+# you may not use this file except in compliance with the License.
+
+# You may obtain a copy of the License at
+
+#
+
+# http://www.apache.org/licenses/LICENSE-2.0
+
+#
+
+# Unless required by applicable law or agreed to in writing, software
+
+# distributed under the License is distributed on an "AS IS" BASIS,
+
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+
+# See the License for the specific language governing permissions and
+
+# limitations under the License.
+
+# ============LICENSE_END=========================================================
+
+###
+
+
+
+#
+
+# Configuration file for A&AI Client
+
+#
+
+
+
+#
+
+# Certificate keystore and truststore
+
+#
+
+org.onap.ccsdk.sli.adaptors.aai.ssl.trust=/opt/logs/externals/data/stores/truststore.client.jks
+
+org.onap.ccsdk.sli.adaptors.aai.ssl.trust.psswd=adminadmin
+
+
+
+org.onap.ccsdk.sli.adaptors.aai.ssl.key=/opt/logs/externals/data/stores/keystore.client.p12
+
+org.onap.ccsdk.sli.adaptors.aai.ssl.key.psswd=adminadmin
+
+org.onap.ccsdk.sli.adaptors.aai.host.certificate.ignore=true
+
+
+
+org.onap.ccsdk.sli.adaptors.aai.application=SDNC
+
+
+
+#org.onap.ccsdk.sli.adaptors.aai.uri=https://aai-int1.test.att.com:8443
+
+org.onap.ccsdk.sli.adaptors.aai.uri=https://aai-pwt3.ecomp.cci.att.com:8443
+
+
+
+connection.timeout=60000
+
+read.timeout=60000
+
+
+
+# query
+
+org.onap.ccsdk.sli.adaptors.aai.path.query=/aai/v13/search/sdn-zone-query
+
+org.onap.ccsdk.sli.adaptors.aai.query.nodes=/aai/v13/search/nodes-query?search-node-type={node-type}&filter={entity-identifier}:EQUALS:{entity-name}
+
+org.onap.ccsdk.sli.adaptors.aai.query.generic=/aai/v13/search/generic-query?key={identifier}:{value}&start-node-type={start-node-type}&include=complex&depth=3
+
+
+
+# named query
+
+org.onap.ccsdk.sli.adaptors.aai.query.named=/aai/search/named-query
+
+
+
+#update
+
+org.onap.ccsdk.sli.adaptors.aai.update=/aai/v13/actions/update
+
+
+
+# UBB Notify
+
+org.onap.ccsdk.sli.adaptors.aai.path.notify=/aai/v13/actions/notify
+
+org.onap.ccsdk.sli.adaptors.aai.notify.selflink.fqdn=/restconf/config/L3SDN-API:services/layer3-service-list/{service-instance-id}
+
+org.onap.ccsdk.sli.adaptors.aai.notify.selflink.avpn=/restconf/config/L3AVPN-EVC-API:services/service-list/{service-instance-id}/service-data/avpn-logicalchannel-information
+
+
+
+# P-Interfaces
+
+org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterfaces=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces
+
+org.onap.ccsdk.sli.adaptors.aai.path.pserver.pinterface=/aai/v13/cloud-infrastructure/pservers/pserver/{hostname}/p-interfaces/p-interface/{interface-name}
+
+
+
+# VNF IMAGES
+
+org.onap.ccsdk.sli.adaptors.aai.path.vnf.images=/aai/v13/service-design-and-creation/vnf-images
+
+org.onap.ccsdk.sli.adaptors.aai.path.vnf.image=/aai/v13/service-design-and-creation/vnf-images/vnf-image/{att-uuid}
+
+org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v13/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor}
+
+
+
+# service instance
+
+org.onap.ccsdk.sli.adaptors.aai.path.svcinst.query=/aai/v13/search/generic-query?key=service-instance.service-instance-id:{svc-instance-id}&start-node-type=service-instance&include=service-instance
+
+org.onap.ccsdk.sli.adaptors.aai.path.service.instance=/aai/v13/business/customers/customer/{global-customer-id}/service-subscriptions/service-subscription/{service-type}/service-instances/service-instance/{service-instance-id}
+
+
+
+# VNF IMAGES QUERY
+
+org.onap.ccsdk.sli.adaptors.aai.path.vnf.image.query=/aai/v13/service-design-and-creation/vnf-images/vnf-image?application={application_model}&application-vendor={application_vendor}
+
+
+
+#
+
+# Formatting
+
+#
+
+org.onap.ccsdk.sli.adaptors.aai.param.format=filter=%s:%s
+
+org.onap.ccsdk.sli.adaptors.aai.param.vnf_type=vnf-type
+
+org.onap.ccsdk.sli.adaptors.aai.param.physical.location.id=physical-location-id
+
+org.onap.ccsdk.sli.adaptors.aai.param.service.type=service-type
+
\ No newline at end of file
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-devicemanager-o-ran-sc-oran-feature</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-devicemanager-o-ran-sc-oran-installer</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-devicemanager-o-ran-sc-oran-model</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-devicemanager-o-ran-sc-oran-top</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-devicemanager-o-ran-sc-oran-provider</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.NotificationService;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESPNFRegistrationFieldsPOJO;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
// If the device supports subtended configuration then it is assumed that the
// Chassis containing the management interface will be the root component and
// there will be only one root.
- VESCommonEventHeaderPOJO header = mapper.mapCommonEventHeader(component);
- VESPNFRegistrationFieldsPOJO body = mapper.mapPNFRegistrationFields(component);
+ var header = mapper.mapCommonEventHeader(component);
+ var body = mapper.mapPNFRegistrationFields(component);
try {
vesCollectorService.publishVESMessage(vesCollectorService.generateVESEvent(header, body));
} catch (JsonProcessingException e) {
import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.types.NetconfTimeStampImpl;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.util.ORanDeviceManagerQNames;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESNotificationFieldsPOJO;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
import org.opendaylight.mdsal.dom.api.DOMEvent;
import org.opendaylight.mdsal.dom.api.DOMNotification;
if (mapper == null) {
this.mapper = new ORanDOMNotifToVESEventAssembly(netconfDomAccessor, vesCollectorService);
}
- VESCommonEventHeaderPOJO header =
+ var header =
mapper.createVESCommonEventHeader(domNotificationXPath.getTime(domNotification),
ORanDeviceManagerQNames.IETF_NETCONF_NOTIFICATIONS_NETCONF_CONFIG_CHANGE.getLocalName(),
sequenceNo);
- VESNotificationFieldsPOJO body =
+ var body =
mapper.createVESNotificationFields(domNotificationXPath.convertDomNotifToXPath(domNotification),
ORanDeviceManagerQNames.IETF_NETCONF_NOTIFICATIONS_NETCONF_CONFIG_CHANGE.getLocalName());
log.debug("domNotification in XPath format = {}",
package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.notification;
import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import java.time.Instant;
import java.time.format.DateTimeParseException;
import java.util.Collection;
import java.util.Objects;
import org.eclipse.jdt.annotation.NonNull;
-import org.json.JSONException;
-import org.json.JSONObject;
import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.dataprovider.ORanDOMToInternalDataModel;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.util.ORanDMDOMUtility;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.yangspecs.ORANFM;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.FaultService;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESFaultFieldsPOJO;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESMessage;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
import org.onap.ccsdk.features.sdnr.wt.websocketmanager.model.WebsocketManagerService;
private final @NonNull WebsocketManagerService websocketManagerService;
private final @NonNull DataProvider databaseService;
private final @NonNull ORANFM oranfm;
-
+ private final ObjectMapper objectMapper;
private Integer counter; //Local counter is assigned to Events in EventLog
public ORanDOMFaultNotificationListener(@NonNull NetconfDomAccessor netconfDomAccessor, ORANFM oranfm,
this.oranfm = oranfm;
this.mapper = new ORanDOMFaultToVESFaultMapper(netconfDomAccessor.getNodeId(), this.vesCollectorService,
this.oranfm, "AlarmNotif");
+ this.objectMapper = new ObjectMapper();
this.counter = 0;
}
try {
if (vesCollectorService.getConfig().isVESCollectorEnabled()) {
- VESCommonEventHeaderPOJO header = mapper.mapCommonEventHeader(notification, eventTimeInstant);
- VESFaultFieldsPOJO body = mapper.mapFaultFields(notification);
+ var header = mapper.mapCommonEventHeader(notification, eventTimeInstant);
+ var body = mapper.mapFaultFields(notification);
VESMessage vesMsg = vesCollectorService.generateVESEvent(header, body);
vesCollectorService.publishVESMessage(vesMsg);
- LOG.debug("VES Message is {}", vesMsg.getMessage());
- writeToEventLog(vesMsg.getMessage(), eventTimeInstant, oranfm.getAlarmNotifQName().getLocalName(),
+ LOG.debug("VES Message is {}", vesMsg);
+ writeToEventLog(vesMsg, eventTimeInstant, oranfm.getAlarmNotifQName().getLocalName(),
counter);
}
} catch (JsonProcessingException | DateTimeParseException e) {
}
}
- private void writeToEventLog(String data, Instant eventTimeInstant, String notificationName, int sequenceNo) {
+ private void writeToEventLog(VESMessage data, Instant eventTimeInstant, String notificationName, int sequenceNo) {
EventlogBuilder eventlogBuilder = new EventlogBuilder();
eventlogBuilder.setObjectId("Device");
eventlogBuilder.setAttributeName(notificationName);
eventlogBuilder.setNodeId(netconfDomAccessor.getNodeId().getValue());
String eventLogMsgLvl = vesCollectorService.getConfig().getEventLogMsgDetail();
+ String newValue;
if (eventLogMsgLvl.equalsIgnoreCase("SHORT")) {
- data = getShortEventLogMessage(data);
+ newValue = getShortEventLogMessage(data);
} else if (eventLogMsgLvl.equalsIgnoreCase("MEDIUM")) {
- data = getMediumEventLogMessage(data);
+ newValue = getMediumEventLogMessage(data);
} else if (eventLogMsgLvl.equalsIgnoreCase("LONG")) {
- // do nothing, data already contains long message
+ newValue = getLongEventLogMessage(data);
} else { // Unknown value, default to "SHORT"
- data = getShortEventLogMessage(data);
+ newValue = getShortEventLogMessage(data);
}
- eventlogBuilder.setNewValue(data);
+ eventlogBuilder.setNewValue(newValue);
eventlogBuilder.setSourceType(SourceType.Netconf);
eventlogBuilder.setTimestamp(ORanDMDOMUtility.getDateAndTimeOfInstant(eventTimeInstant));
databaseService.writeEventLog(eventlogBuilder.build());
}
- private String getShortEventLogMessage(String data) {
+ private String getShortEventLogMessage(VESMessage data) {
+ String domain = data.getEvent().getCommonEventHeader().getDomain().value();
+ String eventId = data.getEvent().getCommonEventHeader().getEventId();
+ return "domain:" + domain + " eventId:" + eventId;
+
+ }
+ private String getMediumEventLogMessage(VESMessage data) {
try {
- JSONObject jsonObj = new JSONObject(data);
- String domain = jsonObj.getJSONObject("event").getJSONObject("commonEventHeader").getString("domain");
- String eventId = jsonObj.getJSONObject("event").getJSONObject("commonEventHeader").getString("eventId");
- return "domain:" + domain + " eventId:" + eventId;
- } catch (JSONException e) {
+ return this.objectMapper.writeValueAsString(data.getEvent().getCommonEventHeader());
+ } catch (JsonProcessingException e) {
LOG.debug("{}", e);
return "Invalid message received";
}
}
-
- private String getMediumEventLogMessage(String data) {
+ private String getLongEventLogMessage(VESMessage data) {
try {
- JSONObject jsonObj = new JSONObject(data);
- return jsonObj.getJSONObject("event").getJSONObject("commonEventHeader").toString();
- } catch (JSONException e) {
+ return this.objectMapper.writeValueAsString(data);
+ } catch (JsonProcessingException e) {
LOG.debug("{}", e);
return "Invalid message received";
}
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
import java.util.Map.Entry;
import java.util.Objects;
import org.eclipse.jdt.annotation.NonNull;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESNotificationFieldsPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Domain;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Priority;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.NamedHashMap;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.NotificationFields;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class ORanDOMNotifToVESEventAssembly {
private static final Logger log = LoggerFactory.getLogger(ORanDOMNotifToVESEventAssembly.class);
- private static final String VES_EVENT_DOMAIN = "notification";
+ private static final Domain VES_EVENT_DOMAIN = Domain.NOTIFICATION;
private static final String VES_EVENTTYPE = "ORAN_notification";
- private static final String VES_EVENT_PRIORITY = "Normal";
+ private static final Priority VES_EVENT_PRIORITY = Priority.NORMAL;
private NetconfDomAccessor netconfDomAccessor;
private VESCollectorService vesProvider;
}
// VES CommonEventHeader fields
- public VESCommonEventHeaderPOJO createVESCommonEventHeader(Instant time, String notificationTypeName,
- long sequenceNo) {
- VESCommonEventHeaderPOJO vesCEH = new VESCommonEventHeaderPOJO();
- vesCEH.setDomain(VES_EVENT_DOMAIN);
- vesCEH.setEventName(notificationTypeName);
- vesCEH.setEventType(VES_EVENTTYPE);
- vesCEH.setPriority(VES_EVENT_PRIORITY);
+ public CommonEventHeader createVESCommonEventHeader(Instant time, String notificationTypeName, int sequenceNo) {
+ String eventId = notificationTypeName + "-" + Long.toUnsignedString(sequenceNo);
+ return new CommonEventHeader()
+ .withDomain(VES_EVENT_DOMAIN)
+ .withEventName(notificationTypeName)
+ .withEventType(VES_EVENTTYPE)
+ .withPriority(VES_EVENT_PRIORITY)
+ .withEventId(eventId)
+ .withStartEpochMicrosec(time.toEpochMilli() * 1000.0)
+ .withLastEpochMicrosec(time.toEpochMilli() * 1000.0)
+ .withNfVendorName("ORAN")
+ .withReportingEntityId(vesProvider.getConfig().getReportingEntityId())
+ .withReportingEntityName(vesProvider.getConfig().getReportingEntityName())
+ .withSequence(sequenceNo)
+ .withSourceId("ORAN")
+ .withSourceName(netconfDomAccessor.getNodeId().getValue());
- String eventId;
-
- eventId = notificationTypeName + "-" + Long.toUnsignedString(sequenceNo);
-
- vesCEH.setEventId(eventId);
- vesCEH.setStartEpochMicrosec(time.toEpochMilli() * 1000);
- vesCEH.setLastEpochMicrosec(time.toEpochMilli() * 1000);
- vesCEH.setNfVendorName("ORAN");
- vesCEH.setReportingEntityId(vesProvider.getConfig().getReportingEntityId());
- vesCEH.setReportingEntityName(vesProvider.getConfig().getReportingEntityName());
- vesCEH.setSequence(sequenceNo);
- vesCEH.setSourceId("ORAN");
- vesCEH.setSourceName(netconfDomAccessor.getNodeId().getValue());
- return vesCEH;
}
// Notification fields
- public VESNotificationFieldsPOJO createVESNotificationFields(HashMap<String, String> xPathFields,
+ public NotificationFields createVESNotificationFields(Map<String, String> xPathFields,
String notificationTypeName) {
- VESNotificationFieldsPOJO vesNotifFields = new VESNotificationFieldsPOJO();
-
- vesNotifFields.setChangeType(notificationTypeName);
- vesNotifFields.setChangeIdentifier(netconfDomAccessor.getNodeId().getValue());
-
StringBuffer buf = new StringBuffer();
Iterator<Entry<String, String>> it = xPathFields.entrySet().iterator();
+ var mappedPathFields = new org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.HashMap();
while (it.hasNext()) {
Entry<String, String> pair = it.next();
buf.append("\n" + pair.getKey() + " = " + pair.getValue());
+ mappedPathFields.setAdditionalProperty(pair.getKey(), pair.getValue());
}
- log.debug("Resultlist({}):{}", xPathFields.size(), buf.toString());
-
- ArrayList<HashMap<String, Object>> arrayOfNamedHashMap = new ArrayList<HashMap<String, Object>>();
- HashMap<String, Object> namedHashMap = new HashMap<String, Object>();
- namedHashMap.put("hashMap", xPathFields);
- namedHashMap.put("name", notificationTypeName);
- arrayOfNamedHashMap.add(namedHashMap);
- vesNotifFields.setArrayOfNamedHashMap(arrayOfNamedHashMap);
- return vesNotifFields;
+ log.debug("Resultlist({}):{}", xPathFields.size(), buf);
+ return new NotificationFields()
+ .withChangeType(notificationTypeName)
+ .withChangeIdentifier(netconfDomAccessor.getNodeId().getValue())
+ .withArrayOfNamedHashMap(
+ List.of(new NamedHashMap().withName(notificationTypeName).withHashMap(mappedPathFields)));
}
}
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.util.ORanDeviceManagerQNames;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.vesmapper.ORanDOMSupervisionNotifToVESMapper;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESMessage;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESStndDefinedFieldsPOJO;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfDomAccessor;
import org.opendaylight.mdsal.dom.api.DOMNotification;
import org.opendaylight.mdsal.dom.api.DOMNotificationListener;
Instant eventTimeInstant = ORanDMDOMUtility.getNotificationInstant(notification);
try {
if (vesCollectorService.getConfig().isVESCollectorEnabled()) {
- VESCommonEventHeaderPOJO header = mapper.mapCommonEventHeader(notification, eventTimeInstant, counter);
- VESStndDefinedFieldsPOJO body = mapper.mapStndDefinedFields(eventTimeInstant);
+ var header = mapper.mapCommonEventHeader(notification, eventTimeInstant, counter);
+ var body = mapper.mapStndDefinedFields(eventTimeInstant);
VESMessage vesMsg = vesCollectorService.generateVESEvent(header, body);
vesCollectorService.publishVESMessage(vesMsg);
- LOG.debug("VES Message is {}", vesMsg.getMessage());
+ LOG.debug("VES Message is {}", vesMsg);
}
} catch (JsonProcessingException | DateTimeParseException e) {
LOG.debug("Cannot convert event into VES message {}", notification, e);
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.util.ORanDMDOMUtility;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.yangspecs.ORANFM;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESFaultFieldsPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Domain;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Priority;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.FaultFields;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.FaultFields.EventSeverity;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.FaultFields.FaultFieldsVersion;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.FaultFields.VfStatus;
import org.opendaylight.mdsal.dom.api.DOMNotification;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
import org.opendaylight.yangtools.yang.data.api.schema.ContainerNode;
public class ORanDOMFaultToVESFaultMapper {
@SuppressWarnings("unused")
private static final Logger LOG = LoggerFactory.getLogger(ORanDOMFaultToVESFaultMapper.class);
- private static final String VES_EVENT_DOMAIN = "fault";
+ private static final Domain VES_EVENT_DOMAIN = Domain.FAULT;
private static final String VES_EVENTTYPE = "ORAN_Fault";
- private static final String VES_EVENT_PRIORITY = "Normal";
+ private static final Priority VES_EVENT_PRIORITY = Priority.NORMAL;
private static final String VES_EVENT_CATEGORY = "O-RU Failure";
- private static final String VES_FAULT_FIELDS_VERSION = "4.0";
- private static final String VES_FAULT_FIELDS_VFSTATUS = "Active"; //virtual function status
+ private static final FaultFieldsVersion VES_FAULT_FIELDS_VERSION = FaultFieldsVersion._4_0;
+ private static final VfStatus VES_FAULT_FIELDS_VFSTATUS = VfStatus.ACTIVE; //virtual function status
private final VESCollectorService vesProvider;
private final String notifName; // Name
this.modelName = modelName;
}
- public VESCommonEventHeaderPOJO mapCommonEventHeader(DOMNotification notification, Instant eventTime) {
- VESCommonEventHeaderPOJO vesCEH = new VESCommonEventHeaderPOJO();
+ public CommonEventHeader mapCommonEventHeader(DOMNotification notification, Instant eventTime) {
ContainerNode cn = notification.getBody();
- vesCEH.setDomain(VES_EVENT_DOMAIN);
- vesCEH.setEventName(notifName);
- vesCEH.setEventType(VES_EVENTTYPE);
- vesCEH.setPriority(VES_EVENT_PRIORITY);
-
String eventId =
notifName + "-" + Integer.parseInt(ORanDMDOMUtility.getLeafValue(cn, oranfm.getFaultIdQName()));
- vesCEH.setEventId(eventId);
- vesCEH.setStartEpochMicrosec(eventTime.toEpochMilli() * 1000);
- vesCEH.setLastEpochMicrosec(eventTime.toEpochMilli() * 1000);
- vesCEH.setNfVendorName(mfgName);
- vesCEH.setReportingEntityId(vesProvider.getConfig().getReportingEntityId());
- vesCEH.setReportingEntityName(vesProvider.getConfig().getReportingEntityName());
- vesCEH.setSequence(Integer.parseInt(ORanDMDOMUtility.getLeafValue(cn, oranfm.getFaultIdQName())));
- vesCEH.setSourceId(uuid);
- vesCEH.setSourceName(nodeIdString);
- return vesCEH;
+ return new CommonEventHeader()
+ .withDomain(VES_EVENT_DOMAIN)
+ .withEventName(notifName)
+ .withEventType(VES_EVENTTYPE)
+ .withPriority(VES_EVENT_PRIORITY)
+ .withEventId(eventId)
+ .withStartEpochMicrosec(eventTime.toEpochMilli() * 1000.0)
+ .withLastEpochMicrosec(eventTime.toEpochMilli() * 1000.0)
+ .withNfVendorName(mfgName)
+ .withReportingEntityId(vesProvider.getConfig().getReportingEntityId())
+ .withReportingEntityName(vesProvider.getConfig().getReportingEntityName())
+ .withSequence(Integer.parseInt(ORanDMDOMUtility.getLeafValue(cn, oranfm.getFaultIdQName())))
+ .withSourceId(uuid)
+ .withSourceName(nodeIdString);
+
}
- public VESFaultFieldsPOJO mapFaultFields(DOMNotification alarmNotif) {
- VESFaultFieldsPOJO vesFaultFields = new VESFaultFieldsPOJO();
+ public FaultFields mapFaultFields(DOMNotification alarmNotif) {
+ FaultFields vesFaultFields = new FaultFields();
ContainerNode cn = alarmNotif.getBody();
vesFaultFields.setAlarmCondition(ORanDMDOMUtility.getLeafValue(cn, oranfm.getFaultIdQName()));
vesFaultFields.setAlarmInterfaceA(ORanDMDOMUtility.getLeafValue(cn, oranfm.getFaultSourceQName()));
vesFaultFields.setEventCategory(VES_EVENT_CATEGORY);
if (ORanDMDOMUtility.getLeafValue(cn, oranfm.getFaultIsClearedQName()).equals("true")) {
- vesFaultFields.setEventSeverity("NORMAL");
+ vesFaultFields.setEventSeverity(EventSeverity.NORMAL);
} else {
- vesFaultFields.setEventSeverity(ORanDMDOMUtility.getLeafValue(cn, oranfm.getFaultSeverityQName()));
+ vesFaultFields.setEventSeverity(EventSeverity.fromValue(ORanDMDOMUtility.getLeafValue(cn, oranfm.getFaultSeverityQName())));
}
vesFaultFields.setEventSourceType(modelName);
vesFaultFields.setFaultFieldsVersion(VES_FAULT_FIELDS_VERSION);
vesFaultFields.setSpecificProblem(ORanDMDOMUtility.getLeafValue(cn, oranfm.getFaultTextQName()));
vesFaultFields.setVfStatus(VES_FAULT_FIELDS_VFSTATUS);
-
return vesFaultFields;
}
package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.vesmapper;
import com.fasterxml.jackson.annotation.JsonProperty;
+import java.net.URI;
import java.time.Instant;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.util.ORanDMDOMUtility;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESStndDefinedFieldsPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Domain;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Priority;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.Data;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.StndDefinedFields;
import org.opendaylight.mdsal.dom.api.DOMNotification;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
*/
public class ORanDOMSupervisionNotifToVESMapper {
- private static final String VES_EVENT_DOMAIN = "stndDefined";
+ private static final Domain VES_EVENT_DOMAIN = Domain.STND_DEFINED;
private static final String VES_EVENTTYPE = "o-ran-supervision:supervision-notification";
- private static final String VES_EVENT_PRIORITY = "Low";
+ private static final Priority VES_EVENT_PRIORITY = Priority.LOW;
private static final String O_RU_SUPERVISION_SCHEMA_REFERENCE =
"https://gerrit.o-ran-sc.org/r/gitweb?p=scp/oam/modeling.git;a=blob_plain;f=data-model/yang/published/o-ran/ru-fh/o-ran-supervision.yang#components/schemas/ofhm-event-stream";
private final VESCollectorService vesProvider;
this.modelName = modelName;
}
- public VESCommonEventHeaderPOJO mapCommonEventHeader(DOMNotification notification, Instant eventTime,
+ public CommonEventHeader mapCommonEventHeader(DOMNotification notification, Instant eventTime,
int sequenceNo) {
- VESCommonEventHeaderPOJO vesCEH = new VESCommonEventHeaderPOJO();
- vesCEH.setDomain(VES_EVENT_DOMAIN);
- vesCEH.setEventName(VES_EVENT_DOMAIN + "_" + VES_EVENTTYPE);
- vesCEH.setEventType(VES_EVENTTYPE);
- vesCEH.setPriority(VES_EVENT_PRIORITY);
-
String eventId = notifName + "-" + Long.toUnsignedString(sequenceNo);
-
- vesCEH.setEventId(eventId);
- vesCEH.setStartEpochMicrosec(eventTime.toEpochMilli() * 1000);
- vesCEH.setLastEpochMicrosec(eventTime.toEpochMilli() * 1000);
- vesCEH.setNfVendorName(mfgName);
- vesCEH.setReportingEntityId(vesProvider.getConfig().getReportingEntityId());
- vesCEH.setReportingEntityName(vesProvider.getConfig().getReportingEntityName());
- vesCEH.setSequence(sequenceNo);
- vesCEH.setSourceId(uuid);
- vesCEH.setSourceName(nodeIdString);
-
- return vesCEH;
- }
-
- public VESStndDefinedFieldsPOJO mapStndDefinedFields(Instant eventTimeInstant) {
- VESStndDefinedFieldsPOJO vesStndDefFields = new VESStndDefinedFieldsPOJO();
- vesStndDefFields.setSchemaReference(O_RU_SUPERVISION_SCHEMA_REFERENCE);
- vesStndDefFields.setData(getSupervisionData(eventTimeInstant));
-
- return vesStndDefFields;
- }
-
- private DataObject getSupervisionData(Instant eventTimeInstant) {
+ return new CommonEventHeader()
+ .withDomain(VES_EVENT_DOMAIN)
+ .withEventName(VES_EVENT_DOMAIN + "_" + VES_EVENTTYPE)
+ .withEventType(VES_EVENTTYPE)
+ .withPriority(VES_EVENT_PRIORITY)
+ .withEventId(eventId)
+ .withStartEpochMicrosec(eventTime.toEpochMilli() * 1000.0)
+ .withLastEpochMicrosec(eventTime.toEpochMilli() * 1000.0)
+ .withNfVendorName(mfgName)
+ .withReportingEntityId(vesProvider.getConfig().getReportingEntityId())
+ .withReportingEntityName(vesProvider.getConfig().getReportingEntityName())
+ .withSequence(sequenceNo)
+ .withSourceId(uuid)
+ .withSourceName(nodeIdString);
+
+ }
+
+ public StndDefinedFields mapStndDefinedFields(Instant eventTimeInstant) {
+ return new StndDefinedFields()
+ .withSchemaReference(URI.create(O_RU_SUPERVISION_SCHEMA_REFERENCE))
+ .withData(getSupervisionData(eventTimeInstant));
+ }
+
+ private Data getSupervisionData(Instant eventTimeInstant) {
ORanSupervisionNotification oruSuperNotif = new ORanSupervisionNotification();
- oruSuperNotif.setSessionId(999999); // Hardcoded due to limitation in NTS Simulator. Ideally should be NETCONF Session ID
+ oruSuperNotif.setSessionId(
+ 999999); // Hardcoded due to limitation in NTS Simulator. Ideally should be NETCONF Session ID
IetfNotification ietfNotif = new IetfNotification();
ietfNotif.setOranSupervisionNotif(oruSuperNotif);
ietfNotif.setEventTime(ORanDMDOMUtility.getDateAndTimeOfInstant(eventTimeInstant).getValue());
- DataObject data = new DataObject();
- data.setIetfNotification(ietfNotif);
- return data;
- }
-
-}
-
-/* Classes for serialization of stndDefinedFields "data" object */
-class DataObject {
- @JsonProperty("ietf:notification")
- IetfNotification ietfNotification;
-
- public DataObject() {}
-
- public IetfNotification getIetfNotification() {
- return ietfNotification;
+ return new Data().withAdditionalProperty("ietf:notification", ietfNotif);
}
- public void setIetfNotification(IetfNotification ietfNotification) {
- this.ietfNotification = ietfNotification;
- }
}
-
class IetfNotification {
+
String eventTime;
@JsonProperty("o-ran-supervision:supervision-notification")
ORanSupervisionNotification oranSupervisionNotif;
- public IetfNotification() {}
+ public IetfNotification() {
+ }
public String getEventTime() {
return eventTime;
class ORanSupervisionNotification {
+
@JsonProperty("session-id")
int sessionId;
- public ORanSupervisionNotification() {}
+ public ORanSupervisionNotification() {
+ }
public int getSessionId() {
return sessionId;
package org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.vesmapper;
import java.time.Instant;
-
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.util.ORanDMDOMUtility;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.util.ORanDeviceManagerQNames;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESPNFRegistrationFieldsPOJO;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Domain;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.CommonEventHeader.Priority;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.ves.PnfRegistrationFields;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
import org.opendaylight.yangtools.yang.data.api.schema.MapEntryNode;
import org.slf4j.Logger;
@SuppressWarnings("unused")
private static final Logger LOG = LoggerFactory.getLogger(ORanRegistrationToVESpnfRegistrationMapper.class);
//CommonEventHeader fields
- private static final String VES_EVENT_DOMAIN = "pnfRegistration";
+ private static final Domain VES_EVENT_DOMAIN = Domain.PNF_REGISTRATION;
private static final String VES_EVENTTYPE = "NetConf Callhome Registration";
- private static final String VES_EVENT_PRIORITY = "Normal";
+ private static final Priority VES_EVENT_PRIORITY = Priority.NORMAL;
private final VESCollectorService vesProvider;
private final NetconfAccessor netconfAccessor;
this.sequenceNo = 0;
}
- public VESCommonEventHeaderPOJO mapCommonEventHeader(MapEntryNode component) {
- VESCommonEventHeaderPOJO vesCEH = new VESCommonEventHeaderPOJO();
- vesCEH.setDomain(VES_EVENT_DOMAIN);
- vesCEH.setEventId(netconfAccessor.getNodeId().getValue());
- vesCEH.setEventName(netconfAccessor.getNodeId().getValue());
- vesCEH.setEventType(VES_EVENTTYPE);
- vesCEH.setPriority(VES_EVENT_PRIORITY);
-
- vesCEH.setStartEpochMicrosec(Instant.now().toEpochMilli() * 1000);
- vesCEH.setLastEpochMicrosec(Instant.now().toEpochMilli() * 1000);
- vesCEH.setNfVendorName(
- ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_NAME));
- vesCEH.setReportingEntityId(vesProvider.getConfig().getReportingEntityId());
- vesCEH.setReportingEntityName(vesProvider.getConfig().getReportingEntityName());
- vesCEH.setSequence(sequenceNo++);
- vesCEH.setSourceId(
- ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_UUID) != null
- ? ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_UUID)
- : netconfAccessor.getNodeId().getValue());
- vesCEH.setSourceName(netconfAccessor.getNodeId().getValue());
+ public CommonEventHeader mapCommonEventHeader(MapEntryNode component) {
+ return new CommonEventHeader()
+ .withDomain(VES_EVENT_DOMAIN)
+ .withEventId(netconfAccessor.getNodeId().getValue())
+ .withEventName(netconfAccessor.getNodeId().getValue())
+ .withEventType(VES_EVENTTYPE)
+ .withPriority(VES_EVENT_PRIORITY)
+ .withStartEpochMicrosec(Instant.now().toEpochMilli() * 1000.0)
+ .withLastEpochMicrosec(Instant.now().toEpochMilli() * 1000.0)
+ .withNfVendorName(
+ ORanDMDOMUtility.getLeafValue(component,
+ ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_NAME))
+ .withReportingEntityId(vesProvider.getConfig().getReportingEntityId())
+ .withReportingEntityName(vesProvider.getConfig().getReportingEntityName())
+ .withSequence(sequenceNo++)
+ .withSourceId(
+ ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_UUID)
+ != null
+ ? ORanDMDOMUtility.getLeafValue(component,
+ ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_UUID)
+ : netconfAccessor.getNodeId().getValue())
+ .withSourceName(netconfAccessor.getNodeId().getValue());
- return vesCEH;
}
- public VESPNFRegistrationFieldsPOJO mapPNFRegistrationFields(MapEntryNode component) {
- VESPNFRegistrationFieldsPOJO vesPnfFields = new VESPNFRegistrationFieldsPOJO();
+ public PnfRegistrationFields mapPNFRegistrationFields(MapEntryNode component) {
+ return new PnfRegistrationFields()
- vesPnfFields.setModelNumber(
- ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_NAME));
- vesPnfFields
- .setOamV4IpAddress(netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv4Address() != null
+ .withModelNumber(ORanDMDOMUtility.getLeafValue(component,
+ ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_NAME))
+ .withOamV4IpAddress(netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv4Address() != null
? netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv4Address().getValue()
- : null);
- vesPnfFields
- .setOamV6IpAddress(netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv6Address() != null
+ : null)
+ .withOamV6IpAddress(netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv6Address() != null
? netconfAccessor.getNetconfNode().getHost().getIpAddress().getIpv6Address().getValue()
- : null);
- vesPnfFields.setSerialNumber(
- ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_SER_NUM));
- vesPnfFields.setVendorName(
- ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_NAME));
- vesPnfFields.setSoftwareVersion(
- ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_SW_REV));
- vesPnfFields.setUnitType(
- ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_ALIAS));
- vesPnfFields.setUnitFamily(
- ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_CLASS));
- vesPnfFields
- .setManufactureDate(
- ORanDMDOMUtility.getLeafValue(component,
- ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_DATE) != null
- ? ORanDMDOMUtility.getLeafValue(component,
- ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_DATE)
- : "Unknown");
+ : null)
+ .withSerialNumber(ORanDMDOMUtility.getLeafValue(component,
+ ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_SER_NUM))
+ .withVendorName(ORanDMDOMUtility.getLeafValue(component,
+ ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_NAME))
+ .withSoftwareVersion(
+ ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_SW_REV))
+ .withUnitType(
+ ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_ALIAS))
+ .withUnitFamily(
+ ORanDMDOMUtility.getLeafValue(component, ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_CLASS))
+ .withManufactureDate(ORanDMDOMUtility.getLeafValue(component,
+ ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_DATE) != null
+ ? ORanDMDOMUtility.getLeafValue(component,
+ ORanDeviceManagerQNames.IETF_HW_COMPONENT_LIST_MFG_DATE)
+ : "Unknown");
//vesPnfFields.setLastServiceDate(component.getLastChange());
-
- return vesPnfFields;
}
}
import org.onap.ccsdk.features.sdnr.wt.devicemanager.oran.vesmapper.ORanRegistrationToVESpnfRegistrationMapper;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorCfgService;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESPNFRegistrationFieldsPOJO;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Host;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.IpAddress;
ORanRegistrationToVESpnfRegistrationMapper mapper =
new ORanRegistrationToVESpnfRegistrationMapper(netconfAccessor, vesCollectorService);
- VESCommonEventHeaderPOJO commonHeader = mapper.mapCommonEventHeader(buildComponentEntry());
- VESPNFRegistrationFieldsPOJO pnfFields = mapper.mapPNFRegistrationFields(buildComponentEntry());
+ var commonHeader = mapper.mapCommonEventHeader(buildComponentEntry());
+ var pnfFields = mapper.mapPNFRegistrationFields(buildComponentEntry());
assertEquals(commonHeader.getNfVendorName(), "ISCO");
assertEquals(pnfFields.getUnitType(), "chassis");
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath />
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-devicemanager-o-ran-sc</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-sdnr-wireless transport :: O-RAN-SC micro-services</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-feature-aggregator-devicemanager-base</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-feature-aggregator-devicemanager</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-feature-aggregator-oauth</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-feature-aggregator</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-feature-aggregator-installer</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>installed-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-feature-aggregator-top</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-mountpoint-registrar-feature</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-mountpoint-registrar-installer</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-mountpoint-registrar-model</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-mountpoint-registrar-top</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-mountpoint-registrar-provider</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-mountpoint-state-provider-feature</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-mountpoint-state-provider-installer</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-mountpoint-state-provider-top</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-mountpoint-state-provider-provider</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
package org.onap.ccsdk.features.sdnr.wt.mountpointstateprovider.impl;
+import com.fasterxml.jackson.core.JsonProcessingException;
import java.util.Optional;
import org.eclipse.jdt.annotation.NonNull;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.NetconfNetworkElementService;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorCfgService;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorConfigChangeListener;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.util.MountpointStateVESMessageFormatter;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfNodeConnectListener;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfNodeStateListener;
import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfNodeStateService;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.device.rev241009.ConnectionOper.ConnectionStatus;
import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev240911.netconf.node.augment.NetconfNode;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
import org.slf4j.Logger;
LOG.info("Init call for {}", APPLICATION_NAME);
this.vesCollectorService = netconfNetworkElementService.getServiceProvider().getVESCollectorService();
this.vesCollectorEnabled = vesCollectorService.getConfig().isVESCollectorEnabled();
- this.vesMessageFormatter = new MountpointStateVESMessageFormatter(vesCollectorService);
+ this.vesMessageFormatter = new MountpointStateVESMessageFormatter(vesCollectorService.getConfig());
// regsiter for live configuration changes
- vesCollectorService.registerForChanges(this);
+ this.vesCollectorService.registerForChanges(this);
// register for node changes
- netconfNodeStateService.registerNetconfNodeConnectListener(this);
- netconfNodeStateService.registerNetconfNodeStateListener(this);
+ this.netconfNodeStateService.registerNetconfNodeConnectListener(this);
+ this.netconfNodeStateService.registerNetconfNodeStateListener(this);
}
@Override
public void close() throws Exception {
LOG.info("{} closing ...", this.getClass().getName());
- vesCollectorService.deregister(this);
+ this.vesCollectorService.deregister(this);
LOG.info("{} closing done", APPLICATION_NAME);
}
+ private void publishStateChange(String nodeId, ConnectionStatus connectionStatus) {
+ try {
+ this.vesCollectorService.publishVESMessage(vesMessageFormatter.createVESMessage(nodeId, connectionStatus));
+ } catch (JsonProcessingException e) {
+ LOG.warn("unable to sent node change notification for node {} and status {}", nodeId, connectionStatus);
+ }
+ }
+
private void publishStateChange(String nodeId, String connectionStatus) {
- this.vesCollectorService.publishVESMessage(
- vesMessageFormatter.createVESMessage(nodeId, connectionStatus, java.time.Clock.systemUTC().instant()));
+ try {
+ this.vesCollectorService.publishVESMessage(vesMessageFormatter.createVESMessage(nodeId, connectionStatus,
+ java.time.Clock.systemUTC().instant()));
+ } catch (JsonProcessingException e) {
+ LOG.warn("unable to sent node change notification for node {} and status {}", nodeId, connectionStatus);
+ }
}
@Override
LOG.debug("In onEnterConnected of MountpointNodeConnectListenerImpl - nNodeId = {}, IP Address = {}",
nNodeId.getValue()
, ipv4Address != null ? ipv4Address.getValue() : ipv6Address.getValue());
- this.publishStateChange(nNodeId.getValue(), netconfNode.getConnectionStatus().toString());
+ this.publishStateChange(nNodeId.getValue(), netconfNode.getConnectionStatus());
}
@Override
return;
}
LOG.debug("In onLeaveConnected of MountpointNodeConnectListenerImpl - nNodeId = {}", nNodeId);
- this.publishStateChange(nNodeId.getValue(), "Unmounted");
+ this.publishStateChange(nNodeId.getValue(), MountpointStateVESMessageFormatter.NODE_CHANGE_LEAVE_CONNECTED);
}
@Override
Ipv6Address ipv6Address = netconfNode.getHost().getIpAddress().getIpv6Address();
LOG.debug("In onCreated of MountpointNodeStateListenerImpl - nNodeId = {}, IP Address = {}", nNodeId.getValue(),
ipv4Address != null ? ipv4Address.getValue() : ipv6Address.getValue());
- this.publishStateChange(nNodeId.getValue(), netconfNode.getConnectionStatus().toString());
+ this.publishStateChange(nNodeId.getValue(), netconfNode.getConnectionStatus());
}
LOG.debug("In onStateChange of MountpointNodeStateListenerImpl - nNodeId = {}, IP Address = {}",
nNodeId.getValue(),
ipv4Address != null ? ipv4Address.getValue() : ipv6Address.getValue());
- this.publishStateChange(nNodeId.getValue(), netconfNode.getConnectionStatus().toString());
+ this.publishStateChange(nNodeId.getValue(), netconfNode.getConnectionStatus());
}
return;
}
LOG.debug("In onRemoved of MountpointNodeStateListenerImpl - nNodeId = {}", nNodeId);
- this.publishStateChange(nNodeId.getValue(), "Removed");
+ this.publishStateChange(nNodeId.getValue(), MountpointStateVESMessageFormatter.NODE_CHANGE_REMOVED);
}
+++ /dev/null
-/*
- * ============LICENSE_START=======================================================
- * ONAP : ccsdk features
- * ================================================================================
- * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
- * All rights reserved.
- * ================================================================================
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- *
- */
-package org.onap.ccsdk.features.sdnr.wt.mountpointstateprovider.impl;
-
-import com.fasterxml.jackson.core.JsonProcessingException;
-import java.time.Instant;
-import org.eclipse.jdt.annotation.NonNull;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorCfgService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.VESCollectorService;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESCommonEventHeaderPOJO;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESMessage;
-import org.onap.ccsdk.features.sdnr.wt.devicemanager.types.VESNotificationFieldsPOJO;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-public class MountpointStateVESMessageFormatter {
-
- private static final Logger LOG = LoggerFactory.getLogger(MountpointStateVESMessageFormatter.class);
-
- private final @NonNull VESCollectorCfgService vesCfg;
- private final @NonNull VESCollectorService vesCollectorService;
- static long sequenceNo = 0;
-
- public MountpointStateVESMessageFormatter(VESCollectorService vesCollectorService) {
- this.vesCfg = vesCollectorService.getConfig();
- this.vesCollectorService = vesCollectorService;
- }
-
- private static void incrSequenceNo() {
- sequenceNo++;
- }
-
- private long getSequenceNo() {
- return sequenceNo;
- }
-
- public VESMessage createVESMessage(String nodeId, String connectionStatus,
- Instant timestamp) {
- if (LOG.isDebugEnabled()) {
- LOG.debug("format to VES from {}, {}, {}", nodeId, connectionStatus, timestamp);
- }
-
- MountpointStateVESMessageFormatter.incrSequenceNo();
-
- VESCommonEventHeaderPOJO vesCommonEventHeader = createVESCommonEventHeader(nodeId, connectionStatus, timestamp);
- VESNotificationFieldsPOJO vesNotificationFields = createVESNotificationFields(nodeId, connectionStatus);
-
- VESMessage vesMsg = null;
- try {
- vesMsg = vesCollectorService.generateVESEvent(vesCommonEventHeader, vesNotificationFields);
- LOG.debug("VES Message is - {}", vesMsg.getMessage());
- } catch (JsonProcessingException e) {
- LOG.error("Exception while generating VES Event - ", e);
- }
-
- return vesMsg;
-
- }
-
- private VESNotificationFieldsPOJO createVESNotificationFields(String nodeId, String connectionStatus) {
- VESNotificationFieldsPOJO vesNotificationFields = new VESNotificationFieldsPOJO();
-
- vesNotificationFields.setChangeIdentifier(nodeId);
- vesNotificationFields.setChangeType(Constants.VES_CHANGETYPE);
- vesNotificationFields.setNewState(connectionStatus);
-
- return vesNotificationFields;
- }
-
- private VESCommonEventHeaderPOJO createVESCommonEventHeader(String nodeId, String connectionStatus,
- Instant timestamp) {
- VESCommonEventHeaderPOJO vesCommonEventHeader = new VESCommonEventHeaderPOJO();
-
- vesCommonEventHeader.setDomain(Constants.VES_DOMAIN);
- vesCommonEventHeader.setEventId(nodeId + "_" + connectionStatus + "_" + getSequenceNo());
- vesCommonEventHeader.setEventName(nodeId + "_" + connectionStatus + "_" + getSequenceNo());
- vesCommonEventHeader.setSourceName(nodeId);
- vesCommonEventHeader.setPriority(Constants.VES_PRIORITY);
- vesCommonEventHeader.setReportingEntityId(this.vesCfg.getReportingEntityId());
- vesCommonEventHeader.setReportingEntityName(this.vesCfg.getReportingEntityName());
- vesCommonEventHeader.setSequence(getSequenceNo());
- vesCommonEventHeader.setLastEpochMicrosec(timestamp.toEpochMilli() * 1000);
- vesCommonEventHeader.setStartEpochMicrosec(timestamp.toEpochMilli() * 1000);
-
- return vesCommonEventHeader;
- }
-}
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
-
+import java.io.IOException;
import org.junit.Test;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.NetconfNetworkElementService;
@Test
- public void test() {
+ public void test() throws InterruptedException, IOException {
NetconfNodeStateService netconfNodeStateService = mock(NetconfNodeStateService.class);
DeviceManagerServiceProvider serviceProvider = mock(DeviceManagerServiceProvider.class);
VESCollectorService vesCollectorService = mock(VESCollectorService.class);
mountpointStateProvider.setNetconfNetworkElementService(netconfNetworkElementService);
mountpointStateProvider.setNetconfNodeStateService(netconfNodeStateService);
mountpointStateProvider.init();
- /* final var NODEID1 = new NodeId("node1");
- final var netconfNode = new NetconfNodeBuilder()
- .setHost(new Host(new IpAddress(new Ipv4Address("1.1.1.1"))))
- .setConnectionStatus(ConnectionStatus.Connected)
- .build();
- mountpointStateProvider.onStateChange(NODEID1, netconfNode);
- verify(vesCollectorService.publishVESMessage(any()));*/
}
}
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-netconfnode-state-service-feature</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-netconfnode-state-service-installer</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-netconfnode-state-service-model</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-netconfnode-state-service-top</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-netconfnode-state-service-provider</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
import org.opendaylight.mdsal.binding.api.DataObjectModification;
import org.opendaylight.mdsal.binding.api.DataObjectModification.ModificationType;
import org.opendaylight.mdsal.binding.api.DataTreeChangeListener;
-import org.opendaylight.mdsal.binding.api.DataTreeIdentifier;
import org.opendaylight.mdsal.binding.api.DataTreeModification;
import org.opendaylight.mdsal.binding.api.MountPointService;
import org.opendaylight.mdsal.binding.api.NotificationPublishService;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.topology.Node;
+import org.opendaylight.yangtools.binding.DataObjectReference;
import org.opendaylight.yangtools.binding.data.codec.api.BindingNormalizedNodeSerializer;
import org.opendaylight.yangtools.concepts.Registration;
-import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
-import org.opendaylight.yangtools.yang.parser.api.YangParserException;
import org.opendaylight.yangtools.yang.parser.api.YangParserFactory;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private static final String APPLICATION_NAME = "NetconfNodeStateService";
private static final String CONFIGURATIONFILE = "etc/netconfnode-status-service.properties";
- private static final @NonNull InstanceIdentifier<Topology> NETCONF_TOPO_IID =
- InstanceIdentifier.create(NetworkTopology.class).child(Topology.class,
- new TopologyKey(new TopologyId(TopologyNetconf.QNAME.getLocalName())));
- private static final @NonNull InstanceIdentifier<Node> NETCONF_NODE_TOPO_IID =
- InstanceIdentifier.create(NetworkTopology.class)
+ private static final @NonNull DataObjectReference<Node> NETCONF_NODE_TOPO_TREE_ID =
+ DataObjectReference.builder(NetworkTopology.class)
.child(Topology.class, new TopologyKey(new TopologyId(TopologyNetconf.QNAME.getLocalName())))
- .child(Node.class);
-
- private static final @NonNull DataTreeIdentifier<Node> NETCONF_NODE_TOPO_TREE_ID =
- DataTreeIdentifier.create(LogicalDatastoreType.OPERATIONAL, NETCONF_NODE_TOPO_IID);
+ .child(Node.class).build();
// Name of ODL controller NETCONF instance
private static final NodeId CONTROLLER = new NodeId("controller-config");
- private static final int ASYNC_EXECUTION_POOLSIZE = 20;
-
// -- OSGi services, provided
private DataBroker dataBroker;
private DOMDataBroker domDataBroker;
/**
* Blueprint initialization
*
- * @throws YangParserException
**/
public void init() {
// Akka setup
AkkaConfig akkaConfig = getAkkaConfig();
- this.isCluster = akkaConfig == null ? false : akkaConfig.isCluster();
+ this.isCluster = akkaConfig != null && akkaConfig.isCluster();
this.clusterName = akkaConfig == null ? "" : akkaConfig.getClusterConfig().getClusterSeedNodeName("abc");
// Provide status information
//this.netconfChangeListener.register();
//DataTreeIdentifier<Node> treeId = new DataTreeIdentifier<>(LogicalDatastoreType.OPERATIONAL, NETCONF_NODE_TOPO_IID);
- listenerL1 = dataBroker.registerTreeChangeListener(NETCONF_NODE_TOPO_TREE_ID, new L1());
+ listenerL1 = dataBroker.registerTreeChangeListener(LogicalDatastoreType.OPERATIONAL, NETCONF_NODE_TOPO_TREE_ID,
+ new L1());
- this.handlingPool = new KeyBasedThreadpool<NodeId, NetconfChangeDataHolder>(
+ this.handlingPool = new KeyBasedThreadpool<>(
this.config.getAsyncHandlingPoolsize(), 1,
new GenericRunnableFactory<>() {
public Runnable create(final NodeId key, final NetconfChangeDataHolder arg) {
- return new Runnable() {
-
- @Override
- public void run() {
- NetconfNodeStateServiceImpl.this.handleDataTreeChange(arg.root, key,
- arg.modificationTyp);
- }
- };
+ return () -> NetconfNodeStateServiceImpl.this.handleDataTreeChange(arg.root, key,
+ arg.modificationTyp);
}
-
- ;
});
this.initializationSuccessful = true;
LOG.debug("Register connect listener {}", netconfNodeConnectListener.getClass().getName());
netconfNodeConnectListenerList.add(netconfNodeConnectListener);
- return new Registration() {
-
- //@Override
- public @NonNull L getInstance() {
- return netconfNodeConnectListener;
- }
-
- @Override
- public void close() {
- LOG.debug("Remove connect listener {}", netconfNodeConnectListener);
- netconfNodeConnectListenerList.remove(netconfNodeConnectListener);
- }
+ return () -> {
+ LOG.debug("Remove connect listener {}", netconfNodeConnectListener);
+ netconfNodeConnectListenerList.remove(netconfNodeConnectListener);
};
}
LOG.debug("Register state listener {}", netconfNodeStateListener.getClass().getName());
netconfNodeStateListenerList.add(netconfNodeStateListener);
- return new Registration() {
- //@Override
- public @NonNull L getInstance() {
- return netconfNodeStateListener;
- }
-
- @Override
- public void close() {
- LOG.debug("Remove state listener {}", netconfNodeStateListener);
- netconfNodeStateListenerList.remove(netconfNodeStateListener);
- }
+ return () -> {
+ LOG.debug("Remove state listener {}", netconfNodeStateListener);
+ netconfNodeStateListenerList.remove(netconfNodeStateListener);
};
}
LOG.debug("Register Ves notification listener {}", vesNotificationListener.getClass().getName());
vesNotificationListenerList.add(vesNotificationListener);
- return new Registration() {
- //@Override
- public @NonNull L getInstance() {
- return vesNotificationListener;
- }
-
- @Override
- public void close() {
- LOG.debug("Remove Ves notification listener {}", vesNotificationListener);
- vesNotificationListenerList.remove(vesNotificationListener);
- }
+ return () -> {
+ LOG.debug("Remove Ves notification listener {}", vesNotificationListener);
+ vesNotificationListenerList.remove(vesNotificationListener);
};
}
boolean connectedBefore, connectedAfter, created;
NetconfNode nNodeAfter = getNetconfNode(root.dataAfter());
connectedAfter = isConnected(nNodeAfter);
- if (root.getDataBefore() != null) {
+ if (root.dataBefore() != null) {
// It is an update or delete
NetconfNode nodeBefore = getNetconfNode(root.dataBefore());
connectedBefore = isConnected(nodeBefore);
}
if (connectedBefore && !connectedAfter) {
handled = true;
- leaveConnectedState(nodeId, Optional.of(nNodeAfter));
+ leaveConnectedState(nodeId, Optional.ofNullable(nNodeAfter));
}
if (!handled) {
//Change if not handled by the messages before
case DELETE:
// Node removed
// leaveconnected state.before = connected;
- if (!connectedBefore) {
+ //if (!connectedBefore) { // does not work similar to argon-sr2
leaveConnectedState(nodeId, Optional.empty());
- }
+ //}
netconfNodeStateListenerList.forEach(item -> {
try {
item.onRemoved(nodeId);
LOG.info("Exception during onRemoved listener call", e);
}
});
+
// doProcessing(Action.REMOVE, nodeId, root);
break;
}
final DataObjectModification<Node> root = change.getRootNode();
if (LOG.isTraceEnabled()) {
- LOG.trace("Handle this modificationType:{} path:{} root:{}", root.getModificationType(),
- change.getRootPath(), root);
+ LOG.trace("Handle this modificationType:{} path:{} root:{}", root.modificationType(),
+ change.getRootNode(), root);
}
// Catch potential nullpointer exceptions ..
try {
- ModificationType modificationTyp = root.getModificationType();
- Node node = modificationTyp == ModificationType.DELETE ? root.getDataBefore() : root.getDataAfter();
+ ModificationType modificationTyp = root.modificationType();
+ Node node = modificationTyp == ModificationType.DELETE ? root.dataBefore() : root.dataAfter();
NodeId nodeId = node != null ? node.getNodeId() : null;
if (nodeId == null) {
LOG.warn("L1 without nodeid.");
// Do not forward any controller related events to devicemanager
LOG.debug("Stop processing for [{}]", nodeId);
} else {
- if (modificationTyp == null) {
- LOG.warn("L1 empty modification type");
- } else {
- LOG.trace("handle data tree change with async={}", this.handleDataTreeAsync);
- if (this.handleDataTreeAsync) {
- this.handlingPool.execute(nodeId, new NetconfChangeDataHolder(root, modificationTyp));
- } else {
- handleDataTreeChange(root, nodeId, modificationTyp);
- }
+ LOG.trace("handle data tree change with async={}", this.handleDataTreeAsync);
+ if (this.handleDataTreeAsync) {
+ this.handlingPool.execute(nodeId, new NetconfChangeDataHolder(root, modificationTyp));
+
+ } else {
+ handleDataTreeChange(root, nodeId, modificationTyp);
}
+
}
}
} catch (NullPointerException | IllegalStateException e) {
}
private static boolean isConnected(NetconfNode nNode) {
- return nNode != null ? ConnectionStatus.Connected.equals(nNode.getConnectionStatus()) : false;
+ return nNode != null && ConnectionStatus.Connected == nNode.getConnectionStatus();
}
private static @Nullable ClusteredConnectionStatus getClusteredConnectionStatus(NetconfNode node) {
AkkaConfig akkaConfig;
try {
akkaConfig = AkkaConfig.load();
- LOG.debug("akka.conf loaded: " + akkaConfig.toString());
+ LOG.debug("akka.conf loaded: {}", akkaConfig);
} catch (Exception e1) {
akkaConfig = null;
- LOG.warn("problem loading akka.conf: " + e1.getMessage());
+ LOG.warn("problem loading akka.conf: {}", e1.getMessage());
}
if (akkaConfig != null && akkaConfig.isCluster()) {
LOG.info("cluster mode detected");
LOG.debug("try to load geoconfig");
GeoConfig.load();
} catch (Exception err) {
- LOG.warn("problem loading geoconfig: " + err.getMessage());
+ LOG.warn("problem loading geoconfig: {}", err.getMessage());
}
} else {
LOG.debug("no geoconfig file found");
}
- public class NetconfChangeDataHolder {
+ public static class NetconfChangeDataHolder {
protected final DataObjectModification<Node> root;
protected final ModificationType modificationTyp;
//dataBrokerNetconf = new DataBrokerNetconfMock();
//dataBrokerNetconf.newReadWriteTransaction();
dataBrokerNetconf = mock(DataBroker.class);
- when(dataBrokerNetconf.registerTreeChangeListener(any(), any())).thenAnswer(invocation -> {
- Object pListener = invocation.getArguments()[1];
+ when(dataBrokerNetconf.registerTreeChangeListener(any(),any(), any())).thenAnswer(invocation -> {
+ Object pListener = invocation.getArguments()[2];
System.out.println("Register " + pListener.getClass().getName());
if (pListener instanceof DataTreeChangeListener) {
System.out.println("Listener");
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-oauth-cli</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-oauth-core</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
import org.onap.ccsdk.features.sdnr.wt.oauthprovider.data.UserTokenPayload;
import org.onap.ccsdk.features.sdnr.wt.oauthprovider.providers.AuthService;
import org.onap.ccsdk.features.sdnr.wt.oauthprovider.providers.TokenCreator;
+import org.opendaylight.aaa.api.TokenAuth;
import org.opendaylight.aaa.api.shiro.principal.ODLPrincipal;
+import org.opendaylight.aaa.shiro.realm.RealmAuthProvider;
import org.opendaylight.aaa.shiro.realm.TokenAuthRealm;
import org.opendaylight.aaa.tokenauthrealm.auth.AuthenticationManager;
-import org.opendaylight.aaa.tokenauthrealm.auth.TokenAuthenticators;
+
public class TestRealm {
try {
Config config = Config.getInstance(TestConfig.TEST_CONFIG_FILENAME);
tokenCreator = TokenCreator.getInstance(config);
- TokenAuthRealm.prepareForLoad(new AuthenticationManager(), new TokenAuthenticators());
+ TokenAuthRealm.prepareForLoad(new AuthenticationManager(), new RealmAuthProvider() {
+ @Override
+ public List<TokenAuth> tokenAuthenticators() {
+ return List.of();
+ }
+ });
realm = new OAuth2RealmToTest();
} catch (IOException e) {
fail(e.getMessage());
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-oauth-realm</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-oauth-web</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath />
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-oauth-provider-top</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-sdnr-wireless transport :: micro-services</name>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-data-provider-model</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-websocketmanager-feature</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>feature</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-websocketmanager-installer</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath />
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-websocketmanager-model</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-websocketmanager-top</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<relativePath />
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.features.sdnr.wt</groupId>
<artifactId>sdnr-wt-websocketmanager-provider</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>bundle</packaging>
<name>ccsdk-features :: ${project.artifactId}</name>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<distributionManagement>
<dependencyManagement>
<dependencies>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>1.2.11</version>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-core</artifactId>
+ <version>1.2.11</version>
+ </dependency>
<dependency>
<groupId>ch.vorburger.mariaDB4j</groupId>
<artifactId>mariaDB4j</artifactId>
<version>2.4.0</version>
<scope>test</scope>
</dependency>
+ <dependency>
+ <groupId>com.att.eelf</groupId>
+ <artifactId>eelf-core</artifactId>
+ <version>1.0.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.fasterxml.jackson</groupId>
+ <artifactId>jackson-bom</artifactId>
+ <version>2.14.1</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>com.google.code.gson</groupId>
+ <artifactId>gson</artifactId>
+ <version>2.9.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.guava</groupId>
+ <artifactId>guava</artifactId>
+ <version>28.2-jre</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java</artifactId>
+ <version>3.10.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.google.protobuf</groupId>
+ <artifactId>protobuf-java-util</artifactId>
+ <version>3.10.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.jayway.jsonpath</groupId>
+ <artifactId>json-path</artifactId>
+ <version>2.4.0</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-core</artifactId>
+ <version>2.2.11</version>
+ </dependency>
+ <dependency>
+ <groupId>com.sun.xml.bind</groupId>
+ <artifactId>jaxb-impl</artifactId>
+ <version>2.2.11</version>
+ </dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
+ <dependency>
+ <groupId>io.grpc</groupId>
+ <artifactId>grpc-bom</artifactId>
+ <version>1.29.0</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>io.swagger</groupId>
+ <artifactId>swagger-annotations</artifactId>
+ <version>1.6.0</version>
+ </dependency>
+ <dependency>
+ <groupId>io.swagger</groupId>
+ <artifactId>swagger-core</artifactId>
+ <version>1.6.0</version>
+ </dependency>
+ <dependency>
+ <groupId>javax</groupId>
+ <artifactId>javaee-api</artifactId>
+ <version>7.0</version>
+ </dependency>
<!-- Below provides javax.annotations -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
<artifactId>httpclient</artifactId>
<version>4.5.13</version>
</dependency>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-slf4j-impl</artifactId>
+ <version>2.17.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.logging.log4j</groupId>
+ <artifactId>log4j-core</artifactId>
+ <version>2.17.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.tomcat</groupId>
+ <artifactId>tomcat-jdbc</artifactId>
+ <version>9.0.52</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.velocity</groupId>
+ <artifactId>velocity</artifactId>
+ <version>1.7</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.velocity</groupId>
+ <artifactId>velocity-engine-core</artifactId>
+ <version>2.3</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jackson</groupId>
+ <artifactId>jackson-jaxrs</artifactId>
+ <version>1.9.13</version>
+ </dependency>
+ <dependency>
+ <groupId>org.codehaus.jettison</groupId>
+ <artifactId>jettison</artifactId>
+ <version>1.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey</groupId>
+ <artifactId>jersey-bom</artifactId>
+ <!-- ODL has 2.27 -->
+ <version>2.33</version>
+ <type>pom</type>
+ <scope>import</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.jersey.bundles.repackaged</groupId>
+ <artifactId>jersey-guava</artifactId>
+ <version>2.26-b03</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hamcrest</groupId>
+ <artifactId>hamcrest-library</artifactId>
+ <version>1.3</version>
+ </dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
+ <!-- ODL has 20131018 -->
<version>20201115</version>
</dependency>
+ <dependency>
+ <groupId>org.jsoup</groupId>
+ <artifactId>jsoup</artifactId>
+ <!-- ODL has 1.8.3 -->
+ <version>1.12.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.liquibase</groupId>
+ <artifactId>liquibase-core</artifactId>
+ <version>4.4.2-nordix</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mariadb.jdbc</groupId>
+ <artifactId>mariadb-java-client</artifactId>
+ <version>2.7.5</version>
+ </dependency>
+ <dependency>
+ <groupId>org.mockito</groupId>
+ <artifactId>mockito-core</artifactId>
+ <version>3.12.4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.logging-analytics</groupId>
+ <artifactId>logging-filter-base</artifactId>
+ <version>1.6.9</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.logging-analytics</groupId>
+ <artifactId>logging-slf4j</artifactId>
+ <version>1.6.9</version>
+ </dependency>
+ <dependency>
+ <groupId>org.osgi</groupId>
+ <artifactId>org.osgi.core</artifactId>
+ <version>5.0.0</version>
+ <scope>provided</scope>
+ </dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
+ <!-- ODL has 1.7.29 -->
<version>1.7.32</version>
</dependency>
<dependency>
<artifactId>slf4j-simple</artifactId>
<version>1.7.32</version>
</dependency>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <version>7.3.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sshd</groupId>
+ <artifactId>sshd-core</artifactId>
+ <version>2.7.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sshd</groupId>
+ <artifactId>sshd-scp</artifactId>
+ <version>2.7.0</version>
+ </dependency>
+ <dependency>
+ <groupId>org.apache.sshd</groupId>
+ <artifactId>sshd-sftp</artifactId>
+ <version>2.7.0</version>
+ </dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<distributionManagement>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgpcep-artifacts</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>controller-artifacts</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-artifacts</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<artifactId>Java-WebSocket</artifactId>
<version>1.5.2</version>
</dependency>
+ <!-- sdnr package dependencies -->
+ <dependency>
+ <groupId>org.apache.kafka</groupId>
+ <artifactId>kafka-clients</artifactId>
+ <version>3.7.0</version>
+ </dependency>
<!-- Below provides javax.annotations -->
<dependency>
<groupId>com.google.code.findbugs</groupId>
-The file pom.xml is generated from Scandium SR2.
+The file sodium-pom.xml is generated from Sodium SR3 and reflects
+the packages installed in the base Sodium SR3 version.
+
+The file pom.xml is generated from Neon SR1.
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>installed-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<distributionManagement>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
- <version>2.17.3</version>
+ <version>2.19.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
- <version>2.17.3</version>
+ <version>2.19.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
- <version>2.17.3</version>
+ <version>2.19.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
- <version>2.17.3</version>
+ <version>2.19.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
- <version>2.17.3</version>
+ <version>2.19.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-base</artifactId>
- <version>2.17.3</version>
+ <version>2.19.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.jaxrs</groupId>
<artifactId>jackson-jaxrs-json-provider</artifactId>
- <version>2.17.3</version>
+ <version>2.19.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-jaxb-annotations</artifactId>
- <version>2.17.3</version>
+ <version>2.19.2</version>
</dependency>
<dependency>
<groupId>com.fasterxml.woodstox</groupId>
<artifactId>woodstox-core</artifactId>
- <version>7.1.0</version>
+ <version>7.1.1</version>
</dependency>
<dependency>
<groupId>com.github.spotbugs</groupId>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
- <version>2.12.1</version>
+ <version>2.13.1</version>
</dependency>
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>failureaccess</artifactId>
- <version>1.0.2</version>
+ <version>1.0.3</version>
</dependency>
<dependency>
<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
- <version>33.4.0-jre</version>
+ <version>33.4.8-jre</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<dependency>
<groupId>commons-beanutils</groupId>
<artifactId>commons-beanutils</artifactId>
- <version>1.9.4</version>
+ <version>1.11.0</version>
</dependency>
<dependency>
<groupId>commons-codec</groupId>
<artifactId>commons-codec</artifactId>
- <version>1.15</version>
+ <version>1.19.0</version>
</dependency>
<dependency>
<groupId>commons-collections</groupId>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
- <version>2.18.0</version>
+ <version>2.20.0</version>
</dependency>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
- <version>5.24.0</version>
+ <version>5.26.0</version>
</dependency>
<dependency>
<groupId>com.typesafe</groupId>
<dependency>
<groupId>com.typesafe</groupId>
<artifactId>ssl-config-core_2.13</artifactId>
- <version>0.4.3</version>
+ <version>0.6.1</version>
</dependency>
<dependency>
<groupId>dk.brics</groupId>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-core</artifactId>
- <version>4.2.30</version>
+ <version>4.2.36</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-graphite</artifactId>
- <version>4.2.30</version>
+ <version>4.2.36</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-healthchecks</artifactId>
- <version>4.2.30</version>
+ <version>4.2.36</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jmx</artifactId>
- <version>4.2.30</version>
+ <version>4.2.36</version>
</dependency>
<dependency>
<groupId>io.dropwizard.metrics</groupId>
<artifactId>metrics-jvm</artifactId>
- <version>4.2.30</version>
+ <version>4.2.36</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-buffer</artifactId>
- <version>4.1.119.Final</version>
+ <version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
- <artifactId>netty-codec</artifactId>
- <version>4.1.119.Final</version>
+ <artifactId>netty-codec-base</artifactId>
+ <version>4.2.6.Final</version>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-codec-classes-quic</artifactId>
+ <version>4.2.6.Final</version>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-codec-compression</artifactId>
+ <version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http2</artifactId>
- <version>4.1.119.Final</version>
+ <version>4.2.6.Final</version>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-codec-http3</artifactId>
+ <version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-codec-http</artifactId>
- <version>4.1.119.Final</version>
+ <version>4.2.6.Final</version>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-codec-native-quic</artifactId>
+ <version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-common</artifactId>
- <version>4.1.119.Final</version>
+ <version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-handler</artifactId>
- <version>4.1.119.Final</version>
+ <version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-resolver</artifactId>
- <version>4.1.119.Final</version>
+ <version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport</artifactId>
- <version>4.1.119.Final</version>
+ <version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport-classes-epoll</artifactId>
- <version>4.1.119.Final</version>
+ <version>4.2.6.Final</version>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-transport-classes-io_uring</artifactId>
+ <version>4.2.6.Final</version>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-transport-classes-kqueue</artifactId>
+ <version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-epoll</artifactId>
- <version>4.1.119.Final</version>
+ <version>4.2.6.Final</version>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-transport-native-io_uring</artifactId>
+ <version>4.2.6.Final</version>
+ </dependency>
+ <dependency>
+ <groupId>io.netty</groupId>
+ <artifactId>netty-transport-native-kqueue</artifactId>
+ <version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-transport-native-unix-common</artifactId>
- <version>4.1.119.Final</version>
+ <version>4.2.6.Final</version>
</dependency>
<dependency>
<groupId>jakarta.activation</groupId>
<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
- <version>1.17.2</version>
+ <version>1.17.7</version>
</dependency>
<dependency>
<groupId>net.java.dev.stax-utils</groupId>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
- <version>3.17.0</version>
+ <version>3.18.0</version>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
- <version>1.13.0</version>
+ <version>1.14.0</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<dependency>
<groupId>org.apache.felix</groupId>
<artifactId>org.apache.felix.cm.json</artifactId>
- <version>1.0.6</version>
+ <version>1.0.8</version>
</dependency>
<dependency>
<groupId>org.apache.felix</groupId>
<dependency>
<groupId>org.apache.karaf.audit</groupId>
<artifactId>org.apache.karaf.audit.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.bundle</groupId>
<artifactId>org.apache.karaf.bundle.blueprintstate</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.bundle</groupId>
<artifactId>org.apache.karaf.bundle.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.config</groupId>
<artifactId>org.apache.karaf.config.command</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.config</groupId>
<artifactId>org.apache.karaf.config.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.deployer</groupId>
<artifactId>org.apache.karaf.deployer.blueprint</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.deployer</groupId>
<artifactId>org.apache.karaf.deployer.features</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.deployer</groupId>
<artifactId>org.apache.karaf.deployer.kar</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.deployer</groupId>
<artifactId>org.apache.karaf.deployer.wrap</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.diagnostic</groupId>
<artifactId>org.apache.karaf.diagnostic.boot</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.diagnostic</groupId>
<artifactId>org.apache.karaf.diagnostic.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>org.apache.karaf.features.command</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>org.apache.karaf.features.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.features</groupId>
<artifactId>org.apache.karaf.features.extension</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.http</groupId>
<artifactId>org.apache.karaf.http.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.instance</groupId>
<artifactId>org.apache.karaf.instance.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.jaas.blueprint</groupId>
<artifactId>org.apache.karaf.jaas.blueprint.config</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.jaas.blueprint</groupId>
<artifactId>org.apache.karaf.jaas.blueprint.jasypt</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.jaas</groupId>
<artifactId>org.apache.karaf.jaas.boot</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.jaas</groupId>
<artifactId>org.apache.karaf.jaas.command</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.jaas</groupId>
<artifactId>org.apache.karaf.jaas.config</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.jaas</groupId>
<artifactId>org.apache.karaf.jaas.jasypt</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.jaas</groupId>
<artifactId>org.apache.karaf.jaas.modules</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.jaas</groupId>
<artifactId>org.apache.karaf.jaas.spring-security-crypto</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.jdbc</groupId>
<artifactId>org.apache.karaf.jdbc.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.kar</groupId>
<artifactId>org.apache.karaf.kar.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.log</groupId>
<artifactId>org.apache.karaf.log.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.management</groupId>
<artifactId>org.apache.karaf.management.server</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf</groupId>
<artifactId>manual</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.maven</groupId>
<artifactId>org.apache.karaf.maven.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.obr</groupId>
<artifactId>org.apache.karaf.obr.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf</groupId>
<artifactId>org.apache.karaf.client</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf</groupId>
<artifactId>org.apache.karaf.event</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.package</groupId>
<artifactId>org.apache.karaf.package.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.profile</groupId>
<artifactId>org.apache.karaf.profile.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.scheduler</groupId>
<artifactId>org.apache.karaf.scheduler.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.scr</groupId>
<artifactId>org.apache.karaf.scr.management</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.scr</groupId>
<artifactId>org.apache.karaf.scr.state</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.service</groupId>
<artifactId>org.apache.karaf.service.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.service</groupId>
<artifactId>org.apache.karaf.service.guard</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.services</groupId>
<artifactId>org.apache.karaf.services.eventadmin</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
<artifactId>org.apache.karaf.shell.commands</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
<artifactId>org.apache.karaf.shell.console</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
<artifactId>org.apache.karaf.shell.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
<artifactId>org.apache.karaf.shell.groovy</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
<artifactId>org.apache.karaf.shell.ssh</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.shell</groupId>
<artifactId>org.apache.karaf.shell.table</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.system</groupId>
<artifactId>org.apache.karaf.system.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.tooling</groupId>
<artifactId>org.apache.karaf.tools.utils</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.webconsole</groupId>
<artifactId>org.apache.karaf.webconsole.console</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.webconsole</groupId>
<artifactId>org.apache.karaf.webconsole.features</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.webconsole</groupId>
<artifactId>org.apache.karaf.webconsole.gogo</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.webconsole</groupId>
<artifactId>org.apache.karaf.webconsole.http</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.webconsole</groupId>
<artifactId>org.apache.karaf.webconsole.instance</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.web</groupId>
<artifactId>org.apache.karaf.web.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.karaf.wrapper</groupId>
<artifactId>org.apache.karaf.wrapper.core</artifactId>
- <version>4.4.6</version>
+ <version>4.4.8</version>
</dependency>
<dependency>
<groupId>org.apache.servicemix.bundles</groupId>
<dependency>
<groupId>org.apache.sshd</groupId>
<artifactId>sshd-osgi</artifactId>
- <version>2.12.1</version>
+ <version>2.15.0</version>
</dependency>
<dependency>
<groupId>org.apache.sshd</groupId>
<artifactId>sshd-scp</artifactId>
- <version>2.12.1</version>
+ <version>2.15.0</version>
</dependency>
<dependency>
<groupId>org.apache.sshd</groupId>
<artifactId>sshd-sftp</artifactId>
- <version>2.12.1</version>
+ <version>2.15.0</version>
</dependency>
<dependency>
<groupId>org.apfloat</groupId>
<dependency>
<groupId>org.checkerframework</groupId>
<artifactId>checker-qual</artifactId>
- <version>3.49.1</version>
+ <version>3.50.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.woodstox</groupId>
<dependency>
<groupId>org.eclipse.jetty.http2</groupId>
<artifactId>http2-client</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.http2</groupId>
<artifactId>http2-common</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.http2</groupId>
<artifactId>http2-hpack</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.http2</groupId>
<artifactId>http2-http-client-transport</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.http2</groupId>
<artifactId>http2-server</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-alpn-client</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-alpn-java-client</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-alpn-java-server</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-alpn-openjdk8-client</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-alpn-openjdk8-server</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-alpn-server</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-client</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-continuation</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-http</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-io</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jaas</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-jmx</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-openid</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-proxy</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-rewrite</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-security</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlets</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-util-ajax</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-xml</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>javax-websocket-client-impl</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>javax-websocket-server-impl</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>websocket-api</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>websocket-client</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>websocket-common</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>websocket-server</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.websocket</groupId>
<artifactId>websocket-servlet</artifactId>
- <version>9.4.54.v20240208</version>
+ <version>9.4.57.v20241219</version>
</dependency>
<dependency>
<groupId>org.eclipse.platform</groupId>
<dependency>
<groupId>org.fusesource.jansi</groupId>
<artifactId>jansi</artifactId>
- <version>2.4.1</version>
+ <version>2.4.2</version>
</dependency>
<dependency>
<groupId>org.glassfish.hk2.external</groupId>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
- <version>2.46</version>
+ <version>2.47</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet-core</artifactId>
- <version>2.46</version>
+ <version>2.47</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-client</artifactId>
- <version>2.46</version>
+ <version>2.47</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-common</artifactId>
- <version>2.46</version>
+ <version>2.47</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.core</groupId>
<artifactId>jersey-server</artifactId>
- <version>2.46</version>
+ <version>2.47</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-entity-filtering</artifactId>
- <version>2.46</version>
+ <version>2.47</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.ext</groupId>
<artifactId>jersey-proxy-client</artifactId>
- <version>2.46</version>
+ <version>2.47</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
- <version>2.46</version>
+ <version>2.47</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-json-jackson</artifactId>
- <version>2.46</version>
+ <version>2.47</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-sse</artifactId>
- <version>2.46</version>
+ <version>2.47</version>
</dependency>
<dependency>
<groupId>org.javassist</groupId>
<artifactId>jolokia-osgi</artifactId>
<version>1.7.2</version>
</dependency>
+ <dependency>
+ <groupId>org.jspecify</groupId>
+ <artifactId>jspecify</artifactId>
+ <version>1.0.0</version>
+ </dependency>
<dependency>
<groupId>org.keycloak</groupId>
<artifactId>keycloak-osgi-adapter</artifactId>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-authn-api</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-cert</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-cli</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-encrypt-service</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-encrypt-service-impl</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-filterchain</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-idm-store-h2</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-jetty-auth-log-filter</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-password-service-api</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-password-service-impl</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-shiro</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-shiro-api</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>aaa-tokenauthrealm</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa</groupId>
<artifactId>repackaged-shiro</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa.web</groupId>
<artifactId>servlet-api</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa.web</groupId>
<artifactId>servlet-jersey2</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa.web</groupId>
<artifactId>web-api</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.aaa.web</groupId>
<artifactId>web-osgi-impl</artifactId>
- <version>0.20.8</version>
+ <version>0.21.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>algo-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>algo-impl</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-benchmark-app</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-bmp-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-bmp-impl</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-bmp-parser-impl</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-bmp-spi</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-cli</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-concepts</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-evpn</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-flowspec</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-inet</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-l3vpn</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-labeled-unicast</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-linkstate</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-mvpn</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-openconfig-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-openconfig-rp-impl</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-openconfig-rp-spi</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-openconfig-rp-statement</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-openconfig-spi</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-openconfig-state</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-parser-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-parser-impl</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-parser-spi</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-path-selection-mode</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-peer-acceptor</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-rib-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-rib-impl</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-rib-spi</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-route-target</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bgp-topology-provider</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>bmp-monitors-config-loader</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>concepts</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>config-loader-impl</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>config-loader-spi</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>data-change-counter</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>graph-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>graph-impl</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-auto-bandwidth-extension</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-base-parser</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-cli</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-ietf-p2mp-te-lsp</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-ietf-stateful</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-impl</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-segment-routing</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-server-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-server-provider</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-spi</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-topology-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-topology-provider</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-topology-spi</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-tunnel-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>pcep-tunnel-provider</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>programming-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>programming-impl</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>programming-spi</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>programming-topology-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>programming-tunnel-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>protocols-config-loader</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>routing-policy-config-loader</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>rsvp-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>rsvp-impl</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>rsvp-spi</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>topology-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>topology-config-loader</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>topology-segment-routing</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>topology-tunnel-api</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.bgpcep</groupId>
<artifactId>util</artifactId>
- <version>0.22.10</version>
+ <version>0.23.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>atomix-storage</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>benchmark-api</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>blueprint</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>cds-access-api</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>cds-access-client</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>cds-dom-api</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>cds-mgmt-api</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>dsbenchmark</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>eos-dom-akka</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>ntfbenchmark</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>raft-api</artifactId>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>raft-journal</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.controller</groupId>
+ <artifactId>raft-spi</artifactId>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
- <artifactId>repackaged-akka</artifactId>
- <version>10.0.9</version>
+ <artifactId>repackaged-pekko</artifactId>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>rpcbenchmark</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-akka-raft</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-akka-segmented-journal</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-cluster-admin-api</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-cluster-admin-impl</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-cluster-admin-karaf-cli</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-clustering-commons</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-common-util</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-distributed-datastore</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller</groupId>
<artifactId>sal-remoterpc-connector</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller.samples</groupId>
<artifactId>clustering-it-karaf-cli</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller.samples</groupId>
<artifactId>clustering-it-model</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller.samples</groupId>
<artifactId>clustering-it-provider</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller.samples</groupId>
<artifactId>sample-toaster</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller.samples</groupId>
<artifactId>sample-toaster-consumer</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.controller.samples</groupId>
<artifactId>sample-toaster-provider</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
</dependency>
<dependency>
<groupId>org.opendaylight.daexim</groupId>
<artifactId>daexim-akka-infoprovider-impl</artifactId>
- <version>1.16.2</version>
+ <version>1.17.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.daexim</groupId>
<artifactId>daexim-impl</artifactId>
- <version>1.16.2</version>
+ <version>1.17.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.daexim</groupId>
<artifactId>daexim-model</artifactId>
- <version>1.16.2</version>
+ <version>1.17.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.daexim</groupId>
<artifactId>daexim-spi</artifactId>
- <version>1.16.2</version>
+ <version>1.17.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.infrautils</groupId>
<artifactId>diagstatus-api</artifactId>
- <version>7.1.2</version>
+ <version>7.1.7</version>
</dependency>
<dependency>
<groupId>org.opendaylight.infrautils</groupId>
<artifactId>diagstatus-impl</artifactId>
- <version>7.1.2</version>
+ <version>7.1.7</version>
</dependency>
<dependency>
<groupId>org.opendaylight.infrautils</groupId>
<artifactId>diagstatus-shell</artifactId>
- <version>7.1.2</version>
+ <version>7.1.7</version>
</dependency>
<dependency>
<groupId>org.opendaylight.infrautils</groupId>
<artifactId>diagstatus-web</artifactId>
- <version>7.1.2</version>
+ <version>7.1.7</version>
</dependency>
<dependency>
<groupId>org.opendaylight.infrautils</groupId>
<artifactId>infrautils-util</artifactId>
- <version>7.1.2</version>
+ <version>7.1.7</version>
</dependency>
<dependency>
<groupId>org.opendaylight.infrautils</groupId>
<artifactId>inject</artifactId>
- <version>7.1.2</version>
+ <version>7.1.7</version>
</dependency>
<dependency>
<groupId>org.opendaylight.infrautils</groupId>
<artifactId>ready-api</artifactId>
- <version>7.1.2</version>
+ <version>7.1.7</version>
</dependency>
<dependency>
<groupId>org.opendaylight.infrautils</groupId>
<artifactId>ready-impl</artifactId>
- <version>7.1.2</version>
+ <version>7.1.7</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc.bus</groupId>
<artifactId>bus-api</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc.bus</groupId>
<artifactId>bus-jsonrpc</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc.bus</groupId>
<artifactId>bus-messagelib</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc.bus</groupId>
<artifactId>bus-spi</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc.bus</groupId>
<artifactId>transport-http</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc.bus</groupId>
<artifactId>transport-zmq</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc</groupId>
<artifactId>dom-codec</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc</groupId>
<artifactId>jsonrpc-api</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc</groupId>
<artifactId>jsonrpc-provider-common</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc</groupId>
<artifactId>jsonrpc-provider-single</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc.security</groupId>
<artifactId>security-aaa</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc.security</groupId>
<artifactId>security-api</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc.security</groupId>
<artifactId>security-noop</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.jsonrpc.security</groupId>
<artifactId>security-service</artifactId>
- <version>1.17.2</version>
+ <version>1.18.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.lispflowmapping</groupId>
<artifactId>mappingservice.api</artifactId>
- <version>1.20.2</version>
+ <version>1.21.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.lispflowmapping</groupId>
<artifactId>mappingservice.config</artifactId>
- <version>1.20.2</version>
+ <version>1.21.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.lispflowmapping</groupId>
<artifactId>mappingservice.dsbackend</artifactId>
- <version>1.20.2</version>
+ <version>1.21.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.lispflowmapping</groupId>
<artifactId>mappingservice.implementation</artifactId>
- <version>1.20.2</version>
+ <version>1.21.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.lispflowmapping</groupId>
<artifactId>mappingservice.inmemorydb</artifactId>
- <version>1.20.2</version>
+ <version>1.21.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.lispflowmapping</groupId>
<artifactId>mappingservice.lisp-proto</artifactId>
- <version>1.20.2</version>
+ <version>1.21.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.lispflowmapping</groupId>
<artifactId>mappingservice.mapcache</artifactId>
- <version>1.20.2</version>
+ <version>1.21.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.lispflowmapping</groupId>
<artifactId>mappingservice.shell</artifactId>
- <version>1.20.2</version>
+ <version>1.21.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.lispflowmapping</groupId>
<artifactId>mappingservice.southbound</artifactId>
- <version>1.20.2</version>
+ <version>1.21.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.iana</groupId>
<artifactId>iana-crypt-hash</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.iana</groupId>
<artifactId>iana-if-type</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.iana</groupId>
<artifactId>iana-routing-types</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.iana</groupId>
<artifactId>iana-ssh-encryption-algs</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.iana</groupId>
<artifactId>iana-ssh-key-exchange-algs</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.iana</groupId>
<artifactId>iana-ssh-mac-algs</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.iana</groupId>
<artifactId>iana-ssh-public-key-algs</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.iana</groupId>
<artifactId>iana-tls-cipher-suite-algs</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc6022</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc6241</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc6243</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc6470</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc6991-ietf-inet-types</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc6991-ietf-yang-types</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc7407-ietf-x509-cert-to-name</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc7952</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc8040-ietf-restconf</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc8040-ietf-restconf-monitoring</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc8072</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc8294-ietf-routing-types</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc8341</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc8342-ietf-datastores</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc8342-ietf-origin</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc8343</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
- <artifactId>rfc8345-ietf-network</artifactId>
- <version>14.0.11</version>
+ <artifactId>rfc8344</artifactId>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
- <artifactId>rfc8345-ietf-network-state</artifactId>
- <version>14.0.11</version>
+ <artifactId>rfc8345-ietf-network</artifactId>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc8345-ietf-network-topology</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
- <artifactId>rfc8345-ietf-network-topology-state</artifactId>
- <version>14.0.11</version>
+ <artifactId>rfc8525</artifactId>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
- <artifactId>rfc8525</artifactId>
- <version>14.0.11</version>
+ <artifactId>rfc8526</artifactId>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
- <artifactId>rfc8526</artifactId>
- <version>14.0.11</version>
+ <artifactId>rfc8528</artifactId>
+ <version>14.0.18</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
+ <artifactId>rfc8529</artifactId>
+ <version>14.0.18</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
+ <artifactId>rfc8639</artifactId>
+ <version>14.0.18</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
+ <artifactId>rfc8650</artifactId>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9640</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9641</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9642</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9643-ietf-tcp-client</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9643-ietf-tcp-common</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9643-ietf-tcp-server</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9644-ietf-ssh-client</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9644-ietf-ssh-common</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9644-ietf-ssh-server</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9645-ietf-tls-client</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9645-ietf-tls-common</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
<artifactId>rfc9645-ietf-tls-server</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-binding-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-binding-dom-adapter</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-binding-spi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-binding-util</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-common-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-dom-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-dom-broker</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-dom-inmemory-datastore</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-dom-schema-osgi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-dom-spi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-eos-binding-adapter</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-eos-binding-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-eos-common-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-eos-dom-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-eos-dom-simple</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-replicate-common</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-replicate-netty</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-rfc8294-netty</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-singleton-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-singleton-impl</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-trace-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-trace-cli</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-trace-impl</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-yanglib-api</artifactId>
- <version>0.19.11</version>
+ <version>0.19.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>mdsal-yanglib-rfc8525</artifactId>
- <version>0.19.11</version>
+ <version>0.19.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<artifactId>general-entity</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<artifactId>ietf-topology</artifactId>
- <version>2013.10.21.26.11</version>
+ <version>2013.10.21.26.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<artifactId>ietf-type-util</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<artifactId>opendaylight-l2-types</artifactId>
- <version>2013.08.27.26.11</version>
+ <version>2013.08.27.26.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.mdsal.model</groupId>
<artifactId>yang-ext</artifactId>
- <version>2013.09.07.26.11</version>
+ <version>2013.09.07.26.18</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>callhome-provider</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.netconf</groupId>
+ <artifactId>databind</artifactId>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>keystore-api</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>keystore-legacy</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>keystore-none</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>keystore-plaintext-api</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>keystore-plaintext-cli</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>keystore-plaintext-localfile</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf.model</groupId>
<artifactId>draft-ietf-restconf-server</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf.model</groupId>
<artifactId>rfc5277</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf.model</groupId>
<artifactId>sal-remote</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-api</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-auth</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-auth-aaa</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-client</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-client-mdsal</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-codec</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-common</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-common-mdsal</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-console</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-dom-api</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-nb</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-netty-util</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-server</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-server-mdsal</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-test-perf</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-topology</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-topology-impl</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>netconf-topology-singleton</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>odl-device-notification</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>restconf-api</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>restconf-mdsal-spi</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>restconf-nb</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>restconf-openapi</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>restconf-server</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>restconf-server-api</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>restconf-server-jaxrs</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>restconf-server-mdsal</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>restconf-server-spi</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.netconf</groupId>
+ <artifactId>restconf-subscription</artifactId>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>sal-remote-impl</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>shaded-exificient</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>shaded-sshd</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>transport-api</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>transport-http</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>transport-ssh</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>transport-tcp</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>transport-tls</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>truststore-api</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>truststore-none</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.netconf</groupId>
<artifactId>yanglib-mdsal-writer</artifactId>
- <version>8.0.7</version>
+ <version>9.0.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>bcpkix-framework-ext</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
</dependency>
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>bcprov-framework-ext</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
</dependency>
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>bcutil-framework-ext</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
</dependency>
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>bundles-diag</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
</dependency>
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>karaf.branding</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
</dependency>
<dependency>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>logging-markers</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>arbitratorreconciliation-api</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>arbitratorreconciliation-impl</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>bulk-o-matic</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>device-ownership-service</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>forwardingrules-manager</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>forwardingrules-sync</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>lldp-speaker</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>of-switch-config-pusher</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>reconciliation-framework</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>southbound-cli</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>table-miss-enforcer</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>topology-lldp-discovery</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.applications</groupId>
<artifactId>topology-manager</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>drop-test-karaf</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.libraries</groupId>
<artifactId>liblldp</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.model</groupId>
<artifactId>model-flow-base</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.model</groupId>
<artifactId>model-flow-service</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.model</groupId>
<artifactId>model-flow-statistics</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.model</groupId>
<artifactId>model-inventory</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.model</groupId>
<artifactId>model-topology</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowjava-extension-eric</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowjava-extension-nicira</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowjava-extension-nicira-api</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.openflowjava</groupId>
<artifactId>openflowjava-blueprint-config</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.openflowjava</groupId>
<artifactId>openflowjava-util</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.openflowjava</groupId>
<artifactId>openflow-protocol-api</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.openflowjava</groupId>
<artifactId>openflow-protocol-impl</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin.openflowjava</groupId>
<artifactId>openflow-protocol-spi</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-api</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-blueprint-config</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-common</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-extension-api</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-extension-eric</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-extension-nicira</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-extension-onf</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>openflowplugin-impl</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.openflowplugin</groupId>
+ <artifactId>srm-api</artifactId>
+ <version>0.20.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.openflowplugin</groupId>
+ <artifactId>srm-impl</artifactId>
+ <version>0.20.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.opendaylight.openflowplugin</groupId>
+ <artifactId>srm-shell</artifactId>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.openflowplugin</groupId>
<artifactId>test-common</artifactId>
- <version>0.19.2</version>
+ <version>0.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>hwvtepsouthbound-api</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>hwvtepsouthbound-impl</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>library</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>schema.hardwarevtep</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>schema.openvswitch</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>southbound-api</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>southbound-impl</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>utils.config</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>utils.hwvtepsouthbound-utils</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>utils.mdsal-utils</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>utils.servicehelper</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>utils.southbound-utils</artifactId>
- <version>1.19.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.ovsdb</groupId>
<artifactId>utils.yang-utils</artifactId>
- <version>1.19.2</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.serviceutils</groupId>
- <artifactId>listener-api</artifactId>
- <version>0.14.2</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.serviceutils</groupId>
- <artifactId>metrics-api</artifactId>
- <version>0.14.2</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.serviceutils</groupId>
- <artifactId>metrics-impl</artifactId>
- <version>0.14.2</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.serviceutils</groupId>
- <artifactId>rpc-api</artifactId>
- <version>0.14.2</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.serviceutils</groupId>
- <artifactId>srm-api</artifactId>
- <version>0.14.2</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.serviceutils</groupId>
- <artifactId>srm-impl</artifactId>
- <version>0.14.2</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.serviceutils</groupId>
- <artifactId>srm-shell</artifactId>
- <version>0.14.2</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.serviceutils</groupId>
- <artifactId>tools-api</artifactId>
- <version>0.14.2</version>
- </dependency>
- <dependency>
- <groupId>org.opendaylight.serviceutils</groupId>
- <artifactId>upgrade</artifactId>
- <version>0.14.2</version>
+ <version>1.20.1</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
<artifactId>openconfig-240119</artifactId>
- <version>21.2.2</version>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
<artifactId>openroadm-common-1.2.1</artifactId>
- <version>21.2.2</version>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
- <artifactId>openroadm-common-13.1.0</artifactId>
- <version>21.2.2</version>
+ <artifactId>openroadm-common-13.1.1</artifactId>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
<artifactId>openroadm-common-2.2.1</artifactId>
- <version>21.2.2</version>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
<artifactId>openroadm-common-7.1.0</artifactId>
- <version>21.2.2</version>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
<artifactId>openroadm-device-1.2.1</artifactId>
- <version>21.2.2</version>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
- <artifactId>openroadm-device-13.1.0</artifactId>
- <version>21.2.2</version>
+ <artifactId>openroadm-device-13.1.1</artifactId>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
<artifactId>openroadm-device-2.2.1</artifactId>
- <version>21.2.2</version>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
<artifactId>openroadm-device-7.1.0</artifactId>
- <version>21.2.2</version>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
- <artifactId>openroadm-network-13.1.0</artifactId>
- <version>21.2.2</version>
+ <artifactId>openroadm-network-13.1.1</artifactId>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
- <artifactId>openroadm-service-13.1.0</artifactId>
- <version>21.2.2</version>
+ <artifactId>openroadm-service-13.1.1</artifactId>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce.models</groupId>
<artifactId>tapi-2.4.0</artifactId>
- <version>21.2.2</version>
+ <version>22.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce</groupId>
<artifactId>transportpce-api</artifactId>
- <version>10.2.3</version>
+ <version>11.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce</groupId>
<artifactId>transportpce-common</artifactId>
- <version>10.2.3</version>
+ <version>11.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce</groupId>
<artifactId>transportpce-dmaap-client</artifactId>
- <version>10.2.3</version>
+ <version>11.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce</groupId>
<artifactId>transportpce-inventory</artifactId>
- <version>10.2.3</version>
+ <version>11.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce</groupId>
<artifactId>transportpce-nbinotifications</artifactId>
- <version>10.2.3</version>
+ <version>11.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce</groupId>
<artifactId>transportpce-networkmodel</artifactId>
- <version>10.2.3</version>
+ <version>11.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce</groupId>
<artifactId>transportpce-olm</artifactId>
- <version>10.2.3</version>
+ <version>11.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce</groupId>
<artifactId>transportpce-pce</artifactId>
- <version>10.2.3</version>
+ <version>11.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce</groupId>
<artifactId>transportpce-renderer</artifactId>
- <version>10.2.3</version>
+ <version>11.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce</groupId>
<artifactId>transportpce-servicehandler</artifactId>
- <version>10.2.3</version>
+ <version>11.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.transportpce</groupId>
<artifactId>transportpce-tapi</artifactId>
- <version>10.2.3</version>
+ <version>11.1.0</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-data-codec-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-data-codec-dynamic</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-data-codec-osgi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-data-codec-spi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-generator</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-loader</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-model</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-reflect</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-runtime-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-runtime-osgi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-runtime-spi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>binding-spec</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>codegen-extensions</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>concepts</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>odlext-model-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>odlext-parser-support</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>openconfig-model-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>openconfig-parser-support</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc6241-model-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc6241-parser-support</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc6536-model-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc6536-parser-support</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc6643-model-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc6643-parser-support</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc7952-model-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc7952-parser-support</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc8040-model-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc8040-parser-support</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc8528-model-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc8528-parser-support</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc8639-model-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc8639-parser-support</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc8819-model-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>rfc8819-parser-support</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>util</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-common</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-common-netty</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-data-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-data-codec-binfmt</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-data-codec-gson</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-data-codec-xml</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-data-impl</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-data-spi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-data-transform</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-data-tree-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-data-tree-ri</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-data-tree-spi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-data-util</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-ir</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-model-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-model-export</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-model-ri</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-model-spi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-model-util</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-parser-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-parser-impl</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-parser-reactor</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-parser-rfc7950</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-parser-spi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-repo-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-repo-fs</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-repo-spi</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-xpath-api</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.opendaylight.yangtools</groupId>
<artifactId>yang-xpath-impl</artifactId>
- <version>14.0.11</version>
+ <version>14.0.17</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.jdbc</groupId>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-api</artifactId>
- <version>2.2.7</version>
+ <version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-log4j2</artifactId>
- <version>2.2.7</version>
+ <version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.logging</groupId>
<artifactId>pax-logging-logback</artifactId>
- <version>2.2.7</version>
+ <version>2.3.0</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.transx</groupId>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-aether</artifactId>
- <version>2.6.14</version>
+ <version>2.6.17</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-classpath</artifactId>
- <version>2.6.14</version>
+ <version>2.6.17</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-obr</artifactId>
- <version>2.6.14</version>
+ <version>2.6.17</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-war</artifactId>
- <version>2.6.14</version>
+ <version>2.6.17</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.url</groupId>
<artifactId>pax-url-wrap</artifactId>
- <version>2.6.14</version>
+ <version>2.6.17</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>keycloak-common</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>keycloak-osgi-adapter</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-api</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-compatibility-annotation13</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-compatibility-el2</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-compatibility-servlet31</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-deployer</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-extender-war</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-extender-whiteboard</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-jetty</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-jetty-keycloak18</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-jetty-keycloak</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-jsp</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-karaf</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-runtime</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-spi</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-tomcat-common</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.ops4j.pax.web</groupId>
<artifactId>pax-web-websocket</artifactId>
- <version>8.0.27</version>
+ <version>8.0.33</version>
</dependency>
<dependency>
<groupId>org.osgi</groupId>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm</artifactId>
- <version>9.7</version>
+ <version>9.8</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-analysis</artifactId>
- <version>9.7</version>
+ <version>9.8</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-commons</artifactId>
- <version>9.7</version>
+ <version>9.8</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-tree</artifactId>
- <version>9.7</version>
+ <version>9.8</version>
</dependency>
<dependency>
<groupId>org.ow2.asm</groupId>
<artifactId>asm-util</artifactId>
- <version>9.7</version>
+ <version>9.8</version>
</dependency>
<dependency>
<groupId>org.owasp.encoder</groupId>
<artifactId>encoder</artifactId>
- <version>1.2.3</version>
+ <version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams</artifactId>
<version>1.0.4</version>
</dependency>
- <dependency>
- <groupId>org.scala-lang.modules</groupId>
- <artifactId>scala-java8-compat_2.13</artifactId>
- <version>1.0.2</version>
- </dependency>
- <dependency>
- <groupId>org.scala-lang.modules</groupId>
- <artifactId>scala-parser-combinators_2.13</artifactId>
- <version>1.1.2</version>
- </dependency>
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.13.16</version>
</dependency>
- <dependency>
- <groupId>org.scala-lang</groupId>
- <artifactId>scala-reflect</artifactId>
- <version>2.13.16</version>
- </dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<parent>
<groupId>org.opendaylight.mdsal</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.11</version>
+ <version>14.0.18</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>binding-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
<sdnctl.slipluginutils.version>${ccsdk.sli.version}</sdnctl.slipluginutils.version>
<!-- Support libraries used by OpenDaylight -->
- <odl.mdsal.version>14.0.8</odl.mdsal.version>
- <odl.mdsal.model.version>14.0.8</odl.mdsal.model.version>
+ <odl.mdsal.version>14.1.3</odl.mdsal.version>
+ <odl.mdsal.model.version>14.1.3</odl.mdsal.model.version>
<odl.mdsal.generator.version>11.0.9</odl.mdsal.generator.version>
- <odl.netconf.restconf.version>14.0.11</odl.netconf.restconf.version>
- <odl.netconf.netconf.version>14.0.11</odl.netconf.netconf.version>
- <odl.netconf.sal.rest.docgen.version>14.0.11</odl.netconf.sal.rest.docgen.version>
+ <odl.netconf.restconf.version>14.0.18</odl.netconf.restconf.version>
+ <odl.netconf.netconf.version>14.0.18</odl.netconf.netconf.version>
+ <odl.netconf.sal.rest.docgen.version>14.0.18</odl.netconf.sal.rest.docgen.version>
<!-- Used by aaa, vtn -->
<commons.codec.version>1.15</commons.codec.version>
<!-- Used by netconf, ovsdb -->
- <commons.lang3.version>3.17.0</commons.lang3.version>
+ <commons.lang3.version>3.18.0</commons.lang3.version>
<!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
<commons.lang.version>2.6</commons.lang.version>
<!-- Used by neutron; see also controller, vtn -->
<!-- Used by aaa -->
<felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
<!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
- <gson.version>2.12.1</gson.version>
+ <gson.version>2.13.1</gson.version>
<!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
- <guava.version>33.4.0-jre</guava.version>
+ <guava.version>33.4.8-jre</guava.version>
<!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
integration/distribution, snmp4sdn, toolkit, ttp -->
- <jackson.version>2.17.3</jackson.version>
+ <jackson.version>2.19.2</jackson.version>
<!-- Used by snmp4sdn, yangtools -->
<javassist.version>3.30.2-GA</javassist.version>
<!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
<!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
- <jersey.version>2.46</jersey.version>
+ <jersey.version>2.47</jersey.version>
<!-- Used by sfc -->
- <jersey.client.version>2.46</jersey.client.version>
+ <jersey.client.version>2.47</jersey.client.version>
<!-- Used everywhere -->
<junit.version>4.13.2</junit.version>
<!-- Used by nic, sfc, sxp, tsdr -->
<mockito.version>3.12.4</mockito.version>
<!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
- <netty.version>4.1.119.Final</netty.version>
+ <netty.version>4.2.6.Final</netty.version>
<!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
<slf4j.version>2.0.12</slf4j.version>
<!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
<grpc.version>1.21.1</grpc.version>
<log4j.version>2.17.1</log4j.version>
<log4j2.version>2.17.1</log4j2.version>
- <jetty.version>9.4.54.v20240208</jetty.version>
+ <jetty.version>9.4.57.v20241219</jetty.version>
<mariadb.connector.version>2.7.5</mariadb.connector.version>
<mariadb4j.version>2.4.0</mariadb4j.version>
<testng.version>6.14.3</testng.version>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>bundle-parent</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>bundle-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
<sdnctl.slipluginutils.version>${ccsdk.sli.version}</sdnctl.slipluginutils.version>
<!-- Support libraries used by OpenDaylight -->
- <odl.mdsal.version>14.0.8</odl.mdsal.version>
- <odl.mdsal.model.version>14.0.8</odl.mdsal.model.version>
+ <odl.mdsal.version>14.1.3</odl.mdsal.version>
+ <odl.mdsal.model.version>14.1.3</odl.mdsal.model.version>
<odl.mdsal.generator.version>11.0.9</odl.mdsal.generator.version>
- <odl.netconf.restconf.version>14.0.11</odl.netconf.restconf.version>
- <odl.netconf.netconf.version>14.0.11</odl.netconf.netconf.version>
- <odl.netconf.sal.rest.docgen.version>14.0.11</odl.netconf.sal.rest.docgen.version>
+ <odl.netconf.restconf.version>14.0.18</odl.netconf.restconf.version>
+ <odl.netconf.netconf.version>14.0.18</odl.netconf.netconf.version>
+ <odl.netconf.sal.rest.docgen.version>14.0.18</odl.netconf.sal.rest.docgen.version>
<!-- Used by aaa, vtn -->
<commons.codec.version>1.15</commons.codec.version>
<!-- Used by netconf, ovsdb -->
- <commons.lang3.version>3.17.0</commons.lang3.version>
+ <commons.lang3.version>3.18.0</commons.lang3.version>
<!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
<commons.lang.version>2.6</commons.lang.version>
<!-- Used by neutron; see also controller, vtn -->
<!-- Used by aaa -->
<felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
<!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
- <gson.version>2.12.1</gson.version>
+ <gson.version>2.13.1</gson.version>
<!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
- <guava.version>33.4.0-jre</guava.version>
+ <guava.version>33.4.8-jre</guava.version>
<!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
integration/distribution, snmp4sdn, toolkit, ttp -->
- <jackson.version>2.17.3</jackson.version>
+ <jackson.version>2.19.2</jackson.version>
<!-- Used by snmp4sdn, yangtools -->
<javassist.version>3.30.2-GA</javassist.version>
<!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
<!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
- <jersey.version>2.46</jersey.version>
+ <jersey.version>2.47</jersey.version>
<!-- Used by sfc -->
- <jersey.client.version>2.46</jersey.client.version>
+ <jersey.client.version>2.47</jersey.client.version>
<!-- Used everywhere -->
<junit.version>4.13.2</junit.version>
<!-- Used by nic, sfc, sxp, tsdr -->
<mockito.version>3.12.4</mockito.version>
<!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
- <netty.version>4.1.119.Final</netty.version>
+ <netty.version>4.2.6.Final</netty.version>
<!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
<slf4j.version>2.0.12</slf4j.version>
<!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
<grpc.version>1.21.1</grpc.version>
<log4j.version>2.17.1</log4j.version>
<log4j2.version>2.17.1</log4j2.version>
- <jetty.version>9.4.54.v20240208</jetty.version>
+ <jetty.version>9.4.57.v20241219</jetty.version>
<mariadb.connector.version>2.7.5</mariadb.connector.version>
<mariadb4j.version>2.4.0</mariadb4j.version>
<testng.version>6.14.3</testng.version>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>client-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>feature-repo-parent</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>feature-repo-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
<sdnctl.slipluginutils.version>${ccsdk.sli.version}</sdnctl.slipluginutils.version>
<!-- Support libraries used by OpenDaylight -->
- <odl.mdsal.version>14.0.8</odl.mdsal.version>
- <odl.mdsal.model.version>14.0.8</odl.mdsal.model.version>
+ <odl.mdsal.version>14.1.3</odl.mdsal.version>
+ <odl.mdsal.model.version>14.1.3</odl.mdsal.model.version>
<odl.mdsal.generator.version>11.0.9</odl.mdsal.generator.version>
- <odl.netconf.restconf.version>14.0.11</odl.netconf.restconf.version>
- <odl.netconf.netconf.version>14.0.11</odl.netconf.netconf.version>
- <odl.netconf.sal.rest.docgen.version>14.0.11</odl.netconf.sal.rest.docgen.version>
+ <odl.netconf.restconf.version>14.0.18</odl.netconf.restconf.version>
+ <odl.netconf.netconf.version>14.0.18</odl.netconf.netconf.version>
+ <odl.netconf.sal.rest.docgen.version>14.0.18</odl.netconf.sal.rest.docgen.version>
<!-- Used by aaa, vtn -->
<commons.codec.version>1.15</commons.codec.version>
<!-- Used by netconf, ovsdb -->
- <commons.lang3.version>3.17.0</commons.lang3.version>
+ <commons.lang3.version>3.18.0</commons.lang3.version>
<!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
<commons.lang.version>2.6</commons.lang.version>
<!-- Used by neutron; see also controller, vtn -->
<!-- Used by aaa -->
<felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
<!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
- <gson.version>2.12.1</gson.version>
+ <gson.version>2.13.1</gson.version>
<!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
- <guava.version>33.4.0-jre</guava.version>
+ <guava.version>33.4.8-jre</guava.version>
<!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
integration/distribution, snmp4sdn, toolkit, ttp -->
- <jackson.version>2.17.3</jackson.version>
+ <jackson.version>2.19.2</jackson.version>
<!-- Used by snmp4sdn, yangtools -->
<javassist.version>3.30.2-GA</javassist.version>
<!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
<!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
- <jersey.version>2.46</jersey.version>
+ <jersey.version>2.47</jersey.version>
<!-- Used by sfc -->
- <jersey.client.version>2.46</jersey.client.version>
+ <jersey.client.version>2.47</jersey.client.version>
<!-- Used everywhere -->
<junit.version>4.13.2</junit.version>
<!-- Used by nic, sfc, sxp, tsdr -->
<mockito.version>3.12.4</mockito.version>
<!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
- <netty.version>4.1.119.Final</netty.version>
+ <netty.version>4.2.6.Final</netty.version>
<!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
<slf4j.version>2.0.12</slf4j.version>
<!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
<grpc.version>1.21.1</grpc.version>
<log4j.version>2.17.1</log4j.version>
<log4j2.version>2.17.1</log4j2.version>
- <jetty.version>9.4.54.v20240208</jetty.version>
+ <jetty.version>9.4.57.v20241219</jetty.version>
<mariadb.connector.version>2.7.5</mariadb.connector.version>
<mariadb4j.version>2.4.0</mariadb4j.version>
<testng.version>6.14.3</testng.version>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>karaf4-parent</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>karaf4-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
<sdnctl.slipluginutils.version>${ccsdk.sli.version}</sdnctl.slipluginutils.version>
<!-- Support libraries used by OpenDaylight -->
- <odl.mdsal.version>14.0.8</odl.mdsal.version>
- <odl.mdsal.model.version>14.0.8</odl.mdsal.model.version>
+ <odl.mdsal.version>14.1.3</odl.mdsal.version>
+ <odl.mdsal.model.version>14.1.3</odl.mdsal.model.version>
<odl.mdsal.generator.version>11.0.9</odl.mdsal.generator.version>
- <odl.netconf.restconf.version>14.0.11</odl.netconf.restconf.version>
- <odl.netconf.netconf.version>14.0.11</odl.netconf.netconf.version>
- <odl.netconf.sal.rest.docgen.version>14.0.11</odl.netconf.sal.rest.docgen.version>
+ <odl.netconf.restconf.version>14.0.18</odl.netconf.restconf.version>
+ <odl.netconf.netconf.version>14.0.18</odl.netconf.netconf.version>
+ <odl.netconf.sal.rest.docgen.version>14.0.18</odl.netconf.sal.rest.docgen.version>
<!-- Used by aaa, vtn -->
<commons.codec.version>1.15</commons.codec.version>
<!-- Used by netconf, ovsdb -->
- <commons.lang3.version>3.17.0</commons.lang3.version>
+ <commons.lang3.version>3.18.0</commons.lang3.version>
<!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
<commons.lang.version>2.6</commons.lang.version>
<!-- Used by neutron; see also controller, vtn -->
<!-- Used by aaa -->
<felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
<!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
- <gson.version>2.12.1</gson.version>
+ <gson.version>2.13.1</gson.version>
<!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
- <guava.version>33.4.0-jre</guava.version>
+ <guava.version>33.4.8-jre</guava.version>
<!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
integration/distribution, snmp4sdn, toolkit, ttp -->
- <jackson.version>2.17.3</jackson.version>
+ <jackson.version>2.19.2</jackson.version>
<!-- Used by snmp4sdn, yangtools -->
<javassist.version>3.30.2-GA</javassist.version>
<!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
<!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
- <jersey.version>2.46</jersey.version>
+ <jersey.version>2.47</jersey.version>
<!-- Used by sfc -->
- <jersey.client.version>2.46</jersey.client.version>
+ <jersey.client.version>2.47</jersey.client.version>
<!-- Used everywhere -->
<junit.version>4.13.2</junit.version>
<!-- Used by nic, sfc, sxp, tsdr -->
<mockito.version>3.12.4</mockito.version>
<!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
- <netty.version>4.1.119.Final</netty.version>
+ <netty.version>4.2.6.Final</netty.version>
<!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
<slf4j.version>2.0.12</slf4j.version>
<!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
<grpc.version>1.21.1</grpc.version>
<log4j.version>2.17.1</log4j.version>
<log4j2.version>2.17.1</log4j2.version>
- <jetty.version>9.4.54.v20240208</jetty.version>
+ <jetty.version>9.4.57.v20241219</jetty.version>
<mariadb.connector.version>2.7.5</mariadb.connector.version>
<mariadb4j.version>2.4.0</mariadb4j.version>
<testng.version>6.14.3</testng.version>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<parent>
<groupId>org.opendaylight.controller</groupId>
<artifactId>mdsal-it-parent</artifactId>
- <version>10.0.9</version>
+ <version>11.0.2</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>mdsal-it-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
<sdnctl.slipluginutils.version>${ccsdk.sli.version}</sdnctl.slipluginutils.version>
<!-- Support libraries used by OpenDaylight -->
- <odl.mdsal.version>14.0.8</odl.mdsal.version>
- <odl.mdsal.model.version>14.0.8</odl.mdsal.model.version>
+ <odl.mdsal.version>14.1.3</odl.mdsal.version>
+ <odl.mdsal.model.version>14.1.3</odl.mdsal.model.version>
<odl.mdsal.generator.version>11.0.9</odl.mdsal.generator.version>
- <odl.netconf.restconf.version>14.0.11</odl.netconf.restconf.version>
- <odl.netconf.netconf.version>14.0.11</odl.netconf.netconf.version>
- <odl.netconf.sal.rest.docgen.version>14.0.11</odl.netconf.sal.rest.docgen.version>
+ <odl.netconf.restconf.version>14.0.18</odl.netconf.restconf.version>
+ <odl.netconf.netconf.version>14.0.18</odl.netconf.netconf.version>
+ <odl.netconf.sal.rest.docgen.version>14.0.18</odl.netconf.sal.rest.docgen.version>
<!-- Used by aaa, vtn -->
<commons.codec.version>1.15</commons.codec.version>
<!-- Used by netconf, ovsdb -->
- <commons.lang3.version>3.17.0</commons.lang3.version>
+ <commons.lang3.version>3.18.0</commons.lang3.version>
<!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
<commons.lang.version>2.6</commons.lang.version>
<!-- Used by neutron; see also controller, vtn -->
<!-- Used by aaa -->
<felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
<!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
- <gson.version>2.12.1</gson.version>
+ <gson.version>2.13.1</gson.version>
<!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
- <guava.version>33.4.0-jre</guava.version>
+ <guava.version>33.4.8-jre</guava.version>
<!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
integration/distribution, snmp4sdn, toolkit, ttp -->
- <jackson.version>2.17.3</jackson.version>
+ <jackson.version>2.19.2</jackson.version>
<!-- Used by snmp4sdn, yangtools -->
<javassist.version>3.30.2-GA</javassist.version>
<!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
<!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
- <jersey.version>2.46</jersey.version>
+ <jersey.version>2.47</jersey.version>
<!-- Used by sfc -->
- <jersey.client.version>2.46</jersey.client.version>
+ <jersey.client.version>2.47</jersey.client.version>
<!-- Used everywhere -->
<junit.version>4.13.2</junit.version>
<!-- Used by nic, sfc, sxp, tsdr -->
<mockito.version>3.12.4</mockito.version>
<!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
- <netty.version>4.1.119.Final</netty.version>
+ <netty.version>4.2.6.Final</netty.version>
<!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
<slf4j.version>2.0.12</slf4j.version>
<!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
<grpc.version>1.21.1</grpc.version>
<log4j.version>2.17.1</log4j.version>
<log4j2.version>2.17.1</log4j2.version>
- <jetty.version>9.4.54.v20240208</jetty.version>
+ <jetty.version>9.4.57.v20241219</jetty.version>
<mariadb.connector.version>2.7.5</mariadb.connector.version>
<mariadb4j.version>2.4.0</mariadb4j.version>
<testng.version>6.14.3</testng.version>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-lite</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
<sdnctl.slipluginutils.version>${ccsdk.sli.version}</sdnctl.slipluginutils.version>
<!-- Support libraries used by OpenDaylight -->
- <odl.mdsal.version>14.0.8</odl.mdsal.version>
- <odl.mdsal.model.version>14.0.8</odl.mdsal.model.version>
+ <odl.mdsal.version>14.1.3</odl.mdsal.version>
+ <odl.mdsal.model.version>14.1.3</odl.mdsal.model.version>
<odl.mdsal.generator.version>11.0.9</odl.mdsal.generator.version>
- <odl.netconf.restconf.version>14.0.11</odl.netconf.restconf.version>
- <odl.netconf.netconf.version>14.0.11</odl.netconf.netconf.version>
- <odl.netconf.sal.rest.docgen.version>14.0.11</odl.netconf.sal.rest.docgen.version>
+ <odl.netconf.restconf.version>14.0.18</odl.netconf.restconf.version>
+ <odl.netconf.netconf.version>14.0.18</odl.netconf.netconf.version>
+ <odl.netconf.sal.rest.docgen.version>14.0.18</odl.netconf.sal.rest.docgen.version>
<!-- Used by aaa, vtn -->
<commons.codec.version>1.15</commons.codec.version>
<!-- Used by netconf, ovsdb -->
- <commons.lang3.version>3.17.0</commons.lang3.version>
+ <commons.lang3.version>3.18.0</commons.lang3.version>
<!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
<commons.lang.version>2.6</commons.lang.version>
<!-- Used by neutron; see also controller, vtn -->
<!-- Used by aaa -->
<felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
<!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
- <gson.version>2.12.1</gson.version>
+ <gson.version>2.13.1</gson.version>
<!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
- <guava.version>33.4.0-jre</guava.version>
+ <guava.version>33.4.8-jre</guava.version>
<!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
integration/distribution, snmp4sdn, toolkit, ttp -->
- <jackson.version>2.17.3</jackson.version>
+ <jackson.version>2.19.2</jackson.version>
<!-- Used by snmp4sdn, yangtools -->
<javassist.version>3.30.2-GA</javassist.version>
<!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
<!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
- <jersey.version>2.46</jersey.version>
+ <jersey.version>2.47</jersey.version>
<!-- Used by sfc -->
- <jersey.client.version>2.46</jersey.client.version>
+ <jersey.client.version>2.47</jersey.client.version>
<!-- Used everywhere -->
<junit.version>4.13.2</junit.version>
<!-- Used by nic, sfc, sxp, tsdr -->
<mockito.version>3.12.4</mockito.version>
<!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
- <netty.version>4.1.119.Final</netty.version>
+ <netty.version>4.2.6.Final</netty.version>
<!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
<slf4j.version>2.0.12</slf4j.version>
<!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
<grpc.version>1.21.1</grpc.version>
<log4j.version>2.17.1</log4j.version>
<log4j2.version>2.17.1</log4j2.version>
- <jetty.version>9.4.54.v20240208</jetty.version>
+ <jetty.version>9.4.57.v20241219</jetty.version>
<mariadb.connector.version>2.7.5</mariadb.connector.version>
<mariadb4j.version>2.4.0</mariadb4j.version>
<testng.version>6.14.3</testng.version>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>odlparent</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
<sdnctl.slipluginutils.version>${ccsdk.sli.version}</sdnctl.slipluginutils.version>
<!-- Support libraries used by OpenDaylight -->
- <odl.mdsal.version>14.0.8</odl.mdsal.version>
- <odl.mdsal.model.version>14.0.8</odl.mdsal.model.version>
+ <odl.mdsal.version>14.1.3</odl.mdsal.version>
+ <odl.mdsal.model.version>14.1.3</odl.mdsal.model.version>
<odl.mdsal.generator.version>11.0.9</odl.mdsal.generator.version>
- <odl.netconf.restconf.version>14.0.11</odl.netconf.restconf.version>
- <odl.netconf.netconf.version>14.0.11</odl.netconf.netconf.version>
- <odl.netconf.sal.rest.docgen.version>14.0.11</odl.netconf.sal.rest.docgen.version>
+ <odl.netconf.restconf.version>14.0.18</odl.netconf.restconf.version>
+ <odl.netconf.netconf.version>14.0.18</odl.netconf.netconf.version>
+ <odl.netconf.sal.rest.docgen.version>14.0.18</odl.netconf.sal.rest.docgen.version>
<!-- Used by aaa, vtn -->
<commons.codec.version>1.15</commons.codec.version>
<!-- Used by netconf, ovsdb -->
- <commons.lang3.version>3.17.0</commons.lang3.version>
+ <commons.lang3.version>3.18.0</commons.lang3.version>
<!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
<commons.lang.version>2.6</commons.lang.version>
<!-- Used by neutron; see also controller, vtn -->
<!-- Used by aaa -->
<felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
<!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
- <gson.version>2.12.1</gson.version>
+ <gson.version>2.13.1</gson.version>
<!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
- <guava.version>33.4.0-jre</guava.version>
+ <guava.version>33.4.8-jre</guava.version>
<!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
integration/distribution, snmp4sdn, toolkit, ttp -->
- <jackson.version>2.17.3</jackson.version>
+ <jackson.version>2.19.2</jackson.version>
<!-- Used by snmp4sdn, yangtools -->
<javassist.version>3.30.2-GA</javassist.version>
<!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
<!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
- <jersey.version>2.46</jersey.version>
+ <jersey.version>2.47</jersey.version>
<!-- Used by sfc -->
- <jersey.client.version>2.46</jersey.client.version>
+ <jersey.client.version>2.47</jersey.client.version>
<!-- Used everywhere -->
<junit.version>4.13.2</junit.version>
<!-- Used by nic, sfc, sxp, tsdr -->
<mockito.version>3.12.4</mockito.version>
<!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
- <netty.version>4.1.119.Final</netty.version>
+ <netty.version>4.2.6.Final</netty.version>
<!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
<slf4j.version>2.0.12</slf4j.version>
<!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
<grpc.version>1.21.1</grpc.version>
<log4j.version>2.17.1</log4j.version>
<log4j2.version>2.17.1</log4j2.version>
- <jetty.version>9.4.54.v20240208</jetty.version>
+ <jetty.version>9.4.57.v20241219</jetty.version>
<mariadb.connector.version>2.7.5</mariadb.connector.version>
<mariadb4j.version>2.4.0</mariadb4j.version>
<testng.version>6.14.3</testng.version>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-aggregator</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
<parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>odlparent-aggregator</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>setup</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
odlparent.artifactId=binding-parent
odlparent.groupId=org.opendaylight.mdsal
-odlparent.version=14.0.11
+odlparent.version=14.0.18
odlparent.artifactId=bundle-parent
odlparent.groupId=org.opendaylight.odlparent
-odlparent.version=14.0.8
+odlparent.version=14.1.3
odlparent.artifactId=feature-repo-parent
odlparent.groupId=org.opendaylight.odlparent
-odlparent.version=14.0.8
+odlparent.version=14.1.3
odlparent.artifactId=karaf4-parent
odlparent.groupId=org.opendaylight.odlparent
-odlparent.version=14.0.8
+odlparent.version=14.1.3
odlparent.artifactId=mdsal-it-parent
odlparent.groupId=org.opendaylight.controller
-odlparent.version=10.0.9
+odlparent.version=11.0.2
odlparent.artifactId=odlparent-lite
odlparent.groupId=org.opendaylight.odlparent
-odlparent.version=14.0.8
+odlparent.version=14.1.3
odlparent.artifactId=odlparent
odlparent.groupId=org.opendaylight.odlparent
-odlparent.version=14.0.8
+odlparent.version=14.1.3
odlparent.artifactId=single-feature-parent
odlparent.groupId=org.opendaylight.odlparent
-odlparent.version=14.0.8
+odlparent.version=14.1.3
<sdnctl.slipluginutils.version>\${ccsdk.sli.version}</sdnctl.slipluginutils.version>
<!-- Support libraries used by OpenDaylight -->
- <odl.mdsal.version>14.0.8</odl.mdsal.version>
- <odl.mdsal.model.version>14.0.8</odl.mdsal.model.version>
+ <odl.mdsal.version>14.1.3</odl.mdsal.version>
+ <odl.mdsal.model.version>14.1.3</odl.mdsal.model.version>
<odl.mdsal.generator.version>11.0.9</odl.mdsal.generator.version>
- <odl.netconf.restconf.version>14.0.11</odl.netconf.restconf.version>
- <odl.netconf.netconf.version>14.0.11</odl.netconf.netconf.version>
- <odl.netconf.sal.rest.docgen.version>14.0.11</odl.netconf.sal.rest.docgen.version>
+ <odl.netconf.restconf.version>14.0.18</odl.netconf.restconf.version>
+ <odl.netconf.netconf.version>14.0.18</odl.netconf.netconf.version>
+ <odl.netconf.sal.rest.docgen.version>14.0.18</odl.netconf.sal.rest.docgen.version>
<!-- Used by aaa, vtn -->
<commons.codec.version>1.15</commons.codec.version>
<!-- Used by netconf, ovsdb -->
- <commons.lang3.version>3.17.0</commons.lang3.version>
+ <commons.lang3.version>3.18.0</commons.lang3.version>
<!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
<commons.lang.version>2.6</commons.lang.version>
<!-- Used by neutron; see also controller, vtn -->
<!-- Used by aaa -->
<felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
<!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
- <gson.version>2.12.1</gson.version>
+ <gson.version>2.13.1</gson.version>
<!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
- <guava.version>33.4.0-jre</guava.version>
+ <guava.version>33.4.8-jre</guava.version>
<!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
integration/distribution, snmp4sdn, toolkit, ttp -->
- <jackson.version>2.17.3</jackson.version>
+ <jackson.version>2.19.2</jackson.version>
<!-- Used by snmp4sdn, yangtools -->
<javassist.version>3.30.2-GA</javassist.version>
<!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
<!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
- <jersey.version>2.46</jersey.version>
+ <jersey.version>2.47</jersey.version>
<!-- Used by sfc -->
- <jersey.client.version>2.46</jersey.client.version>
+ <jersey.client.version>2.47</jersey.client.version>
<!-- Used everywhere -->
<junit.version>4.13.2</junit.version>
<!-- Used by nic, sfc, sxp, tsdr -->
<mockito.version>3.12.4</mockito.version>
<!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
- <netty.version>4.1.119.Final</netty.version>
+ <netty.version>4.2.6.Final</netty.version>
<!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
<slf4j.version>2.0.12</slf4j.version>
<!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
<grpc.version>1.21.1</grpc.version>
<log4j.version>2.17.1</log4j.version>
<log4j2.version>2.17.1</log4j2.version>
- <jetty.version>9.4.54.v20240208</jetty.version>
+ <jetty.version>9.4.57.v20241219</jetty.version>
<mariadb.connector.version>2.7.5</mariadb.connector.version>
<mariadb4j.version>2.4.0</mariadb4j.version>
<testng.version>6.14.3</testng.version>
<parent>
<groupId>org.opendaylight.odlparent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.8</version>
+ <version>14.1.3</version>
<relativePath/>
</parent>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>single-feature-parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
<sdnctl.slipluginutils.version>${ccsdk.sli.version}</sdnctl.slipluginutils.version>
<!-- Support libraries used by OpenDaylight -->
- <odl.mdsal.version>14.0.8</odl.mdsal.version>
- <odl.mdsal.model.version>14.0.8</odl.mdsal.model.version>
+ <odl.mdsal.version>14.1.3</odl.mdsal.version>
+ <odl.mdsal.model.version>14.1.3</odl.mdsal.model.version>
<odl.mdsal.generator.version>11.0.9</odl.mdsal.generator.version>
- <odl.netconf.restconf.version>14.0.11</odl.netconf.restconf.version>
- <odl.netconf.netconf.version>14.0.11</odl.netconf.netconf.version>
- <odl.netconf.sal.rest.docgen.version>14.0.11</odl.netconf.sal.rest.docgen.version>
+ <odl.netconf.restconf.version>14.0.18</odl.netconf.restconf.version>
+ <odl.netconf.netconf.version>14.0.18</odl.netconf.netconf.version>
+ <odl.netconf.sal.rest.docgen.version>14.0.18</odl.netconf.sal.rest.docgen.version>
<!-- Used by aaa, vtn -->
<commons.codec.version>1.15</commons.codec.version>
<!-- Used by netconf, ovsdb -->
- <commons.lang3.version>3.17.0</commons.lang3.version>
+ <commons.lang3.version>3.18.0</commons.lang3.version>
<!-- Used by sfc, snmp4sdn; see also affinity, toolkit -->
<commons.lang.version>2.6</commons.lang.version>
<!-- Used by neutron; see also controller, vtn -->
<!-- Used by aaa -->
<felix.dependencymanager.version>4.4.1</felix.dependencymanager.version>
<!-- Used by lacp, netconf, ovsdb, sfc, toolkit; see also vtn -->
- <gson.version>2.12.1</gson.version>
+ <gson.version>2.13.1</gson.version>
<!-- Used by aaa, dlux, persistence, snmp4sdn, sxp -->
- <guava.version>33.4.0-jre</guava.version>
+ <guava.version>33.4.8-jre</guava.version>
<!-- Used by aaa, alto, netconf, ovsdb, sfc; see also affinity, defense4all,
integration/distribution, snmp4sdn, toolkit, ttp -->
- <jackson.version>2.17.3</jackson.version>
+ <jackson.version>2.19.2</jackson.version>
<!-- Used by snmp4sdn, yangtools -->
<javassist.version>3.30.2-GA</javassist.version>
<!-- FIXME remove all dependencies for jersey 1.17 after migration all projects -->
<!-- Used by aaa, alto, netconf, neutron, sfc; see also affinity, defense4all, snmp4sdn, toolkit -->
- <jersey.version>2.46</jersey.version>
+ <jersey.version>2.47</jersey.version>
<!-- Used by sfc -->
- <jersey.client.version>2.46</jersey.client.version>
+ <jersey.client.version>2.47</jersey.client.version>
<!-- Used everywhere -->
<junit.version>4.13.2</junit.version>
<!-- Used by nic, sfc, sxp, tsdr -->
<mockito.version>3.12.4</mockito.version>
<!-- Used by bgpcep, netconf, ovsdb, sxp; see also opendove, toolkit -->
- <netty.version>4.1.119.Final</netty.version>
+ <netty.version>4.2.6.Final</netty.version>
<!-- Used by openflowjava, persistence, sfc, snmp4sdn, sxp; see also affinity, toolkit -->
<slf4j.version>2.0.12</slf4j.version>
<!-- Used in integration/distribution; see also affinity, snmp4sdn, toolkit, tsdr, ttp -->
<grpc.version>1.21.1</grpc.version>
<log4j.version>2.17.1</log4j.version>
<log4j2.version>2.17.1</log4j2.version>
- <jetty.version>9.4.54.v20240208</jetty.version>
+ <jetty.version>9.4.57.v20241219</jetty.version>
<mariadb.connector.version>2.7.5</mariadb.connector.version>
<mariadb4j.version>2.4.0</mariadb4j.version>
<testng.version>6.14.3</testng.version>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-odl-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>oparent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>
otherwise ccsdk/distribution/dependencies is not resolving correctly -->
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>dependencies-bom</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<groupId>org.o-ran-sc.oam-oam-controller.parent</groupId>
<artifactId>parent</artifactId>
- <version>14.0.0-SNAPSHOT</version>
+ <version>14.0.1-SNAPSHOT</version>
<packaging>pom</packaging>
<name>O-RAN-SC :: ${project.groupId} :: ${project.artifactId}</name>