All Projects → bisdn → basebox

bisdn / basebox

Licence: MPL-2.0 license
A tiny OpenFlow controller for OF-DPA switches.

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
Meson
512 projects
Makefile
30231 projects
python
139335 projects - #7 most used programming language
Dockerfile
14818 projects

Projects that are alternatives of or similar to basebox

multipath
Multipath routing with Ryu and Pyretic SDN Controllers
Stars: ✭ 56 (+43.59%)
Mutual labels:  sdn, openflow
python-openflow
Low level OpenFlow messages parser used by Kytos SDN Platform
Stars: ✭ 44 (+12.82%)
Mutual labels:  sdn, openflow
sfc app
Service Function Chaining Application for Ryu SDN controller
Stars: ✭ 25 (-35.9%)
Mutual labels:  sdn, openflow
flowmanager
An SDN application that gives its user the ability to control flows in an OpenFlow network without coding.
Stars: ✭ 60 (+53.85%)
Mutual labels:  sdn, openflow
Mininet
Emulator for rapid prototyping of Software Defined Networks
Stars: ✭ 4,196 (+10658.97%)
Mutual labels:  sdn, openflow
Gardener
Kubernetes-native system managing the full lifecycle of conformant Kubernetes clusters as a service on Alicloud, AWS, Azure, GCP, OpenStack, EquinixMetal, vSphere, MetalStack, and Kubevirt with minimal TCO.
Stars: ✭ 2,093 (+5266.67%)
Mutual labels:  controller
Spstorkcontroller
Now playing controller from Apple Music, Mail & Podcasts Apple's apps.
Stars: ✭ 2,494 (+6294.87%)
Mutual labels:  controller
Apisix Ingress Controller
ingress controller for K8s
Stars: ✭ 139 (+256.41%)
Mutual labels:  controller
Borealis
Hardware accelerated, controller and TV oriented UI library for PC and Nintendo Switch (libnx).
Stars: ✭ 135 (+246.15%)
Mutual labels:  controller
Node Xbox Controller
🎮 [UNMAINTAINED] Interface for Xbox 360 game controller into Node.js
Stars: ✭ 253 (+548.72%)
Mutual labels:  controller
Antimicrox
Graphical program used to map keyboard buttons and mouse controls to a gamepad. Useful for playing games with no gamepad support.
Stars: ✭ 226 (+479.49%)
Mutual labels:  controller
Smudge
Control the Spotify app from within Emacs.
Stars: ✭ 186 (+376.92%)
Mutual labels:  controller
Controllerextrabundle
Controller extra Bundle for Symfony2
Stars: ✭ 157 (+302.56%)
Mutual labels:  controller
Edi
Edi - The open source text editor IDE based on AvalonDock and AvalonEdit
Stars: ✭ 220 (+464.1%)
Mutual labels:  controller
Controllerx
Create controller-based automations with ease to control your home devices and scenes.
Stars: ✭ 141 (+261.54%)
Mutual labels:  controller
Xqpagecontroller
PageController, including normal style, including sticky, tableview in tableview
Stars: ✭ 240 (+515.38%)
Mutual labels:  controller
Pedalinomini
Same features of Pedalino™ in a compact form.
Stars: ✭ 139 (+256.41%)
Mutual labels:  controller
Diamond
Diamond is a full-stack web-framework written in The D Programming Language using vibe.d
Stars: ✭ 173 (+343.59%)
Mutual labels:  controller
Transition
Easy interactive interruptible custom ViewController transitions
Stars: ✭ 2,566 (+6479.49%)
Mutual labels:  controller
Magicalexoplayer
The Easiest Way To Play/Stream Video And Audio Using Google ExoPlayer In Your Android Application
Stars: ✭ 171 (+338.46%)
Mutual labels:  controller

baseboxd

Installation

Fedora

Currently packages are built only for the latest supported releases. The packages can be installed using dnf:

dnf -y copr enable bisdn/rofl
dnf -y copr enable bisdn/baseboxd
dnf -y install baseboxd

Copr repos are provided at https://copr.fedorainfracloud.org/coprs/bisdn/ The "-testing" repos contain the latest builds for testing purposes and might not be as stable as the release versions.

Other distros

Currently only installation from source is supported. To build baseboxd you need the following dependencies installed:

Build system

Libraries

Then you can install baseboxd:

git clone --recursive https://github.com/bisdn/basebox.git
cd basebox
meson build
ninja -C build

Docker

Running baseboxd as a service inside of a Docker container is currently under heavy development, but will probably be fully supported in the future. At the moment there are three builds available that you can directly pull from https://hub.docker.com/u/bisdn.

  • bisdn/baseboxd: contains the latest baseboxd package and its dependencies from our stable repositories.
  • bisdn/baseboxd-testing: contains the latest baseboxd package and its dependencies from our testing repositories.
  • bisdn/baseboxd-source: contains baseboxd and its dependencies build from source from the master branch of this repository.

To get the containers you can simply pull them with:

docker pull bisdn/baseboxd
docker pull bisdn/baseboxd-testing
docker pull bisdn/baseboxd-source

Since baseboxd needs to create kernel network interfaces, the container needs to run in privilged mode. To allow the direct orchestration of baseboxd via netlink events from the host itself, the container additionally needs to run within the host network namespace. All configuration parameters for baseboxd can be handed over to baseboxd via environment variables while starting the container.

To run the current stable version of baseboxd on port 6654 with verbose logging and log output to stderr you can start it with:

docker run -d --privileged --network=host -e FLAGS_port="6654" -e GLOG_logtostderr="1" -e GLOG_v="2" bisdn/baseboxd

Usage

bridge setup

ip link add type bridge
ip link set bridge0 type bridge vlan_filtering 1
ip link set bridge0 up

adding ports to a bridge

ip link set port1 master bridge0
ip link set port2 master bridge0

remove ports from a bridge

ip link set port1 nomaster
ip link set port2 nomaster

adding vlans to bridge port

bridge vlan add vid 2 dev port1
bridge vlan add vid 2-4 dev port2

remove vlans from bridge port

bridge vlan del vid 2 dev port1
bridge vlan del vid 2-4 dev port2

adding a specific mac address to a bridge port

bridge fdb add 68:05:ca:30:63:69 dev port1 master vlan 1

remove a specific mac address from a bridge port

bridge fdb del 68:05:ca:30:63:69 dev port1 master vlan 1

High level architecture

.------------------.
|     netlink      |
'------------------'
.------------------.
| adaptation layer |
'------------------'
.------------------.
|     OpenFlow     |
'------------------'

License

baseboxd is licensed under the Mozilla Public License Version 2.0. A local copy can be found here

Notes

If you are looking for older versions of basebox(d) for controlling ovs and xdpd, you find those in the swx branch on github [1].

[1] https://github.com/bisdn/basebox/tree/swx

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].