module opendaylight-port-types { namespace "urn:opendaylight:flow:types:port"; prefix port-types; import ietf-yang-types {prefix yang; revision-date "2013-07-15";} import opendaylight-queue-types {prefix queue-types; revision-date "2013-09-25";} revision "2013-09-25" { description "Initial revision of Port Inventory model"; } typedef port-reason { type enumeration { enum add; enum delete; enum update; } } typedef port-config { type bits { bit PORT-DOWN; bit NO-RECV; bit NO-FWD; bit NO-PACKET-IN; } } grouping port-state { leaf link-down { type boolean; } leaf blocked { type boolean; } leaf live { type boolean; } } typedef port-features { type bits { bit ten-mb-hd; bit ten-mb-fd; bit hundred-mb-hd; bit hundred-mb-fd; bit one-gb-hd; bit one-gb-fd; bit ten-gb-fd; bit forty-gb-fd; bit hundred-gb-fd; bit one-tb-fd; bit other; bit copper; bit fiber; bit autoeng; bit pause; bit pause-asym; } } typedef port-number-uni { description "Union port number: 4B number / string (reserved port name)"; type union { type uint32; type string; } } grouping common-port { leaf port-number { type port-number-uni; } leaf hardware-address { type yang:mac-address; description "MAC Address of the port"; } leaf configuration { type port-config; description "Bit map of OFPPC-* flags"; } leaf advertised-features { type port-features; description "Features being advertised by the port"; } } grouping flow-port-status { leaf reason { type port-reason; } uses flow-capable-port; } grouping queues { list queue { key "queue-id"; uses queue-types:queue-packet; } } grouping flow-capable-port { uses common-port; leaf name { type string; description "Human readable name of the port"; } container state { uses port-state; description "Description of state of port"; } leaf current-feature { type port-features; description "Bit map of OFPPF-* flags"; } leaf supported { type port-features; description "Features supported by the port"; } leaf peer-features { type port-features; description "Features advertised by peer"; } leaf current-speed { type uint32; units "kbps"; description "Current port bit rate in kbps"; } leaf maximum-speed { type uint32; units "kbps"; description "Max port bit rate in kbps"; } uses queues; } grouping port-mod { container port { list port { key "port-mod-order"; leaf port-mod-order { type uint32; } uses common-port; leaf mask { type port-config; description "Bitmap of OFPPC-* flags to be changed"; } leaf container-name { type string; } leaf port-name { type string; } leaf barrier { type boolean; } } } } }