We have been discussion about strategies to allow integration between Kytos and P4 switches. Please refer to the following issues as some previous discussions and challenges:
One of the strategies that we discussed was to have a P4/OpenFlow agent running on the P4 switch and acting to "translate" P4 messages into OpenFlow messages. The P4 side could be implemented using P4Runtime, Barefoot Runtime, etc. The OpenFlow part will follow OpenFlow 1.3, which is the current version being used by Kytos.
This P4/OpenFlow agent should support features used by Kytos in production such as:
- Establishing OpenFlow 1.3 connection (without SSL)
- Switch Description / Port Description
- Echo messages to allow keep alive
- FlowMod ADD/MODIFY/DELETE (strict or not)
- Multipart FlowStats/TableStats/PortStats
- Barrier Req/Reply
- Port Status
- Packet IO (Packet In / Packet out)
- FlowMod error messages
- Experimenter Actions for INT (Inband Network Telemetry)
We have been discussion about strategies to allow integration between Kytos and P4 switches. Please refer to the following issues as some previous discussions and challenges:
One of the strategies that we discussed was to have a P4/OpenFlow agent running on the P4 switch and acting to "translate" P4 messages into OpenFlow messages. The P4 side could be implemented using P4Runtime, Barefoot Runtime, etc. The OpenFlow part will follow OpenFlow 1.3, which is the current version being used by Kytos.
This P4/OpenFlow agent should support features used by Kytos in production such as: