blob: 08167924f4c474f4e4f9a5f8ce4d4652404544bd [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 }