<?xml version="1.0" encoding="gb2312" ?>
<xs:schema targetNamespace="http://www.h3c.com/netconf/config:1.0"
                  elementFormDefault="qualified"
                  xmlns="http://www.h3c.com/netconf/config:1.0"
                  xmlns:base="http://www.h3c.com/netconf/base:1.0"
                  xmlns:netconf ="urn:ietf:params:xml:ns:netconf:base:1.0"
                  xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:import namespace="http://www.h3c.com/netconf/base:1.0" schemaLocation="basetype.xsd"></xs:import>
  <xs:import schemaLocation="netconf.xsd" namespace="urn:ietf:params:xml:ns:netconf:base:1.0"></xs:import>

  <xs:annotation>
    <xs:documentation >
      Configuration reference for link aggregation
    </xs:documentation>
  </xs:annotation>

  <!-- lacpÓÅÏÈ¼¶ -->
  <xs:complexType name="LacpPriority">
    <xs:annotation>
      <xs:documentation>
        LACP priority
      </xs:documentation>
    </xs:annotation>
    <xs:simpleContent>
      <xs:restriction base="base:UnsignedInteger32">
        <xs:maxInclusive value="65535"></xs:maxInclusive>
        <xs:minInclusive value="0"></xs:minInclusive>
      </xs:restriction>
    </xs:simpleContent>
  </xs:complexType>

  <xs:element name="LAGG">
    <xs:complexType>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="Base" minOccurs="0">
          <xs:annotation>
            <xs:documentation>LAGG Global configuration information that specifies the set based on system</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:all>
              <xs:element name="SystemPriority" minOccurs="0" type="LacpPriority" nillable="true">
                <xs:annotation>
                  <xs:documentation>The priority assigned to the Actor System</xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="LoadSharingMode" type="base:UnsignedInteger64" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>
                    Global link-aggregation load sharing mode
                  </xs:documentation>
                </xs:annotation>
              </xs:element>
              <xs:element name="ManagementVlanList" type="base:VlanList" minOccurs="0" nillable="true">
                <xs:annotation>
                  <xs:documentation>
                    Global management VLAN list
                  </xs:documentation>
                </xs:annotation>
              </xs:element>
            </xs:all>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>

        <xs:element name="LAGGGroups" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The information of aggregation groups</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="LAGGGroup" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Aggregation group</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
                    <xs:element name="GroupId" minOccurs="0" type="base:UnsignedInteger32" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Aggregation group identifier
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="LinkMode" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Aggregation mode
                          1: Static aggregation
                          2: Dynamic aggregation
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:enumeration value="1"></xs:enumeration>
                            <xs:enumeration value="2"></xs:enumeration>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="LacpEdgeEnable" minOccurs="0" type="base:Boolean" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Edge aggregate interface function</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="LoadSharingMode" type="base:UnsignedInteger64" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Link-aggregation load sharing mode
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                  </xs:all>
                  <xs:attributeGroup ref="base:RowAttributeGroup"></xs:attributeGroup>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>

        <xs:element name="LAGGMembers" minOccurs="0">
          <xs:annotation>
            <xs:documentation>The information of member ports</xs:documentation>
          </xs:annotation>
          <xs:complexType>
            <xs:choice maxOccurs="unbounded">
              <xs:element name="LAGGMember" minOccurs="0" maxOccurs="unbounded">
                <xs:annotation>
                  <xs:documentation>Member port</xs:documentation>
                </xs:annotation>
                <xs:complexType>
                  <xs:all>
                    <xs:element name="IfIndex" minOccurs="0" type="base:NameAndIndexUnion" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Interface index of member port
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="GroupId" minOccurs="0" type="base:UnsignedInteger32" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          Aggregation group identifier
                        </xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="LacpMode" minOccurs="0" nillable="true">
                      <xs:annotation>
                        <xs:documentation>
                          LACP mode of a member port
                          1: Active
                          2: Passive
                        </xs:documentation>
                      </xs:annotation>
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:restriction base="base:UnsignedInteger32">
                            <xs:enumeration value="1"></xs:enumeration>
                            <xs:enumeration value="2"></xs:enumeration>
                          </xs:restriction>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="LacpShortPeriodEnable" minOccurs="0" type="base:Boolean" nillable="true">
                      <xs:annotation>
                        <xs:documentation>LACP short period function</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="ActorPortPriority" minOccurs="0" type="LacpPriority" nillable="true">
                      <xs:annotation>
                        <xs:documentation>The priority assigned to this port by the Actor</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                    <xs:element name="ManagementPortEnable" minOccurs="0" type="base:Boolean" nillable="true">
                      <xs:annotation>
                        <xs:documentation>Management port function</xs:documentation>
                      </xs:annotation>
                    </xs:element>
                  </xs:all>
                  <xs:attributeGroup ref="base:RowAttributeGroup"></xs:attributeGroup>
                </xs:complexType>
              </xs:element>
            </xs:choice>
            <xs:attributeGroup ref="base:TableAttributeGroup"></xs:attributeGroup>
          </xs:complexType>
        </xs:element>
      </xs:choice>
      <xs:attributeGroup ref="base:NodeAttributeGroup"></xs:attributeGroup>
    </xs:complexType>
  </xs:element>
</xs:schema>
