All Downloads are FREE. Search and download functionalities are using the official Maven repository.

[email protected] Maven / Gradle / Ivy

There is a newer version: 0.22.2
Show newest version
module isis-topology {
    yang-version 1;
    namespace "urn:TBD:params:xml:ns:yang:network:isis-topology";
    // replace with IANA namespace when assigned
    prefix "isis";
    import network-topology {
        prefix nt;
        revision-date 2013-10-21;
    }
    import l3-unicast-igp-topology {
        prefix igp;
        revision-date 2013-10-21;
    }
    import ted {
        prefix ted;
        revision-date 2013-10-21;
    }

    organization "TBD";
    contact "TBD";
    description "ISIS Topology model";

    revision "2013-10-21" {
        description "Initial version";
    }
    typedef iso-system-id {
        description "ISO System ID. RFC 1237";
        type string {
            pattern '[0-9a-fA-F]{4}(\.[0-9a-fA-F]{4}){2}';
        }
    }

    typedef iso-pseudonode-id {
        description "ISO pseudonode id for broadcast network";
        type string {
            pattern '[0-9a-fA-F]{2}';
        }
    }
    typedef iso-net-id {
        description "ISO NET ID. RFC 1237";
        type string {
            pattern '[0-9a-fA-F]{2}((\.[0-9a-fA-F]{4}){6})';
        }
    }

    grouping isis-topology-type {
        container isis {
            presence "Indicates ISIS Topology";
        }
    }

    augment "/nt:network-topology/nt:topology/nt:topology-types/igp:l3-unicast-igp-topology" {
        uses isis-topology-type;
    }

    augment "/nt:network-topology/nt:topology/igp:igp-topology-attributes" {
        when "../nt:topology-types/igp:l3-unicast-igp-topology/isis";
        container isis-topology-attributes {
            leaf net {
                type iso-net-id;
            }
        }
    }

    augment "/nt:network-topology/nt:topology/nt:node/igp:igp-node-attributes" {
        when "../../nt:topology-types/igp:l3-unicast-igp-topology/isis";
        uses isis-node-attributes;
    }

    augment "/nt:network-topology/nt:topology/nt:link/igp:igp-link-attributes" {

        when "../../nt:topology-types/igp:l3-unicast-igp-topology/isis";
        uses isis-link-attributes;
    }

    grouping isis-node-attributes {
        container isis-node-attributes {
            container iso {
                leaf iso-system-id {
                    type iso-system-id;
                }
                leaf iso-pseudonode-id {
                    default "00";
                    type iso-pseudonode-id;
                }
            }
            leaf-list net {
                max-elements 3;
                type iso-net-id;
            }
            leaf-list multi-topology-id {
                description "List of Multi Topology Identifier upto 128 (0-127). RFC 4915";
                max-elements "128";
                type uint8 {
                    range "0..127";
                }
            }
            choice router-type {
                case level-2 {
                    leaf level-2 {
                        type empty;
                    }
                }
                case level-1 {
                    leaf level-1 {
                        type empty;
                    }
                }
                case level-1-2 {
                    leaf level-1-2 {
                        type empty;
                    }
                }
            }
            container ted {
                uses ted:ted-node-attributes;
            }
        }
    }

    grouping isis-link-attributes {
        container isis-link-attributes {
            leaf multi-topology-id {
                type uint8 {
                    range "0..127";
                }
            }
            container ted {
                uses ted:ted-link-attributes;
            }
        }
    }

    augment "/igp:igp-node-event" {
        uses isis-topology-type;
        uses isis-node-attributes;
    }

    augment "/igp:igp-link-event" {
        uses isis-topology-type;
        uses isis-link-attributes;
    }
} // Module isis-topology




© 2015 - 2024 Weber Informatics LLC | Privacy Policy