Kytos-ng1 version 2025.2 was released in Feb 2026.
Objectives
This version had these major objectives:
- AmLight production sustaining issues fixes
- Change
telemetry_intproxy ports to be optional for inter-EVCs mef_elineQinQ is not used anymore when EVCs makes use of VLAN translations- Add support for virtual NoviFlow switches on e2e tests
- Initial P4 switches support with pyp4ofagent
- Fix
kytos_statsinterface utilization charts - General UI improvements
- Move Link objects to Kytos-ng core
- End-to-end tests for UI
1. Change telemetry_int proxy ports to be optional for inter-EVCs
Proxy ports are now optional for inter-EVCs. A proxy port is used if it has proxy_port metadata configured on UNIs. Also, when enabling inter-EVCs a new boolean option proxy_port_enabled can be set to overwrite whether or not a proxy port should be used for inter-EVCs.
telemetry_int now also has a consistency check which will verify if telemetry_int flows for a given EVC are installed as expected. telemetry_int also exposes consistency check actions to fix these inconsistent flows via a REST endpoint. On version 2025.2, this consistency check doesn’t run automatically yet (it’s planned for 2026.1). If you are using telemetry_int in a production environment, it’s highly recommended to have a periodic script making request to this consistency check endpoint.
2. mef_eline QinQ is not used anymore when EVCs makes use of VLAN translations
QinQ encapsulation is no longer used for EVCs where VLAN translation takes place (numeric VLAN to untagged and different numeric VLANs), resulting in fewer stacked OpenFlow actions, which ultimately helps to avoid switch pipeline recirculation that can hinder data plane throughput. Also, vlan translation now happens on the egress switch instead of the ingress switch.
3. Add suport for virtual NoviFlow switches on e2e tests
Kytos-ng e2e test suites, composed of hundreds of test cases, now also support virtual NoviFlow switches in addition to OvS. A mininet switch wrapper has been developed to interface with virtual NoviFlow instance allowing it to be used in a mininet topology by providing a seamless integration compatible with mininet commands and related test assertion commands. For more information check out this documentation.
4. Initial P4 switches support with pyp4ofagent
Kytos-ng team has been researching solutions to support additional southbound protocols. Strategically, at the moment, AmLight has decided to develop a local OpenFlow agent that bridges and exposes a P4 switch for Kytos-ng as a OpenFlow switch. This solution and architecture also open new possibilities to locally implement certain features in the switches, while also minimizing development effort to support P4 switches. This unlocks P4 switches to be used with all the functionality the existing OpenFlow NApps already support. Also, pyof (python-openflow) has been fixed to support table features properties and other related serialization and deserialization issues.
5. Fix kytos_stats interface utilization charts
kytos_stats interface utilization charts have been fixed on the switch details panel as shown on Figure 1. If kytos_stats is enabled, interface utilization charts will be plotted, the current polling interval is 60 seconds. These charts are meant to provide a quick overview about network traffic utilization on interfaces of a switch.
kytos_stats interface utilization chart 6. General UI improvements
On this version, many NApps improvements were shipped:
maintenanceNApp now support advanced filtering, relative start and end date creation, open ended maintenance window, including new modal confirmations.
Also, many general UI improvements were made:
piniaintegration in the core for state application management.- Mapbox settings are now stored on browser local storage.
- Technical debt mitigated by replacing
Ajaxwithaxios.
7. Move Link objects to Kytos-ng core
Topology Link objects have been moved to Kytos-ng core controller, which can be accessed by other NApps via self.controller.links. Kytos-ng org NApps have been refactored accordingly, if have NApps which used to use topology’s link object references you should refactor your NApp. topology REST endpoint didn’t break compatibility though.
8. End-to-end tests for UI
To continue to improve code quality, Kytos-ng now has UI end-to-end tests. On this version, many core NApp UI have been already covered and the effort will continue in the next versions to improve UI code coverage of the main UI components used by NApps.
Database data model changes
If upgrading from prior versions, the following mandatory scripts need to be executed. There’s a README file with more information about each script:
000_liveness_deleted.pycan be used to list and delete old non existent interfaces which had liveness enabled, but hadn’t been fully removed from DB documents. If thelistcommand didn’t return any document then the DB collection doesn’t have any left over to be deleted. This script was also provided on version 2025.1.1, so if you’ve already run it on, you can skip it on version 2025.2.0.
The following scripts are optional:
001_cc.pycan be used to trigger consistency check runs for INT EVCs, on this version, it’s recommended that this script is run every few (3-5) minutes if you’re usingtelemetry_intin production, if the script detects any flow inconsistencies, it’s highly likely that an issue has been found. In that case, if you’re trying to remediate the problem to avoid having data plane issues, you should run it with the--inconsistent_action=fixto fix the inconsistent flows. In addition, in this case you should also report an issue upstream to be analyzed.
Kytos-ng and NApps released
The following Kytos-ng projects and NApps were released in this version. For further detailed information about what was released and what changed, please visit the release page of each project and look for the CHANGELOG.rst file.
Switches Compatibility List
The following switches have been tested with Kytos version 2025.2:
| Switch Vendor | Switch | Firmware version | OpenFlow version | Environment type |
|---|---|---|---|---|
| OVS | ovs-switchd | 2.15 | 1.3 | testing |
| NoviFlow | WB5132-F | NW570.8.4 | 1.3 | testing |
Kytos Testing Dashboard Analytics
An overview of the Kytos-ng and end-to-end tests coverage is available on these dashboards:
GitHub statistics
In the kytos-ng organization, during the period of this release from May 2025 to February 2026:
Kytos-ng Team
- Core Team: Vinicius, Italo, David, Rogerio, Aldo
- Contributors (2025.2): Heriberto Luna, Marcos Schwarz, Usman Aziz, Gretel De la Peña
- Team Leader: Jeronimo
Special Thanks to the Kytos-ng community.
-
Kytos-ng is supported by the National Science Foundation (NSF) AmLight Express and Protect (AmLIght-ExP) (Award # OAC-2029283) project members Florida International University (FIU) and rednesp (Research and Education Network at Sao Paulo/Brazil) ↩


