module ietf-otn-types { namespace "urn:ietf:params:xml:ns:yang:ietf-otn-types"; prefix "otn-types"; organization "IETF CCAMP Working Group"; contact "WG Web: WG List: Editor: Haomian Zheng Editor: Aihua Guo Editor: Italo Busi Editor: Anurag Sharma Editor: Rajan Rao Editor: Sergio Belotti Editor: Victor Lopez Editor: Yunbo Li Editor: Yunbin Xu "; description "This module defines OTN types."; revision "2018-06-07" { description "Revision 0.5"; reference "draft-ietf-ccamp-otn-tunnel-model-02"; } identity tributary-slot-granularity { description "Tributary slot granularity"; reference "G.709/Y.1331, February 2016: Interfaces for the Optical Transport Network (OTN)"; } identity tsg-1.25G { base tributary-slot-granularity; description "1.25G tributary slot granularity"; } identity tsg-2.5G { base tributary-slot-granularity; description "2.5G tributary slot granularity"; } /* identity tsg-1.25Gand2.5G { base tributary-slot-granularity; description "Both 1.25G and 2.5G tributary slot granularity"; } */ identity tributary-protocol-type { description "Base identity for protocol framing used by tributary signals"; } identity prot-OTU1 { base tributary-protocol-type; description "OTU1 protocol (2.66G)"; } /* identity prot-OTU1e { base tributary-protocol-type; description "OTU1e type (11.04G)"; } identity prot-OTU1f { base tributary-protocol-type; description "OTU1f type (11.27G)"; } */ identity prot-OTU2 { base tributary-protocol-type; description "OTU2 type (10.70G)"; } identity prot-OTU2e { base tributary-protocol-type; description "OTU2e type (11.09G)"; } /* identity prot-OTU2f { base tributary-protocol-type; description "OTU2f type (11.31G)"; } */ identity prot-OTU3 { base tributary-protocol-type; description "OTU3 type (43.01G)"; } /* identity prot-OTU3e1 { base tributary-protocol-type; description "OTU3e1 type (44.57G)"; } identity prot-OTU3e2 { base tributary-protocol-type; description "OTU3e2 type (44.58G)"; } */ identity prot-OTU4 { base tributary-protocol-type; description "OTU4 type (111.80G)"; } identity prot-OTUCn { base tributary-protocol-type; description "OTUCn type (beyond 100G)"; } identity prot-ODU0 { base tributary-protocol-type; description "ODU0 protocol (1.24G)"; } identity prot-ODU1 { base tributary-protocol-type; description "ODU1 protocol (2.49G)"; } /* identity prot-ODU1e { base tributary-protocol-type; description "ODU1e protocol (10.35G)."; } identity prot-ODU1f { base tributary-protocol-type; description "ODU1f protocol (10.56G)."; } */ identity prot-ODU2 { base tributary-protocol-type; description "ODU2 protocol (10.03G)"; } identity prot-ODU2e { base tributary-protocol-type; description "ODU2e protocol (10.39G)"; } /* identity prot-ODU2f { base tributary-protocol-type; description "ODU2f protocol (10.60G)."; } */ identity prot-ODU3 { base tributary-protocol-type; description "ODU3 protocol (40.31G)"; } /* identity prot-ODU3e1 { base tributary-protocol-type; description "ODU3e1 protocol (41.77G)."; } identity prot-ODU3e2 { base tributary-protocol-type; description "ODU3e2 protocol (41.78G)."; } */ identity prot-ODU4 { base tributary-protocol-type; description "ODU4 protocol (104.79G)"; } identity prot-ODUFlex-cbr { base tributary-protocol-type; description "ODU Flex CBR protocol for transporting constant bit rate signal"; } identity prot-ODUFlex-gfp { base tributary-protocol-type; description "ODU Flex GFP protocol for transporting stream of packets using Generic Framing Procedure"; } identity prot-ODUCn { base tributary-protocol-type; description "ODUCn protocol (beyond 100G)"; } identity prot-1GbE { base tributary-protocol-type; description "1G Ethernet protocol"; } identity prot-10GbE-LAN { base tributary-protocol-type; description "10G Ethernet LAN protocol"; } identity prot-40GbE { base tributary-protocol-type; description "40G Ethernet protocol"; } identity prot-100GbE { base tributary-protocol-type; description "100G Ethernet protocol"; } identity client-signal { description "Base identity from which specific client signals for the tunnel are derived"; } identity client-signal-1GbE { base client-signal; description "Client signal type of 1GbE"; } identity client-signal-10GbE-LAN { base client-signal; description "Client signal type of 10GbE LAN"; } identity client-signal-10GbE-WAN { base client-signal; description "Client signal type of 10GbE WAN"; } identity client-signal-40GbE { base client-signal; description "Client signal type of 40GbE"; } identity client-signal-100GbE { base client-signal; description "Client signal type of 100GbE"; } identity client-signal-OC3_STM1 { base client-signal; description "Client signal type of OC3 & STM1"; } identity client-signal-OC12_STM4 { base client-signal; description "Client signal type of OC12 & STM4"; } identity client-signal-OC48_STM16 { base client-signal; description "Client signal type of OC48 & STM16"; } identity client-signal-OC192_STM64 { base client-signal; description "Client signal type of OC192 & STM64"; } identity client-signal-OC768_STM256 { base client-signal; description "Client signal type of OC768 & STM256"; } identity client-signal-ODU0 { base client-signal; description "Client signal type of ODU0 (1.24G)"; } identity client-signal-ODU1 { base client-signal; description "ODU1 protocol (2.49G)"; } identity client-signal-ODU2 { base client-signal; description "Client signal type of ODU2 (10.03G)"; } identity client-signal-ODU2e { base client-signal; description "Client signal type of ODU2e (10.39G)"; } identity client-signal-ODU3 { base client-signal; description "Client signal type of ODU3 (40.31G)"; } /* identity client-signal-ODU3e2 { base client-signal; description "Client signal type of ODU3e2 (41.78G)"; } */ identity client-signal-ODU4 { base client-signal; description "Client signal type of ODU4 (104.79G)"; } identity client-signal-ODUflex-cbr { base client-signal; description "Client signal type of ODU Flex CBR"; } identity client-signal-ODUflex-gfp { base client-signal; description "Client signal type of ODU Flex GFP"; } identity client-signal-ODUCn { base client-signal; description "Client signal type of ODUCn (beyond 100G)"; } identity client-signal-FC400 { base client-signal; description "Client signal type of Fibre Channel FC400"; } identity client-signal-FC800 { base client-signal; description "Client signal type of Fibre Channel FC800"; } identity client-signal-FICON-4G { base client-signal; description "Client signal type of Fibre Connection 4G"; } identity client-signal-FICON-8G { base client-signal; description "Client signal type of Fibre Connection 8G"; } identity client-signal-OTU1 { base client-signal; description "Client signal type of OTU1"; } identity client-signal-OTU2 { base client-signal; description "Client signal type of OTU2"; } identity client-signal-OTU2e { base client-signal; description "Client signal type of OTU2e"; } identity client-signal-OTU3 { base client-signal; description "Client signal type of OTU3"; } identity client-signal-OTU4 { base client-signal; description "Client signal type of OTU4"; } identity otn-label-range-type { description "Base identity from which specific OTN label range types derived"; } identity label-range-trib-slot { base otn-label-range-type; description "Defines a range of OTN tributary slots"; } identity label-range-trib-port { base otn-label-range-type; description "Defines a range of OTN tributary ports"; } grouping otn-link-bandwidth { list odulist { key "odu-type"; description "OTN bandwidth definition"; leaf odu-type { type identityref { base otn-types:tributary-protocol-type; } description "ODU type"; } leaf number { type uint16; description "Number of ODUs"; } } } grouping otn-path-bandwidth { leaf odu-type { type identityref { base otn-types:tributary-protocol-type; } description "ODU type"; } } grouping otn-label-restriction { leaf range-type { type identityref { base otn-types:otn-label-range-type; } } leaf tsg { type identityref { base otn-types:tributary-slot-granularity; } description "Tributary slot granularity."; reference "G.709/Y.1331, February 2016: Interfaces for the Optical Transport Network (OTN)"; } leaf priority { type uint8; description "priority."; } } grouping otn-link-label { choice otn-label-type { description "OTN label type"; case tributary-port { leaf tpn { type uint16 { range "1..4095"; } description "Tributary Port Number. Applicable in case of mux services."; reference "RFC7139: GMPLS Signaling Extensions for Control of Evolving G.709 Optical Transport Networks."; } } case tributary-slot { leaf ts { type uint16 { range "1..4095"; } description "Tributary Slot Number. Applicable in case of mux services."; reference "RFC7139: GMPLS Signaling Extensions for Control of Evolving G.709 Optical Transport Networks."; } } } } grouping otn-path-label { leaf tpn { type uint16 { range "1..4095"; } description "Tributary Port Number. Applicable in case of mux services."; reference "RFC7139: GMPLS Signaling Extensions for Control of Evolving G.709 Optical Transport Networks."; } leaf tsg { type identityref { base otn-types:tributary-slot-granularity; } description "Tributary slot granularity."; reference "G.709/Y.1331, February 2016: Interfaces for the Optical Transport Network (OTN)"; } leaf ts-list { type string { pattern "([1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?" + "(,[1-9][0-9]{0,3}(-[1-9][0-9]{0,3})?)*)"; } description "A list of available tributary slots ranging between 1 and 9999. For example 1-20,25,50-1000"; reference "RFC 7139: GMPLS Signaling Extensions for Control of Evolving G.709 Optical Transport Networks"; } } }