OpenSwitch - Linux-based network operating system (NOS) platform

  •        139

OpenSwitch provides an abstraction of hardware devices of network switch platforms in a Linux OS environment. It uses standard open source software including an ONIE installer, and an unmodified Linux kernel based on Debian Jessie distribution. It provides an object-centric API for application development to implement custom applications using a well-defined object model, and set of programmatic APIs.

OPX Base software supports hardware virtualization (or simulation). Software simulation of basic hardware functionality is also provided (“white board”), and the higher layer software functionality can be developed and tested on generic PC/server hardware.

https://www.openswitch.net/
https://github.com/open-switch
https://git.openswitch.net/cgit

Tags
Implementation
License
Platform

   




Related Projects

Open vSwitch - Multilayer Virtual Switch

  •    C

Open vSwitch is well suited to function as a virtual switch in VM environments. In addition to exposing standard control and visibility interfaces to the virtual networking layer, it was designed to support distribution across multiple physical servers. Open vSwitch supports multiple Linux-based virtualization technologies including Xen/XenServer, KVM, and VirtualBox.

Mininet - An Instant Virtual Network on your Laptop (or other PC)

  •    Python

Mininet emulates a complete network of hosts, links, and switches on a single machine. It creates a realistic virtual network, running real kernel, switch and application code, on a single machine (VM, cloud or native), in seconds, with a single command.

lagopus - Yet another SDN / OpenFlow software switch

  •    C

Lagopus software switch is a yet another OpenFlow 1.3 software switch implementation. Lagopus software switch is designed to leverage multi-core CPUs for high-performance packet processing and fowarding with DPDK. Many network protocol formats are supported, such as Ethernet, VLAN, QinQ, MAC-in-MAC, MPLS and PBB. In addition, tunnel protocol processing is supported for overlay-type networking with GRE, VxLAN and GTP. Lagopus can run on Intel x86 servers and virtual machine.

sdn-handbook - SDN网络指南(SDN Handbook)

  •    C

SDN (Software Defined Networking)作为当前最重要的热门技术之一,目前已经普遍得到大家的共识。有关SDN的资料和书籍非常丰富,但入门和学习SDN依然是非常困难。本书整理了SDN实践中的一些基本理论和实践案例心得,希望能给大家带来启发,也欢迎大家关注和贡献。

Sheepdog - Distributed Storage System for QEMU

  •    C

Sheepdog is a distributed object storage system for volume and container services and manages the disks and nodes intelligently. Sheepdog features ease of use, simplicity of code and can scale out to thousands of nodes. The block level volume abstraction can be attached to QEMU virtual machines and Linux SCSI Target and supports advanced volume management features such as snapshot, cloning, and thin provisioning.


kube-ovn - An OVN-based Kubernetes Network Fabric for Enterprises

  •    Go

Kube-OVN integrates the OVN-based Network Virtualization with Kubernetes. It offers an advanced Container Network Fabric for Enterprises. The Switch, Router, Firewall showed in the diagram below are all distributed on all Nodes. There is no single point of failure for in cluster network.

ZeroTierOne - A Smart Ethernet Switch for Earth

  •    C++

ZeroTier is a smart programmable Ethernet switch for planet Earth. It replaces the physical LAN/WAN boundary with a virtual one, allowing devices of any type at any location to be managed as if they all reside in the same cloud region or data center. All traffic is encrypted end-to-end and takes the most direct path available for minimum latency and maximum performance. The goals and design of ZeroTier are inspired by among other things the original Google BeyondCorp paper and the Jericho Forum.

OpenStack - Software for building Private and Public Clouds

  •    Python

OpenStack is a cloud operating system that controls large pools of compute, storage, and networking resources throughout a datacenter, all managed through a dashboard that gives administrators control while empowering their users to provision resources through a web interface.

Calico - A pure layer 3 approach for Virtual Networking for highly scalable data centers

  •    Python

