ipfix.xml 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <schema targetNamespace="urn:ietf:params:xml:ns:ipfix-info"
  3. xmlns:ipfix="urn:ietf:params:xml:ns:ipfix-info"
  4. xmlns="http://www.w3.org/2001/XMLSchema"
  5. elementFormDefault="qualified">
  6. <simpleType name="dataType">
  7. <restriction base="string">
  8. <enumeration value="unsigned8">
  9. <annotation>
  10. <documentation>The type "unsigned8" represents a
  11. non-negative integer value in the range of 0 to 255.
  12. </documentation>
  13. </annotation>
  14. </enumeration>
  15. <enumeration value="unsigned16">
  16. <annotation>
  17. <documentation>The type "unsigned16" represents a
  18. non-negative integer value in the range of 0 to 65535.
  19. </documentation>
  20. </annotation>
  21. </enumeration>
  22. <enumeration value="unsigned32">
  23. <annotation>
  24. <documentation>The type "unsigned32" represents a
  25. non-negative integer value in the range of 0 to
  26. 4294967295.
  27. </documentation>
  28. </annotation>
  29. </enumeration>
  30. <enumeration value="unsigned64">
  31. <annotation>
  32. <documentation>The type "unsigned64" represents a
  33. non-negative integer value in the range of 0 to
  34. 18446744073709551615.
  35. </documentation>
  36. </annotation>
  37. </enumeration>
  38. <enumeration value="signed8">
  39. <annotation>
  40. <documentation>The type "signed8" represents
  41. an integer value in the range of -128 to 127.
  42. </documentation>
  43. </annotation>
  44. </enumeration>
  45. <enumeration value="signed16">
  46. <annotation>
  47. <documentation>The type "signed16" represents an
  48. integer value in the range of -32768 to 32767.
  49. </documentation>
  50. </annotation>
  51. </enumeration>
  52. <enumeration value="signed32">
  53. <annotation>
  54. <documentation>The type "signed32" represents an
  55. integer value in the range of -2147483648 to
  56. 2147483647.
  57. </documentation>
  58. </annotation>
  59. </enumeration>
  60. <enumeration value="signed64">
  61. <annotation>
  62. <documentation>The type "signed64" represents an
  63. integer value in the range of -9223372036854775808
  64. to 9223372036854775807.
  65. </documentation>
  66. </annotation>
  67. </enumeration>
  68. <enumeration value="float32">
  69. <annotation>
  70. <documentation>The type "float32" corresponds to an IEEE
  71. single-precision 32-bit floating point type as defined
  72. in [IEEE.754.1985].
  73. </documentation>
  74. </annotation>
  75. </enumeration>
  76. <enumeration value="float64">
  77. <annotation>
  78. <documentation>The type "float64" corresponds to an IEEE
  79. double-precision 64-bit floating point type as defined
  80. in [IEEE.754.1985].
  81. </documentation>
  82. </annotation>
  83. </enumeration>
  84. <enumeration value="boolean">
  85. <annotation>
  86. <documentation>The type "boolean" represents a binary
  87. value. The only allowed values are "true" and "false".
  88. </documentation>
  89. </annotation>
  90. </enumeration>
  91. <enumeration value="macAddress">
  92. <annotation>
  93. <documentation>The type "macAddress" represents a
  94. string of 6 octets.
  95. </documentation>
  96. </annotation>
  97. </enumeration>
  98. <enumeration value="octetArray">
  99. <annotation>
  100. <documentation>The type "octetArray" represents a finite
  101. length string of octets.
  102. </documentation>
  103. </annotation>
  104. </enumeration>
  105. <enumeration value="string">
  106. <annotation>
  107. <documentation>
  108. The type "string" represents a finite length string
  109. of valid characters from the Unicode character encoding
  110. set [ISO.10646-1.1993]. Unicode allows for ASCII
  111. [ISO.646.1991] and many other international character
  112. sets to be used.
  113. </documentation>
  114. </annotation>
  115. </enumeration>
  116. <enumeration value="dateTimeSeconds">
  117. <annotation>
  118. <documentation>
  119. The type "dateTimeSeconds" represents a time value
  120. in units of seconds normalized to the
  121. GMT time zone.
  122. </documentation>
  123. </annotation>
  124. </enumeration>
  125. <enumeration value="dateTimeMilliseconds">
  126. <annotation>
  127. <documentation>The type "dateTimeMilliseconds" represents
  128. a time value in units of milliseconds
  129. normalized to the GMT time zone.
  130. </documentation>
  131. </annotation>
  132. </enumeration>
  133. <enumeration value="dateTimeMicroseconds">
  134. <annotation>
  135. <documentation>The type "dateTimeMicroseconds" represents
  136. a time value in units of microseconds
  137. normalized to the GMT time zone.
  138. </documentation>
  139. </annotation>
  140. </enumeration>
  141. <enumeration value="dateTimeNanoseconds">
  142. <annotation>
  143. <documentation>The type "dateTimeNanoseconds" represents
  144. a time value in units of nanoseconds
  145. normalized to the GMT time zone.
  146. </documentation>
  147. </annotation>
  148. </enumeration>
  149. <enumeration value="ipv4Address">
  150. <annotation>
  151. <documentation>The type "ipv4Address" represents a value
  152. of an IPv4 address.
  153. </documentation>
  154. </annotation>
  155. </enumeration>
  156. <enumeration value="ipv6Address">
  157. <annotation>
  158. <documentation>The type "ipv6Address" represents a value
  159. of an IPv6 address.
  160. </documentation>
  161. </annotation>
  162. </enumeration>
  163. </restriction>
  164. </simpleType>
  165. <simpleType name="dataTypeSemantics">
  166. <restriction base="string">
  167. <enumeration value="quantity">
  168. <annotation>
  169. <documentation>
  170. A quantity value represents a discrete
  171. measured value pertaining to the record. This is
  172. distinguished from counters which represent an ongoing
  173. measured value whose "odometer" reading is captured as
  174. part of a given record. If no semantic qualifier is
  175. given, the Information Elements that have an integral
  176. data type should behave as a quantity.
  177. </documentation>
  178. </annotation>
  179. </enumeration>
  180. <enumeration value="totalCounter">
  181. <annotation>
  182. <documentation>
  183. An integral value reporting the value of a counter.
  184. Counters are unsigned and wrap back to zero after
  185. reaching the limit of the type. For example, an
  186. unsigned64 with counter semantics will continue to
  187. increment until reaching the value of 2**64 - 1. At
  188. this point the next increment will wrap its value to
  189. zero and continue counting from zero. The semantics
  190. of a total counter is similar to the semantics of
  191. counters used in SNMP, such as Counter32 defined in
  192. RFC 2578 [RFC2578]. The only difference between total
  193. counters and counters used in SNMP is that the total
  194. counters have an initial value of 0. A total counter
  195. counts independently of the export of its value.
  196. </documentation>
  197. </annotation>
  198. </enumeration>
  199. <enumeration value="deltaCounter">
  200. <annotation>
  201. <documentation>
  202. An integral value reporting the value of a counter.
  203. Counters are unsigned and wrap back to zero after
  204. reaching the limit of the type. For example, an
  205. unsigned64 with counter semantics will continue to
  206. increment until reaching the value of 2**64 - 1. At
  207. this point the next increment will wrap its value to
  208. zero and continue counting from zero. The semantics
  209. of a delta counter is similar to the semantics of
  210. counters used in SNMP, such as Counter32 defined in
  211. RFC 2578 [RFC2578]. The only difference between delta
  212. counters and counters used in SNMP is that the delta
  213. counters have an initial value of 0. A delta counter
  214. is reset to 0 each time its value is exported.
  215. </documentation>
  216. </annotation>
  217. </enumeration>
  218. <enumeration value="identifier">
  219. <annotation>
  220. <documentation>
  221. An integral value which serves as an identifier.
  222. Specifically mathematical operations on two
  223. identifiers (aside from the equality operation) are
  224. meaningless. For example, Autonomous System ID 1 *
  225. Autonomous System ID 2 is meaningless.
  226. </documentation>
  227. </annotation>
  228. </enumeration>
  229. <enumeration value="flags">
  230. <annotation>
  231. <documentation>
  232. An integral value which actually represents a set of
  233. bit fields. Logical operations are appropriate on
  234. such values, but not other mathematical operations.
  235. Flags should always be of an unsigned type.
  236. </documentation>
  237. </annotation>
  238. </enumeration>
  239. </restriction>
  240. </simpleType>
  241. <simpleType name="applicability">
  242. <restriction base="string">
  243. <enumeration value="data">
  244. <annotation>
  245. <documentation>
  246. Used for Information Elements that are applicable to
  247. Flow Records only.
  248. </documentation>
  249. </annotation>
  250. </enumeration>
  251. <enumeration value="option">
  252. <annotation>
  253. <documentation>
  254. Used for Information Elements that are applicable to
  255. option records only.
  256. </documentation>
  257. </annotation>
  258. </enumeration>
  259. <enumeration value="all">
  260. <annotation>
  261. <documentation>
  262. Used for Information Elements that are applicable to
  263. Flow Records as well as to option records.
  264. </documentation>
  265. </annotation>
  266. </enumeration>
  267. </restriction>
  268. </simpleType>
  269. <simpleType name="status">
  270. <restriction base="string">
  271. <enumeration value="current">
  272. <annotation>
  273. <documentation>
  274. Indicates that the Information Element definition
  275. is that the definition is current and valid.
  276. </documentation>
  277. </annotation>
  278. </enumeration>
  279. <enumeration value="deprecated">
  280. <annotation>
  281. <documentation>
  282. Indicates that the Information Element definition is
  283. obsolete, but it permits new/continued implementation
  284. in order to foster interoperability with older/existing
  285. implementations.
  286. </documentation>
  287. </annotation>
  288. </enumeration>
  289. <enumeration value="obsolete">
  290. <annotation>
  291. <documentation>
  292. Indicates that the Information Element definition is
  293. obsolete and should not be implemented and/or can be
  294. removed if previously implemented.
  295. </documentation>
  296. </annotation>
  297. </enumeration>
  298. </restriction>
  299. </simpleType>
  300. <complexType name="text">
  301. <choice maxOccurs="unbounded" minOccurs="0">
  302. <element name="paragraph">
  303. <complexType mixed="true">
  304. <sequence>
  305. <element maxOccurs="unbounded" minOccurs="0"
  306. name="xref">
  307. <complexType>
  308. <attribute name="target" type="string"
  309. use="required"/>
  310. </complexType>
  311. </element>
  312. </sequence>
  313. </complexType>
  314. </element>
  315. <element name="artwork">
  316. <simpleType>
  317. <restriction base="string"/>
  318. </simpleType>
  319. </element>
  320. </choice>
  321. </complexType>
  322. <simpleType name="range">
  323. <restriction base="string"/>
  324. </simpleType>
  325. <element name="fieldDefinitions">
  326. <complexType>
  327. <sequence>
  328. <element maxOccurs="unbounded" minOccurs="1" name="field">
  329. <complexType>
  330. <sequence>
  331. <element maxOccurs="1" minOccurs="1" name="description"
  332. type="ipfix:text">
  333. <annotation>
  334. <documentation>
  335. The semantics of this Information Element.
  336. Describes how this Information Element is
  337. derived from the Flow or other information
  338. available to the observer.
  339. </documentation>
  340. </annotation>
  341. </element>
  342. <element maxOccurs="1" minOccurs="0" name="reference"
  343. type="ipfix:text">
  344. <annotation>
  345. <documentation>
  346. Identifies additional specifications which more
  347. precisely define this item or provide additional
  348. context for its use.
  349. </documentation>
  350. </annotation>
  351. </element>
  352. <element maxOccurs="1" minOccurs="0" name="units"
  353. type="string">
  354. <annotation>
  355. <documentation>
  356. If the Information Element is a measure of some
  357. kind, the units identify what the measure is.
  358. </documentation>
  359. </annotation>
  360. </element>
  361. <element maxOccurs="1" minOccurs="0" name="range"
  362. type="ipfix:range">
  363. <annotation>
  364. <documentation>
  365. Some Information Elements may only be able to
  366. take on a restricted set of values which can be
  367. expressed as a range (e.g. 0 through 511
  368. inclusive). If this is the case, the valid
  369. inclusive range should be specified.
  370. </documentation>
  371. </annotation>
  372. </element>
  373. </sequence>
  374. <attribute name="name" type="string" use="required">
  375. <annotation>
  376. <documentation>
  377. A unique and meaningful name for the Information
  378. Element.
  379. </documentation>
  380. </annotation>
  381. </attribute>
  382. <attribute name="dataType" type="ipfix:dataType"
  383. use="required">
  384. <annotation>
  385. <documentation>
  386. One of the types listed in section 3.1 of this
  387. document or in a future extension of the
  388. information model. The type space for attributes
  389. is constrained to facilitate implementation. The
  390. existing type space does however encompass most
  391. basic types used in modern programming languages,
  392. as well as some derived types (such as ipv4Address)
  393. which are common to this domain and useful
  394. to distinguish.
  395. </documentation>
  396. </annotation>
  397. </attribute>
  398. <attribute name="dataTypeSemantics"
  399. type="ipfix:dataTypeSemantics" use="optional">
  400. <annotation>
  401. <documentation>
  402. The integral types may be qualified by additional
  403. semantic details. Valid values for the data type
  404. semantics are specified in section 3.2 of this
  405. document or in a future extension of the
  406. information model.
  407. </documentation>
  408. </annotation>
  409. </attribute>
  410. <attribute name="elementId" type="nonNegativeInteger"
  411. use="required">
  412. <annotation>
  413. <documentation>
  414. A numeric identifier of the Information Element.
  415. If this identifier is used without an enterprise
  416. identifier (see [I-D.ietf-ipfix-protocol] and
  417. enterpriseId below), then it is globally unique
  418. and the list of allowed values is administered by
  419. IANA. It is used for compact identification of an
  420. Information Element when encoding Templates in the
  421. protocol.
  422. </documentation>
  423. </annotation>
  424. </attribute>
  425. <attribute name="enterpriseId" type="nonNegativeInteger"
  426. use="optional">
  427. <annotation>
  428. <documentation>
  429. Enterprises may wish to define Information Elements
  430. without registering them with IANA, for example for
  431. enterprise-internal purposes. For such Information
  432. Elements the Information Element identifier
  433. described above is not sufficient when the
  434. Information Element is used outside the enterprise.
  435. If specifications of enterprise-specific
  436. Information Elements are made public and/or if
  437. enterprise-specific identifiers are used by the
  438. IPFIX protocol outside the enterprise, then the
  439. enterprise-specific identifier MUST be made
  440. globally unique by combining it with an enterprise
  441. identifier. Valid values for the enterpriseId are
  442. defined by IANA as SMI network management private
  443. enterprise codes. They are defined at
  444. http://www.iana.org/assignments/enterprise-numbers.
  445. </documentation>
  446. </annotation>
  447. </attribute>
  448. <attribute name="applicability"
  449. type="ipfix:applicability" use="optional">
  450. <annotation>
  451. <documentation>This propoerty of an Information
  452. Element indicates in which kind of records the
  453. Information Element can be used.
  454. Allowed values for this property are 'data',
  455. 'option', and 'all'.</documentation>
  456. </annotation>
  457. </attribute>
  458. <attribute name="status" type="ipfix:status"
  459. use="required">
  460. <annotation>
  461. <documentation>
  462. The status of the specification of this
  463. Information Element. Allowed values are 'current',
  464. 'deprecated', and 'obsolete'.
  465. </documentation>
  466. </annotation>
  467. </attribute>
  468. <attribute name="group" type="string"
  469. use="required">
  470. <annotation>
  471. <documentation>to be done ...</documentation>
  472. </annotation>
  473. </attribute>
  474. </complexType>
  475. </element>
  476. </sequence>
  477. </complexType>
  478. <unique name="infoElementIdUnique">
  479. <selector xpath="field"/>
  480. <field xpath="elementId"/>
  481. </unique>
  482. </element>
  483. </schema>