<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns="urn:ietf:params:xml:ns:yang:ietf-interfaces"
  targetNamespace="urn:ietf:params:xml:ns:yang:ietf-interfaces"
  elementFormDefault="qualified" attributeFormDefault="unqualified"
  xml:lang="en" version="2011-09-07"
  xmlns:ncx="http://netconfcentral.org/ns/yuma-ncx"
  xmlns:nc="urn:ietf:params:xml:ns:netconf:base:1.0"
  xmlns:ianaift="urn:ietf:params:xml:ns:yang:iana-if-type">
  <xs:annotation>
    <xs:documentation>Converted from YANG file 'ietf-interfaces.yang' by yangdump version 2.2.1724
      
      Module: ietf-interfaces
      Organization: IETF NETMOD (NETCONF Data Modeling Language) Working Group
      Version: 2011-09-07
      Contact: WG Web:   &lt;http://tools.ietf.org/wg/netmod/&gt;
      WG List:  &lt;mailto:netmod@ietf.org&gt;
      
      WG Chair: David Kessens
      	  &lt;mailto:david.kessens@nsn.com&gt;
      
      WG Chair: Juergen Schoenwaelder
      	  &lt;mailto:j.schoenwaelder@jacobs-university.de&gt;
      
      Editor:   Martin Bjorklund
      	  &lt;mailto:mbj@tail-f.com&gt;</xs:documentation>
    <xs:documentation>This module contains a collection of YANG definitions for
      configuring network interfaces.
      
      Copyright (c) 2011 IETF Trust and the persons identified as
      authors of the code.  All rights reserved.
      
      Redistribution and use in source and binary forms, with or
      without modification, is permitted pursuant to, and subject
      to the license terms contained in, the Simplified BSD License
      set forth in Section 4.c of the IETF Trust's Legal Provisions
      Relating to IETF Documents
      (http://trustee.ietf.org/license-info).
      This version of this YANG module is part of RFC XXXX; see
      the RFC itself for full legal notices.</xs:documentation>
    <xs:appinfo>
      <ncx:source>/usr/share/yuma/modules/ietf/ietf-interfaces.yang</ncx:source>
      <ncx:organization>IETF NETMOD (NETCONF Data Modeling Language) Working Group</ncx:organization>
      <ncx:contact>WG Web:   &lt;http://tools.ietf.org/wg/netmod/&gt;
        WG List:  &lt;mailto:netmod@ietf.org&gt;
        
        WG Chair: David Kessens
        	  &lt;mailto:david.kessens@nsn.com&gt;
        
        WG Chair: Juergen Schoenwaelder
        	  &lt;mailto:j.schoenwaelder@jacobs-university.de&gt;
        
        Editor:   Martin Bjorklund
        	  &lt;mailto:mbj@tail-f.com&gt;</ncx:contact>
    </xs:appinfo>
    <xs:appinfo>
      <ncx:revision>
        <ncx:version>2011-09-07</ncx:version>
        <ncx:description>Initial revision.</ncx:description>
      </ncx:revision>
    </xs:appinfo>
  </xs:annotation>
  <xs:simpleType name="interface-ref">
    <xs:annotation>
      <xs:documentation>This type is used by data models that need to reference
        interfaces.</xs:documentation>
      <xs:appinfo>
        <ncx:path>/if:interfaces/if:interface/if:name</ncx:path>
      </xs:appinfo>
    </xs:annotation>
  </xs:simpleType>
  <xs:element name="interfaces">
    <xs:annotation>
      <xs:documentation>Interface parameters.</xs:documentation>
      <xs:appinfo>
        <ncx:config>true</ncx:config>
      </xs:appinfo>
    </xs:annotation>
    <xs:complexType>
      <xs:sequence>
        <xs:element name="interface" minOccurs="0"
          maxOccurs="unbounded">
          <xs:annotation>
            <xs:documentation>The list of configured interfaces on the device.</xs:documentation>
            <xs:appinfo>
              <ncx:ordered-by>system</ncx:ordered-by>
            </xs:appinfo>
          </xs:annotation>
          <xs:complexType>
            <xs:sequence>
              <xs:element name="name">
                <xs:annotation>
                  <xs:documentation>An arbitrary name for the interface.
                    
                    A device MAY restrict the allowed values for this leaf,
                    possibly depending on the type and location.
                    
                    For example, if a device has a single array of 8 ethernet
                    ports, the name might be restricted to be on the form
                    'ethN', where N is an integer between '1' and '8'.</xs:documentation>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:minLength value="1"/>
                    <xs:maxLength value="255"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="description" type="xs:string"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>A textual description of the interface.
                    
                    This leaf MAY be mapped to ifAlias by an implementation.
                    Such an implementation MAY restrict the length of the
                    value of this leaf so that it matches the restrictions
                    of ifAlias.</xs:documentation>
                  <xs:appinfo>
                    <ncx:reference>
                      <ncx:text>RFC 2863: The Interfaces Group MIB - ifAlias</ncx:text>
                      <ncx:url>http://www.ietf.org/rfc/rfc2863.txt</ncx:url>
                    </ncx:reference>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="type" type="ianaift:iana-if-type">
                <xs:annotation>
                  <xs:documentation>The type of the interface.
                    
                    When an interface entry is created, a server MAY
                    initialize the type leaf with a valid value, e.g., if it
                    is possible to derive the type from the name of the
                    interface.</xs:documentation>
                  <xs:appinfo>
                    <ncx:mandatory>true</ncx:mandatory>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="location" type="xs:string"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The device-specific location of the interface of a
                    particular type.  The format of the location string
                    depends on the interface type and the device.
                    
                    Media-specific modules must specify if the location
                    is needed for the given type.
                    
                    For example, if a device has a single array of 8 ethernet
                    ports, the location can be one of '1' to '8'.  As another
                    example, if a device has N cards of M ports, the location
                    can be on the form 'n/m'.
                    
                    When an interface entry is created, a server MAY
                    initialize the location leaf with a valid value, e.g., if
                    it is possible to derive the location from the name of
                    the interface.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="enabled" type="xs:boolean"
                default="true" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The desired state of the interface.
                    
                    This leaf contains the configured, desired state of the
                    interface.  Systems that implement the IF-MIB use the
                    value of this leaf to set IF-MIB.ifAdminStatus after an
                    ifEntry has been initialized, as described in RFC 2863.</xs:documentation>
                  <xs:appinfo>
                    <ncx:reference>
                      <ncx:text>RFC 2863: The Interfaces Group MIB - ifAdminStatus</ncx:text>
                      <ncx:url>http://www.ietf.org/rfc/rfc2863.txt</ncx:url>
                    </ncx:reference>
                  </xs:appinfo>
                </xs:annotation>
              </xs:element>
              <xs:element name="if-index" minOccurs="0"
                maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>The list of ifIndex values for all ifEntries that are
                    represented by this interface.  If there is a one-to-one
                    mapping between the interface and entries in the ifTable,
                    this leaf-list will have a single value.
                    
                    Media-specific modules must specify how the type is
                    mapped to entries in the ifTable.</xs:documentation>
                  <xs:appinfo>
                    <ncx:config>false</ncx:config>
                    <ncx:ordered-by>system</ncx:ordered-by>
                    <ncx:reference>
                      <ncx:text>RFC 2863: The Interfaces Group MIB - ifIndex</ncx:text>
                      <ncx:url>http://www.ietf.org/rfc/rfc2863.txt</ncx:url>
                    </ncx:reference>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:int">
                    <xs:minInclusive value="1"/>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:element name="mtu" type="xs:unsignedInt"
                minOccurs="0">
                <xs:annotation>
                  <xs:documentation>The size, in octets, of the largest packet that the
                    interface can send and receive.  This node might not be
                    valid for all interface types.
                    
                    Media-specific modules must specify any restrictions on
                    the mtu for their interface type.</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="link-up-down-trap-enable" minOccurs="0">
                <xs:annotation>
                  <xs:documentation>Indicates whether linkUp/linkDown SNMP traps should be
                    generated for this interface.
                    
                    If this node is not configured, the value 'enabled' is
                    operationally used by the server for interfaces which do
                    not operate on top of any other intertface (as defined in
                    the ifStackTable), and 'disabled' otherwise.</xs:documentation>
                  <xs:appinfo>
                    <ncx:reference>
                      <ncx:text>RFC 2863: The Interfaces Group MIB -
                        	  ifLinkUpDownTrapEnable</ncx:text>
                      <ncx:url>http://www.ietf.org/rfc/rfc2863.txt</ncx:url>
                    </ncx:reference>
                  </xs:appinfo>
                </xs:annotation>
                <xs:simpleType>
                  <xs:restriction base="xs:string">
                    <xs:enumeration value="enabled">
                      <xs:annotation>
                        <xs:appinfo>
                          <ncx:value>1</ncx:value>
                        </xs:appinfo>
                      </xs:annotation>
                    </xs:enumeration>
                    <xs:enumeration value="disabled">
                      <xs:annotation>
                        <xs:appinfo>
                          <ncx:value>2</ncx:value>
                        </xs:appinfo>
                      </xs:annotation>
                    </xs:enumeration>
                  </xs:restriction>
                </xs:simpleType>
              </xs:element>
              <xs:any minOccurs="0" maxOccurs="unbounded"
                namespace="##other" processContents="lax"/>
            </xs:sequence>
          </xs:complexType>
          <xs:key name="interfacekey110">
            <xs:selector xpath="."/>
            <xs:field xpath="name"/>
          </xs:key>
          <xs:unique name="interface_Unique1">
            <xs:selector xpath="."/>
            <xs:field xpath="type"/>
            <xs:field xpath="location"/>
          </xs:unique>
        </xs:element>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other"
          processContents="lax"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

