123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452 |
- <?xml version="1.0" encoding="UTF-8" ?>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:simpleType name="AreaIdType">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- A string containing an IPv4 address in dotted decimal notation.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="(([0-1]?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))\.){3}([0-1]?[0-9]?[0-9]|2([0-4][0-9]|5[0-5]))" />
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="IPv4AddressResolvType">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- A string containing a string which resolvable by IPvXAddressResolver class in INET.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="NodePathType">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- A string containing a node path, for example "Area1.Router2".
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="InterfaceNameType">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- A string containing an interface name.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="StatusTypeEnum">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- A value type which decides whether an address range will be advertised
- in Summary LSAs.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="Advertise" />
- <xsd:enumeration value="DoNotAdvertise" />
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="MetricType">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Link cost metric datatype. Should be less then 1000.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:positiveInteger">
- <xsd:maxExclusive value="1000" />
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="AuthenticationTypeEnum">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Possible OSPF packet authentication protocols.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="NullType" />
- <xsd:enumeration value="SimplePasswordType" />
- <xsd:enumeration value="CrytographicType" />
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="AuthenticationKeyType">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Key value for the chosen authentication protocol. A string of at most 8
- bytes given in hexadecimal form. It starts with the '0x' string and
- continues with 1 to 8 pairs of hexadecimal digits.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="0x([0-9a-fA-F]{2}){1,8}" />
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="ExternalRouteTagType">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- 4 bytes describing the external route tag propagated for an external
- route in AS External LSAs. A string of at most 4 bytes given in
- hexadecimal form. It starts with the '0x' string and continues with 1 to
- 4 pairs of hexadecimal digits.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- <xsd:pattern value="0x([0-9a-fA-F]{2}){1,4}" />
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:simpleType name="ExternalInterfaceOutputCostType">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- The output cost type of an external link.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:string">
- <xsd:enumeration value="Type1" />
- <xsd:enumeration value="Type2" />
- </xsd:restriction>
- </xsd:simpleType>
- <xsd:attributeGroup name="ifAttr">
- <xsd:attribute name="ifName" type="InterfaceNameType" use="optional" />
- <xsd:attribute name="toward" type="NodePathType" use="optional" />
- <!-- TODO: only one from @ifName and @toward is required!!! -->
- </xsd:attributeGroup>
- <xsd:element name="AddressRange">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Describes an address range of an OSPF area.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attribute name="address" type="IPv4AddressResolvType" use="required" />
- <xsd:attribute name="mask" type="IPv4AddressResolvType" use="required" />
- <xsd:attribute name="status" type="StatusTypeEnum" use="required" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="Stub">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- An OSPF area (except the backbone) can be configured as a stub area. This
- element signals this occurrence and defines the default route cost
- advertised for that area.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attribute name="defaultCost" type="MetricType" use="required" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="Area">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- The definition of an OSPF area. It has to have an Area ID given in the
- form of an IPv4 address. (The backbone is '0.0.0.0'.)
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="AddressRange" minOccurs="1" maxOccurs="unbounded" />
- <xsd:element ref="Stub" minOccurs="0" maxOccurs="1" />
- </xsd:sequence>
- <xsd:attribute name="id" type="AreaIdType" use="required" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="PointToPointInterface">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Describes the parameters of a point-to-point interface. It is identified
- in the router by its ifName value, or name of toward module.
- HelloInterval and RouterDeadInterval must be the same for all router
- interfaces attached to the same network.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attributeGroup ref="ifAttr" />
- <xsd:attribute name="areaID" type="AreaIdType" use="optional" />
- <xsd:attribute name="interfaceOutputCost" type="MetricType" use="optional" />
- <xsd:attribute name="retransmissionInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="interfaceTransmissionDelay" type="xsd:unsignedByte" use="optional" />
- <xsd:attribute name="helloInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="routerDeadInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="authenticationType" type="AuthenticationTypeEnum" use="optional" />
- <xsd:attribute name="authenticationKey" type="AuthenticationKeyType" use="optional" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="BroadcastInterface">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Describes the parameters of a broadcast interface. It is identified in
- the router by its ifName value, or name of toward module.
- HelloInterval and RouterDeadInterval must be the same for all router
- interfaces attached to the same network.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attributeGroup ref="ifAttr" />
- <xsd:attribute name="areaID" type="AreaIdType" use="optional" />
- <xsd:attribute name="interfaceOutputCost" type="MetricType" use="optional" />
- <xsd:attribute name="retransmissionInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="interfaceTransmissionDelay" type="xsd:unsignedByte" use="optional" />
- <xsd:attribute name="routerPriority" type="xsd:unsignedByte" use="optional" />
- <xsd:attribute name="helloInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="routerDeadInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="authenticationType" type="AuthenticationTypeEnum" use="optional" />
- <xsd:attribute name="authenticationKey" type="AuthenticationKeyType" use="optional" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="NBMANeighbor">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Describes the preconfigured parameters of one of an NBMA router's neighbor.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attribute name="networkInterfaceAddress" type="IPv4AddressResolvType" use="required" />
- <xsd:attribute name="neighborPriority" type="xsd:unsignedByte" use="required" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="NBMANeighborList">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- A list of the available neighbors on an NBMA network.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="NBMANeighbor" minOccurs="1" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="NBMAInterface">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Describes the parameters of an NBMA interface. It is identified in the
- router by its ifName value, or name of toward module.
- HelloInterval and RouterDeadInterval must be the same for all router
- interfaces attached to the same network.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="NBMANeighborList" minOccurs="1" maxOccurs="1" />
- </xsd:sequence>
- <xsd:attributeGroup ref="ifAttr" />
- <xsd:attribute name="areaID" type="AreaIdType" use="optional" />
- <xsd:attribute name="interfaceOutputCost" type="MetricType" use="optional" />
- <xsd:attribute name="retransmissionInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="interfaceTransmissionDelay" type="xsd:unsignedByte" use="optional" />
- <xsd:attribute name="routerPriority" type="xsd:unsignedByte" use="optional" />
- <xsd:attribute name="helloInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="routerDeadInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="authenticationType" type="AuthenticationTypeEnum" use="optional" />
- <xsd:attribute name="authenticationKey" type="AuthenticationKeyType" use="optional" />
- <xsd:attribute name="pollInterval" type="xsd:unsignedShort" use="optional" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="PointToMultiPointNeighborList">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- A list of the available neighbors on a PointToMultiPoint network.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element name="PointToMultiPointNeighbor" type="IPv4AddressResolvType" minOccurs="1" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="PointToMultiPointInterface">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Describes the parameters of a point-to-multipoint interface. It is
- identified in the router by its ifName value, or name of toward module.
- HelloInterval and RouterDeadInterval must be the same for all router
- interfaces attached to the same network.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="PointToMultiPointNeighborList" minOccurs="1" maxOccurs="1" />
- </xsd:sequence>
- <xsd:attributeGroup ref="ifAttr" />
- <xsd:attribute name="areaID" type="AreaIdType" use="optional" />
- <xsd:attribute name="interfaceOutputCost" type="MetricType" use="optional" />
- <xsd:attribute name="retransmissionInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="interfaceTransmissionDelay" type="xsd:unsignedByte" use="optional" />
- <xsd:attribute name="helloInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="routerDeadInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="authenticationType" type="AuthenticationTypeEnum" use="optional" />
- <xsd:attribute name="authenticationKey" type="AuthenticationKeyType" use="optional" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="ExternalInterface">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Describes the parameters of an external interface. These parameters will
- be advertised in the AS External LSA for this external route. The
- interface is identified in the router by its ifName value, or name of toward module.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attributeGroup ref="ifAttr" />
- <xsd:attribute name="advertisedExternalNetworkAddress" type="IPv4AddressResolvType" use="optional" />
- <xsd:attribute name="advertisedExternalNetworkMask" type="IPv4AddressResolvType" use="optional" />
- <xsd:attribute name="externalInterfaceOutputType" type="ExternalInterfaceOutputCostType" use="optional" />
- <xsd:attribute name="externalInterfaceOutputCost" type="MetricType" use="optional" />
- <xsd:attribute name="forwardingAddress" type="IPv4AddressResolvType" use="optional" />
- <xsd:attribute name="externalRouteTag" type="ExternalRouteTagType" use="optional" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="HostInterface">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Describes the parameters of a host interface (an interface to which a
- single host is attached). The interface is identified in the router by
- its ifName value, or name of toward module.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attributeGroup ref="ifAttr" />
- <xsd:attribute name="areaID" type="AreaIdType" use="optional" />
- <xsd:attribute name="attachedHost" type="IPv4AddressResolvType" use="optional" />
- <xsd:attribute name="linkCost" type="MetricType" use="optional" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="VirtualLink">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Describes a virtual link between two backbone routers.
- RetransmissionInterval should be well over the expected round-trip delay
- between the two routers. The virtual link is identified by its end
- point's router ID.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:attribute name="endPointRouterID" type="IPv4AddressResolvType" use="optional" /> <!-- must use '_nodename_%routerId' -->
- <xsd:attribute name="transitAreaID" type="AreaIdType" use="optional" />
- <xsd:attribute name="retransmissionInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="interfaceTransmissionDelay" type="xsd:unsignedByte" use="optional" />
- <xsd:attribute name="helloInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="routerDeadInterval" type="xsd:unsignedShort" use="optional" />
- <xsd:attribute name="authenticationType" type="AuthenticationTypeEnum" use="optional" />
- <xsd:attribute name="authenticationKey" type="AuthenticationKeyType" use="optional" />
- </xsd:complexType>
- </xsd:element>
- <xsd:element name="Router">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Describes an OSPF router with its interfaces. Interface 'ifName' and 'toward' module name values
- must be unique within the same router. A router is identified by its
- Router ID, which is given as an IPv4 address (but isn't necessarily one).
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:choice minOccurs="1" maxOccurs="255">
- <xsd:element ref="PointToPointInterface" />
- <xsd:element ref="BroadcastInterface" />
- <xsd:element ref="NBMAInterface" />
- <xsd:element ref="PointToMultiPointInterface" />
- <xsd:element ref="ExternalInterface" />
- <xsd:element ref="HostInterface" />
- </xsd:choice>
- <xsd:element ref="VirtualLink" minOccurs="0" maxOccurs="unbounded" />
- </xsd:sequence>
- <xsd:attribute name="name" type="NodePathType" use="required" />
- <xsd:attribute name="RFC1583Compatible" type="xsd:boolean" use="optional" />
- </xsd:complexType>
- <xsd:unique name="IfIndexConstraint">
- <xsd:selector xpath="PointToPointInterface|BroadcastInterface|NBMAInterface|PointToMultiPointInterface|ExternalInterface|HostInterface" />
- <xsd:field xpath="@ifName" />
- </xsd:unique>
- <xsd:unique name="towardConstraint">
- <xsd:selector xpath="PointToPointInterface|BroadcastInterface|NBMAInterface|PointToMultiPointInterface|ExternalInterface|HostInterface" />
- <xsd:field xpath="@toward" />
- </xsd:unique>
- <xsd:unique name="VirtualLinkEndPointConstraint">
- <xsd:selector xpath="VirtualLink" />
- <xsd:field xpath="@endPointRouterID" />
- </xsd:unique>
- </xsd:element>
- <xsd:element name="OSPFASConfig">
- <xsd:annotation>
- <xsd:documentation xml:lang="en">
- Describes an OSPF autonomous system with its areas and its routers. The
- Area IDs, Router IDs and area Address Ranges must be unique within the
- autonomous system.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref="Area" minOccurs="1" maxOccurs="unbounded" />
- <xsd:element ref="Router" minOccurs="2" maxOccurs="unbounded" />
- </xsd:sequence>
- </xsd:complexType>
- <xsd:unique name="AreaIDConstraint">
- <xsd:selector xpath="Area" />
- <xsd:field xpath="@id" />
- </xsd:unique>
- <xsd:unique name="RouterIDConstraint">
- <xsd:selector xpath="Router" />
- <xsd:field xpath="@id" />
- </xsd:unique>
- <xsd:unique name="AddressRangeConstraint">
- <xsd:selector xpath="Area/AddressRange" />
- <xsd:field xpath="Address" />
- <xsd:field xpath="Mask" />
- </xsd:unique>
- </xsd:element>
- </xsd:schema>
|