backing up
[vsorcdistro/.git] / ryu / build / lib.linux-armv7l-2.7 / ryu / lib / of_config / of-config-1.0.xsd
1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3            elementFormDefault="qualified"
4            targetNamespace="urn:onf:params:xml:ns:onf:of12:config"
5            xmlns="urn:onf:params:xml:ns:onf:of12:config"
6            xmlns:of12-config="urn:onf:params:xml:ns:onf:of12:config"
7            xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types">
8     <xs:import namespace="urn:ietf:params:xml:ns:yang:ietf-inet-types"
9                schemaLocation="ietf-inet-types.xsd"/>
10     <xs:import namespace="urn:ietf:params:xml:ns:netconf:base:1.0"
11                schemaLocation="../netconf/netconf.xsd"/>
12     <xs:element name="capable-switch" type="OFCapableSwitchType">
13         <xs:annotation>
14             <xs:documentation>The OpenFlow Capable Switch and its configuration points, logical
15             switches and resources available to logical switches. </xs:documentation>
16         </xs:annotation>
17     </xs:element>
18     <xs:simpleType name="OFConfigID">
19         <xs:restriction base="xs:string"/>
20     </xs:simpleType>
21     <xs:complexType name="OFCapableSwitchType">
22         <xs:annotation>
23             <xs:documentation>Representation of an OpenFlow Capable Switch.</xs:documentation>
24         </xs:annotation>
25         <xs:sequence>
26             <xs:element name="id" type="OFConfigID">
27                 <xs:annotation>
28                     <xs:documentation>An unique but locally arbitrary identifier that identifies a
29                     Capable Switch towards management systems and that is persistent across
30                     reboots of the system. </xs:documentation>
31                 </xs:annotation>
32             </xs:element>
33             <xs:element name="configuration-points" type="OFConfigurationPointListType">
34                 <xs:annotation>
35                     <xs:documentation>The list of all configuration points known to the OpenFlow
36                     Capable Switch that may manage it using OF-CONFIG. </xs:documentation>
37                 </xs:annotation>
38             </xs:element>
39             <xs:element name="resources" type="OFCapableSwitchResourceListType">
40                 <xs:annotation>
41                     <xs:documentation>This element contains lists of all resources of the OpenFlow
42                     Capable Switch that can be used by OpenFlow Logical Switches.
43                     </xs:documentation>
44                 </xs:annotation>
45             </xs:element>
46             <xs:element name="logical-switches" type="OFLogicalSwitchListType">
47                 <xs:annotation>
48                     <xs:documentation>List of all OpenFlow Logical Switches available on the
49                     OpenFlow Capable Switch. </xs:documentation>
50                 </xs:annotation>
51             </xs:element>
52         </xs:sequence>
53     </xs:complexType>
54     <xs:complexType name="OFConfigurationPointListType">
55         <xs:annotation>
56             <xs:documentation/>
57         </xs:annotation>
58         <xs:sequence>
59             <xs:element name="configuration-point" type="OFConfigurationPointType"
60                         maxOccurs="unbounded"/>
61         </xs:sequence>
62     </xs:complexType>
63     <xs:complexType name="OFCapableSwitchResourceListType">
64         <xs:sequence>
65             <xs:element name="port" type="OFPortType" maxOccurs="unbounded"/>
66             <xs:element name="queue" type="OFQueueType" maxOccurs="unbounded"/>
67         </xs:sequence>
68     </xs:complexType>
69     <xs:complexType name="OFLogicalSwitchListType">
70         <xs:sequence>
71             <xs:element name="logical-switch" type="OFLogicalSwitchType" maxOccurs="unbounded"/>
72         </xs:sequence>
73     </xs:complexType>
74     <xs:complexType name="OFConfigurationPointType">
75         <xs:annotation>
76             <xs:documentation>Representation of an OpenFlow Configuration Point. </xs:documentation>
77         </xs:annotation>
78         <xs:sequence>
79             <xs:element name="id" type="OFConfigID">
80                 <xs:annotation>
81                     <xs:documentation>An identifier that identifies a Configuration Point of the
82                     OpenFlow Capable Switch. </xs:documentation>
83                 </xs:annotation>
84             </xs:element>
85             <xs:element name="uri" type="inet:uri">
86                 <xs:annotation>
87                     <xs:documentation>A locator of the Configuration Point. This element MAY contain
88                     a locator of the configuration point including, for example, an IP address
89                     and a port number. </xs:documentation>
90                 </xs:annotation>
91             </xs:element>
92             <xs:element name="protocol" type="OFConfigurationPointProtocolType">
93                 <xs:annotation>
94                     <xs:documentation>The transport protocol that the Configuration Point uses when
95                     communicating via NETCONF with the OpenFlow Capable Switch.
96                     </xs:documentation>
97                 </xs:annotation>
98             </xs:element>
99         </xs:sequence>
100     </xs:complexType>
101     <xs:simpleType name="OFConfigurationPointProtocolType">
102         <xs:annotation>
103             <xs:documentation>The mappings of NETCONF to different transport protocols are defined
104             in RFC 6242 for SSH, RFC 4743 for SOAP, RFC 4744 for BEEP, and RFC 5539 for TLS.
105             </xs:documentation>
106         </xs:annotation>
107         <xs:restriction base="xs:string">
108             <xs:enumeration value="ssh"/>
109             <xs:enumeration value="soap"/>
110             <xs:enumeration value="tls"/>
111             <xs:enumeration value="beep"/>
112         </xs:restriction>
113     </xs:simpleType>
114     <xs:complexType name="OFLogicalSwitchType">
115         <xs:annotation>
116             <xs:documentation>The representation of an OpenFlow Logical Switch </xs:documentation>
117         </xs:annotation>
118         <xs:sequence>
119             <xs:element name="id" type="OFConfigID">
120                 <xs:annotation>
121                     <xs:documentation>An unique but locally arbitrary identifier that identifies an
122                     OpenFlow Logical Switch within an OpenFlow Capable Switch. It is persistent
123                     across reboots of the system. </xs:documentation>
124                 </xs:annotation>
125             </xs:element>
126             <xs:element name="datapath-id" type="OFConfigID">
127                 <xs:annotation>
128                     <xs:documentation>A unique identifier that identifiers an OpenFlow Logical
129                     Switch within the context of an OpenFlow Controller. </xs:documentation>
130                 </xs:annotation>
131             </xs:element>
132             <xs:element name="enabled" type="xs:boolean"/>
133             <xs:element name="lost-connection-behavior"
134                         type="OFLogicalSwitchLostConnnectionBehavior"/>
135             <xs:element name="controllers" type="OFControllerListType">
136                 <xs:annotation>
137                     <xs:documentation>The list of controllers that are assigned to the OpenFlow
138                     Logical Switch. </xs:documentation>
139                 </xs:annotation>
140             </xs:element>
141             <xs:element name="resources" type="OFLogicalSwitchResourceListType">
142                 <xs:annotation>
143                     <xs:documentation>The list of references to all resources of the OpenFlow
144                     Capable Switch that the OpenFlow Logical Switch has exclusive access to.
145                     </xs:documentation>
146                 </xs:annotation>
147             </xs:element>
148         </xs:sequence>
149     </xs:complexType>
150     <xs:simpleType name="OFLogicalSwitchLostConnnectionBehavior">
151         <xs:restriction base="xs:string">
152             <xs:enumeration value="failSecureMode"/>
153             <xs:enumeration value="failStandaloneMode"/>
154         </xs:restriction>
155     </xs:simpleType>
156     <xs:complexType name="OFControllerListType">
157         <xs:sequence>
158             <xs:element name="controller" type="OFControllerType" maxOccurs="unbounded"/>
159         </xs:sequence>
160     </xs:complexType>
161     <xs:complexType name="OFLogicalSwitchResourceListType">
162         <xs:sequence>
163             <xs:element name="port" type="OFConfigID" maxOccurs="unbounded"/>
164             <xs:element name="queue" type="OFConfigID" maxOccurs="unbounded"/>
165         </xs:sequence>
166     </xs:complexType>
167     <xs:complexType name="OFControllerType">
168         <xs:annotation>
169             <xs:documentation>Representation of an OpenFlow Controller </xs:documentation>
170         </xs:annotation>
171         <xs:sequence>
172             <xs:element name="id" type="OFConfigID">
173                 <xs:annotation>
174                     <xs:documentation>An unique but locally arbitrary identifier that identifies an
175                     OpenFlow Controller within the context of an OpenFlow Capable Switch. It is
176                     persistent across reboots of the system. </xs:documentation>
177                 </xs:annotation>
178             </xs:element>
179             <xs:element name="role" type="OFControllerRoleType">
180                 <xs:annotation>
181                     <xs:documentation>The predefined role of the controller. </xs:documentation>
182                 </xs:annotation>
183             </xs:element>
184             <xs:element name="ip-address" type="inet:ip-prefix">
185                 <xs:annotation>
186                     <xs:documentation>The remote IP of the controller to connect
187                     to.</xs:documentation>
188                 </xs:annotation>
189             </xs:element>
190             <xs:element name="port" type="inet:port-number">
191                 <xs:annotation>
192                     <xs:documentation>The port number the controller listens on. </xs:documentation>
193                 </xs:annotation>
194             </xs:element>
195             <xs:element name="local-ip-address" type="inet:ip-address">
196                 <xs:annotation>
197                     <xs:documentation>This specifies the source IP for packets sent to this
198                     controller and overrides the default IP used. </xs:documentation>
199                 </xs:annotation>
200             </xs:element>
201             <xs:element name="local-port" type="inet:port-number">
202                 <xs:annotation>
203                     <xs:documentation>The port number the controller listens on. If 0 the port is
204                     chosen dynamically. </xs:documentation>
205                 </xs:annotation>
206             </xs:element>
207             <xs:element name="protocol" type="OFControllerProtocolType">
208                 <xs:annotation>
209                     <xs:documentation>The protocol used for connecting to the controller. Both sides
210                     must support the chosen protocol for a successful establishment of a
211                     connection. </xs:documentation>
212                 </xs:annotation>
213             </xs:element>
214             <xs:element name="state" type="OFControllerOpenFlowStateType">
215                 <xs:annotation>
216                     <xs:documentation>This element represents the state of the OpenFlow protocol
217                     connection to the controller. </xs:documentation>
218                 </xs:annotation>
219             </xs:element>
220         </xs:sequence>
221     </xs:complexType>
222     <xs:simpleType name="OFControllerRoleType">
223         <xs:restriction base="xs:string">
224             <xs:enumeration value="master"/>
225             <xs:enumeration value="slave"/>
226             <xs:enumeration value="equal"/>
227         </xs:restriction>
228     </xs:simpleType>
229     <xs:simpleType name="OFControllerProtocolType">
230         <xs:restriction base="xs:string">
231             <xs:enumeration value="tcp"/>
232             <xs:enumeration value="tls"/>
233         </xs:restriction>
234     </xs:simpleType>
235     <xs:complexType name="OFControllerOpenFlowStateType">
236         <xs:sequence>
237             <xs:element name="connection-state" type="OFControllerConnectionStateType">
238                 <xs:annotation>
239                     <xs:documentation>This element represents the run-time state of the OpenFlow
240                     connection to the Contoller. </xs:documentation>
241                 </xs:annotation>
242             </xs:element>
243             <xs:element name="current-version" type="OFOpenFlowVersionType">
244                 <xs:annotation>
245                     <xs:documentation>This element denotes the version of OpenFlow that Contoller is
246                     currently communicating with. It is only relevant when the connection-state
247                     element is set to "up". </xs:documentation>
248                 </xs:annotation>
249             </xs:element>
250             <xs:element name="supported-versions" type="OFOpenFlowSupportedVersionsType">
251                 <xs:annotation>
252                     <xs:documentation>This element denotes all of the versions of the OpenFlow
253                     protocol that the contoller supports. </xs:documentation>
254                 </xs:annotation>
255             </xs:element>
256         </xs:sequence>
257     </xs:complexType>
258     <xs:simpleType name="OFControllerConnectionStateType">
259         <xs:restriction base="xs:string">
260             <xs:enumeration value="up"/>
261             <xs:enumeration value="down"/>
262         </xs:restriction>
263     </xs:simpleType>
264     <xs:complexType name="OFOpenFlowSupportedVersionsType">
265         <xs:sequence>
266             <xs:element name="version" type="OFOpenFlowVersionType" maxOccurs="unbounded"/>
267         </xs:sequence>
268     </xs:complexType>
269     <xs:simpleType name="OFOpenFlowVersionType">
270         <xs:restriction base="xs:string">
271             <xs:enumeration value="1.2"/>
272             <xs:enumeration value="1.1"/>
273             <xs:enumeration value="1.0"/>
274         </xs:restriction>
275     </xs:simpleType>
276     <xs:complexType name="OFResourceType">
277         <xs:annotation>
278             <xs:documentation>A Base Class for OpenFlow Resources. </xs:documentation>
279         </xs:annotation>
280         <xs:sequence>
281             <xs:element name="resource-id" type="OFConfigID">
282                 <xs:annotation>
283                     <xs:documentation>An unique but locally arbitrary identifier that identifies a
284                     resource within the context of and OpenFlow Capable Switch and is persistent
285                     across reboots of the system. </xs:documentation>
286                 </xs:annotation>
287             </xs:element>
288         </xs:sequence>
289     </xs:complexType>
290     <xs:complexType name="OFPortType">
291         <xs:complexContent>
292             <xs:extension base="OFResourceType">
293                 <xs:sequence>
294                     <xs:element name="number" type="xs:unsignedInt"/>
295                     <xs:element name="name" type="xs:string"/>
296                     <xs:element name="current-rate" type="xs:unsignedLong"/>
297                     <xs:element name="max-rate" type="xs:unsignedLong"/>
298                     <xs:element name="configuration" type="OFPortConfigurationType"/>
299                     <xs:element name="state" type="OFPortStateType"/>
300                     <xs:element name="features" type="OFPortFeatureMasterList"/>
301                 </xs:sequence>
302             </xs:extension>
303         </xs:complexContent>
304     </xs:complexType>
305     <xs:complexType name="OFPortFeatureMasterList">
306         <xs:sequence>
307             <xs:element name="current" type="OFPortCurrentFeatureListType"/>
308             <xs:element name="advertised" type="OFPortOtherFeatureListType"/>
309             <xs:element name="supported" type="OFPortOtherFeatureListType"/>
310             <xs:element name="advertised-peer" type="OFPortOtherFeatureListType"/>
311         </xs:sequence>
312     </xs:complexType>
313     <xs:complexType name="OFPortConfigurationType">
314         <xs:sequence>
315             <xs:element name="admin-state" type="OFPortStateOptionsType"/>
316             <xs:element name="no-receive" type="xs:boolean"/>
317             <xs:element name="no-forward" type="xs:boolean"/>
318             <xs:element name="no-packet-in" type="xs:boolean"/>
319         </xs:sequence>
320     </xs:complexType>
321     <xs:complexType name="OFPortStateType">
322         <xs:sequence>
323             <xs:element name="oper-state" type="OFPortStateOptionsType"/>
324             <xs:element name="blocked" type="xs:boolean"/>
325             <xs:element name="live" type="xs:boolean"/>
326         </xs:sequence>
327     </xs:complexType>
328     <xs:simpleType name="OFPortStateOptionsType">
329         <xs:restriction base="xs:string">
330             <xs:enumeration value="up"/>
331             <xs:enumeration value="down"/>
332         </xs:restriction>
333     </xs:simpleType>
334     <xs:complexType name="OFPortCurrentFeatureListType">
335         <xs:sequence>
336             <xs:element name="rate" type="OFPortRateType"/>
337             <xs:element name="auto-negotiate" type="OFPortAutoNegotiateType"/>
338             <xs:element name="medium" type="OFPortMediumType"/>
339             <xs:element name="pause" type="OFPortPauseType"/>
340         </xs:sequence>
341     </xs:complexType>
342     <xs:complexType name="OFPortOtherFeatureListType">
343         <xs:sequence>
344             <xs:element name="rate" type="OFPortRateType" maxOccurs="unbounded"/>
345             <xs:element name="auto-negotiate" type="OFPortAutoNegotiateType"/>
346             <xs:element name="medium" type="OFPortMediumType" maxOccurs="unbounded"/>
347             <xs:element name="pause" type="OFPortPauseType"/>
348         </xs:sequence>
349     </xs:complexType>
350     <xs:simpleType name="OFPortRateType">
351         <xs:restriction base="xs:string">
352             <xs:enumeration value="10Mb-HD"/>
353             <xs:enumeration value="10Mb-FD"/>
354             <xs:enumeration value="100Mb-HD"/>
355             <xs:enumeration value="100Mb-FD"/>
356             <xs:enumeration value="1Gb-HD"/>
357             <xs:enumeration value="1Gb-FD"/>
358             <xs:enumeration value="1 Tb"/>
359             <xs:enumeration value="Other"/>
360         </xs:restriction>
361     </xs:simpleType>
362     <xs:simpleType name="OFPortAutoNegotiateType">
363         <xs:restriction base="xs:string">
364             <xs:enumeration value="enabled"/>
365             <xs:enumeration value="disabled"/>
366         </xs:restriction>
367     </xs:simpleType>
368     <xs:simpleType name="OFPortMediumType">
369         <xs:restriction base="xs:string">
370             <xs:enumeration value="copper"/>
371             <xs:enumeration value="fiber"/>
372         </xs:restriction>
373     </xs:simpleType>
374     <xs:simpleType name="OFPortPauseType">
375         <xs:restriction base="xs:string">
376             <xs:enumeration value="unsupported"/>
377             <xs:enumeration value="symmetric"/>
378             <xs:enumeration value="asymmetric"/>
379         </xs:restriction>
380     </xs:simpleType>
381     <xs:complexType name="OFQueueType">
382         <xs:complexContent>
383             <xs:extension base="OFResourceType">
384                 <xs:sequence maxOccurs="1" minOccurs="1">
385                     <xs:element name="id" type="OFConfigID">
386                         <xs:annotation>
387                             <xs:documentation>An unique but locally arbitrary number that identifies
388                             a queue within the context of and OpenFlow Logical Switch and is
389                             persistent across reboots of the system. </xs:documentation>
390                         </xs:annotation>
391                     </xs:element>
392                     <xs:element name="port" type="OFConfigID">
393                         <xs:annotation>
394                             <xs:documentation>Port in the context of the same Logical Switch which
395                             this Queue is associated with. </xs:documentation>
396                         </xs:annotation>
397                     </xs:element>
398                     <xs:element name="properties" type="OFQueuePropertiesType">
399                         <xs:annotation>
400                             <xs:documentation>Properties of the Queue. </xs:documentation>
401                         </xs:annotation>
402                     </xs:element>
403                 </xs:sequence>
404             </xs:extension>
405         </xs:complexContent>
406     </xs:complexType>
407     <xs:complexType name="OFQueuePropertiesType">
408         <xs:sequence>
409             <xs:element name="min-rate" type="OFQueueMinRateType" maxOccurs="1">
410                 <xs:annotation>
411                     <xs:documentation>The minimal rate that is reserved for this queue in 1/10 of a
412                     percent of the actual rate. </xs:documentation>
413                 </xs:annotation>
414             </xs:element>
415             <xs:element name="max-rate" type="OFQueueMaxRateType">
416                 <xs:annotation>
417                     <xs:documentation>The maximum rate that is reserved for this queue in 1/10 of a
418                     percent of the actual rate. </xs:documentation>
419                 </xs:annotation>
420             </xs:element>
421             <xs:element maxOccurs="unbounded" name="experimenter" type="xs:unsignedLong">
422                 <xs:annotation>
423                     <xs:documentation>Experimental Properties</xs:documentation>
424                 </xs:annotation>
425             </xs:element>
426         </xs:sequence>
427     </xs:complexType>
428     <xs:simpleType name="OFQueueMinRateType">
429         <xs:restriction base="xs:integer"/>
430     </xs:simpleType>
431     <xs:simpleType name="OFQueueMaxRateType">
432         <xs:restriction base="xs:integer"/>
433     </xs:simpleType>
434 </xs:schema>