281c8134b9
Otherwise lxml.etree.XMLSchema complains. Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp> Signed-off-by: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
2016 lines
121 KiB
XML
2016 lines
121 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
||
<xs:schema
|
||
xmlns:xs="http://www.w3.org/2001/XMLSchema"
|
||
xmlns:yin="urn:ietf:params:xml:schema:yang:yin:1"
|
||
targetNamespace="urn:onf:of111:config:yang"
|
||
xmlns="urn:onf:of111:config:yang"
|
||
elementFormDefault="qualified"
|
||
attributeFormDefault="unqualified"
|
||
version="2011-12-07"
|
||
xml:lang="en"
|
||
xmlns:yang="urn:ietf:params:xml:ns:yang:ietf-yang-types"
|
||
xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types"
|
||
xmlns:of11-config="urn:onf:of111:config:yang">
|
||
<xs:import namespace="urn:ietf:params:xml:ns:yang:ietf-inet-types"
|
||
schemaLocation="ietf-inet-types.xsd"/>
|
||
<xs:import namespace="urn:ietf:params:xml:ns:yang:ietf-yang-types"
|
||
schemaLocation="ietf-yang-types.xsd"/>
|
||
<xs:import namespace="urn:ietf:params:xml:ns:netconf:base:1.0"
|
||
schemaLocation="../netconf/netconf.xsd"/>
|
||
<xs:annotation>
|
||
<xs:documentation> This schema was generated from the YANG module of-config1.1.1 by pyang
|
||
version 1.2. The schema describes an instance document consisting of the entire
|
||
configuration data store, operational data, rpc operations, and notifications. This
|
||
schema can thus NOT be used as-is to validate NETCONF PDUs. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:annotation>
|
||
<xs:documentation> NETCONF Operational Considerations Elements that are configurable,
|
||
optional and have a default value MAY be reported by replies to NETCONF
|
||
<get-config> requests. All non-configurable values SHOULD be reported by replies
|
||
to NETCONF <get> requests. Attemps to modify non-configurable elements with a
|
||
NETCONF <edit-config> operation MUST result in an 'operation-not-supported' error
|
||
with type 'application'. When validating an <edit‐config> operation the following
|
||
errors MUST be detected: * Delete requests for non-existent data. In this case a
|
||
'data-missing' error is returned. * Create requests for existent data. In this case a
|
||
'data-exists' error is returned. * If the NETCONF operation creates data nodes under a
|
||
'choice', any existing nodes from other branches are deleted. </xs:documentation>
|
||
</xs:annotation>
|
||
<!-- YANG typedefs -->
|
||
<xs:simpleType name="OFConfigId">
|
||
<xs:annotation>
|
||
<xs:documentation> Generic type of an identifier in OF-CONFIG </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:restriction base="inet:uri"> </xs:restriction>
|
||
</xs:simpleType>
|
||
<xs:simpleType name="OFConfigurationPointProtocolType">
|
||
<xs:annotation>
|
||
<xs:documentation> Possible protocols to connect ot an OF Configuration Point
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="ssh"/>
|
||
<xs:enumeration value="soap"/>
|
||
<xs:enumeration value="tls"/>
|
||
<xs:enumeration value="beep"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
<xs:simpleType name="OFOpenFlowVersionType">
|
||
<xs:annotation>
|
||
<xs:documentation> This enumeration contains the all OpenFlow versions released so far.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="not-applicable"/>
|
||
<xs:enumeration value="1.0"/>
|
||
<xs:enumeration value="1.0.1"/>
|
||
<xs:enumeration value="1.1"/>
|
||
<xs:enumeration value="1.2"/>
|
||
<xs:enumeration value="1.3"/>
|
||
<xs:enumeration value="1.3.1"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
<xs:simpleType name="datapath-id-type">
|
||
<xs:annotation>
|
||
<xs:documentation> The datapath-id type represents an OpenFlow datapath identifier.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:restriction base="xs:string">
|
||
<xs:pattern value="[0-9a-fA-F]{2}(:[0-9a-fA-F]{2}){7}"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
<xs:simpleType name="OFTenthOfAPercentType">
|
||
<xs:annotation>
|
||
<xs:documentation> This type defines a value in tenth of a percent. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:restriction base="xs:unsignedShort">
|
||
<xs:minInclusive value="0"/>
|
||
<xs:maxInclusive value="1000"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
<xs:simpleType name="OFUpDownStateType">
|
||
<xs:annotation>
|
||
<xs:documentation> Type to specify state information for a port or a connection.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="up"/>
|
||
<xs:enumeration value="down"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
<xs:simpleType name="OFPortRateType">
|
||
<xs:annotation>
|
||
<xs:documentation> Type to specify the rate of a port including the duplex transmission
|
||
feature. Possible rates are 10Mb, 100Mb, 1Gb, 10Gb, 40Gb, 100Gb, 1Tb or other. Rates
|
||
of 10Mb, 100Mb and 1 Gb can support half or full duplex transmission.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="10Mb-HD"/>
|
||
<xs:enumeration value="10Mb-FD"/>
|
||
<xs:enumeration value="100Mb-HD"/>
|
||
<xs:enumeration value="100Mb-FD"/>
|
||
<xs:enumeration value="1Gb-HD"/>
|
||
<xs:enumeration value="1Gb-FD"/>
|
||
<xs:enumeration value="10Gb"/>
|
||
<xs:enumeration value="40Gb"/>
|
||
<xs:enumeration value="100Gb"/>
|
||
<xs:enumeration value="1Tb"/>
|
||
<xs:enumeration value="other"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
<xs:simpleType name="OFActionType">
|
||
<xs:annotation>
|
||
<xs:documentation> The types of actions defined in OpenFlow Switch Specification
|
||
versions 1.2, 1.3, and 1.3.1</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="output"/>
|
||
<xs:enumeration value="copy-ttl-out"/>
|
||
<xs:enumeration value="copy-ttl-in"/>
|
||
<xs:enumeration value="set-mpls-ttl"/>
|
||
<xs:enumeration value="dec-mpls-ttl"/>
|
||
<xs:enumeration value="push-vlan"/>
|
||
<xs:enumeration value="pop-vlan"/>
|
||
<xs:enumeration value="push-mpls"/>
|
||
<xs:enumeration value="pop-mpls"/>
|
||
<xs:enumeration value="set-queue"/>
|
||
<xs:enumeration value="group"/>
|
||
<xs:enumeration value="set-nw-ttl"/>
|
||
<xs:enumeration value="dec-nw-ttl"/>
|
||
<xs:enumeration value="set-field"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
<xs:simpleType name="OFInstructionType">
|
||
<xs:annotation>
|
||
<xs:documentation> The types of instructions defined in OpenFlow Switch Specification
|
||
versions 1.2, 1.3, and 1.3.1. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="apply-actions"/>
|
||
<xs:enumeration value="clear-actions"/>
|
||
<xs:enumeration value="write-actions"/>
|
||
<xs:enumeration value="write-metadata"/>
|
||
<xs:enumeration value="goto-table"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
<xs:simpleType name="OFMatchFieldType">
|
||
<xs:annotation>
|
||
<xs:documentation> The types of match field defined in OpenFlow Switch Specification
|
||
versions 1.2, 1.3, and 1.3.1. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="input-port"/>
|
||
<xs:enumeration value="physical-input-port"/>
|
||
<xs:enumeration value="metadata"/>
|
||
<xs:enumeration value="ethernet-dest"/>
|
||
<xs:enumeration value="ethernet-src"/>
|
||
<xs:enumeration value="ethernet-frame-type"/>
|
||
<xs:enumeration value="vlan-id"/>
|
||
<xs:enumeration value="vlan-priority"/>
|
||
<xs:enumeration value="ip-dscp"/>
|
||
<xs:enumeration value="ip-ecn"/>
|
||
<xs:enumeration value="ip-protocol"/>
|
||
<xs:enumeration value="ipv4-src"/>
|
||
<xs:enumeration value="ipv4-dest"/>
|
||
<xs:enumeration value="tcp-src"/>
|
||
<xs:enumeration value="tcp-dest"/>
|
||
<xs:enumeration value="udp-src"/>
|
||
<xs:enumeration value="udp-dest"/>
|
||
<xs:enumeration value="sctp-src"/>
|
||
<xs:enumeration value="sctp-dest"/>
|
||
<xs:enumeration value="icmpv4-type"/>
|
||
<xs:enumeration value="icmpv4-code"/>
|
||
<xs:enumeration value="arp-op"/>
|
||
<xs:enumeration value="arp-src-ip-address"/>
|
||
<xs:enumeration value="arp-target-ip-address"/>
|
||
<xs:enumeration value="arp-src-hardware-address"/>
|
||
<xs:enumeration value="arp-target-hardware-address"/>
|
||
<xs:enumeration value="ipv6-src"/>
|
||
<xs:enumeration value="ipv6-dest"/>
|
||
<xs:enumeration value="ipv6-flow-label"/>
|
||
<xs:enumeration value="icmpv6-type"/>
|
||
<xs:enumeration value="icmpv6-code"/>
|
||
<xs:enumeration value="ipv6-nd-target"/>
|
||
<xs:enumeration value="ipv6-nd-source-link-layer"/>
|
||
<xs:enumeration value="ipv6-nd-target-link-layer"/>
|
||
<xs:enumeration value="mpls-label"/>
|
||
<xs:enumeration value="mpls-tc"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
<xs:simpleType name="hex-binary">
|
||
<xs:annotation>
|
||
<xs:documentation> hex binary encoded string </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:restriction base="xs:base64Binary"> </xs:restriction>
|
||
</xs:simpleType>
|
||
<!-- YANG groupings -->
|
||
<xs:group name="OFPortCurrentFeatureListType">
|
||
<xs:annotation>
|
||
<xs:documentation> The current features of a port. Elements in the type
|
||
OFPortCurrentFeatureListType are not configurable and can only be retrieved by
|
||
NETCONF <get> operations. Attemps to modify this element and its children with
|
||
a NETCONF <edit-config> operation MUST result in an 'operation-not-supported'
|
||
error with type 'application'. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:element name="rate" type="OFPortRateType">
|
||
<xs:annotation>
|
||
<xs:documentation> The transmission rate that is currently used. The value MUST
|
||
indicate a valid forwarding rate. The current Port Feature set MUST contain
|
||
this element exactly once. The other Port Feature sets MAY contain this
|
||
element more than once. If this element appears more than once in a Port
|
||
Feature set than the value MUST be unique within the Port Feature set.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="auto-negotiate" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies the administrative state of the forwarding rate
|
||
auto-negotiation protocol at this OpenFlow Port. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="medium">
|
||
<xs:annotation>
|
||
<xs:documentation> This element MUST indicate a valid physical medium used by
|
||
the OpenFlow Port. The current Port Feature set MUST contain this element
|
||
exactly once. The other Port Feature sets MAY contain this element more than
|
||
once. If this element appears more than once in a Port Feature set than the
|
||
value MUST be unique within the Port Feature set. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="copper"/>
|
||
<xs:enumeration value="fiber"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
<xs:element name="pause">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies if pausing of transmission is supported at all and
|
||
if yes if it is asymmetric or symmetric. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="unsupported"/>
|
||
<xs:enumeration value="symmetric"/>
|
||
<xs:enumeration value="asymmetric"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFPortOtherFeatureListType">
|
||
<xs:annotation>
|
||
<xs:documentation> The features of a port that are supported or advertised. If the
|
||
elements in the OFPortOtherFeatureListType ares used as configurable elements the
|
||
NETCONF <edit-config> operations MUST be implemented as follows: * The
|
||
'resource-id' element MUST be present in the path or in the filter at all
|
||
<edit-config> operations to identify the resource. * If the operation is
|
||
'merge' or 'replace', the element is created if it does not exist, and its value is
|
||
set to the value found in the XML RPC data. * If the operation is 'create', the
|
||
element is created if it does not exist. If the element already exists, a
|
||
'data‑exists' error is returned. * If the operation is 'delete', the element is
|
||
deleted if it exists. If the element does not exist, a 'data‑missing' error is
|
||
returned. If elements in the type OFPortOtherFeatureListType are used in an
|
||
non-configurable way, they only be retrieved by NETCONF <get> operations.
|
||
Attemps to modify this element and its children with a NETCONF <edit-config>
|
||
operation MUST result in an 'operation-not-supported' error with type 'application'.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:element name="rate" type="OFPortRateType" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The transmission rate that is supported or advertised.
|
||
Multiple transmissions rates are allowed. At least one element MUST be
|
||
present in the NETCONF data store. If none of this elements is are present
|
||
in a NETCONF <edit-config> operation 'create', 'merge' or 'replace'
|
||
and the parent element does not exist, a 'data-missing' error is returned.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="auto-negotiate" type="xs:boolean" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies if auto-negotiation of transmission parameters is
|
||
enabled for the port. This element is optional. If this element is not
|
||
present it defaults to 'true'. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="medium" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The transmission medium used by the port. Multiple media are
|
||
allowed. At least one element MUST be present in the NETCONF data store. If
|
||
none of this elements is are present in a NETCONF <edit-config>
|
||
operation 'create', 'merge' or 'replace' and the parent element does not
|
||
exist, a 'data-missing' error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="copper"/>
|
||
<xs:enumeration value="fiber"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
<xs:element name="pause" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies if pausing of transmission is supported at all and
|
||
if yes if it is asymmetric or symmetric. This element MUST be present in the
|
||
NETCONF data store. If this element is not present in a NETCONF
|
||
<edit-config> operation 'create', 'merge' or 'replace' and the parent
|
||
element does not exist, a 'data-missing' error is returned.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="unsupported"/>
|
||
<xs:enumeration value="symmetric"/>
|
||
<xs:enumeration value="asymmetric"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="DSAKeyValueType">
|
||
<xs:annotation>
|
||
<xs:documentation> DSA keys and the DSA signature algorithm are specified in 'FIPS PUB
|
||
186-2, Digital Signature Standard (DSS), U.S. Department of Commerce/National
|
||
Institute of Standards and Technology,
|
||
http://csrc.nist.gov/publications/fips/fips186-2/fips186-2.pdf'. DSA public key
|
||
values can have the following fields: P a prime modulus meeting the requirements of
|
||
the standard above Q an integer in the range 2**159 < Q < 2**160 which is a
|
||
prime divisor of P-1 G an integer with certain properties with respect to P and Q J
|
||
(P - 1) / Q Y G**X mod P (where X is part of the private key and not made public)
|
||
seed a DSA prime generation seed pgenCounter a DSA prime generation counter
|
||
Parameter J is avilable for inclusion solely for efficiency as it is calculatable
|
||
from P and Q. Parameters seed and pgenCounter are used in the DSA prime number
|
||
generation algorithm specified in the above standard. As such, they are optional but
|
||
MUST either both be present or both be absent. This prime generation algorithm is
|
||
designed to provide assurance that a weak prime is not being used and it yields a P
|
||
and Q value. Parameters P, Q, and G can be public and common to a group of users.
|
||
They might be known from application context. As such, they are optional but P and Q
|
||
MUST either both appear or both be absent. If all of P, Q, seed, and pgenCounter are
|
||
present, implementations are not required to check if they are consistent and are
|
||
free to use either P and Q or seed and pgenCounter. All parameters are encoded as
|
||
base64 values. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:element name="P" type="xs:base64Binary">
|
||
<xs:annotation>
|
||
<xs:documentation> This element is optional. It MUST be present in the NETCONF
|
||
data store, if the element 'Q' is present. If element 'Q' is present in a
|
||
NETCONF <edit-config> operation 'create', 'merge' or 'replace' and
|
||
this element is missing, a 'data-missing' error is returned.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="Q" type="xs:base64Binary">
|
||
<xs:annotation>
|
||
<xs:documentation> This element is optional. It MUST be present in the NETCONF
|
||
data store, if the element 'P' is present. If element 'P' is present in a
|
||
NETCONF <edit-config> operation 'create', 'merge' or 'replace' and
|
||
this element is missing, a 'data-missing' error is returned.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="J" type="xs:base64Binary">
|
||
<xs:annotation>
|
||
<xs:documentation> This element is optional. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="G" type="xs:base64Binary">
|
||
<xs:annotation>
|
||
<xs:documentation> This element is optional. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="Y" type="xs:base64Binary">
|
||
<xs:annotation>
|
||
<xs:documentation> This element MUST be present in the NETCONF data store. If
|
||
this element is not present in a NETCONF <edit-config> operation
|
||
'create', 'merge' or 'replace' and the parent element does not exist, a
|
||
'data-missing' error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="Seed" type="xs:base64Binary">
|
||
<xs:annotation>
|
||
<xs:documentation> This element is optional. It MUST be present in the NETCONF
|
||
data store, if the element 'PgenCounter' is present. If element
|
||
'PgenCounter' is present in a NETCONF <edit-config> operation
|
||
'create', 'merge' or 'replace' and this element is missing, a 'data-missing'
|
||
error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="PgenCounter" type="xs:base64Binary">
|
||
<xs:annotation>
|
||
<xs:documentation> This element is optional. It MUST be present in the NETCONF
|
||
data store, if the element 'Seed' is present. If element 'Seed' is present
|
||
in a NETCONF <edit-config> operation 'create', 'merge' or 'replace'
|
||
and this element is missing, a 'data-missing' error is returned.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFPortBaseTunnelType">
|
||
<xs:annotation>
|
||
<xs:documentation> A group of common elements that are included in every supported
|
||
tunnel type. Tunnels are modeled as logical ports. One pair of local/remote
|
||
endpoints must exist for a tunnel configuration. Only elements from one choice must
|
||
exist at a time. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:choice>
|
||
<xs:sequence>
|
||
<xs:element name="local-endpoint-ipv4-address" type="inet:ipv4-address">
|
||
<xs:annotation>
|
||
<xs:documentation> The IPv4 address of the local tunnel endpoint.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="remote-endpoint-ipv4-address" type="inet:ipv4-address">
|
||
<xs:annotation>
|
||
<xs:documentation> The IPv4 address of the remote tunnel endpoint.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
<xs:sequence>
|
||
<xs:element name="local-endpoint-ipv6-address" type="inet:ipv6-address">
|
||
<xs:annotation>
|
||
<xs:documentation> The IPv6 address of the local tunnel endpoint.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="remote-endpoint-ipv6-address" type="inet:ipv6-address">
|
||
<xs:annotation>
|
||
<xs:documentation> The IPv6 address of the remote tunnel endpoint.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
<xs:sequence>
|
||
<xs:element name="local-endpoint-mac-adress" type="yang:mac-address">
|
||
<xs:annotation>
|
||
<xs:documentation> The MAC address of the local tunnel endpoint.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="remote-endpoint-mac-adress" type="yang:mac-address">
|
||
<xs:annotation>
|
||
<xs:documentation> The MAC address of the remote tunnel endpoint.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:choice>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFPortIPGRETunnelType">
|
||
<xs:annotation>
|
||
<xs:documentation> Properties of a IP-in-GRE tunnel with key, checksum, and sequence
|
||
number information. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:group ref="OFPortBaseTunnelType"/>
|
||
<xs:element name="checksum-present" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Indicates presence of the GRE checksum. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="key-present" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Indicates presence of the GRE key. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="key" type="xs:unsignedInt">
|
||
<xs:annotation>
|
||
<xs:documentation> The (optional) key of the GRE tunnel. It MAY be used to set
|
||
the OXM_OF_TUNNEL_ID match field metadata in the OpenFlow protocol
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="sequence-number-present" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Indicates presence of the GRE sequence number.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFPortNVGRETunnelType">
|
||
<xs:annotation>
|
||
<xs:documentation> Properties of a NVGRE tunnel. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:group ref="OFPortBaseTunnelType"/>
|
||
<xs:element name="tni" type="xs:unsignedInt">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies the tenant network identifier assigned to all
|
||
packets sent on the tunnel </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="tni-resv" type="xs:unsignedInt">
|
||
<xs:annotation>
|
||
<xs:documentation> Used to set the reserved user-defined bits of the GRE key
|
||
field </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="tni-multicast-group" type="inet:ip-address">
|
||
<xs:annotation>
|
||
<xs:documentation> If IP multicast is used to support broadcast on the tunnel
|
||
this element specifies the corresponding multicast IP address
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFQueueType">
|
||
<xs:annotation>
|
||
<xs:documentation> This grouping specifies all properties of a queue resource. NETCONF
|
||
<edit-config> operations MUST be implemented as follows: * The 'resource-id'
|
||
element of OFResoureType MUST be present at all <edit-config> operations to
|
||
identify the port. * If the operation is 'merge' or 'replace', the element is
|
||
created if it does not exist, and its value is set to the value found in the XML RPC
|
||
data. * If the operation is 'create', the element is created if it does not exist.
|
||
If the element already exists, a 'data‑exists' error is returned. * If the operation
|
||
is 'delete', the element is deleted if it exists. If the element does not exist, a
|
||
'data‑missing' error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:group ref="OFResourceType"/>
|
||
<xs:element name="id" type="xs:unsignedLong" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This id identifies the OpenFlow Queue to OpenFlow
|
||
Controllers. It is assigned to an OpenFlow Queue latest when the OpenFlow
|
||
Queue is associated with and OpenFlow Logical Switch. If the OpenFlow Queue
|
||
is associated with an OpenFlow Logical Switch, this element MUST be unique
|
||
within the context of the OpenFlow Logical Switch. OpenFlow Capable Switch
|
||
implementations may choose to assign values to OpenFlow Queues that are
|
||
unique within the context of the OpenFlow Logical Switch. These id can be
|
||
used independent of assignments to OpenFlow Logical Switches. Other
|
||
implementations may assign values to this element only if the OpenFlow Queue
|
||
is assigned to an OpenFlow Logical Switch. If no value is currently assigned
|
||
to this element then this element MUST NOT be included in replies to NETCONF
|
||
<get> requests. Since this element is not configurable with the
|
||
NETCONF protocol it MUST NOT be included in replies to NETCONF
|
||
<get-config> requests. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="port" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> Reference to port resources in the Capable Switch. This
|
||
element associates an OpenFlow Queue with an OpenFlow Port. If the OpenFlow
|
||
Queue is associated with an OpenFlow Logical Switch S and this element is
|
||
present, then it MUST be set to the value of element resource-id of an
|
||
OpenFlow Port which is associated with the OpenFlow Logical Switch S. The
|
||
element MUST refer to an element at the following path:
|
||
/capable-switch/resources/port/resource-id </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="inet:uri"> </xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
<xs:element name="properties" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The queue properties currently configured.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="min-rate" minOccurs="0" type="OFTenthOfAPercentType">
|
||
<xs:annotation>
|
||
<xs:documentation> The minimal rate that is reserved for this queue
|
||
in 1/10 of a percent of the actual rate. This element is
|
||
optional. If not present a min-rate is not set.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="max-rate" minOccurs="0" type="OFTenthOfAPercentType">
|
||
<xs:annotation>
|
||
<xs:documentation> The maximum rate that is reserved for this queue
|
||
in 1/10 of a percent of the actual rate. This element is
|
||
optional. If not present the max-rate is not set.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="experimenter" minOccurs="0" maxOccurs="unbounded"
|
||
type="xs:unsignedInt">
|
||
<xs:annotation>
|
||
<xs:documentation> A list of experimenter identifiers of queue
|
||
properties used. This element is optional. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFOwnedCertificateType">
|
||
<xs:annotation>
|
||
<xs:documentation> This grouping specifies a certificate and a private key. It can be
|
||
used by an OpenFlow Logical Switch for authenticating itself to a controller when a
|
||
TLS connection is established. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:group ref="OFResourceType"/>
|
||
<xs:element name="certificate" type="xs:string">
|
||
<xs:annotation>
|
||
<xs:documentation> An X.509 certificate in DER format base64 encoded. This
|
||
element MUST be present in the NETCONF data store. If this element is not
|
||
present in a NETCONF <edit-config> operation 'create', 'merge' or
|
||
'replace' and the parent element does not exist, a 'data-missing' error is
|
||
returned. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="private-key">
|
||
<xs:annotation>
|
||
<xs:documentation> This element contains the private key corresponding to the
|
||
certificate. The private key is encoded as specified in XML-Signature Syntax
|
||
and Processing (http://www.w3.org/TR/2001/PR-xmldsig-core-20010820/).
|
||
Currently the specification only support DSA and RSA keys. This element MUST
|
||
be present in the NETCONF data store. If this element is not present in a
|
||
NETCONF <edit-config> operation 'create', 'merge' or 'replace' and the
|
||
parent element does not exist, a 'data-missing' error is returned.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="KeyValueType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFExternalCertificateType">
|
||
<xs:annotation>
|
||
<xs:documentation> This grouping specifies a certificate that can be used by an OpenFlow
|
||
Logical Switch for authenticating a controller when a TLS connection is established.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:group ref="OFResourceType"/>
|
||
<xs:element name="certificate" type="xs:string" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> An X.509 certificate in DER format base64 encoded. This
|
||
element MUST be present in the NETCONF data store. If this element is not
|
||
present in a NETCONF <edit-config> operation 'create', 'merge' or
|
||
'replace' and the parent element does not exist, a 'data-missing' error is
|
||
returned. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFConfigurationPointType">
|
||
<xs:annotation>
|
||
<xs:documentation> Representation of an OpenFlow Configuration Point. Instances of the
|
||
Configuration Point class SHOULD be stored persistently across reboots of the
|
||
OpenFlow Capable Switch. When a connection is established between an OpenFlow
|
||
Capable Switch and a Configuration Point the switch MUST store the connection
|
||
information in an instance of the Configuration Point class. If such an instance
|
||
does not exist, the OpenFlow Capable Switch MUST create an instance where it then
|
||
stores the connection information. An OpenFlow Capable Switch that cannot initiate a
|
||
connection to a configuration point does not have to implement the Configuration
|
||
Point class. It SHOULD block attempts to write to instances of the Configuration
|
||
Point class with NETCONF <edit-config> operations. NETCONF <edit-config>
|
||
operations MUST be implemented as follows: * The 'id' element MUST be present at all
|
||
<edit-config> operations to identify the configuration point. * If the
|
||
operation is 'merge' or 'replace', the element is created if it does not exist, and
|
||
its value is set to the value found in the XML RPC data. * If the operation is
|
||
'create', the element is created if it does not exist. If the element already
|
||
exists, a 'data‑exists' error is returned. * If the operation is 'delete', the
|
||
element is deleted if it exists. If the element does not exist, a 'data‑missing'
|
||
error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:element name="id" type="OFConfigId">
|
||
<xs:annotation>
|
||
<xs:documentation> A unique but locally arbitrary identifier that identifies a
|
||
Configuration Point within the context of an OpenFlow Capable Switch. This
|
||
element MUST be present to identify the configuration point.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="uri" type="inet:uri">
|
||
<xs:annotation>
|
||
<xs:documentation> A locator of the Configuration Point. It identifies the
|
||
location of the Configuration Point as a service resource and MUST include
|
||
all information necessary for the OpenFlow Capable Switch to connect to the
|
||
Configuration Point or re-connect to it should it become disconnected. Such
|
||
information MAY include, for example, protocol, fully qualified domain name,
|
||
IP address, port number, etc. This element MUST be present in the NETCONF
|
||
data store. If this element is not present in a NETCONF <edit-config>
|
||
operation 'create', 'merge' or 'replace' and the parent element does not
|
||
exist, a 'data-missing' error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="protocol" type="OFConfigurationPointProtocolType" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The transport protocol that the Configuration Point uses when
|
||
communicating via NETCONF with the OpenFlow Capable Switch. This element is
|
||
optional. If it is not present its value defaults to 'ssh'.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="RSAKeyValueType">
|
||
<xs:annotation>
|
||
<xs:documentation> RSA key values have two fields: Modulus and Exponent.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:element name="Modulus" type="xs:base64Binary">
|
||
<xs:annotation>
|
||
<xs:documentation> This element MUST be present in the NETCONF data store. If
|
||
this element is not present in a NETCONF <edit-config> operation
|
||
'create', 'merge' or 'replace' and the parent element does not exist, a
|
||
'data-missing' error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="Exponent" type="xs:base64Binary">
|
||
<xs:annotation>
|
||
<xs:documentation> This element MUST be present in the NETCONF data store. If
|
||
this element is not present in a NETCONF <edit-config> operation
|
||
'create', 'merge' or 'replace' and the parent element does not exist, a
|
||
'data-missing' error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFFlowTableType">
|
||
<xs:annotation>
|
||
<xs:documentation> Representation of an OpenFlow Flow Table Resource. Elements in the
|
||
type OFFlowTableType are not configurable and can only be retrieved by NETCONF
|
||
<get> operations. Attemps to modify this element and its children with a
|
||
NETCONF <edit-config> operation MUST result in an 'operation-not-supported'
|
||
error with type 'application'. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:group ref="OFResourceType"/>
|
||
<xs:element name="max-entries" type="xs:unsignedByte" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The maximum number of flow entries supported by the flow
|
||
table. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="next-tables" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> An array of resource-ids of all flow tables that can be
|
||
directly reached from this table using the 'goto-table' instruction.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="table-id" maxOccurs="unbounded" type="inet:uri"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="instructions" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of all instruction types supported by the flow
|
||
table. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="type" maxOccurs="unbounded" type="OFInstructionType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="matches" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of all match types supported by the flow table.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="type" maxOccurs="unbounded" type="OFMatchFieldType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="write-actions" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of all write action types supported by the flow
|
||
table. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="type" maxOccurs="unbounded" type="OFActionType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="apply-actions" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of all apply action types supported by the flow
|
||
table. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="type" maxOccurs="unbounded" type="OFActionType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="write-setfields" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of all 'set-field' action types supported by the
|
||
table using write actions. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="type" maxOccurs="unbounded" type="OFMatchFieldType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="apply-setfields" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of all 'set-field' action types supported by the
|
||
table using apply actions. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="type" maxOccurs="unbounded" type="OFMatchFieldType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="wildcards" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of all fields for which the table supports
|
||
wildcarding. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="type" maxOccurs="unbounded" type="OFMatchFieldType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="metadata-match" type="hex-binary" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element indicates the bits of the metadata field on
|
||
which the flow table can match. It is represented as 64-bit integer in
|
||
hexadecimal digits([0-9a-fA-F]) format. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="metadata-write" type="hex-binary" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element indicates the bits of the metadata field on
|
||
which flow table can write using the 'write-metadata' instruction. It is
|
||
represented as 64-bit integer in hexadecimal digits([0-9a-fA-F]) format.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFLogicalSwitchType">
|
||
<xs:annotation>
|
||
<xs:documentation> This grouping specifies all properties of an OpenFlow Logical Switch.
|
||
Elements of type OFLogicalSwitchType cannot be created or deleted with NETCONF
|
||
<edit-config> operations 'create' or 'delete'. The other NETCONF
|
||
<edit-config> operations MUST be implemented as follows: * The 'id' element
|
||
MUST be present at all <edit-config> operations to identify the OpenFlow
|
||
Logical Switch. * If the operation is 'merge' or 'replace', and the element does not
|
||
exist, a 'data-missing' error is returned. If the element exists its value is set to
|
||
the value found in the XML RPC data. * If the operation is 'create', a
|
||
'operation-not-supported' error with type 'application' is returned. * If the
|
||
operation is 'delete', 'operation-not-supported' error with type 'application' is
|
||
returned. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:element name="id" type="OFConfigId">
|
||
<xs:annotation>
|
||
<xs:documentation> A unique but locally arbitrary identifier that identifies a
|
||
Logical Switch within the context of an OpenFlow Capable Switch. It MUST be
|
||
persistent across reboots of the OpenFlow Capable Switch. This element MUST
|
||
be present to identify the OpenFlow Logical Switch. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="capabilities" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element contains all capability items that an OpenFlow
|
||
Logical Switch MAY implement. This element and its children can only be
|
||
retrieved by NETCONF <get> operation since it contain no configuration
|
||
data. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFLogicalSwitchCapabilitiesType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="datapath-id" type="datapath-id-type" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The datapath identifier of the Logical Switch that uniquely
|
||
identifies this Logical Switch within the context of all OpenFlow
|
||
Controllers associated with the OpenFlow Logical Switch. The datapath
|
||
identifier is a string value that MUST be formatted as a sequence of 8
|
||
2-digit hexadecimal numbers that are separated by colons, for example,
|
||
'01:23:45:67:89:ab:cd:ef'. When processing a datapath identifier, the case
|
||
of the decimal digits MUST be ignored. This element MUST be present in the
|
||
NETCONF data store. If this element is not present in a NETCONF
|
||
<edit-config> operation 'create', 'merge' or 'replace' and the parent
|
||
element does not exist, a 'data-missing' error is returned.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="enabled" type="xs:boolean" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element indicates the administrative state of the
|
||
OpenFlow Logical Switch. A value of 'false' means the OpenFlow Logical
|
||
Switch MUST NOT communicate with any OpenFlow Controllers, MUST NOT conduct
|
||
any OpenFlow processing, and SHOULD NOT be utilizing computational or
|
||
network resources of the underlying platform. This element is optional. If
|
||
this element is not present it defaults to 'false'. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="check-controller-certificate" type="xs:boolean" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element indicates the behavior of the OpenFlow Logical
|
||
Switch when connecting to an OpenFlow Controller. If set to value 'false',
|
||
the logical switch will connect to a controller without checking any
|
||
controller certificate. If set to value 'true', then the logical switch will
|
||
connect to a controller with element <protocol> set to 'TLS', only if
|
||
the controller provides a certificate that can be verified with one of the
|
||
certificates stored in the list called external-certificates in the OpenFlow
|
||
Capable Switch. If a certificate cannot be validated, the OpenFlow Logical
|
||
Switch MUST terminate communication with the corresponding OpenFlow
|
||
Controller, MUST NOT conduct any OpenFlow processing on requests of this
|
||
OpenFlow controller, and SHOULD NOT further utilize any computational or
|
||
network resources of for dealing with this connection. If set to value
|
||
'true', the OpenFlow Logical Switch MUST NOT connect to any OpenFlow
|
||
Controller that does not provide a certificate. This implies that it cannot
|
||
connect to an OpenFlow controller that has the value of element protocol set
|
||
to 'TCP'. Only connections with protocol 'TLS' are possible in this case.
|
||
This element is optional. If this element is not present it defaults to
|
||
'false'. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="lost-connection-behavior" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element indicates the the behavior of the OpenFlow
|
||
Logical Switch in case it loses contact with all OpenFlow Controllers. There
|
||
are two alternative modes in such a case: fails secure mode and fail
|
||
standalone mode as defined by the OpenFlow protocol specification version
|
||
1.2, section 6.4. These are the only allowed values for this element.
|
||
Default is the fail secure mode. This element is optional. If this element
|
||
is not present it defaults to 'failSecureMode'. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="failSecureMode"/>
|
||
<xs:enumeration value="failStandaloneMode"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
<xs:element name="controllers" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of controllers for this Logical switch. The element
|
||
'id' of OFControllerType MUST be unique within this list.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="controller" maxOccurs="unbounded">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of OpenFlow Controllers that are
|
||
assigned to the OpenFlow Logical Switch. The switch MUST NOT
|
||
connect to any OpenFlow Controller that is not contained in this
|
||
list. NETCONF <edit-config> operations MUST be implemented
|
||
as follows: * The 'id' element MUST be present at all
|
||
<editconfig> operations to identify the controller. * If
|
||
the operation is 'merge' or 'replace', the element is created if
|
||
it does not exist, and its value is set to the value found in
|
||
the XML RPC data. * If the operation is 'create', the element is
|
||
created if it does not exist. If the element already exists, a
|
||
'data‑exists' error is returned. * If the operation is 'delete',
|
||
the element is deleted if it exists. If the element does not
|
||
exist, a 'data‑missing' error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFControllerType"/>
|
||
</xs:sequence>
|
||
<xs:attribute name="operation" type="xs:string"/>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
<xs:key name="key_controllers_controller">
|
||
<xs:selector xpath="of11-config:controller"/>
|
||
<xs:field xpath="of11-config:id"/>
|
||
</xs:key>
|
||
</xs:element>
|
||
<xs:element name="resources" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of identifiers of all resources of the OpenFlow
|
||
Capable Switch that the OpenFlow Logical Switch has exclusive or
|
||
non-exclusive access to. A resource is identified by the value of its
|
||
resource-identifier element. For each resource identifier value in this
|
||
list, there MUST be an element with a matching resource identifier value in
|
||
the resources list of the OpenFlow Capable Switch. Identifiers of this list
|
||
are contained in elements indicating the type of resource: 'port', 'queue',
|
||
'certificate', or 'flow-table'. Depending on the type, different constraints
|
||
apply. These are specified in separate descriptions per type. At present the
|
||
elements in this lists are not configurable and can only be retrieved by
|
||
NETCONF <get> or <getconfig> operations. Attemps to modify this
|
||
element and its children with a NETCONF <edit-config> operation MUST
|
||
result in an 'operation-not-supported' error with type 'application'.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="port" minOccurs="0" maxOccurs="unbounded">
|
||
<xs:annotation>
|
||
<xs:documentation> A resource identifier of a port of the OpenFlow
|
||
Capable Switch that the OpenFlow Logical Switch has exclusive
|
||
access to. The elements in this list MUST refer to elements at
|
||
the following path: /capable-switch/resources/port/resource-id
|
||
Elements in this list MUST be unique. This means each port
|
||
element can only be referenced once. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="inet:uri"> </xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
<xs:element name="queue" minOccurs="0" maxOccurs="unbounded">
|
||
<xs:annotation>
|
||
<xs:documentation> A resource identifier of a queue of the OpenFlow
|
||
Capable Switch that the OpenFlow Logical Switch has exclusive
|
||
access to. The elements in this list MUST refer to elements at
|
||
the following path: /capable-switch/resources/queue/resource-id
|
||
Elements in this list MUST be unique. This means each queue
|
||
element can only be referenced once. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="inet:uri"> </xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
<xs:element name="certificate" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The resource identifier of the owned certificate
|
||
in the OpenFlow Capable Switch that the OpenFlow Logical Switch
|
||
uses to identify itself. This element MUST NOT occur more than
|
||
once in an OpenFlow Logical Switch's resource list. If no such
|
||
element is in an OpenFlow Logical Switch's resource list, then
|
||
the OpenFlow Logical Switch does not authenticate itself towards
|
||
an OpenFloe Controller with a certificate. If this element is
|
||
present, then the OpenFlow Logical Switch MUST provide this
|
||
certificate for authentication to an OpenFlow Controller when
|
||
setting up a TLS connection. For TCP connections this element is
|
||
irrelevant. The element MUST refer to an element at the
|
||
following path:
|
||
/capable-switch/resources/owned-certificate/resource-id
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="inet:uri"> </xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
<xs:element name="flow-table" minOccurs="0" maxOccurs="unbounded">
|
||
<xs:annotation>
|
||
<xs:documentation> A resource identifier of a flow table of the
|
||
OpenFlow Capable Switch that the OpenFlow Logical Switch has
|
||
exclusive access to. The elements in this list MUST refer to
|
||
elements at the following path:
|
||
/capable-switch/resources/flow-table/resource-id Elements in
|
||
this list MUST be unique. This means each flow-table element can
|
||
only be referenced once. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="inet:uri"> </xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="KeyValueType">
|
||
<xs:annotation>
|
||
<xs:documentation> The KeyValue element contains a single public key that may be useful
|
||
in validating the signature. NETCONF <edit-config> operations MUST be
|
||
implemented as follows: * Exactly one of the elemenst 'DSAKeyValue' or 'RSAKeyValue'
|
||
all <edit-config> operations. * If the operation is 'merge' or 'replace', the
|
||
element is created if it does not exist, and its value is set to the value found in
|
||
the XML RPC data. * If the operation is 'create', the element is created if it does
|
||
not exist. If the element already exists, a 'data‑exists' error is returned. * If
|
||
the operation is 'delete', the element is deleted if it exists. If the element does
|
||
not exist, a 'data‑missing' error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:choice>
|
||
<xs:sequence>
|
||
<xs:element name="DSAKeyValue">
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="DSAKeyValueType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
<xs:sequence>
|
||
<xs:element name="RSAKeyValue">
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="RSAKeyValueType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:choice>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFLogicalSwitchCapabilitiesType">
|
||
<xs:annotation>
|
||
<xs:documentation> This grouping specifies all properties of an OpenFlow logical
|
||
switch's capabilities. Elements in the type OFLogicalSwitchCapabilitiesType are not
|
||
configurable and can only be retrieved by NETCONF <get> operations. Attemps to
|
||
modify this element and its children with a NETCONF <edit-config> operation
|
||
MUST result in an 'operation-not-supported' error with type 'application'.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:element name="max-buffered-packets" type="xs:unsignedInt">
|
||
<xs:annotation>
|
||
<xs:documentation> The maximum number of packets the logical switch can buffer
|
||
when sending packets to the controller using packet-in messages.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="max-tables" type="xs:unsignedByte">
|
||
<xs:annotation>
|
||
<xs:documentation> The number of flow tables supported by the logical switch.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="max-ports" type="xs:unsignedInt">
|
||
<xs:annotation>
|
||
<xs:documentation> The number of flow tables supported by the logical switch.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="flow-statistics" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies if the logical switch supports flow statistics.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="table-statistics" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies if the logical switch supports table statistics.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="port-statistics" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies if the logical switch supports port statistics.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="group-statistics" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies if the logical switch supports group statistics.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="queue-statistics" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies if the logical switch supports queue statistics.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="reassemble-ip-fragments" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies if the logical switch supports reassemble IP
|
||
fragments. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="block-looping-ports" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> 'true' indicates that a switch protocol outside of OpenFlow,
|
||
such as 802.1D Spanning Tree, will detect topology loops and block ports to
|
||
prevent packet loops. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="reserved-port-types">
|
||
<xs:annotation>
|
||
<xs:documentation> Specify generic forwarding actions such as sending to the
|
||
controller, flooding, or forwarding using non-OpenFlow methods, such as
|
||
'normal' switch processing. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="type" minOccurs="0" maxOccurs="unbounded">
|
||
<xs:simpleType>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="all"/>
|
||
<xs:enumeration value="controller"/>
|
||
<xs:enumeration value="table"/>
|
||
<xs:enumeration value="inport"/>
|
||
<xs:enumeration value="any"/>
|
||
<xs:enumeration value="normal"/>
|
||
<xs:enumeration value="flood"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="group-types">
|
||
<xs:annotation>
|
||
<xs:documentation> Specify the group types supported by the logical switch.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="type" minOccurs="0" maxOccurs="unbounded">
|
||
<xs:simpleType>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="all"/>
|
||
<xs:enumeration value="select"/>
|
||
<xs:enumeration value="indirect"/>
|
||
<xs:enumeration value="fast-failover"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="group-capabilities">
|
||
<xs:annotation>
|
||
<xs:documentation> Specify the group capabilities supported by the logical
|
||
switch. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="capability" minOccurs="0" maxOccurs="unbounded">
|
||
<xs:simpleType>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="select-weight"/>
|
||
<xs:enumeration value="select-liveness"/>
|
||
<xs:enumeration value="chaining"/>
|
||
<xs:enumeration value="chaining-check"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="action-types">
|
||
<xs:annotation>
|
||
<xs:documentation> Specify the action types supported by the logical switch.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="type" minOccurs="0" maxOccurs="unbounded"
|
||
type="OFActionType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="instruction-types">
|
||
<xs:annotation>
|
||
<xs:documentation> Specify the instruction types supported by the logical
|
||
switch. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="type" minOccurs="0" maxOccurs="unbounded"
|
||
type="OFInstructionType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFPortType">
|
||
<xs:annotation>
|
||
<xs:documentation> This element specifies all properties of an OpenFlow resource of type
|
||
OpenFlow Port. It represent a physical port or a logical port of the OpenFlow
|
||
Capable Switch and can be assigned for exclusive use to an OpenFlow Logical Switch.
|
||
A logical port represents a tunnel endpoint as described in the OpenFlow protocol
|
||
specification versions 1.3 - 1.3.1. NETCONF <edit-config> operations MUST be
|
||
implemented as follows: * The 'resource-id' element of OFResoureType MUST be present
|
||
at all <edit-config> operations to identify the port. * If the operation is
|
||
'merge' or 'replace', the element is created if it does not exist, and its value is
|
||
set to the value found in the XML RPC data. * If the operation is 'create', the
|
||
element is created if it does not exist. If the element already exists, a
|
||
'data‑exists' error is returned. * If the operation is 'delete', the element is
|
||
deleted if it exists. If the element does not exist, a 'data‑missing' error is
|
||
returned. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:group ref="OFResourceType"/>
|
||
<xs:element name="number" type="xs:unsignedLong" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This number identifies the OpenFlow Port to OpenFlow
|
||
Controllers. It is assigned to an OpenFlow Port latest when the OpenFlow
|
||
Port is associated with and OpenFlow Logical Switch. If the OpenFlow Port is
|
||
associated with an OpenFlow Logical Switch, this element MUST be unique
|
||
within the context of the OpenFlow Logical Switch. OpenFlow Capable Switch
|
||
implementations may choose to assign values to OpenFlow Ports that are
|
||
unique within the context of the OpenFlow Logical Switch. These numbers can
|
||
be used independent of assignments to OpenFlow Logical Switches. Other
|
||
implementations may assign values to this element only if the OpenFlow Port
|
||
is assigned to an OpenFlow Logical Switch. If no value is currently assigned
|
||
to this element then this element MUST NOT be included in replies to NETCONF
|
||
<get> requests. Since this element is not configurable with the
|
||
NETCONF protocol it MUST NOT be included in replies to NETCONF
|
||
<get-config> requests. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="name" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element assists OpenFlow Controllers in identifying
|
||
OpenFlow Ports. This element is not to be set by the OP-CONFIG protocol, but
|
||
it is set by the switch implementation. It may be set at start-up time of an
|
||
OpenFlow Capable Switch or when the OpenFlow Port is assigned to an OpenFlow
|
||
Logical Switch. It MAY also be not set at all. If this element is set to a
|
||
value other than the empty string when being assigned to an OpenFlow Logical
|
||
Switch, then the value of this element MUST be unique within the context of
|
||
the OpenFlow Logical Switch. If no value or the empty string is currently
|
||
assigned to this element then this element MUST not be included in replies
|
||
to NETCONF <get> requests. Since this element is not configurable with
|
||
the NETCONF protocol it MUST NOT be included in replies to NETCONF
|
||
<get-config> requests. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="xs:string">
|
||
<xs:minLength value="1"/>
|
||
<xs:maxLength value="16"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
<xs:element name="current-rate" type="xs:unsignedInt" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element indicates the current bit rate of the port. Its
|
||
values is to be provided in units of kilobit per second (kbps). This element
|
||
is only valid if the element called 'rate' in the current Port Features has
|
||
a value of 'other'. Since this element is not configurable with the NETCONF
|
||
protocol it MUST NOT be included in replies to NETCONF <get-config>
|
||
requests. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="max-rate" type="xs:unsignedInt" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element indicates the maximum bit rate of the port. Its
|
||
values is to be provided in units of kilobit per second (kbps). This element
|
||
is only valid if the element called 'rate' in the current Port Features has
|
||
a value of 'other'. Since this element is not configurable with the NETCONF
|
||
protocol it MUST NOT be included in replies to NETCONF <get-config>
|
||
requests. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="configuration" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element represents the general adminitrative
|
||
configuration of the OpenFlow Port. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="admin-state" minOccurs="0" type="OFUpDownStateType">
|
||
<xs:annotation>
|
||
<xs:documentation> The administrative state of the port. If true,
|
||
the port has been administratively brought down and SHOULD not
|
||
be used by OpenFlow. This element is optional. If this element
|
||
is not present it defaults to 'up'. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="no-receive" minOccurs="0" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> If true, packets received at this OpenFlow port
|
||
SHOULD be dropped. This element is optional. If this element is
|
||
not present it defaults to 'false'. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="no-forward" minOccurs="0" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> If true, packets forwarded to this OpenFlow port
|
||
SHOULD be dropped. This element is optional. If this element is
|
||
not present it defaults to 'false'. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="no-packet-in" minOccurs="0" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> If true, packets received on that port that
|
||
generate a table miss should never trigger a packet-in message
|
||
to the OpenFlow Controller. This element is optional. If this
|
||
element is not present it defaults to 'false'.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
<xs:attribute name="operation" type="xs:string"/>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="state" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element represents the general operational state of the
|
||
OpenFlow Port. Children of this element are not configurable and can only be
|
||
retrieved by NETCONF <get> operations. Attemps to modify this element
|
||
and its children with a NETCONF <edit-config> operation MUST result in
|
||
an 'operation-not-supported' error with type 'application'.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="oper-state" minOccurs="0" type="OFUpDownStateType">
|
||
<xs:annotation>
|
||
<xs:documentation> If the value of this element is 'down', it
|
||
indicates that there is no physical link present.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="blocked" minOccurs="0" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> If the value of this element is 'true', it
|
||
indicates that a switch protocol outside of OpenFlow, such as
|
||
802.1D Spanning Tree, is preventing the use of this OpenFlow
|
||
port for OpenFlow flooding. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="live" minOccurs="0" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> If the value of this element is 'true', it
|
||
indicates that this OpenFlow Port is live and can be used for
|
||
fast failover. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:choice minOccurs="0">
|
||
<xs:element name="features" minOccurs="0">
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="current" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The features (rates, duplex, etc.) of the
|
||
port, that are currently in use. Children of this element
|
||
are not configurable and can only be retrieved by NETCONF
|
||
<get> operations. Attemps to modify this element and
|
||
its children with a NETCONF <edit-config> operation
|
||
MUST result in an 'operation-not-supported' error with type
|
||
'application'. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFPortCurrentFeatureListType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="advertised" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The features (rates, duplex, etc.) of the
|
||
port, that are advertised to the peer port. NETCONF
|
||
<edit-config> operations MUST be implemented as
|
||
follows: * The 'resource-id' element of OFResoureType MUST
|
||
be present in the path or in the filter at all
|
||
<edit-config> operations to identify the port. * If
|
||
the operation is 'merge' or 'replace', the element is
|
||
created if it does not exist, and its value is set to the
|
||
value found in the XML RPC data. * If the operation is
|
||
'create', the element is created if it does not exist. If
|
||
the element already exists, a 'data‑exists' error is
|
||
returned. * If the operation is 'delete', the element is
|
||
deleted if it exists. If the element does not exist, a
|
||
'data‑missing' error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group minOccurs="0" ref="OFPortOtherFeatureListType"/>
|
||
</xs:sequence>
|
||
<xs:attribute name="operation" type="xs:string"/>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="supported" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The features (rates, duplex, etc.) of the
|
||
port, that are supported on the port. Children of this
|
||
element are not configurable and can only be retrieved by
|
||
NETCONF <get> operations. Attemps to modify this
|
||
element and its children with a NETCONF <edit-config>
|
||
operation MUST result in an 'operation-not-supported' error
|
||
with type 'application'. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFPortOtherFeatureListType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="advertised-peer" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The features (rates, duplex, etc.) that are
|
||
currently advertised by the peer port. Children of this
|
||
element are not configurable and can only be retrieved by
|
||
NETCONF <get> operations. Attemps to modify this
|
||
element and its children with a NETCONF <edit-config>
|
||
operation MUST result in an 'operation-not-supported' error
|
||
with type 'application'. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFPortOtherFeatureListType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:choice>
|
||
<xs:annotation>
|
||
<xs:documentation> Tunnels are modeled as logical ports. Elements in this
|
||
choice are not configurable and can only be retrieved by NETCONF
|
||
<get> operations. Attemps to modify this element and its children
|
||
with a NETCONF <edit-config> operation MUST result in an
|
||
'operation-not-supported' error with type 'application'. Only elements
|
||
from one choice must exist at a time. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:element name="tunnel" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> Properties of a basic IP-in-GRE tunnel.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFPortBaseTunnelType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
<xs:sequence>
|
||
<xs:element name="ipgre-tunnel" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> Properties of a IP-in-GRE tunnel.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFPortIPGRETunnelType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
<xs:sequence>
|
||
<xs:element name="vxlan-tunnel" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> Properties of a VxLAN tunnel. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFPortVXLANTunnelType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
<xs:sequence>
|
||
<xs:element name="nvgre-tunnel" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> Properties of a NVGRE tunnel. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFPortNVGRETunnelType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:choice>
|
||
</xs:choice>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFResourceType">
|
||
<xs:annotation>
|
||
<xs:documentation> This element specifies a generic OpenFlow resource that is used as a
|
||
basis for specific resources. Even though this element is not used on its own the
|
||
following rules for NETCONF operations MUST be obeyed also by elemnts using this
|
||
element. NETCONF <edit-config> operations MUST be implemented as follows: *
|
||
The 'id' element MUST be present at all <edit-config> operations to identify
|
||
the resource. * If the operation is 'merge' or 'replace', the element is created if
|
||
it does not exist, and its value is set to the value found in the XML RPC data. * If
|
||
the operation is 'create', the element is created if it does not exist. If the
|
||
element already exists, a 'data‑exists' error is returned. * If the operation is
|
||
'delete', the element is deleted if it exists. If the element does not exist, a
|
||
'data‑missing' error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:element name="resource-id" type="inet:uri">
|
||
<xs:annotation>
|
||
<xs:documentation> A unique but locally arbitrary identifier that uniquely
|
||
identifies an OpenFlow Port within the context of an OpenFlow Logical
|
||
Switch. It MUST be persistent across reboots of the OpenFlow Capable Switch.
|
||
This element MUST be present to identify the OpenFlow resource.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFPortVXLANTunnelType">
|
||
<xs:annotation>
|
||
<xs:documentation> Properties of a VxLAN tunnel. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:group ref="OFPortBaseTunnelType"/>
|
||
<xs:element name="vni-valid" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Indicates how the corresponding flag should be set in packets
|
||
sent on the tunnel. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="vni" type="xs:unsignedInt">
|
||
<xs:annotation>
|
||
<xs:documentation> Virtual network identifier assigned to all packets sent on
|
||
the tunnel. A VxLAN implementation MAY use the this element to set the
|
||
OXM_OF_TUNNEL_ID match field metadata in the OpenFlow protocol.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="vni-multicast-group" type="inet:ip-address">
|
||
<xs:annotation>
|
||
<xs:documentation> If IP multicast is used to support broadcast on the tunnel
|
||
this specifies the corresponding multicast IP address </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="udp-source-port" type="inet:port-number">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies the outer UDP source port number. If this element
|
||
is absent, the port number MAY be chosen dynamically. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="udp-dest-port" type="inet:port-number">
|
||
<xs:annotation>
|
||
<xs:documentation> Specifies the outer UDP destination port number. It is
|
||
intended to reserve a port number for VxLAN at IANA. As soon as this has
|
||
been reserved, the reserved number SHOULD become the default value for this
|
||
element. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="udp-checksum" type="xs:boolean">
|
||
<xs:annotation>
|
||
<xs:documentation> Boolean flag to indicate whether or not the outer UDP
|
||
checksum should be set </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:group name="OFControllerType">
|
||
<xs:annotation>
|
||
<xs:documentation> This grouping specifies all properties of an OpenFlow Logical Switch
|
||
Controller. NETCONF <edit-config> operations MUST be implemented as follows: *
|
||
The 'id' element MUST be present at all <edit-config> operations to identify
|
||
the controller. * If the operation is 'merge' or 'replace', the element is created
|
||
if it does not exist, and its value is set to the value found in the XML RPC data. *
|
||
If the operation is 'create', the element is created if it does not exist. If the
|
||
element already exists, a 'data‑exists' error is returned. * If the operation is
|
||
'delete', the element is deleted if it exists. If the element does not exist, a
|
||
'data‑missing' error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:sequence>
|
||
<xs:element name="id" type="OFConfigId">
|
||
<xs:annotation>
|
||
<xs:documentation> A unique but locally arbitrary identifier that uniquely
|
||
identifies an OpenFlow Controller within the context of an OpenFlow Capable
|
||
Switch. It MUST be persistent across reboots of the OpenFlow Capable Switch.
|
||
This element MUST be present to identify the OpenFlow controller.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="role" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element indicates the role of the OpenFlow Controller.
|
||
Semantics of these roles are specified in the OpenFlow specifications 1.0 -
|
||
1.3.1. It is RECOMMENDED that the roles of controllers are not configured by
|
||
OF-CONFIG 1.1.1 but determined using the OpenFlow protocol. OpenFlow
|
||
Controllers configured by OF-CONFIG 1.1.1 have the default role 'equal'. A
|
||
role other than 'equal' MAY be assigned to a controller. Roles 'slave' and
|
||
'equal' MAY be assigned to multiple controllers. Role 'master' MUST NOT be
|
||
assigned to more than one controller. This element is optional. If this
|
||
element is not present it defaults to 'equal'. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="master"/>
|
||
<xs:enumeration value="slave"/>
|
||
<xs:enumeration value="equal"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
<xs:element name="ip-address" type="inet:ip-address" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The IP address of the OpenFlow Controller. This IP address is
|
||
used by the OpenFlow Logical Switch when connecting to the OpenFlow
|
||
Controller. This element MUST be present in the NETCONF data store. If this
|
||
element is not present in a NETCONF <edit-config> operation 'create',
|
||
'merge' or 'replace' and the parent element does not exist, a 'data-missing'
|
||
error is returned. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="port" type="inet:port-number" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The TCP port number at the OpenFlow Controller. This port
|
||
number is used by the OpenFlow Logical Switch when connecting to the
|
||
OpenFlow Controller using TCP or TLS. The default value is 6633. This
|
||
element is optional. If this element is not present it defaults to 6633.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="local-ip-address" type="inet:ip-address" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The local IP address of the OpenFlow Logical Switch when
|
||
connecting to this OpenFlow Controller. It is the source IP address of
|
||
packets sent to this OpenFlow Controller. If present, this element overrides
|
||
any default IP address. This element is optional. Attempts to set this
|
||
element to an IP address that cannot be used by the OpenFlow Logical Switch
|
||
MUST result in an 'bad-element' error with type 'application'. The
|
||
<error-info> element MUST contain the name of this element in the
|
||
<bad-element> element. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="local-port" type="inet:port-number" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The local TCP port number of the OpenFlow Logical Switch when
|
||
connecting to this OpenFlow Controller. It is the source TCP port number of
|
||
packets sent to this OpenFlow Controller. If this element is not present,
|
||
then the port number is chosen arbitrarily by the OpenFlow Logical Switch.
|
||
This element is optional. Attempts to set this element to a port number that
|
||
cannot be used by the OpenFlow Logical Switch MUST result in an
|
||
'bad-element' error with type 'application'. The <error-info> element
|
||
MUST contain the name of this element in the <bad-element> element.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="protocol" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> The default protocol tha the OpenFlow Logical Switch uses to
|
||
connect to this OpenFlow Controller. 'tls' is the default value. This
|
||
element is optional. If this element is not present it defaults to 'tls'.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:simpleType>
|
||
<xs:restriction base="xs:string">
|
||
<xs:enumeration value="tcp"/>
|
||
<xs:enumeration value="tls"/>
|
||
</xs:restriction>
|
||
</xs:simpleType>
|
||
</xs:element>
|
||
<xs:element name="state" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This container holds connection state information that
|
||
indicate the connection state of the OpenFlow Logical Switch and the
|
||
OpenFlow protocol version used for the connection. Children of this element
|
||
are not configurable and can only be retrieved by NETCONF <get>
|
||
operations. Attemps to modify this element and its children with a NETCONF
|
||
<edit-config> operation MUST result in an 'operation-not-supported'
|
||
error with type 'application'. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="connection-state" minOccurs="0" type="OFUpDownStateType">
|
||
<xs:annotation>
|
||
<xs:documentation> This object indicates the connections state of
|
||
the OpenFlow Logical Switch to this controller.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="current-version" minOccurs="0"
|
||
type="OFOpenFlowVersionType">
|
||
<xs:annotation>
|
||
<xs:documentation> This object indicates the version of the OpenFlow
|
||
protocol used between the OpenFlow Logical Switch and this
|
||
Controller. If element connection-state has value 'up', then
|
||
this element indicates the actual version in use. If element
|
||
connection-state has value 'down', then this element indicates
|
||
the version number of the last established connection with this
|
||
OpenFlow Controller. The value of this element MAY be persistent
|
||
across reboots of the OpenFlow Logical Switch in such a case. If
|
||
element connection-state has value 'down'and there is no
|
||
information about previous connections to this OpenFlow
|
||
controller, then this element is not present or has the value
|
||
'0'. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="supported-versions" minOccurs="0" maxOccurs="unbounded"
|
||
type="OFOpenFlowVersionType">
|
||
<xs:annotation>
|
||
<xs:documentation> This list of elements includes one entry for each
|
||
OpenFlow protocol version that this OpenFlow controller
|
||
supports. It SHOULD contain all </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="local-ip-address-in-use" minOccurs="0"
|
||
type="inet:ip-address">
|
||
<xs:annotation>
|
||
<xs:documentation> The local IP address of the OpenFlow Logical
|
||
Switch when connecting to this OpenFlow Controller. It is the
|
||
source IP address of packets sent to this OpenFlow Controller.
|
||
If present, this element overrides any default IP address.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="local-port-in-use" minOccurs="0" type="inet:port-number">
|
||
<xs:annotation>
|
||
<xs:documentation> The local TCP port number of the OpenFlow Logical
|
||
Switch. If element connection-state has value 'up', then this
|
||
element indicates the actual port number in use. If element
|
||
connection-state has value 'down', then this element indicates
|
||
the port number used for the last attempt to establish a
|
||
connection with this OpenFlow Controller.??? When connecting to
|
||
this OpenFlow Controller, it is the source TCP port number of
|
||
packets sent to this OpenFlow Controller. If this element has
|
||
its defaqult value 0, then port number is chosen arbitrarily by
|
||
the OpenFlow Logical Switch. </xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:group>
|
||
<xs:element name="capable-switch">
|
||
<xs:annotation>
|
||
<xs:documentation> The OpenFlow Capable Switch serves as the root element for an
|
||
OpenFlow configuration. It contains logical switches and resources that can be
|
||
assigned to logical switches. It may have relations to OpenFlow Configuration
|
||
Points. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="id" type="inet:uri">
|
||
<xs:annotation>
|
||
<xs:documentation> A unique but locally arbitrary identifier that uniquely
|
||
identifies a Capable Switch within the context of potential OpenFlow
|
||
Configuration Points. It MUST be persistent across reboots of the
|
||
OpenFlow Capable Switch. This element MUST be present in the NETCONF
|
||
data store. If this element is not present in a NETCONF
|
||
<edit-config> operation 'create', 'merge' or 'replace' and the
|
||
parent element does not exist, a 'data-missing' error is returned.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="config-version" minOccurs="0" type="xs:string">
|
||
<xs:annotation>
|
||
<xs:documentation> The maximum supported OF-CONFIG version that is supported
|
||
by the OpenFlow Capable Switch. For switches implementing this version
|
||
of the OF-CONFIG protocol this MUST always be 1.1.1. This object can be
|
||
used to identify the OF-CONFIG version a capable switch supports
|
||
beginning with version 1.1.1 of OF-CONFIG. In addtion the supported
|
||
version can be determined by the namespace the OpenFlow Capable Switch
|
||
returns to configuration request of an element (like capable-switch)
|
||
that is present in all OF-CONFIG versions specified so far. This is the
|
||
only possiblity to identify OF-CONFIG versions prior to OF-CONFIG 1.1.1.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
</xs:element>
|
||
<xs:element name="configuration-points" minOccurs="0">
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="configuration-point" maxOccurs="unbounded">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of all Configuration Points known to
|
||
the OpenFlow Capable Switch that may manage it using
|
||
OF-CONFIG. The element 'id' of OFConfigurationType MUST be
|
||
unique within this list. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFConfigurationPointType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
<xs:key name="key_configuration-points_capableswitch_configuration-point">
|
||
<xs:selector xpath="of11-config:configuration-point"/>
|
||
<xs:field xpath="of11-config:id"/>
|
||
</xs:key>
|
||
</xs:element>
|
||
<xs:element name="resources" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> A lists containing all resources of the OpenFlow Capable
|
||
Switch that can be used by OpenFlow Logical Switches. Resources are
|
||
listed here independent of their actual assignment to OpenFlow Logical
|
||
Switches. They may be available to be assigned to an OpenFlow Logical
|
||
Switch or already in use by an OpenFlow Logical Switch.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="port" minOccurs="0" maxOccurs="unbounded">
|
||
<xs:annotation>
|
||
<xs:documentation> The list contains all port resources of the
|
||
OpenFlow Capable Switch. The element 'resource-id' of
|
||
OFPortType MUST be unique within this list.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFPortType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="queue" minOccurs="0" maxOccurs="unbounded">
|
||
<xs:annotation>
|
||
<xs:documentation> The list contains all queue resources of the
|
||
OpenFlow Capable Switch. The element 'resource-id' of
|
||
OFQueueType MUST be unique within this list.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFQueueType"/>
|
||
</xs:sequence>
|
||
<xs:attribute name="operation" type="xs:string"/>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="owned-certificate" minOccurs="0" maxOccurs="unbounded">
|
||
<xs:annotation>
|
||
<xs:documentation> The list contains all owned certificate
|
||
resources of the OpenFlow Capable Switch. The element
|
||
'resource-id' of OFOwnedCertificateType MUST be unique
|
||
within this list. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFOwnedCertificateType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="external-certificate" minOccurs="0"
|
||
maxOccurs="unbounded">
|
||
<xs:annotation>
|
||
<xs:documentation> The list contains all external certificate
|
||
resources of the OpenFlow Capable Switch. The element
|
||
'resource-id' of OFExternalCertificateType MUST be unique
|
||
within this list. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFExternalCertificateType"/>
|
||
</xs:sequence>
|
||
<xs:attribute name="operation" type="xs:string"/>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
<xs:element name="flow-table" minOccurs="0" maxOccurs="unbounded">
|
||
<xs:annotation>
|
||
<xs:documentation> The list contains all flow table resources of
|
||
the OpenFlow Capable Switch. The element 'resource-id' of
|
||
OFFlowTableType MUST be unique within this list.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFFlowTableType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
<xs:key name="key_resources_capable-switch_port">
|
||
<xs:selector xpath="of11-config:port"/>
|
||
<xs:field xpath="of11-config:resource-id"/>
|
||
</xs:key>
|
||
<xs:key name="key_resources_capable-switch_queue">
|
||
<xs:selector xpath="of11-config:queue"/>
|
||
<xs:field xpath="of11-config:resource-id"/>
|
||
</xs:key>
|
||
<xs:key name="key_resources_capable-switch_owned-certificate">
|
||
<xs:selector xpath="of11-config:owned-certificate"/>
|
||
<xs:field xpath="of11-config:resource-id"/>
|
||
</xs:key>
|
||
<xs:key name="key_resources_capable-switch_external-certificate">
|
||
<xs:selector xpath="of11-config:external-certificate"/>
|
||
<xs:field xpath="of11-config:resource-id"/>
|
||
</xs:key>
|
||
<xs:key name="key_resources_capable-switch_flow-table">
|
||
<xs:selector xpath="of11-config:flow-table"/>
|
||
<xs:field xpath="of11-config:resource-id"/>
|
||
</xs:key>
|
||
</xs:element>
|
||
<xs:element name="logical-switches" minOccurs="0">
|
||
<xs:annotation>
|
||
<xs:documentation> This element contains a list of all OpenFlow Logical
|
||
Switches available at the OpenFlow Capable Switch. </xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:element name="switch" maxOccurs="unbounded">
|
||
<xs:annotation>
|
||
<xs:documentation> The list of all OpenFlow Logical Switches on
|
||
the OpenFlow Capable Switch. The element 'resource-id' of
|
||
OFLogicalSwitchType MUST be unique within this list.
|
||
</xs:documentation>
|
||
</xs:annotation>
|
||
<xs:complexType>
|
||
<xs:sequence>
|
||
<xs:group ref="OFLogicalSwitchType"/>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
<xs:key name="key_logical-switches_capable-switch_switch">
|
||
<xs:selector xpath="of11-config:switch"/>
|
||
<xs:field xpath="of11-config:id"/>
|
||
</xs:key>
|
||
</xs:element>
|
||
</xs:sequence>
|
||
</xs:complexType>
|
||
</xs:element>
|
||
</xs:schema>
|