aboutsummaryrefslogtreecommitdiffstats
path: root/src/plugins/yang/openconfig/openconfig-yang-types@2018-04-24.yang
diff options
context:
space:
mode:
authorYohanPipereau <ypiperea@cisco.com>2019-03-06 14:01:58 +0100
committerYohanPipereau <ypiperea@cisco.com>2019-03-29 14:39:36 +0100
commita760dfb253161911fc3aa3c8b879c461d53ade6e (patch)
tree0e79953f4ed5615879a58f49a74df3f9c6739a42 /src/plugins/yang/openconfig/openconfig-yang-types@2018-04-24.yang
parent2b9b6b9b130b75799a40989c0ebe5040fa3e45fb (diff)
Sweetcomb global cleanup
-Merge IETF and Openconfig to use SCVPP 2 -Move L2 bridge from sc_vpp_interface to sc_vpp_v3po -Implement tav2 dump -Make openconfig-interfaces functions static -Try one more dispatch after failure in VAPI_CALL -Add error return code for scvpp -Remove unused length maccros -Return appropriate error code for interface dump when interface not found -Improve scvpp test suite -Change get_interface_id prototype -Use interface_dump_iface in openconfig_interface. -No more vapi types in openconfig_interfaces.c -Move openconfig_local_routing VAPI operations to sc_vpp_ip -Implement a multiple dump with a stack data structure -Comment out state_cb code from openconfig_local_routing to use new functions later. -Rename YANG model to their fully qualified name : <module>@<revision> -Remove headers almost empty and put registration declaration in sc_model.h -Shorten vapi context global variable name -Reorganize scvpp unit test suite -Add instructions to Makefile to install/uninstall YANG models in sysrepo. -Add this new instructions to README.md. -Reimplement interface_dump_all -Use a common message at INFO Log Level to know when sysrepo callbacks are triggered -Remove old structure to perform dump of all interfaces -Reimplement get_interface_name and add scvpp test for it -Clean sys_util -Use UNUSED maccro everywhere to have lighter prototypes -Have ietf-interfaces:interfaces-state work with new dump function -Add setup and teardown for NAT tests -Remove unused tapv2 dump -Remove useless sysrepo module callback -Remove xpath_find_first_key usage in openconfig-interfaces -Remove xpath_find_first_key in oc_local_routing and in the rest of sweetcomb -Reorganize scvpp include dir and fix scvpp_test new warnings -Fix scvpp tests for ip routes -Factorize scvpp nat and test return code of its function -Correct test_dump_if_all if there is an existing hardware interface -Implement a per-prefix dump in scvpp -free changes iterator in ietf-interfaces -Add new XPATH in oc local-routing -Introduce helper methods for sysrepo config callbacks -Factorize config callback -Refactor the openconfig-local-routing config callback -Use common foreach_change to iterate over changes in all models -Create a sample directory gathering example of configurations supposed to work with sweetcomb -Fix state callback of oc-local-routing -Add new sample for get operation on next-hop -foreach_elt maccro condition forgets to read one element Change-Id: I8e87fce577a00337977588f057a6e095a20f457c Signed-off-by: YohanPipereau <ypiperea@cisco.com>
Diffstat (limited to 'src/plugins/yang/openconfig/openconfig-yang-types@2018-04-24.yang')
-rw-r--r--src/plugins/yang/openconfig/openconfig-yang-types@2018-04-24.yang180
1 files changed, 180 insertions, 0 deletions
diff --git a/src/plugins/yang/openconfig/openconfig-yang-types@2018-04-24.yang b/src/plugins/yang/openconfig/openconfig-yang-types@2018-04-24.yang
new file mode 100644
index 0000000..b3b2c16
--- /dev/null
+++ b/src/plugins/yang/openconfig/openconfig-yang-types@2018-04-24.yang
@@ -0,0 +1,180 @@
+module openconfig-yang-types {
+
+ yang-version "1";
+ namespace "http://openconfig.net/yang/types/yang";
+ prefix "oc-yang";
+
+ import openconfig-extensions { prefix "oc-ext"; }
+
+ organization
+ "OpenConfig working group";
+
+ contact
+ "OpenConfig working group
+ www.openconfig.net";
+
+ description
+ "This module contains a set of extension types to the
+ YANG builtin types that are used across multiple
+ OpenConfig models.
+
+ Portions of this code were derived from IETF RFC 6021.
+ Please reproduce this note if possible.
+
+ IETF code is subject to the following copyright and license:
+ Copyright (c) IETF Trust and the persons identified as authors of
+ the code.
+ All rights reserved.
+
+ Redistribution and use in source and binary forms, with or without
+ modification, is permitted pursuant to, and subject to the license
+ terms contained in, the Simplified BSD License set forth in
+ Section 4.c of the IETF Trust's Legal Provisions Relating
+ to IETF Documents (http://trustee.ietf.org/license-info).";
+
+ oc-ext:openconfig-version "0.2.0";
+
+ revision 2018-04-24 {
+ description
+ "Add date typedef";
+ reference "0.2.0";
+ }
+
+ revision 2017-07-30 {
+ description
+ "Fixed unprintable character";
+ reference "0.1.2";
+ }
+
+ revision 2017-04-03 {
+ description
+ "Update copyright notice.";
+ reference "0.1.1";
+ }
+
+ revision 2017-01-26 {
+ description
+ "Initial module for inet types";
+ reference "0.1.0";
+ }
+
+ typedef dotted-quad {
+ type string {
+ pattern '^(([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|' +
+ '25[0-5])\.){3}([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4]' +
+ '[0-9]|25[0-5])$';
+ }
+ description
+ "An unsigned 32-bit integer expressed as a dotted quad. The
+ format is four octets written as decimal numbers separated
+ with a period character.";
+ }
+
+ typedef hex-string {
+ type string {
+ pattern '^[0-9a-fA-F]*$';
+ }
+ description
+ "A string consisting of a hexadecimal characters.";
+ }
+
+ typedef counter32 {
+ type uint32;
+ description
+
+ "A 32-bit counter. A counter value is a monotonically increasing
+ value which is used to express a count of a number of
+ occurrences of a particular event or entity. When the counter
+ reaches its maximum value, in this case 2^32-1, it wraps to 0.
+
+ Discontinuities in the counter are generally triggered only when
+ the counter is reset to zero.";
+ }
+
+ typedef counter64 {
+ type uint64;
+ description
+
+ "A 64-bit counter. A counter value is a monotonically increasing
+ value which is used to express a count of a number of
+ occurrences of a particular event or entity. When a counter64
+ reaches its maximum value, 2^64-1, it loops to zero.
+ Discontinuities in a counter are generally triggered only when
+ the counter is reset to zero, through operator or system
+ intervention.";
+ }
+
+ typedef date-and-time {
+ type string {
+ pattern
+ '^[0-9]{4}\-[0-9]{2}\-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}' +
+ '(\.[0-9]+)?Z[+-][0-9]{2}:[0-9]{2}$';
+ }
+ description
+ "A date and time, expressed in the format described in RFC3339.
+ That is to say:
+
+ YYYY-MM-DDTHH:MM:SSZ+-hh:mm
+
+ where YYYY is the year, MM is the month expressed as a two-digit
+ month (zero padding if required), DD is the day of the month,
+ expressed as a two digit value. T is the literal character 'T',
+ HH is the hour of the day expressed as a two digit number, using
+ the 24-hour clock, MM is the minute of the hour expressed as a
+ two digit number. Z is the literal character 'Z', followed by a
+ timezone offset expressed in hours (hh) and minutes (mm), both
+ expressed as two digit numbers. The time offset is specified as
+ a positive or negative offset to UTC using the '+' or '-'
+ character preceding the offset.
+
+ Optionally, fractional seconds can be expressed after the minute
+ of the hour as a decimal number of unspecified precision
+ reflecting fractions of a second.";
+ reference
+ "RFC3339 - Date and Time on the Internet: Timestamps";
+ }
+
+ typedef date {
+ type string {
+ pattern '^[0-9]{4}\-[0-9]{2}\-[0-9]{2}$';
+ }
+ description
+ "A full UTC date, expressed in the format described in RFC3339.
+ That is to say:
+
+ YYYY-MM-DD
+
+ where YYYY is the year, MM is the month expressed as a two-digit
+ month (zero padding if required), DD is the day of the month,
+ expressed as a two digit value.";
+
+ reference
+ "RFC3339 - Date and Time on the Internet: full-date";
+ }
+
+ typedef gauge64 {
+ type uint64;
+ description
+ "A gauge value may increase or decrease - and reflects a value
+ at a particular point in time. If the value of the variable
+ being modeled using the gauge exceeds its maximum - 2^64-1 in
+ this case - the gauge is set to its maximum value.";
+ }
+
+ typedef phys-address {
+ type string {
+ pattern '^([0-9a-fA-F]{2}(:[0-9a-fA-F]{2})*)?$';
+ }
+ description
+ "A physical layer address, expressed as a series of pairs of
+ hexadecimal digits.";
+ }
+
+ typedef mac-address {
+ type string {
+ pattern '^[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){5}$';
+ }
+ description
+ "An IEEE 802 MAC address";
+ }
+}