diff --git a/models/huawei/src/main/yang/ne-tnlm.yang b/models/huawei/src/main/yang/ne-tnlm.yang
new file mode 100644
index 0000000..73796f4
--- /dev/null
+++ b/models/huawei/src/main/yang/ne-tnlm.yang
@@ -0,0 +1,71 @@
+/*
+WARNING:
+This yang model is just for fuction ONOS opensource project demo purpose only,
+And is subject to change in future, Huawei does not commit provide compatibilty
+in commercial product.
+*/
+module ne-tnlm {
+    namespace "ne-tnlm";
+    prefix tnlm;
+
+    import ne-l3vpncomm-type {
+        prefix l3vpncomm-type;
+    }
+    import ne-tnlm-type {
+        prefix tnlmtype;
+    }
+    organization "Huawei Technologies Co., Ltd";
+    contact "Huawei Industrial Base
+        Bantian, Longgang
+        Shenzhen 518129
+        People's Republic of China
+        Website: http://www.huawei.com
+        Email: support@huawei.com";
+    description "VRP V800R010 Schema";
+    revision "2014-12-25" {
+        reference "Huawei VRPV8 Schema";
+    }
+    container devices {
+        list device {
+            key deviceid;
+            leaf deviceid {
+                type string;
+            }
+            container tnlm {
+                container tunnelPolicys {
+                    list tunnelPolicy {
+                        key tnlPolicyName;
+                        leaf tnlPolicyName {
+                            type string;
+                        }
+                        leaf tnlPolicyType {
+                            type tnlmtype:tnlmbaseTnlPolicyType;
+                        }
+                        container tpNexthops {
+                            list tpNexthop {
+                                key nexthopIPaddr;
+                                leaf nexthopIPaddr {
+                                    type "l3vpncomm-type:ipv4Address";
+                                }
+                                leaf tnlPolicyName {
+                                    type string;
+                                }
+                                container tpTunnels {
+                                    list tpTunnel {
+                                        key "tunnelName";
+                                        leaf autoTunnel {
+                                            type boolean;
+                                        }
+                                        leaf tunnelName {
+                                            type string;
+                                        }
+                                    }
+                                }
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file
