Giter Club home page Giter Club logo

zodiacfx-p4's Introduction

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

zodiacfx-p4's People

Contributors

pzanna avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.