This file is indexed.

/usr/share/doc/libfixbuf3-doc/html/rfc_5610.html is in libfixbuf3-doc 1.7.1+ds-1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>fixbuf- Documentation</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
        <link rel="stylesheet" type="text/css" href="../../site/style.css" />
        <link rel="stylesheet" type="text/css" href="doxygen.css">
        <link rel="stylesheet" type="text/css" href="tabs.css">
</head>
<body>
    <div id="p-body">
      <div id="l-header">
        <img src="../../site/sei-logo.png" id="l-sei-logo"
            alt="Software Engineering Institute | Carnegie Mellon&copy;" />
        <div id="l-netsa-logo"><a id="l-netsa-name" href="../../index.html"><b>CERT NetSA Security Suite</b></a></div>
        <div id="l-netsa-motto">Monitoring for Large-Scale Networks</div>
        <h1 class="l-page-title">fixbuf</h1>
        <span id="l-subtitle">Documentation</span>
      </div><!-- l-header -->
      <div id="l-content">
        <div id="l-sidebar">
          <div class="p-sidebar-section">
            <h1><a href="../index.html">fixbuf</a></h1>
            <ul>
              <li><a href="index.html">Documentation</a></li>
              <li><a href="../download.html">Downloads</a></li>
	      <li><a href="../../pyfixbuf/index.html">pyfixbuf</a></li>
            </ul>
          </div><!-- p-sidebar-section -->
        </div><!-- l-sidebar -->
      <div id="top"> <!-- need this for doxygen -->
<!-- Generated by Doxygen 1.8.9.1 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div class="header">
  <div class="headertitle">
<div class="title">RFC 5610 </div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>What is RFC 5610?</p>
<p>RFC 5610 provides a mechanism to export full type information for Information Elements from the IPFIX Information Model. Libfixbuf version 1.4 and later provides API functions to create IPFIX Option Template/Records that can encode the full set of properties for the definition of an Information Element in order for a Collecting Process to be able to know how to decode data that contains enterprise -specific Information Elements.</p>
<h1><a class="anchor" id="exp"></a>
RFC 5610 Exporters</h1>
<p>To create a new enterprise-specific Information Element, the Exporting Process should define a new information element using the FB_IE_INIT_FULL macro to provide the name, private enterprise number, id, length, description, data type, and units of the information element. The Information Elements should then be added to the Information Model using <a class="el" href="public_8h.html#ae06a524366afa6827d7e5abb1c33c0d0" title="Add a single information element to an information model. ">fbInfoModelAddElement()</a> or <a class="el" href="public_8h.html#a202bfa2340263229893a38de18670179" title="Add multiple information elements in an array to an information model. ">fbInfoModelAddElementArray()</a>.</p>
<p>An options template can then be created using <a class="el" href="public_8h.html#a11f275578868dc08d2a3f8524e2cc379" title="Allocate the Options Template that will be used to define Information Element Type Records...">fbInfoElementAllocTypeTemplate()</a>. This creates an option template that contains all of the necessary properties to define an Information Element:</p>
<p>-informationElementRangeBegin -informationElementRangeEnd -privateEnterpriseNumber -informationElementUnits -informationElementId -informationElementDataType -informationElementSemantics -paddingOctets -informationElementName -informationElementDescription</p>
<p>Then the template can be added to the session using <a class="el" href="public_8h.html#a2e4baf6d2142eca4cb526b1e80628bf8" title="Add a template to a session. ">fbSessionAddTemplate()</a>. Create the exporter and fbuf as described above for the necessary mode of transport. In order to use the above template, set the internal template to the to the options template created above using the template id that was returned by <a class="el" href="public_8h.html#a2e4baf6d2142eca4cb526b1e80628bf8" title="Add a template to a session. ">fbSessionAddTemplate()</a> using <a class="el" href="public_8h.html#a28c6c56234351a793fd513b212bd31b8" title="Set the internal template on a buffer to the given template ID. ">fBufSetInternalTemplate()</a>. Use <a class="el" href="public_8h.html#af6cd20b1eb9a3287f17587888ee2476b" title="Set the external template for export on a buffer to the given template ID. ">fBufSetExportTemplate()</a> to set the external template on the fBuf, then use <a class="el" href="public_8h.html#aa939fd9269e4cf11317aa8ff9fc48224" title="Export an options record to the given fbuf with information element type information about the given ...">fbInfoElementWriteOptionsRecord()</a> with the enterprise-specific Information Element. For Example: </p><div class="fragment"><div class="line"><a class="code" href="public_8h.html#aa939fd9269e4cf11317aa8ff9fc48224">fbInfoElementWriteOptionsRecord</a>(fbuf, <a class="code" href="public_8h.html#a5dc8b2e255bc36ca22abbb811bf85c20">fbInfoModelGetElementByName</a>(infoModel, <span class="stringliteral">&quot;myNewElement&quot;</span>), tid, err);</div>
</div><!-- fragment --><p>The Options Record will automatically be appended to the fbuf and will be sent upon calling <a class="el" href="public_8h.html#a3def007c235fd0dccb7a2293b23341e1" title="Emit the message currently in a buffer using the associated exporting process endpoint. ">fBufEmit()</a>.</p>
<h1><a class="anchor" id="col"></a>
RFC 5610 - Collector Usage</h1>
<p>In order to collect the above Options records, the collecting process can manually define the above Options Template and provide a template callback function to collect and add each element to the Information Model using <a class="el" href="public_8h.html#ad7138c3a3d6df65e4b3e0ec8e236f731" title="Add an element that we received via an Options Record to the given info model. ">fbInfoElementAddOptRecElement()</a> and <a class="el" href="public_8h.html#a13d881c33cf7b8b52de4877438f73c0e" title="Checks to see if the template contains all of the elements the RFC 5610 info element type record shou...">fbInfoModelTypeInfoRecord()</a>.</p>
<p>OR - the collector can simply use <a class="el" href="public_8h.html#ad4eccf26f7c201064a730728e9a5f9bc" title="Set the automatic insert flag on a buffer. ">fBufSetAutomaticInsert()</a> after creating an fBuf to automatically insert any information elements into the Information Model. Use the <a class="el" href="public_8h.html#ad9613bc9aa4e85dc7f55d990a0e502be" title="Convenience macro for extracting the information element units value from the flags variable in the f...">FB_IE_UNITS()</a> and <a class="el" href="public_8h.html#ac82de271da22fdfa0bc545bc7fb124d2" title="Convenience macro for extracting the information element semantic value from the flags variable in th...">FB_IE_SEMANTIC()</a> macros to query the flags field for the appropriate field. </p>
</div></div><!-- contents -->
      </div><!-- l-content -->
      <div id="l-footer">&copy; 2006-2015 Carnegie Mellon University</div>
    </div><!-- p-body -->
</body>
</html>