[P4-dev] P4 and Zodiac-FX
rajjoshi at comp.nus.edu.sg
Tue Oct 3 22:06:52 EDT 2017
Good question! Unfortunately Zodiac-FX isn't a P4-compatible target yet (as
far as I am aware). On the face of it, Zodiac-FX is a "fixed function"
OpenFlow switch. However, it's fixed functionality is implemented in
software (the board's firmware). This means that it is still a programmable
switch *only if we can write a P4 backend compiler* that would generate the
Atmel firmware code for the board, given a user-defined datapath in P4.
This sounds like an interesting way to bring a low-end P4 hardware target
to the classrooms for teaching and also for hobbyist purposes. But I
suspect the effort won't be trivial. I can think of the following major
- *Making the current Zodiac-FX's source code modular:* This would be
the first step to separate the packet processing functions from other
miscellaneous functions (boot sequence, led controls, firmware upgrade,
etc.). This will allow the P4 backend compiler to only generate the
pipeline processing code which could then be plugged into the overall
- *Limiting the pipeline processing in order to preserve line-rate
processing:* Since Zodiac-FX processes packets in software, it has
limited processing horse power (which is why it is a 10/100 Mbps switch in
the first place). It is going to be important for the backend compiler to
draw proper limits and warn the user that his P4-defined datapath is doing
- *Control plane:* You would have a custom control plane API for a
custom P4 program. Although P4Runtime makes things easy, it does need an
agent to run on the target device. Now Zodiac-FX doesn't run a full
function NOS. We would need to figure out how to run the P4Runtime agent (a
gRPC server) on the embedded device. A good starting point would be the
current OpenFlow agent implementation in Zodiac-FX's firmware.
On Wed, Oct 4, 2017 at 7:28 AM, KURSAT GOL <kursat.gol at oeee.web.tr> wrote:
> Hi All,
> Is there any compiler and usecases for Northbound Networks' Zodiac-FX
> device compiler for p4-runtime?
> Kursat Gol
> P4-dev mailing list
> P4-dev at lists.p4.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the P4-dev