submodule dot1Qv2-types { belongs-to dot1Qv2 { prefix dot1Q; } import ieee-types { prefix ieee; } import yang-types { prefix yang; } description "Common types used within dot1Q."; revision "2015-03-16" { description "Initial revision."; } typedef nameType { type string { length "0..32"; } } typedef portNumberType { type uint16; } typedef priorityType { type uint8 { range "0..7"; } } typedef pcpSelectionType { type enumeration { enum 8P0D; enum 7P1D; enum 6P2D; enum 5P3D; } } typedef acceptableFrameType { type enumeration { enum admit-only-VLAN-tagged-frames; enum admit-only-untagged-and-priority-tagged-frames; enum admit-all-frames; } } typedef ingressFilteringType { type enumeration { enum enabled; enum disabled; } } typedef serviceAccessPrioritySelectionType { type enumeration { enum enabled; enum disabled; } } typedef protocolTemplateFormatType { type enumeration { enum Ethernet; enum RFC1042; enum SNAP; enum LLC; } } typedef etherType { // To be defined. type string { pattern '[0-9a-fA-F]{2}-[0-9a-fA-F]{2}'; } } typedef protocolIdType { // To be defined. type string { pattern '[0-9a-fA-F]{2}(-[0-9a-fA-F]{2}){4}'; } } typedef SAPAddressType { type ieee:mac-address; } typedef learningConstraintType { type enumeration { enum undefined; enum S; enum I; } } typedef VID-FID-allocationType { type enumeration { enum undefined; enum fixed; enum dynamic; } } typedef portType { type enumeration { enum provider-nework; enum customer-network; enum customer-edge; } } grouping bridgeInfo { leaf address { type ieee:mac-address; } leaf name { type nameType; } leaf num-ports { type portNumberType; } leaf up-time { config false; type yang:counter32; units seconds; } } grouping priorityRegenerationTable { leaf priority0 { type priorityType; } leaf priority1 { type priorityType; } leaf priority2 { type priorityType; } leaf priority3 { type priorityType; } leaf priority4 { type priorityType; } leaf priority5 { type priorityType; } leaf priority6 { type priorityType; } leaf priority7 { type priorityType; } } grouping pcpDecodingTable { container pcp0 { leaf priority { type priorityType; } leaf drop-eligible { type boolean; } } container pcp1 { leaf priority { type priorityType; } leaf drop-eligible { type boolean; } } container pcp2 { leaf priority { type priorityType; } leaf drop-eligible { type boolean; } } container pcp3 { leaf priority { type priorityType; } leaf drop-eligible { type boolean; } } container pcp4 { leaf priority { type priorityType; } leaf drop-eligible { type boolean; } } container pcp5 { leaf priority { type priorityType; } leaf drop-eligible { type boolean; } } container pcp6 { leaf priority { type priorityType; } leaf drop-eligible { type boolean; } } container pcp7 { leaf priority { type priorityType; } leaf drop-eligible { type boolean; } } } grouping pcpEncodingTable { container priority0 { leaf pcp-dei-false { type priorityType; } leaf pcp-dei-true { type priorityType; } } container priority1 { leaf pcp-dei-false { type priorityType; } leaf pcp-dei-true { type priorityType; } } container priority2 { leaf pcp-dei-false { type priorityType; } leaf pcp-dei-true { type priorityType; } } container priority3 { leaf pcp-dei-false { type priorityType; } leaf pcp-dei-true { type priorityType; } } container priority4 { leaf pcp-dei-false { type priorityType; } leaf pcp-dei-true { type priorityType; } } container priority5 { leaf pcp-dei-false { type priorityType; } leaf pcp-dei-true { type priorityType; } } container priority6 { leaf pcp-dei-false { type priorityType; } leaf pcp-dei-true { type priorityType; } } container priority7 { leaf pcp-dei-false { type priorityType; } leaf pcp-dei-true { type priorityType; } } } grouping serviceAccessPriorityTable { leaf priority0 { type priorityType; } leaf priority1 { type priorityType; } leaf priority2 { type priorityType; } leaf priority3 { type priorityType; } leaf priority4 { type priorityType; } leaf priority5 { type priorityType; } leaf priority6 { type priorityType; } leaf priority7 { type priorityType; } } grouping trafficClassTable { // To be defined } grouping databaseIndex { leaf database-id { type uint16; } leaf address { type ieee:mac-address; } leaf vid { type ieee:vlanid; } } grouping portMap { list port-map { key "port-number"; leaf port-number { type portNumberType; } leaf map { // Need to work on this type enumeration { enum forward; enum filter; enum forward-filter; } } } } }