/*
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-type {
    namespace "ne-tnlm-type";
    prefix tnlm-type;
    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";
    }

    typedef tnlmbaseTnlPolicyType {
        type enumeration {
            enum invalid;
            enum tnlSelectSeq;
            enum tnlBinding;
        }
    }
}