blob: aefc2ca2d0c3f3ab5da98cd09389f01b142087a0 [file] [log] [blame]
Charles Chancaebcf32021-09-20 22:17:52 -07001In-band Network Telemetry (INT)
2===============================
Yi Tseng1aa9da72021-09-28 02:33:14 -07003
4ONOS network configuration for INT application
5----------------------------------------------
6
7.. tip::
8 Learn more about `ONOS network configuration service
9 <https://wiki.onosproject.org/display/ONOS/The+Network+Configuration+Service>`_.
10
11Here's a list of fields that you can configure:
12
13* ``collectorIp``: The IP address of the INT collector, Must be an IP of a host that attached to the fabric. *Required*
14
15* ``collectorPort``: The UDP port that the INT collector will listen on. *Required*
16
17* ``minFlowHopLatencyChangeNs``: The minimum latency change to bypass the flow report
18 filter in nanosecond. *Optional, default is 0.*
19
20 We use this value to instruct an INT-capable device to produce reports only for packets
21 which hop latency changed by at least ``minFlowHopLatencyChangeNs`` nanosecond from
22 the previously reported value for the same flow (5-tuple).
23
24 For example: produce a report only if ``(currentHopLatency - previousHopLatency) > minFlowHopLatencyChangeNs``.
25 Some pipeline implementations might support only specific intervals, e.g., powers of 2.
26
27* ``watchSubnets``: List of subnets we want to watch. *Optional, default is an empty list.*
28
29 * Devices will watch packets with source IP or destination IP matched in this list.
30 * To watch every packet, use ``0.0.0.0/0``.
31 * Note that the pipeline won't watch the INT report traffic.
32
33* ``queueReportLatencyThresholds``: A map that specified thresholds to trigger queue
34 report or reset the queue report quota. *Optional, default is an empty map.*
35
36 The key of this map is the queue ID. The devices will only report queues in this map.
37
38 * ``triggerNs``: The latency threshold to trigger queue report in nanosecond. **Required**
39 * ``resetNs``: The latency threshold to reset queue report quota in nanosecond. **Optional**
40
41 * When absent, the device will reset the queue report quota when latency is half of ``triggerNs``.
42
43Below is an example of ONOS network configuration for INT application:
44
45.. code-block:: json
46
47 {
48 "apps": {
49 "org.stratumproject.fabric.tna.inbandtelemetry": {
50 "report": {
51 "collectorIp": "10.32.11.2",
52 "collectorPort": 32766,
53 "minFlowHopLatencyChangeNs": 512,
54 "watchSubnets": [
55 "10.32.11.0/24"
56 ],
57 "queueReportLatencyThresholds": {
58 "0": {"triggerNs": 2000, "resetNs": 500},
59 "2": {"triggerNs": 1000, "resetNs": 400}
60 }
61 }
62 }
63 }
64 }
Yi Tsengd16c4db2021-09-29 03:45:05 -070065
66
67Intel DeepInsight integration
68-----------------------------
69
70.. note::
71 In this chapter, we assume that you already deploy the
72 `Intel DeepInsight Network Analytics Software <https://www.intel.com/content/www/us/en/products/network-io/programmable-ethernet-switch/network-analytics/deep-insight.html>`_
73 to your setup with a valid license.
74
75 Please contact Intel to get the software package and license of the DeepInsight Network Analytics Software.
76
77Configure the DeepInsight topology
78^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
79
80We use `SD-Fabric utiliity <https://github.com/opennetworkinglab/sdfabric-utils>`_
81to convert the ONOS topology and configurations to DeepInsight
82topology configuration and upload it.
83
84To install the DeepInsight utility, use the following command:
85
86.. code-block:: bash
87
88 pip3 install git+ssh://git@github.com/opennetworkinglab/sdfabric-utils.git#subdirectory=deep-insight
89
90use the following command to generate the topology configuration file:
91
92.. code-block:: bash
93
94 di gen-topology [-s ONOS_ADDRESS] [-u ONOS_USER] [-p ONOS_PASSWORD] [-o TOPOLOGY-CONFIG-JSON]
95
96For example, we installs ONOS to ``192.168.100.1:8181``
97
98.. code-block:: bash
99
100 di gen-topology -s 192.168.100.1:8181 -o /tmp/topology.json
101
102.. tip::
103
104 Use ``di -h`` to get more detail about commands and parameters
105
106To upload the topology configuration file, go to DeepInsight web UI.
107In ``settings`` page there is a ``Topology Settings`` section.
108
109Choose ``Upload topology.json`` and use ``Browse...`` button to upload it.