OSPF_old.xsd 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463
  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  3. <xsd:simpleType name="IPv4AddressType">
  4. <xsd:annotation>
  5. <xsd:documentation xml:lang="en">
  6. A string containing an IPv4 address in dotted decimal notation.
  7. </xsd:documentation>
  8. </xsd:annotation>
  9. <xsd:restriction base="xsd:string">
  10. <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]))" />
  11. </xsd:restriction>
  12. </xsd:simpleType>
  13. <xsd:simpleType name="InterfaceNameType">
  14. <xsd:annotation>
  15. <xsd:documentation xml:lang="en">
  16. A string containing an interface name.
  17. </xsd:documentation>
  18. </xsd:annotation>
  19. <xsd:restriction base="xsd:string">
  20. </xsd:restriction>
  21. </xsd:simpleType>
  22. <xsd:simpleType name="StatusTypeEnum">
  23. <xsd:annotation>
  24. <xsd:documentation xml:lang="en">
  25. A value type which decides whether an address range will be advertised
  26. in Summary LSAs.
  27. </xsd:documentation>
  28. </xsd:annotation>
  29. <xsd:restriction base="xsd:string">
  30. <xsd:enumeration value="Advertise" />
  31. <xsd:enumeration value="DoNotAdvertise" />
  32. </xsd:restriction>
  33. </xsd:simpleType>
  34. <xsd:simpleType name="MetricType">
  35. <xsd:annotation>
  36. <xsd:documentation xml:lang="en">
  37. Link cost metric datatype. Should be less then 1000.
  38. </xsd:documentation>
  39. </xsd:annotation>
  40. <xsd:restriction base="xsd:positiveInteger">
  41. <xsd:maxExclusive value="1000" />
  42. </xsd:restriction>
  43. </xsd:simpleType>
  44. <xsd:simpleType name="AuthenticationTypeEnum">
  45. <xsd:annotation>
  46. <xsd:documentation xml:lang="en">
  47. Possible OSPF packet authentication protocols.
  48. </xsd:documentation>
  49. </xsd:annotation>
  50. <xsd:restriction base="xsd:string">
  51. <xsd:enumeration value="NullType" />
  52. <xsd:enumeration value="SimplePasswordType" />
  53. <xsd:enumeration value="CrytographicType" />
  54. </xsd:restriction>
  55. </xsd:simpleType>
  56. <xsd:simpleType name="AuthenticationKeyType">
  57. <xsd:annotation>
  58. <xsd:documentation xml:lang="en">
  59. Key value for the chosen authentication protocol. A string of at most 8
  60. bytes given in hexadecimal form. It starts with the '0x' string and
  61. continues with 1 to 8 pairs of hexadecimal digits.
  62. </xsd:documentation>
  63. </xsd:annotation>
  64. <xsd:restriction base="xsd:string">
  65. <xsd:pattern value="0x([0-9a-fA-F]{2}){1,8}" />
  66. </xsd:restriction>
  67. </xsd:simpleType>
  68. <xsd:simpleType name="ExternalRouteTagType">
  69. <xsd:annotation>
  70. <xsd:documentation xml:lang="en">
  71. 4 bytes describing the external route tag propagated for an external
  72. route in AS External LSAs. A string of at most 4 bytes given in
  73. hexadecimal form. It starts with the '0x' string and continues with 1 to
  74. 4 pairs of hexadecimal digits.
  75. </xsd:documentation>
  76. </xsd:annotation>
  77. <xsd:restriction base="xsd:string">
  78. <xsd:pattern value="0x([0-9a-fA-F]{2}){1,4}" />
  79. </xsd:restriction>
  80. </xsd:simpleType>
  81. <xsd:simpleType name="ExternalInterfaceOutputCostType">
  82. <xsd:annotation>
  83. <xsd:documentation xml:lang="en">
  84. The output cost type of an external link.
  85. </xsd:documentation>
  86. </xsd:annotation>
  87. <xsd:restriction base="xsd:string">
  88. <xsd:enumeration value="Type1" />
  89. <xsd:enumeration value="Type2" />
  90. </xsd:restriction>
  91. </xsd:simpleType>
  92. <xsd:element name="AddressRange">
  93. <xsd:annotation>
  94. <xsd:documentation xml:lang="en">
  95. Describes an address range of an OSPF area.
  96. </xsd:documentation>
  97. </xsd:annotation>
  98. <xsd:complexType>
  99. <xsd:sequence>
  100. <xsd:element name="Address" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  101. <xsd:element name="Mask" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  102. <xsd:element name="Status" type="StatusTypeEnum" minOccurs="1" maxOccurs="1" />
  103. </xsd:sequence>
  104. </xsd:complexType>
  105. </xsd:element>
  106. <xsd:element name="Stub">
  107. <xsd:annotation>
  108. <xsd:documentation xml:lang="en">
  109. An OSPF area (except the backbone) can be configured as a stub area. This
  110. element signals this occurrence and defines the default route cost
  111. advertised for that area.
  112. </xsd:documentation>
  113. </xsd:annotation>
  114. <xsd:complexType>
  115. <xsd:sequence>
  116. <xsd:element name="DefaultCost" type="MetricType" minOccurs="1" maxOccurs="1" />
  117. </xsd:sequence>
  118. </xsd:complexType>
  119. </xsd:element>
  120. <xsd:element name="Area">
  121. <xsd:annotation>
  122. <xsd:documentation xml:lang="en">
  123. The definition of an OSPF area. It has to have an Area ID given in the
  124. form of an IPv4 address. (The backbone is '0.0.0.0'.)
  125. </xsd:documentation>
  126. </xsd:annotation>
  127. <xsd:complexType>
  128. <xsd:sequence>
  129. <xsd:element ref="AddressRange" minOccurs="1" maxOccurs="unbounded" />
  130. <xsd:element ref="Stub" minOccurs="0" maxOccurs="1" />
  131. </xsd:sequence>
  132. <xsd:attribute name="id" type="IPv4AddressType" use="required" />
  133. </xsd:complexType>
  134. </xsd:element>
  135. <xsd:element name="PointToPointInterface">
  136. <xsd:annotation>
  137. <xsd:documentation xml:lang="en">
  138. Describes the parameters of a point-to-point interface. It is identified
  139. in the router by its ifName value.
  140. HelloInterval and RouterDeadInterval must be the same for all router
  141. interfaces attached to the same network.
  142. </xsd:documentation>
  143. </xsd:annotation>
  144. <xsd:complexType>
  145. <xsd:sequence>
  146. <xsd:element name="AreaID" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  147. <xsd:element name="InterfaceOutputCost" type="MetricType" minOccurs="1" maxOccurs="1" />
  148. <xsd:element name="RetransmissionInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  149. <xsd:element name="InterfaceTransmissionDelay" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1" />
  150. <xsd:element name="HelloInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  151. <xsd:element name="RouterDeadInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  152. <xsd:element name="AuthenticationType" type="AuthenticationTypeEnum" minOccurs="1" maxOccurs="1" />
  153. <xsd:element name="AuthenticationKey" type="AuthenticationKeyType" minOccurs="1" maxOccurs="1" />
  154. </xsd:sequence>
  155. <xsd:attribute name="ifName" type="InterfaceNameType" use="required" />
  156. </xsd:complexType>
  157. </xsd:element>
  158. <xsd:element name="BroadcastInterface">
  159. <xsd:annotation>
  160. <xsd:documentation xml:lang="en">
  161. Describes the parameters of a broadcast interface. It is identified in
  162. the router by its ifName value.
  163. HelloInterval and RouterDeadInterval must be the same for all router
  164. interfaces attached to the same network.
  165. </xsd:documentation>
  166. </xsd:annotation>
  167. <xsd:complexType>
  168. <xsd:sequence>
  169. <xsd:element name="AreaID" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  170. <xsd:element name="InterfaceOutputCost" type="MetricType" minOccurs="1" maxOccurs="1" />
  171. <xsd:element name="RetransmissionInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  172. <xsd:element name="InterfaceTransmissionDelay" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1" />
  173. <xsd:element name="RouterPriority" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1" />
  174. <xsd:element name="HelloInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  175. <xsd:element name="RouterDeadInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  176. <xsd:element name="AuthenticationType" type="AuthenticationTypeEnum" minOccurs="1" maxOccurs="1" />
  177. <xsd:element name="AuthenticationKey" type="AuthenticationKeyType" minOccurs="1" maxOccurs="1" />
  178. </xsd:sequence>
  179. <xsd:attribute name="ifName" type="InterfaceNameType" use="required" />
  180. </xsd:complexType>
  181. </xsd:element>
  182. <xsd:element name="NBMANeighbor">
  183. <xsd:annotation>
  184. <xsd:documentation xml:lang="en">
  185. Describes the preconfigured parameters of one of an NBMA router's neighbor.
  186. </xsd:documentation>
  187. </xsd:annotation>
  188. <xsd:complexType>
  189. <xsd:sequence>
  190. <xsd:element name="NetworkInterfaceAddress" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  191. <xsd:element name="NeighborPriority" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1" />
  192. </xsd:sequence>
  193. </xsd:complexType>
  194. </xsd:element>
  195. <xsd:element name="NBMANeighborList">
  196. <xsd:annotation>
  197. <xsd:documentation xml:lang="en">
  198. A list of the available neighbors on an NBMA network.
  199. </xsd:documentation>
  200. </xsd:annotation>
  201. <xsd:complexType>
  202. <xsd:sequence>
  203. <xsd:element ref="NBMANeighbor" minOccurs="1" maxOccurs="unbounded" />
  204. </xsd:sequence>
  205. </xsd:complexType>
  206. </xsd:element>
  207. <xsd:element name="NBMAInterface">
  208. <xsd:annotation>
  209. <xsd:documentation xml:lang="en">
  210. Describes the parameters of an NBMA interface. It is identified in the
  211. router by its ifName value.
  212. HelloInterval and RouterDeadInterval must be the same for all router
  213. interfaces attached to the same network.
  214. </xsd:documentation>
  215. </xsd:annotation>
  216. <xsd:complexType>
  217. <xsd:sequence>
  218. <xsd:element name="AreaID" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  219. <xsd:element name="InterfaceOutputCost" type="MetricType" minOccurs="1" maxOccurs="1" />
  220. <xsd:element name="RetransmissionInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  221. <xsd:element name="InterfaceTransmissionDelay" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1" />
  222. <xsd:element name="RouterPriority" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1" />
  223. <xsd:element name="HelloInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  224. <xsd:element name="RouterDeadInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  225. <xsd:element name="AuthenticationType" type="AuthenticationTypeEnum" minOccurs="1" maxOccurs="1" />
  226. <xsd:element name="AuthenticationKey" type="AuthenticationKeyType" minOccurs="1" maxOccurs="1" />
  227. <xsd:element name="PollInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  228. <xsd:element ref="NBMANeighborList" minOccurs="1" maxOccurs="1" />
  229. </xsd:sequence>
  230. <xsd:attribute name="ifName" type="InterfaceNameType" use="required" />
  231. </xsd:complexType>
  232. </xsd:element>
  233. <xsd:element name="PointToMultiPointNeighborList">
  234. <xsd:annotation>
  235. <xsd:documentation xml:lang="en">
  236. A list of the available neighbors on a PointToMultiPoint network.
  237. </xsd:documentation>
  238. </xsd:annotation>
  239. <xsd:complexType>
  240. <xsd:sequence>
  241. <xsd:element name="PointToMultiPointNeighbor" type="IPv4AddressType" minOccurs="1" maxOccurs="unbounded" />
  242. </xsd:sequence>
  243. </xsd:complexType>
  244. </xsd:element>
  245. <xsd:element name="PointToMultiPointInterface">
  246. <xsd:annotation>
  247. <xsd:documentation xml:lang="en">
  248. Describes the parameters of a point-to-multipoint interface. It is
  249. identified in the router by its ifName value.
  250. HelloInterval and RouterDeadInterval must be the same for all router
  251. interfaces attached to the same network.
  252. </xsd:documentation>
  253. </xsd:annotation>
  254. <xsd:complexType>
  255. <xsd:sequence>
  256. <xsd:element name="AreaID" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  257. <xsd:element name="InterfaceOutputCost" type="MetricType" minOccurs="1" maxOccurs="1" />
  258. <xsd:element name="RetransmissionInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  259. <xsd:element name="InterfaceTransmissionDelay" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1" />
  260. <xsd:element name="HelloInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  261. <xsd:element name="RouterDeadInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  262. <xsd:element name="AuthenticationType" type="AuthenticationTypeEnum" minOccurs="1" maxOccurs="1" />
  263. <xsd:element name="AuthenticationKey" type="AuthenticationKeyType" minOccurs="1" maxOccurs="1" />
  264. <xsd:element ref="PointToMultiPointNeighborList" minOccurs="1" maxOccurs="1" />
  265. </xsd:sequence>
  266. <xsd:attribute name="ifName" type="InterfaceNameType" use="required" />
  267. </xsd:complexType>
  268. </xsd:element>
  269. <xsd:element name="AdvertisedExternalNetwork">
  270. <xsd:annotation>
  271. <xsd:documentation xml:lang="en">
  272. The address of an external network to advertise in AS External LSAs.
  273. </xsd:documentation>
  274. </xsd:annotation>
  275. <xsd:complexType>
  276. <xsd:sequence>
  277. <xsd:element name="Address" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  278. <xsd:element name="Mask" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  279. </xsd:sequence>
  280. </xsd:complexType>
  281. </xsd:element>
  282. <xsd:element name="ExternalInterfaceOutputParameters">
  283. <xsd:annotation>
  284. <xsd:documentation xml:lang="en">
  285. The output cost parameters of an external interface.
  286. </xsd:documentation>
  287. </xsd:annotation>
  288. <xsd:complexType>
  289. <xsd:sequence>
  290. <xsd:element name="ExternalInterfaceOutputType" type="ExternalInterfaceOutputCostType" minOccurs="1" maxOccurs="1" />
  291. <xsd:element name="ExternalInterfaceOutputCost" type="MetricType" minOccurs="1" maxOccurs="1" />
  292. </xsd:sequence>
  293. </xsd:complexType>
  294. </xsd:element>
  295. <xsd:element name="ExternalInterface">
  296. <xsd:annotation>
  297. <xsd:documentation xml:lang="en">
  298. Describes the parameters of an external interface. These parameters will
  299. be advertised in the AS External LSA for this external route. The
  300. interface is identified in the router by its ifName value.
  301. </xsd:documentation>
  302. </xsd:annotation>
  303. <xsd:complexType>
  304. <xsd:sequence>
  305. <xsd:element ref="AdvertisedExternalNetwork" minOccurs="1" maxOccurs="1" />
  306. <xsd:element ref="ExternalInterfaceOutputParameters" minOccurs="1" maxOccurs="1" />
  307. <xsd:element name="ForwardingAddress" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  308. <xsd:element name="ExternalRouteTag" type="ExternalRouteTagType" minOccurs="1" maxOccurs="1" />
  309. </xsd:sequence>
  310. <xsd:attribute name="ifName" type="InterfaceNameType" use="required" />
  311. </xsd:complexType>
  312. </xsd:element>
  313. <xsd:element name="HostInterface">
  314. <xsd:annotation>
  315. <xsd:documentation xml:lang="en">
  316. Describes the parameters of a host interface (an interface to which a
  317. single host is attached). The interface is identified in the router by
  318. its ifName value.
  319. </xsd:documentation>
  320. </xsd:annotation>
  321. <xsd:complexType>
  322. <xsd:sequence>
  323. <xsd:element name="AreaID" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  324. <xsd:element name="AttachedHost" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  325. <xsd:element name="LinkCost" type="MetricType" minOccurs="1" maxOccurs="1" />
  326. </xsd:sequence>
  327. <xsd:attribute name="ifName" type="InterfaceNameType" use="required" />
  328. </xsd:complexType>
  329. </xsd:element>
  330. <xsd:element name="VirtualLink">
  331. <xsd:annotation>
  332. <xsd:documentation xml:lang="en">
  333. Describes a virtual link between two backbone routers.
  334. RetransmissionInterval should be well over the expected round-trip delay
  335. between the two routers. The virtual link is identified by its end
  336. point's router ID.
  337. </xsd:documentation>
  338. </xsd:annotation>
  339. <xsd:complexType>
  340. <xsd:sequence>
  341. <xsd:element name="TransitAreaID" type="IPv4AddressType" minOccurs="1" maxOccurs="1" />
  342. <xsd:element name="RetransmissionInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  343. <xsd:element name="InterfaceTransmissionDelay" type="xsd:unsignedByte" minOccurs="1" maxOccurs="1" />
  344. <xsd:element name="HelloInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  345. <xsd:element name="RouterDeadInterval" type="xsd:unsignedShort" minOccurs="1" maxOccurs="1" />
  346. <xsd:element name="AuthenticationType" type="AuthenticationTypeEnum" minOccurs="1" maxOccurs="1" />
  347. <xsd:element name="AuthenticationKey" type="AuthenticationKeyType" minOccurs="1" maxOccurs="1" />
  348. </xsd:sequence>
  349. <xsd:attribute name="endPointRouterID" type="IPv4AddressType" use="required" />
  350. </xsd:complexType>
  351. </xsd:element>
  352. <xsd:element name="Router">
  353. <xsd:annotation>
  354. <xsd:documentation xml:lang="en">
  355. Describes an OSPF router with its interfaces. Interface ifName values
  356. must be unique within the same router. A router is identified by its
  357. Router ID, which is given as an IPv4 address (but isn't necessarily one).
  358. </xsd:documentation>
  359. </xsd:annotation>
  360. <xsd:complexType>
  361. <xsd:sequence>
  362. <xsd:element name="RFC1583Compatible" minOccurs="0" maxOccurs="1" />
  363. <xsd:choice minOccurs="1" maxOccurs="255">
  364. <xsd:element ref="PointToPointInterface" />
  365. <xsd:element ref="BroadcastInterface" />
  366. <xsd:element ref="NBMAInterface" />
  367. <xsd:element ref="PointToMultiPointInterface" />
  368. <xsd:element ref="ExternalInterface" />
  369. <xsd:element ref="HostInterface" />
  370. </xsd:choice>
  371. <xsd:element ref="VirtualLink" minOccurs="0" maxOccurs="unbounded" />
  372. </xsd:sequence>
  373. <xsd:attribute name="id" type="IPv4AddressType" use="required" />
  374. </xsd:complexType>
  375. <xsd:unique name="IfIndexConstraint">
  376. <xsd:selector xpath="PointToPointInterface|BroadcastInterface|NBMAInterface|PointToMultiPointInterface|ExternalInterface|HostInterface" />
  377. <xsd:field xpath="@ifName" />
  378. </xsd:unique>
  379. <xsd:unique name="VirtualLinkEndPointConstraint">
  380. <xsd:selector xpath="VirtualLink" />
  381. <xsd:field xpath="@endPointRouterID" />
  382. </xsd:unique>
  383. </xsd:element>
  384. <xsd:element name="OSPFASConfig">
  385. <xsd:annotation>
  386. <xsd:documentation xml:lang="en">
  387. Describes an OSPF autonomous system with its areas and its routers. The
  388. Area IDs, Router IDs and area Address Ranges must be unique within the
  389. autonomous system.
  390. </xsd:documentation>
  391. </xsd:annotation>
  392. <xsd:complexType>
  393. <xsd:sequence>
  394. <xsd:element ref="Area" minOccurs="1" maxOccurs="unbounded" />
  395. <xsd:element ref="Router" minOccurs="2" maxOccurs="unbounded" />
  396. </xsd:sequence>
  397. </xsd:complexType>
  398. <xsd:unique name="AreaIDConstraint">
  399. <xsd:selector xpath="Area" />
  400. <xsd:field xpath="@id" />
  401. </xsd:unique>
  402. <xsd:unique name="RouterIDConstraint">
  403. <xsd:selector xpath="Router" />
  404. <xsd:field xpath="@id" />
  405. </xsd:unique>
  406. <xsd:unique name="AddressRangeConstraint">
  407. <xsd:selector xpath="Area/AddressRange" />
  408. <xsd:field xpath="Address" />
  409. <xsd:field xpath="Mask" />
  410. </xsd:unique>
  411. </xsd:element>
  412. </xsd:schema>