Project Calico represents a new approach to virtual networking, based on the same scalable IP networking principles as the Internet. Unlike other virtual networking approaches, Calico does not use overlays, instead providing a pure Layer 3 approach to data center networking. Calico is simple to deploy and diagnose, provides a rich security policy, supports both IPv4 and IPv6 and can be used across a combination of bare-metal, VM and container workloads.

Xen - Open Source Virtualization

  •    c

The Xen hypervisor is a layer of software running directly on computer hardware replacing the operating system thereby allowing the computer hardware to run multiple guest operating systems concurrently. It suppors x86, x86-64, Itanium, Power PC, and ARM processors allow the Xen hypervisor to run on a wide variety of computing devices.

Libvirt - The virtualization API

  •    C

Libvirt is collection of software that provides a convenient way to manage virtual machines and other virtualization functionality, such as storage and network interface management. These software pieces include an API library, a daemon (libvirtd), and a command line utility (virsh). It provides a single way to manage multiple different virtualization providers/hypervisors like Xen, OpenVZ, VirualBox, Microsoft Hyper-V hypervisor, VMware.

drakvuf - DRAKVUF Black-box Binary Analysis

  •    C

DRAKVUF is a virtualization based agentless black-box binary analysis system. DRAKVUF allows for in-depth execution tracing of arbitrary binaries (including operating systems), all without having to install any special software within the virtual machine used for analysis. DRAKVUF uses hardware virtualization extensions found in Intel CPUs. You will need an Intel CPU with virtualization support (VT-x) and with Extended Page Tables (EPT). DRAKVUF is not going to work on any other CPUs (such as AMD) or on Intel CPUs without the required virtualization extensions.

Virtual Cluster -- Corona

  •    Javascript

Construct and management virtual clusters which the nodes of the clusters running on the virtual machine rather than native machine. Fast install and switch virtual clusters. Efficiently storage vm images. support variant VMMs.

kernel virtual machine

  •    C

KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.

OpenNebula - Data Center Management Solution

  •    C++

OpenNebula provides solution for building and managing virtualized enterprise data centers and cloud infrastructures to enable on-premise IaaS clouds. OpenNebula interoperability makes cloud an evolution by leveraging existing IT assets, protecting your investments, and avoiding vendor lock-in. penNebula was designed to address the requirements of business use cases from leading companies and across multiple industries, such as Hosting, Telecom, eGovernment, Utility Computing and lot more.

Weave - Simple, Resilient Multi-host Docker Networking

  •    Go

Weave is a simple, portable and reliable way to network and manage containers and microservices. It provides a simple and resilient network for your application that is portable across data centers and public clouds. Weave Net creates a virtual network that connects Docker containers across multiple hosts and enables their automatic discovery.

FOSS-Cloud - Virtualization- and Cloud-Services

  •    PHP

The FOSS-Cloud is a Software, which enables you, to build your own Private or your Public-Cloud. The FOSS-Cloud environment (software and hardware) is an integrated and redundant server infrastructure to provide cloud-Services, Windows or Linux based SaaS, Terminal Server, Virtual Desktop Infrastructure (VDI) or virtual server-environmens. It makes virtual machines available, which can be accessed from internally as well as from the Internet.

ryu - Ryu component-based software defined networking framework

  •    Python

Ryu component-based software defined networking framework

Orange JeOS

  •    Python

Orange JeOS (quot;juicequot;) is a small and secure Linux distribution, based on CentOS and designed for use by hardware, software and virtual appliance builders. OJ-Builder Tools are used to build an Orange JeOS ISO entirely from public CentOS repository. Orange JeOS leverages the CentOS Linux distribution and allows building fully functioning software (and hardware and virtual) appliances in as little as 200 MB.

vlan-nats - Virtual LAN over NATS

  •    Go

Disclaimer: This is only a fun experiment. Do not use it for anything serious. vlan-nats creates a virtual LAN using NATS. Backed by a NATS server (or cluster), vlan-nats can create and run a network interface that is connected to a virtual L2 switch.