1 <?xml version="1.0" encoding="UTF-8"?>
2 <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
3 xmlns:ds="http://www.w3.org/2000/09/xmldsig#"
4 elementFormDefault="qualified"
5 targetNamespace="urn:onf:params:xml:ns:onf:of12:config"
6 xmlns="urn:onf:params:xml:ns:onf:of12:config"
7 xmlns:of12-config="urn:onf:params:xml:ns:onf:of12:config"
8 xmlns:inet="urn:ietf:params:xml:ns:yang:ietf-inet-types">
9 <xs:import namespace="http://www.w3.org/2000/09/xmldsig#"
10 schemaLocation="xmldsig-core-schema.xsd"/>
11 <xs:import namespace="urn:ietf:params:xml:ns:yang:ietf-inet-types"
12 schemaLocation="ietf-inet-types.xsd"/>
13 <xs:import namespace="urn:ietf:params:xml:ns:netconf:base:1.0"
14 schemaLocation="../netconf/netconf.xsd"/>
15 <xs:element name="capable-switch" type="OFCapableSwitchType">
17 <xs:documentation>The OpenFlow Capable Switch and its configurationpoints, logical
18 switches and resources available to logicalswitches. </xs:documentation>
21 <xs:simpleType name="OFConfigID">
22 <xs:restriction base="xs:string"/>
24 <xs:complexType name="OFCapableSwitchType">
26 <xs:documentation>Representation of an OpenFlow Capable Switch.</xs:documentation>
29 <xs:element name="id" type="OFConfigID">
31 <xs:documentation>An unique but locally arbitrary identifier that identifies a
32 Capable Switch towards management systems and that is persistent across
33 reboots of the system. </xs:documentation>
36 <xs:element name="configuration-points" minOccurs="0" type="OFConfigurationPointListType">
38 <xs:documentation>The list of all configuration points known to the OpenFlow
39 Capable Switch that may manage it using OF-CONFIG. </xs:documentation>
42 <xs:element name="resources" minOccurs="0" type="OFCapableSwitchResourceListType">
44 <xs:documentation>This element contains lists of all resources of the OpenFlow
45 Capable Switch that can be used by OpenFlow Logical Switches.
49 <xs:element name="logical-switches" minOccurs="0" type="OFLogicalSwitchListType">
51 <xs:documentation>List of all OpenFlow Logical Switches available on the
52 OpenFlow Capable Switch. </xs:documentation>
57 <xs:complexType name="OFConfigurationPointListType">
62 <xs:element name="configuration-point" type="OFConfigurationPointType"
63 maxOccurs="unbounded"/>
66 <xs:complexType name="OFCapableSwitchResourceListType">
68 <xs:element name="port" type="OFPortType" minOccurs="0" maxOccurs="unbounded"/>
69 <xs:element name="queue" type="OFQueueType" minOccurs="0" maxOccurs="unbounded"/>
70 <xs:element name="owned-certificate" type="OFOwnedCertificateType" minOccurs="0" maxOccurs="unbounded"/>
71 <xs:element name="external-certificate" type="OFExternalCertificateType"
72 minOccurs="0" maxOccurs="unbounded"/>
73 <xs:element name="flow-table" type="OFFlowTableType" minOccurs="0" maxOccurs="unbounded"/>
76 <xs:complexType name="OFLogicalSwitchListType">
78 <xs:element name="logical-switch" type="OFLogicalSwitchType" maxOccurs="unbounded"/>
81 <xs:complexType name="OFConfigurationPointType">
83 <xs:documentation>Representation of an OpenFlow Configuration Point. </xs:documentation>
86 <xs:element name="id" type="OFConfigID">
88 <xs:documentation>An identifier that identifies a Configuration Point of the
89 OpenFlow Capable Switch. </xs:documentation>
92 <xs:element name="uri" type="inet:uri">
94 <xs:documentation>A locator of the Configuration Point. This element MAY contain
95 a locator of the configuration point including, for example, an IP address
96 and a port number. </xs:documentation>
99 <xs:element name="protocol" type="OFConfigurationPointProtocolType">
101 <xs:documentation>The transport protocol that the Configuration Point uses when
102 communicating via NETCONF with the OpenFlow Capable Switch.
108 <xs:simpleType name="OFConfigurationPointProtocolType">
110 <xs:documentation>The mappings of NETCONF to different transport protocols are defined
111 in RFC 6242 for SSH, RFC 4743 for SOAP, RFC 4744 for BEEP, and RFC 5539 for TLS.
114 <xs:restriction base="xs:string">
115 <xs:enumeration value="ssh"/>
116 <xs:enumeration value="soap"/>
117 <xs:enumeration value="tls"/>
118 <xs:enumeration value="beep"/>
121 <xs:complexType name="OFLogicalSwitchType">
123 <xs:documentation>The representation of an OpenFlow Logical Switch </xs:documentation>
126 <xs:element name="id" minOccurs="0" type="OFConfigID">
128 <xs:documentation>An unique but locally arbitrary identifier that identifies an
129 OpenFlow Logical Switch within an OpenFlow Capable Switch. It is persistent
130 across reboots of the system. </xs:documentation>
133 <xs:element name="capabilities" minOccurs="0" type="OFLogicalSwitchCapabilitiesType">
135 <xs:documentation>Capability items of logical switch. </xs:documentation>
138 <xs:element name="datapath-id" type="OFConfigID">
140 <xs:documentation>A unique identifier that identifiers an OpenFlow Logical
141 Switch within the context of an OpenFlow Controller. </xs:documentation>
144 <xs:element name="enabled" minOccurs="0" type="xs:boolean"/>
145 <xs:element name="check-controller-certificate" minOccurs="0" type="xs:boolean"/>
146 <xs:element name="lost-connection-behavior" minOccurs="0"
147 type="OFLogicalSwitchLostConnnectionBehavior"/>
148 <xs:element name="controllers" minOccurs="0" type="OFControllerListType">
150 <xs:documentation>The list of controllers that are assigned to the OpenFlow
151 Logical Switch. </xs:documentation>
154 <xs:element name="resources" minOccurs="0" type="OFLogicalSwitchResourceListType">
156 <xs:documentation>The list of references to all resources of the OpenFlow
157 Capable Switch that the OpenFlow Logical Switch has exclusive access to.
163 <xs:simpleType name="OFLogicalSwitchLostConnnectionBehavior">
164 <xs:restriction base="xs:string">
165 <xs:enumeration value="failSecureMode"/>
166 <xs:enumeration value="failStandaloneMode"/>
169 <xs:complexType name="OFControllerListType">
171 <xs:element name="controller" type="OFControllerType" maxOccurs="unbounded"/>
174 <xs:complexType name="OFLogicalSwitchResourceListType">
176 <xs:element name="port" type="OFConfigID" maxOccurs="unbounded"/>
177 <xs:element name="queue" type="OFConfigID" maxOccurs="unbounded"/>
178 <xs:element name="certificate" type="OFConfigID" minOccurs="0" maxOccurs="1"/>
179 <xs:element name="flow-table" type="OFConfigID" maxOccurs="unbounded"/>
182 <xs:complexType name="OFLogicalSwitchCapabilitiesType">
184 <xs:element name="max-buffered-packets" type="xs:integer">
186 <xs:documentation>The maximum number of packets the switch can buffer when
187 sending packets to the controller using packet-in messages. See OpenFlow
188 protocol 1.2 section A.3.1 </xs:documentation>
191 <xs:element name="max-tables" type="xs:integer">
193 <xs:documentation> The number of flow tables supported by the switch. See
194 OpenFlow protocol 1.2 section A.3.1 </xs:documentation>
197 <xs:element name="max-ports" type="xs:integer">
199 <xs:documentation> The number of ports supported by the switch. See OpenFlow
200 protocol 1.2 section A.3.1 </xs:documentation>
203 <xs:element name="flow-statistics" type="xs:boolean">
205 <xs:documentation> Whether the switch supports flow statistics. See OpenFlow
206 protocol 1.2 section A.3.1 </xs:documentation>
209 <xs:element name="table-statistics" type="xs:boolean">
211 <xs:documentation> Whether the switch supports table statistics. See OpenFlow
212 protocol 1.2 section A.3.1 </xs:documentation>
215 <xs:element name="port-statistics" type="xs:boolean">
217 <xs:documentation>Whether the switch supports port statistics. See OpenFlow
218 protocol 1.2 section A.3.1 </xs:documentation>
221 <xs:element name="group-statistics" type="xs:boolean">
223 <xs:documentation> Whether the switch supports group statistics. See OpenFlow
224 protocol 1.2 section A.3.1 </xs:documentation>
227 <xs:element name="queue-statistics" type="xs:boolean">
229 <xs:documentation>Whether the switch supports queue statistics. See OpenFlow
230 protocol 1.2 section A.3.1 </xs:documentation>
233 <xs:element name="reassemble-ip-fragments" type="xs:boolean">
235 <xs:documentation>Whether the switch supports reassemble IP fragments. See
236 OpenFlow protocol 1.2 section A.3.1 </xs:documentation>
239 <xs:element name="block-looping-ports" type="xs:boolean">
241 <xs:documentation>"true" indicates that a switch protocol outside of OpenFlow,
242 such as 802.1D Spanning Tree, will detect topology loops and block ports to
243 prevent packet loops. See OpenFlow protocol 1.2 section A.3.1
247 <xs:element name="reserved-port-types" type="OFReservedPortTypes">
249 <xs:documentation>Specify generic forwarding actions such as sending to the
250 controller, ooding, or forwarding using non-OpenFlow methods, such as
251 "normal" switch processing. SeeOpenFlow protocol 1.2 section 4.5.
255 <xs:element name="group-types" type="OFGroupTypes">
257 <xs:documentation>The group types supported by the switch. SeeOpenFlow protocol
258 1.2 section 5.4.1. </xs:documentation>
261 <xs:element name="group-capabilities" type="OFGroupCapabilities">
263 <xs:documentation>The group capabilities supported by the switch. SeeOpenFlow
264 protocol 1.2 section A.3.5.9. </xs:documentation>
267 <xs:element name="action-types" type="OFActionTypes">
269 <xs:documentation>The action types supported by the switch. See OpenFlow
270 protocol 1.2 section 5.9 and A.2.5. </xs:documentation>
273 <xs:element name="instruction-types" type="OFInstructionTypes">
275 <xs:documentation>The instruction types supported by the switch. See OpenFlow
276 protocol 1.2 section 5.6. </xs:documentation>
281 <xs:complexType name="OFReservedPortTypes">
282 <xs:sequence minOccurs="1" maxOccurs="unbounded">
283 <xs:element name="type" type="OFReservedPortType"/>
286 <xs:simpleType name="OFReservedPortType">
287 <xs:restriction base="xs:string">
288 <xs:enumeration value="all"/>
289 <xs:enumeration value="controller"/>
290 <xs:enumeration value="table"/>
291 <xs:enumeration value="inport"/>
292 <xs:enumeration value="any"/>
293 <xs:enumeration value="local"/>
294 <xs:enumeration value="normal"/>
295 <xs:enumeration value="flood"/>
298 <xs:complexType name="OFGroupTypes">
299 <xs:sequence minOccurs="1" maxOccurs="unbounded">
300 <xs:element name="type" type="OFGroupType"/>
303 <xs:simpleType name="OFGroupType">
304 <xs:restriction base="xs:string">
305 <xs:enumeration value="all"/>
306 <xs:enumeration value="select"/>
307 <xs:enumeration value="indirect"/>
308 <xs:enumeration value="fast-failover"/>
311 <xs:complexType name="OFGroupCapabilities">
312 <xs:sequence minOccurs="1" maxOccurs="unbounded">
313 <xs:element name="capability" type="OFGroupCapability"/>
316 <xs:simpleType name="OFGroupCapability">
317 <xs:restriction base="xs:string">
318 <xs:enumeration value="select-weight"/>
319 <xs:enumeration value="select-liveness"/>
320 <xs:enumeration value="chaining"/>
321 <xs:enumeration value="chaining-check"/>
324 <xs:complexType name="OFActionTypes">
325 <xs:sequence minOccurs="1" maxOccurs="unbounded">
326 <xs:element name="type" type="OFActionType"/>
329 <xs:simpleType name="OFActionType">
330 <xs:restriction base="xs:string">
331 <xs:enumeration value="output"/>
332 <xs:enumeration value="copy-ttl-out"/>
333 <xs:enumeration value="copy-ttl-in"/>
334 <xs:enumeration value="set-mpls-ttl"/>
335 <xs:enumeration value="dec-mpls-ttl"/>
336 <xs:enumeration value="push-vlan"/>
337 <xs:enumeration value="pop-vlan"/>
338 <xs:enumeration value="push-mpls"/>
339 <xs:enumeration value="pop-mpls"/>
340 <xs:enumeration value="set-queue"/>
341 <xs:enumeration value="group"/>
342 <xs:enumeration value="set-nw-ttl"/>
343 <xs:enumeration value="dec-nw-ttl"/>
344 <xs:enumeration value="pop-mpls"/>
345 <xs:enumeration value="set-field"/>
348 <xs:complexType name="OFInstructionTypes">
349 <xs:sequence minOccurs="1" maxOccurs="unbounded">
350 <xs:element name="type" type="OFInstructionType"/>
353 <xs:simpleType name="OFInstructionType">
354 <xs:restriction base="xs:string">
355 <xs:enumeration value="apply-actions"/>
356 <xs:enumeration value="clear-actions"/>
357 <xs:enumeration value="write-actions"/>
358 <xs:enumeration value="write-metadata"/>
359 <xs:enumeration value="goto-table"/>
362 <xs:complexType name="OFControllerType">
364 <xs:documentation>Representation of an OpenFlow Controller </xs:documentation>
367 <xs:element name="id" type="OFConfigID">
369 <xs:documentation>An unique but locally arbitrary identifier that identifies an
370 OpenFlow Controller within the context of an OpenFlow Capable Switch. It is
371 persistent across reboots of the system. </xs:documentation>
374 <xs:element name="role" minOccurs="0" type="OFControllerRoleType">
376 <xs:documentation>The predefined role of the controller. </xs:documentation>
379 <xs:element name="ip-address" minOccurs="0" type="inet:ip-prefix">
381 <xs:documentation>The remote IP of the controller to connect
382 to.</xs:documentation>
385 <xs:element name="port" minOccurs="0" type="inet:port-number">
387 <xs:documentation>The port number the controller listens on. </xs:documentation>
390 <xs:element name="local-ip-address" minOccurs="0" type="inet:ip-address">
392 <xs:documentation>This specifies the source IP for packets sent to this
393 controller and overrides the default IP used. </xs:documentation>
396 <xs:element name="local-port" minOccurs="0" type="inet:port-number">
398 <xs:documentation>The port number the controller listens on. If 0 the port is
399 chosen dynamically. </xs:documentation>
402 <xs:element name="protocol" minOccurs="0" type="OFControllerProtocolType">
404 <xs:documentation>The protocol used for connecting to the controller. Both sides
405 must support the chosen protocol for a successful establishment of a
406 connection. </xs:documentation>
409 <xs:element name="state" minOccurs="0" type="OFControllerOpenFlowStateType">
411 <xs:documentation>This element represents the state of the OpenFlow protocol
412 connection to the controller. </xs:documentation>
416 <xs:attribute name="operation" type="xs:string"/>
418 <xs:simpleType name="OFControllerRoleType">
419 <xs:restriction base="xs:string">
420 <xs:enumeration value="master"/>
421 <xs:enumeration value="slave"/>
422 <xs:enumeration value="equal"/>
425 <xs:simpleType name="OFControllerProtocolType">
426 <xs:restriction base="xs:string">
427 <xs:enumeration value="tcp"/>
428 <xs:enumeration value="tls"/>
431 <xs:complexType name="OFControllerOpenFlowStateType">
433 <xs:element name="connection-state" type="OFControllerConnectionStateType">
435 <xs:documentation>This element represents the run-time state of the OpenFlow
436 connection to the Controller. </xs:documentation>
439 <xs:element name="current-version" type="OFOpenFlowVersionType">
441 <xs:documentation>This element denotes the version of OpenFlow that Controller
442 is currently communicating with. It is only relevant when the
443 connection-state element is set to "up". </xs:documentation>
446 <xs:element name="supported-versions" type="OFOpenFlowSupportedVersionsType">
448 <xs:documentation>This element denotes all of the versions of the OpenFlow
449 protocol that the controller supports. </xs:documentation>
454 <xs:simpleType name="OFControllerConnectionStateType">
455 <xs:restriction base="xs:string">
456 <xs:enumeration value="up"/>
457 <xs:enumeration value="down"/>
460 <xs:complexType name="OFOpenFlowSupportedVersionsType">
462 <xs:element name="version" type="OFOpenFlowVersionType" maxOccurs="unbounded"/>
465 <xs:simpleType name="OFOpenFlowVersionType">
466 <xs:restriction base="xs:string">
467 <xs:enumeration value="1.2"/>
468 <xs:enumeration value="1.1"/>
469 <xs:enumeration value="1.0"/>
472 <xs:complexType name="OFResourceType">
474 <xs:documentation>A Base Class for OpenFlow Resources. </xs:documentation>
477 <xs:element name="resource-id" type="OFConfigID">
479 <xs:documentation>An unique but locally arbitrary identifier that identifies a
480 resource within the context of and OpenFlow Capable Switch and is persistent
481 across reboots of the system. </xs:documentation>
486 <xs:complexType name="OFPortType">
488 <xs:extension base="OFResourceType">
490 <xs:element name="number" minOccurs="0" type="xs:unsignedInt"/>
491 <xs:element name="name" minOccurs="0" type="xs:string"/>
492 <xs:element name="current-rate" minOccurs="0" type="xs:unsignedLong"/>
493 <xs:element name="max-rate" minOccurs="0" type="xs:unsignedLong"/>
494 <xs:element name="configuration" minOccurs="0" type="OFPortConfigurationType"/>
495 <xs:element name="state" minOccurs="0" type="OFPortStateType"/>
496 <xs:element name="features" minOccurs="0" type="OFPortFeatureMasterList"/>
501 <xs:complexType name="OFPortFeatureMasterList">
503 <xs:element name="current" minOccurs="0" type="OFPortCurrentFeatureListType"/>
504 <xs:element name="advertised" minOccurs="0" type="OFPortOtherFeatureListType"/>
505 <xs:element name="supported" minOccurs="0" type="OFPortOtherFeatureListType"/>
506 <xs:element name="advertised-peer" minOccurs="0" type="OFPortOtherFeatureListType"/>
509 <xs:complexType name="OFPortConfigurationType">
511 <xs:element name="admin-state" minOccurs="0" type="OFPortStateOptionsType"/>
512 <xs:element name="no-receive" minOccurs="0" type="xs:boolean"/>
513 <xs:element name="no-forward" minOccurs="0" type="xs:boolean"/>
514 <xs:element name="no-packet-in" minOccurs="0" type="xs:boolean"/>
516 <xs:attribute name="operation" type="xs:string"/>
518 <xs:complexType name="OFPortStateType">
520 <xs:element name="oper-state" minOccurs="0" type="OFPortStateOptionsType"/>
521 <xs:element name="blocked" minOccurs="0" type="xs:boolean"/>
522 <xs:element name="live" minOccurs="0" type="xs:boolean"/>
525 <xs:simpleType name="OFPortStateOptionsType">
526 <xs:restriction base="xs:string">
527 <xs:enumeration value="up"/>
528 <xs:enumeration value="down"/>
531 <xs:complexType name="OFPortCurrentFeatureListType">
533 <xs:element name="rate" type="OFPortRateType"/>
534 <xs:element name="auto-negotiate" type="OFPortAutoNegotiateType"/>
535 <xs:element name="medium" type="OFPortMediumType"/>
536 <xs:element name="pause" type="OFPortPauseType"/>
539 <xs:complexType name="OFPortOtherFeatureListType">
541 <xs:element name="rate" type="OFPortRateType" minOccurs="0" maxOccurs="unbounded"/>
542 <xs:element name="auto-negotiate" type="OFPortAutoNegotiateType" minOccurs="0"/>
543 <xs:element name="medium" type="OFPortMediumType" minOccurs="0" maxOccurs="unbounded"/>
544 <xs:element name="pause" type="OFPortPauseType" minOccurs="0"/>
546 <xs:attribute name="operation" type="xs:string"/>
548 <xs:simpleType name="OFPortRateType">
549 <xs:restriction base="xs:string">
550 <xs:enumeration value="10Mb-HD"/>
551 <xs:enumeration value="10Mb-FD"/>
552 <xs:enumeration value="100Mb-HD"/>
553 <xs:enumeration value="100Mb-FD"/>
554 <xs:enumeration value="1Gb-HD"/>
555 <xs:enumeration value="1Gb-FD"/>
556 <xs:enumeration value="1 Tb"/>
557 <xs:enumeration value="Other"/>
560 <xs:simpleType name="OFPortAutoNegotiateType">
561 <xs:restriction base="xs:string">
562 <xs:enumeration value="enabled"/>
563 <xs:enumeration value="disabled"/>
566 <xs:simpleType name="OFPortMediumType">
567 <xs:restriction base="xs:string">
568 <xs:enumeration value="copper"/>
569 <xs:enumeration value="fiber"/>
572 <xs:simpleType name="OFPortPauseType">
573 <xs:restriction base="xs:string">
574 <xs:enumeration value="unsupported"/>
575 <xs:enumeration value="symmetric"/>
576 <xs:enumeration value="asymmetric"/>
579 <xs:complexType name="OFQueueType">
581 <xs:extension base="OFResourceType">
582 <xs:sequence maxOccurs="1" minOccurs="1">
583 <xs:element name="id" minOccurs="0" type="OFConfigID">
585 <xs:documentation>An unique but locally arbitrary number that identifies
586 a queue within the context of and OpenFlow Logical Switch and is
587 persistent across reboots of the system. </xs:documentation>
590 <xs:element name="port" minOccurs="0" type="OFConfigID">
592 <xs:documentation>Port in the context of the same Logical Switch which
593 this Queue is associated with. </xs:documentation>
596 <xs:element name="properties" type="OFQueuePropertiesType">
598 <xs:documentation>Properties of the Queue. </xs:documentation>
602 <xs:attribute name="operation" type="xs:string"/>
606 <xs:complexType name="OFQueuePropertiesType">
608 <xs:element name="min-rate" type="OFQueueMinRateType" minOccurs="0" maxOccurs="1">
610 <xs:documentation>The minimal rate that is reserved for this queue in 1/10 of a
611 percent of the actual rate. </xs:documentation>
614 <xs:element name="max-rate" type="OFQueueMaxRateType" minOccurs="0" maxOccurs="1">
616 <xs:documentation>The maximum rate that is reserved for this queue in 1/10 of a
617 percent of the actual rate. </xs:documentation>
620 <xs:element minOccurs="0" maxOccurs="unbounded" name="experimenter" type="xs:unsignedLong">
622 <xs:documentation>Experimental Properties</xs:documentation>
627 <xs:simpleType name="OFQueueMinRateType">
628 <xs:restriction base="xs:integer"/>
630 <xs:simpleType name="OFQueueMaxRateType">
631 <xs:restriction base="xs:integer"/>
633 <xs:complexType name="OFExternalCertificateType">
635 <xs:extension base="OFResourceType">
636 <xs:sequence maxOccurs="1" minOccurs="1">
637 <xs:element name="certificate" minOccurs="0" type="OFX509CertificateType"/>
639 <xs:attribute name="operation" type="xs:string"/>
643 <xs:complexType name="OFOwnedCertificateType">
645 <xs:extension base="OFResourceType">
646 <xs:sequence maxOccurs="1" minOccurs="1">
647 <xs:element name="certificate" type="OFX509CertificateType"/>
648 <xs:element name="private-key" type="ds:KeyValueType"/>
653 <xs:simpleType name="OFX509CertificateType">
654 <xs:restriction base="xs:base64Binary"/>
656 <xs:complexType name="OFFlowTableType">
658 <xs:extension base="OFResourceType">
659 <xs:sequence maxOccurs="1" minOccurs="1">
660 <xs:element name="max-entries" type="xs:integer"/>
661 <xs:element name="next-tables" type="OFNextFlowTables"/>
662 <xs:element name="instructions" type="OFFlowTableInstructions"/>
663 <xs:element name="matches" type="OFFlowTableMatchFields"/>
664 <xs:element name="write-actions" type="OFFlowTableWriteActions"/>
665 <xs:element name="apply-actions" type="OFFlowTableApplyActions"/>
666 <xs:element name="write-setfields" type="OFFlowTableMatchFields"/>
667 <xs:element name="apply-setfields" type="OFFlowTableMatchFields"/>
668 <xs:element name="wildcards" type="OFFlowTableMatchFields"/>
669 <xs:element name="metadata-match" type="xs:hexBinary"/>
670 <xs:element name="metadata-write" type="xs:hexBinary"/>
675 <xs:complexType name="OFNextFlowTables">
676 <xs:sequence minOccurs="1" maxOccurs="10">
677 <xs:element name="table-id" type="OFConfigID"/>
680 <xs:complexType name="OFFlowTableInstructions">
681 <xs:sequence minOccurs="1" maxOccurs="10">
682 <xs:element name="type" type="OFInstructionType"/>
685 <xs:complexType name="OFFlowTableMatchFields">
686 <xs:sequence minOccurs="1" maxOccurs="10">
687 <xs:element name="type" type="OFMatchFieldType"/>
690 <xs:complexType name="OFFlowTableWriteActions">
691 <xs:sequence minOccurs="1" maxOccurs="10">
692 <xs:element name="type" type="OFActionType"/>
695 <xs:complexType name="OFFlowTableApplyActions">
696 <xs:sequence minOccurs="1" maxOccurs="10">
697 <xs:element name="type" type="OFActionType"/>
700 <xs:simpleType name="OFMatchFieldType">
702 <xs:documentation> The open flow match field types. See OpenFlow protocol 1.2 section
703 A.2.3.7 </xs:documentation>
705 <xs:restriction base="xs:string">
706 <xs:enumeration value="input-port"/>
707 <xs:enumeration value="physical-input-port"/>
708 <xs:enumeration value="metadata"/>
709 <xs:enumeration value="ethernet-dest"/>
710 <xs:enumeration value="ethernet-src"/>
711 <xs:enumeration value="ethernet-frame-type"/>
712 <xs:enumeration value="vlan-id"/>
713 <xs:enumeration value="vlan-priority"/>
714 <xs:enumeration value="ip-dscp"/>
715 <xs:enumeration value="ip-ecn"/>
716 <xs:enumeration value="ip-protocol"/>
717 <xs:enumeration value="ipv4-src"/>
718 <xs:enumeration value="ipv4-dest"/>
719 <xs:enumeration value="tcp-src"/>
720 <xs:enumeration value="tcp-dest"/>
721 <xs:enumeration value="udp-src"/>
722 <xs:enumeration value="udp-dest"/>
723 <xs:enumeration value="sctp-src"/>
724 <xs:enumeration value="sctp-dest"/>
725 <xs:enumeration value="icmpv4-type"/>
726 <xs:enumeration value="icmpv4-code"/>
727 <xs:enumeration value="arp-op"/>
728 <xs:enumeration value="arp-src-ip-address"/>
729 <xs:enumeration value="arp-target-ip-address"/>
730 <xs:enumeration value="arp-src-hardware-address"/>
731 <xs:enumeration value="arp-target-hardware-address"/>
732 <xs:enumeration value="ipv6-src"/>
733 <xs:enumeration value="ipv6-dest"/>
734 <xs:enumeration value="ipv6-flow-label"/>
735 <xs:enumeration value="icmpv6-type"/>
736 <xs:enumeration value="icmpv6-code"/>
737 <xs:enumeration value="ipv6-nd-target"/>
738 <xs:enumeration value="ipv6-nd-source-link-layer"/>
739 <xs:enumeration value="ipv6-nd-target-link-layer"/>
740 <xs:enumeration value="mpls-label"/>
741 <xs:enumeration value="mpls-tc"/>