+++ /dev/null
-module opendaylight-port-types {
- namespace "urn:opendaylight:flow:types:port";
- prefix port-types;
-
- import ietf-inet-types {prefix inet; revision-date "2010-09-24";}
- import ietf-yang-types {prefix yang; revision-date "2010-09-24";}
- 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 10mb-hd;
- bit 10mb-fd;
- bit 100mb-hd;
- bit 100mb-fd;
- bit 1gb-hd;
- bit 1gb-fd;
- bit 10gb-fd;
- bit 40gb-fd;
- bit 100gb-fd;
- bit 1tb-fd;
- bit other;
- bit copper;
- bit fiber;
- bit autoeng;
- bit pause;
- bit pause-asym;
- }
- }
-
- grouping common-port {
-
- leaf port-number {
- type uint32;
- }
-
- 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;
- }
- }
- }
- }
-}
\ No newline at end of file