# Trema **Repository Path**: mirrors/Trema ## Basic Information - **Project Name**: Trema - **Description**: Trema是一个使用Ruby和C来开发OpenFlow控制器的全特性的容易使用的框架 - **Primary Language**: C/C++ - **License**: Not specified - **Default Branch**: develop - **Homepage**: https://www.oschina.net/p/trema - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-12-21 - **Last Updated**: 2025-08-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Welcome to Trema ================ [![Build Status](https://travis-ci.org/nickkaranatsios/trema.svg?branch=master)](https://travis-ci.org/nickkaranatsios/trema) [![Code Climate](http://img.shields.io/codeclimate/github/trema/trema.svg?style=flat)][codeclimate] [![Coverage Status](http://img.shields.io/codeclimate/coverage/github/trema/trema.svg?style=flat)][codeclimate] [![Dependency Status](http://img.shields.io/gemnasium/trema/trema.svg?style=flat)][gemnasium] Trema is an OpenFlow controller programming framework that provides everything needed to create OpenFlow controllers in Ruby. It provides a high-level OpenFlow library and also a network emulator that can create OpenFlow-based networks for testing on your PC. This self-contained environment helps streamlines the entire process of development and testing. [travis]: http://travis-ci.org/trema/trema [codeclimate]: https://codeclimate.com/github/trema/trema [gemnasium]: https://gemnasium.com/trema/trema [gitter]: https://gitter.im/trema/trema Prerequisites ------------- * Ruby 2.0.0 or higher ([RVM][rvm]). * [Open vSwitch][openvswitch] (`apt-get install openvswitch-switch`). [rvm]: https://rvm.io/ [openvswitch]: https://openvswitch.org/ Documentation ------------- See https://relishapp.com/trema/trema/docs for links to documentation for all APIs. Sample Code ----------- Study sample code for implementation examples of Trema features. Each sample code project is executable source example of how to write a OpenFlow controller using Trema Ruby API. * [trema/hello_trema](https://github.com/trema/hello_trema) * [trema/repeater_hub](https://github.com/trema/repeater_hub) * [trema/patch_panel](https://github.com/trema/patch_panel) * [trema/cbench](https://github.com/trema/cbench) * [trema/learning_switch](https://github.com/trema/learning_switch) * [trema/switch_monitor](https://github.com/trema/switch_monitor) * [trema/simple_router](https://github.com/trema/simple_router) * [trema/topology](https://github.com/trema/topology) * [trema/routing_switch](https://github.com/trema/routing_switch) Contributors ------------ Special thanks to all contributors for submitting patches. A full list of contributors including their patches can be found at: https://github.com/trema/trema/contributors License ------- Trema is released under the GNU General Public License version 2.0 or MIT License: * http://www.gnu.org/licenses/gpl-2.0.html * http://www.opensource.org/licenses/MIT