Adding OpenConfig YANG models.

Change-Id: I0a2fdd5826e80933cf4b9ae939ff3051acec02aa
diff --git a/models/openconfig/src/main/yang/platform/openconfig-platform-port.yang b/models/openconfig/src/main/yang/platform/openconfig-platform-port.yang
new file mode 100644
index 0000000..8964637
--- /dev/null
+++ b/models/openconfig/src/main/yang/platform/openconfig-platform-port.yang
@@ -0,0 +1,119 @@
+module openconfig-platform-port {
+
+  yang-version "1";
+
+  // namespace
+  namespace "http://openconfig.net/yang/platform/port";
+
+  prefix "oc-port";
+
+  // import some basic types
+  import openconfig-platform { prefix oc-platform; }
+  import openconfig-if-ethernet { prefix oc-eth; }
+  import openconfig-extensions { prefix oc-ext; }
+
+
+  // meta
+  organization "OpenConfig working group";
+
+  contact
+    "OpenConfig working group
+    www.openconfig.net";
+
+  description
+    "This module defines data related to PORT components in the openconfig-platform model";
+
+  oc-ext:openconfig-version "0.1.0";
+
+  revision "2016-10-24" {
+    description
+      "Initial revision";
+    reference "0.1.0";
+  }
+
+  // extension statements
+
+  // feature statements
+
+  // identity statements
+
+  // typedef statements
+
+  // grouping statements
+
+  grouping port-breakout-config {
+    description
+      "Configuration data for the port breakout mode";
+
+    leaf num-channels {
+      type uint8;
+      description
+        "Sets the number of channels to 'breakout' on a port
+        capable of channelization";
+    }
+
+    leaf channel-speed {
+      type identityref {
+        base oc-eth:ETHERNET_SPEED;
+      }
+      description
+        "Sets the channel speed on each channel -- the
+        supported values are defined by the
+        ETHERNET_SPEED identity";
+    }
+  }
+
+  grouping port-breakout-state {
+    description
+      "Operational state data for the port breakout mode ";
+  }
+
+  grouping port-breakout-top {
+    description
+      "Top-level grouping for port breakout data";
+
+    container breakout-mode {
+      description
+        "Top-level container for port breakout data";
+
+      container config {
+        description
+          "Configuration data for port breakout";
+
+        uses port-breakout-config;
+      }
+
+      container state {
+
+        config false;
+
+        description
+          "Operational state data for port breakout";
+
+        uses port-breakout-config;
+        uses port-breakout-state;
+      }
+    }
+  }
+
+  // data definition statements
+
+  // augment statements
+
+  augment "/oc-platform:components/oc-platform:component" {
+    description
+      "Adding port breakout data to physical platform data";
+
+    uses port-breakout-top {
+      when "./state/type = 'PORT'" {
+        description
+          "This data is valid only for PORT components";
+      }
+    }
+  }
+
+  // rpc statements
+
+  // notification statements
+
+}
\ No newline at end of file