Due to a ransomware attack, the wiki was reverted to a July 2022 version. . We apologize for the lack of a more recent valid backup.
...
Launch Mininet
Code Block $ sudo -E $ONOS_ROOT/tools/test/topos/bmv2-demo.py --onos-ip=127.0.0.1 --pipeconf-id=org.onosproject.pipelines.int
Launch the collector
Code Block $ sudo systemctl start influxdb $ sudo python BPFCollector/InDBClient.py veth_2
Activate In-band telemetry control application
Code Block $ onos-app localhost activate org.onosproject.inbandtelemetry
Info You may see the following WARN log right after activating the INT control application.
Code Block 2019-02-15T11:23:30,143 | WARN | onos-shared-scheduled-onos-pool-executor-2 | SimpleIntManager | 231 - org.onosproject.onos-apps-inbandtelemetry-impl - 2.1.0.SNAPSHOT | Missing INT config, aborting programming of INT device device:bmv2:s22
It will be disappeared when you add collector configuration.
Please note that the INT monitoring works only after the collector configuration is done.
Add mirroring configuration on the switch for telemetry report
Code Block $ simple_switch_CLI --thrift-port `cat /tmp/bmv2-s12-thrift-port` RuntimeCmd: mirroring_add 500 5 (500: REPORT_MIRROR_SESSION_ID defined in int_definitions.p4) (5: port number to send mirrored packet, in this case veth_1)
- Add collector configuration
- Connect to ONOS web interface (http://localhost:8181/onos/ui/)
- Open "In-band Telemetry Control" in the menu
- Type 127.0.0.1 to "IPv4 address" field and 54321 to "port" field in "INT Collector Configuration" section
- Clink "Apply Configuration" button
- Add IntIntent to specify traffic to monitor
- Open "In-band Telemetry Control" in the ONOS GUI menu
- Fill in "Source IP address", "Destination IP address", "Source port", "Destination port" and "Protocol" field
- Source and Destination IP address fields accepts IP address with mask (e.g., 10.0.0.0/24)
- Source and Destination port number requires exact port number
- Protocol supports either TCP or UDP
- Any field remained empty, except Protocol field, means wildcard.
- Choose metadata to collect
- Switch Id and Egress timestamp must be chosen so as to make the collector to work properly.
- "Egress Port Tx Utilization" are not supported in current version of BMv2 software switch yet.
- Click "Apply Watchlist Rule" button below the metadata to deploy INT Intent.
- Created INT Intent will be appeared in the table below.
Generate some traffic to monitor
Code Block mininet> h11 iperf -c h22 -u -t 10000
- Connect Grafana to see the collected data at http://localhost:3000