module ioam-sb-trace { yang-version 1; namespace "urn:cisco:params:xml:ns:yang:ioam-sb-trace"; prefix ioam-sb-trace; import ietf-interfaces { prefix if; } organization "Cisco Systems, Inc."; contact "Author: Srihari Raghavan srihari@cisco.com"; description "This YANG module defines a component that describing the configuration of in-band OAM device configuration for trace elements. "; revision 2017-03-27 { description "ietf-interfaces prefix changed to default value to be compatible with LeafRefContext (ODL tool for checking leafrefs in runtime)"; } revision 2016-05-12 { description "Base model for in-band OAM trace device configuration."; reference ""; } container ioam-trace-config { description "Device specific configuration for in-band OAM trace."; list trace-config { key "trace-config-name"; ordered-by system; description "Set of ioam trace configurations that group parameters required to enable iOAM6 tracing at a service node"; leaf trace-config-name { type string { length "0..255"; } mandatory true; description "Unique identifier for each node tracing configuration"; } leaf acl-name { type string; description "The ACL name associated to classify and apply this trace config"; } leaf trace-type { type uint8 { range "3|7|9|17|25|31"; } mandatory true; description "Trace type that defines the trace element variant. Moving from LSB to MSB, each bit represents node_id, ingress_if_id, egress_if_id, timestamp, app_data and others are undefined. Currently, the supported values are 0x03, 0x07, 0x09, 0x11, 0x19 and 0x1f."; } leaf trace-num-elt { type uint8; mandatory true; description "Number of trace elements to be inserted in the tracing options."; } leaf trace-tsp { type enumeration { enum seconds { value 0; description "Timestamp in seconds."; } enum milliseconds { value 1; description "Timestamp in milli seconds."; } enum microseconds { value 2; description "Timestamp in micro seconds."; } enum nanoseconds { value 3; description "Timestamp in nano seconds."; } } mandatory true; description "This field depicts the delay domain of the trace path, whether it is in seconds, milliseconds, microseconds or nanoseconds."; } leaf trace-op { type enumeration { enum add { value 0; description "Add new and fill trace information."; } enum update { value 1; description "Update existing trace information."; } enum remove { value 2; description "Decap or remove existing trace information."; } } mandatory true; description "The type of trace element operation that the service node handling this profile should do. The options are to add the trace elements, update the trace elements or to remove the trace elements."; } leaf trace-app-data { type uint32; description "Application specific data to be added by the node"; } leaf node-id { type uint32; mandatory true; description "iOAM Service Node id assigned to this node"; } list node-interfaces { key "index"; ordered-by system; description "List of node's interfaces on which the trace configuration need to be applied. Typically this is to all interfaces but can be filtered."; leaf index { type uint32; mandatory true; description "Index for the interfaces list"; } leaf intf-name { type if:interface-ref; mandatory true; description "Instance of ietf-interfaces:interface-ref"; } } /*** links to ioam-sb-data-export ***/ leaf data-export-profile-name { type string; description "The data export profile name with server information to send data to."; } /*** Transport encap profiles. Not used currently ***/ leaf transport-encap-profile-name { type string; description "The transport encap profile name with sub configurations for handling transport encap."; } /*** list: end ***/ } /*** container: end ***/ } /*** module: end ***/ }