All Projects → faucetsdn → Faucet

faucetsdn / Faucet

Licence: apache-2.0
FAUCET is an OpenFlow controller for multi table OpenFlow 1.3 switches, that implements layer 2 switching, VLANs, ACLs, and layer 3 IPv4 and IPv6 routing.

Programming Languages

python
139335 projects - #7 most used programming language

Labels

Projects that are alternatives of or similar to Faucet

zero-ui
ZeroUI - ZeroTier Controller Web UI - is a web user interface for a self-hosted ZeroTier network controller.
Stars: ✭ 432 (+16.76%)
Mutual labels:  sdn
kytos
Kytos SDN Platform is the fastest way to deploy an SDN Network. With this you can deploy a basic OpenFlow controller or your own controller. Kytos was designed to be easy to install, use, develop and share Network Apps (NApps). Kytos is incredibly powerful and easy, its modular design makes Kytos a lightweight SDN Platform.
Stars: ✭ 43 (-88.38%)
Mutual labels:  sdn
sfc app
Service Function Chaining Application for Ryu SDN controller
Stars: ✭ 25 (-93.24%)
Mutual labels:  sdn
iovisor-ovn
IOVisor OVN integration
Stars: ✭ 62 (-83.24%)
Mutual labels:  sdn
SDN-Datacenter
Making a software defined datacenter. Which includes various virtual networks with mutiple network functions deployed on it. This includes SDN network deployed on real hardware.
Stars: ✭ 28 (-92.43%)
Mutual labels:  sdn
multipath
Multipath routing with Ryu and Pyretic SDN Controllers
Stars: ✭ 56 (-84.86%)
Mutual labels:  sdn
netbox-joined-inventory
Netbox_joined_inventory is a python script that gathers data from a Netbox source-of-truth and stores them as Ansible inventory, group_vars and host_vars files.
Stars: ✭ 21 (-94.32%)
Mutual labels:  sdn
Ofsoftswitch13
OpenFlow 1.3 switch.
Stars: ✭ 263 (-28.92%)
Mutual labels:  sdn
flowmanager
An SDN application that gives its user the ability to control flows in an OpenFlow network without coding.
Stars: ✭ 60 (-83.78%)
Mutual labels:  sdn
meetups
Repository to gather all presentations and info from all Taiwan Cloud Native meetups.
Stars: ✭ 96 (-74.05%)
Mutual labels:  sdn
katana-slice manager
5G Network E2E Slice Manager
Stars: ✭ 61 (-83.51%)
Mutual labels:  sdn
sdn-nfv-papers
This is a paper list about Resource Allocation in Network Functions Virtualization (NFV) and Software-Defined Networking (SDN).
Stars: ✭ 40 (-89.19%)
Mutual labels:  sdn
TupleNet
TupleNet is a lightweight tool for building virtual-networking
Stars: ✭ 26 (-92.97%)
Mutual labels:  sdn
SOL
SOL: SDN optimization layer. A framework for writing network optimization problems more easily.
Stars: ✭ 22 (-94.05%)
Mutual labels:  sdn
Vedetta
OpenBSD Router Boilerplate
Stars: ✭ 260 (-29.73%)
Mutual labels:  sdn
pathman-sr
Pathman SR is an open-source app to compute paths and deploy routes in Segment Routing-enabled network.
Stars: ✭ 79 (-78.65%)
Mutual labels:  sdn
fog05
End-to-End Compute, Storage and Networking Virtualisation.
Stars: ✭ 50 (-86.49%)
Mutual labels:  sdn
Poseidon
Poseidon is a python-based application that leverages software defined networks (SDN) to acquire and then feed network traffic to a number of machine learning techniques. The machine learning algorithms classify and predict the type of device.
Stars: ✭ 310 (-16.22%)
Mutual labels:  sdn
Learning Sdn
SDN 學習及實作範例。(因個人職涯關係,已不再維護,請見諒。)
Stars: ✭ 262 (-29.19%)
Mutual labels:  sdn
nconnect
Securely connect to remote machines without the need of any server, public IP address, or publicly exposed ports.
Stars: ✭ 38 (-89.73%)
Mutual labels:  sdn

Faucet

.. image:: https://github.com/faucetsdn/faucet/workflows/Unit%20tests/badge.svg?branch=master :target: https://github.com/faucetsdn/faucet/actions?query=workflow%3A%22Unit+tests%22

.. image:: https://github.com/faucetsdn/faucet/workflows/Integration%20tests/badge.svg?branch=master :target: https://github.com/faucetsdn/faucet/actions?query=workflow%3A%22Integration+tests%22

.. image:: https://codecov.io/gh/faucetsdn/faucet/branch/master/graph/badge.svg :target: https://codecov.io/gh/faucetsdn/faucet

FAUCET is an OpenFlow controller for multi table OpenFlow 1.3 switches, that implements layer 2 switching, VLANs, ACLs, and layer 3 IPv4 and IPv6 routing, static and via BGP. It is based on Waikato University's Valve <https://github.com/wandsdn/valve>_ and the Ryu OpenFlow Controller <http://osrg.github.io/ryu/>. FAUCET's design and background is described in ACM Queue <https://queue.acm.org/detail.cfm?id=3015763>.

It supports:

  • OpenFlow v1.3 (multi table) switches (including optional table features), hardware and software
  • Multiple datapaths and distributed switching under a single controller
  • VLANs, mixed tagged/untagged ports
  • ACLs matching layer 2 and layer 3 fields
  • IPv4 and IPv6 routing, static and via BGP
  • Policy based forwarding to offload to external NFV applications (Eg 802.1x via hostapd, DHCP to isc DHCPD)
  • Port and flow statistics via InfluxDB/Grafana
  • Controller health and statistics via Prometheus
  • Unit and systems tests run under Travis based on mininet and OVS

Hardware and software switch support

Detailed guides for some switches are available on readthedocs <http://docs.faucet.nz/en/latest/vendors/index.html>_.

Faucet's design principle is to be as hardware agnostic as possible and not require Table Type Patterns. This means that Faucet expects the hardware Open Flow Agent (OFA) to hide implementation details, including which tables are best for certain matches or whether there is special support for multicast - Faucet expects the OFA to leverage the right hardware transparently.

If you are a hardware vendor wanting to support FAUCET, you need to support all the matches in faucet/faucet_pipeline.py <faucet/faucet_pipeline.py>_ and pass all tests.

Installation

Please see the installation guide <http://docs.faucet.nz/en/latest/installation.html>_.

Configuration

Please see the configuration guide <http://docs.faucet.nz/en/latest/configuration.html>_ for documentation regarding the general configuration of faucet and the recipe book <http://docs.faucet.nz/en/latest/recipe_book/index.html>_ for configuration snippets for common use cases.

Development and testing

Please see the developer guide <http://docs.faucet.nz/en/latest/developer_guide.html>_.

Support

We run a number of mailing lists for communication between users and developers of Faucet, as well as a low traffic mailing list for announcements of new versions:

Faucet dev blog by Josh Bailey available at https://www.vandervecken.com/faucet.

To create a issue, use GitHub Issues <https://github.com/faucetsdn/faucet/issues>_.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].