Skip to content

sina370/ZodiacFX-P4

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zodiac FX Firmware

This is the P4 version of the firmware for the Northbound Networks Zodiac FX Switch.

Background

The Zodiac FX began as a Kickstarter campaign in 2015, with the goal of providing an affordable Software Defined Networking (SDN) platform for developers, researchers, and networking hobbyists. To learn more about SDN, visit the Northbound Networks Blog.

The Zodiac FX SDN switch normally uses the OpenFlow protocol, an open standard for communication in an SDN architecture. However, this version of the firmware is designed to run code generated by a P4 compiler.

This repository contains the entire open-source firmware for the P4 version Zodiac FX but it is only an early version and when have many issues that are currently being worked on so don't expect too much to start with.

Building the Project

If you want to modify the firmware for your own project, either download this project or fork this repository.

Atmel Studio 7 is required to build the project.

Debugging the project

For full source-level debugging, a Zodiac FX Hardware Debugger is required.

  • Ensure that the hardware debugger appears in Project -> ZodiacFX Properties -> Tool -> Selected debugger/programmer
    • Zodiac FX uses the JTAG interface
  • Select the 'Debug' Solution Configuration in the Atmel Studio Standard toolbar
    • The 'Release' configuration has been modified to build firmware updates, and will not run directly in Atmel Studio
  • Select the 'Start Debugging and Break' option in the Debug menu to begin stepping through the source

The firmware will continue to run by cycling power to the Zodiac FX (after removing the hardware debugger). However, firmware updating will not function until a full upgrade firmware is flashed. The modified firmware can be written to the Zodiac FX by following the steps outlined below: running the code without a hardware debugger.

Running the code without a hardware debugger

Modified firmware can be tested without the Zodiac FX Hardware Debugger, however source-level debugging is not possible.

  • Build the 'Release' configuration of the ZodiacFX solution.
  • Navigate to the compiled binary
    • \ZodiacFX\Release\ZodiacFX.bin
  • Load the firmware bin file on to the Zodiac FX using SAM-BA.

P4 files

The are two P4 files required for the firmware to compile, these are generated using the Zodiac FX backend for the P4 compiler. These files "zodiacfx-p4.c" and "zodiacfx-p4.h" are in the P4 folder of the source code and you need to replace them with the versions you generate from your own P4 code before you compile this firmware.

Reporting Bugs and Issues

Any bugs and issues can be brought up in the Northbound Networks Forums.

Issues can also be raised in this repository.

Release Notes

Version 0.01

  • Initial test version

Authors

  • Paul Zanna - Creator

License

GPL 3.0

About

The P4 version of the Zodiac FX firmware

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 96.8%
  • C++ 2.6%
  • Makefile 0.6%