Coder Social home page Coder Social logo

projectbismark / openflow-ucap Goto Github PK

View Code? Open in Web Editor NEW

This project forked from deepwater82/bismark_ucap_openflow

4.0 4.0 3.0 2.09 MB

Revised OpenFlow for hashed MACs

License: Other

Shell 0.20% C 82.59% C++ 2.26% Perl 13.27% Objective-C 1.49% Racket 0.01% Python 0.18%

openflow-ucap's Introduction

        OpenFlow Reference Release <http://openflowswitch.org>

What is OpenFlow?
-----------------

OpenFlow is a flow-based switch specification designed to enable
researchers to run experiments in live networks.  OpenFlow is based on a
simple Ethernet flow switch that exposes a standardized interface for
adding and removing flow entries.

An OpenFlow switch consists of three parts: (1) A "flow table" in
which each flow entry is associated with an action telling the switch
how to process the flow, (2) a "secure channel" connecting the switch
to a remote process (a controller), allowing commands and packets to
be sent between the controller and the switch, and (3) an OpenFlow
protocol implementation, providing an open and standard way for a
controller to talk to the switch.

An OpenFlow switch can thus serve as a simple datapath element that
forwards packets between ports according to flow actions defined by
the controller using OpenFlow commands.  Example actions are:

    - Forward this flow's packets to the given port(s)
    - Drop this flow's packets
    - Encapsulate and forward this flow's packets to the controller.

The OpenFlow switch is defined in detail in the OpenFlow switch
Specification [2].

What's here?
------------

This distribution includes one reference implementations of an
OpenFlow switch.  This implementation has the following components:

        - ofdatapath, which implements the flow table in user space.

        - ofprotocol, a program that implements the secure channel
          component of the reference switch.

        - dpctl, a tool for configuring the switch.

This distribution includes some additional software as well:

        - controller, a simple program that connects to any number of
          OpenFlow switches, commanding them to act as regular MAC
          learning switches.

        - vlogconf, a utility that can adjust the logging levels of a
          running ofprotocol or controller.

        - ofp-pki, a utility for creating and managing the public-key
          infrastructure for OpenFlow switches.

        - A patch to tcpdump that enables it to parse OpenFlow
          messages.

        - A regression suite that tests OpenFlow functionality, please
          see regress/README. 

        - A Wireshark dissector that can decode the OpenFlow wire 
          protocol. Please see utilities/wireshark_dissectors/README.

For installation instructions, read INSTALL.  Each userspace program
is also accompanied by a manpage.

What's NOT here?
----------------

The reference implementation no longer includes the Linux kernel module
or the NetFPGA implementation. The OpenFlow consortium intends to
release these separately from the reference design.

Platform support
----------------

Other than the userspace switch implementation, the software in the
OpenFlow distribution should compile under Unix-like environments such
as Linux, FreeBSD, Mac OS X, and Solaris.  Our primary test environment
is Debian GNU/Linux.  Please contact us with portability-related bug
reports or patches.

The userspace datapath implementation should be easy to port to
Unix-like systems.  The interface to network devices, in netdev.c, is
the code most likely to need changes.  So far, only Linux is
supported.  We welcome ports to other platforms.

GCC is the expected compiler.

Bugs/Shortcomings
-----------------

- The flow table does not support the "normal processing" action.

References
----------

    [1] OpenFlow: Enabling Innovation in College Networks.  Whitepaper.
        <http://openflowswitch.org/documents/openflow-wp-latest.pdf>

    [2] OpenFlow Switch Specification.
        <http://openflowswitch.org/documents/openflow-spec-latest.pdf>

Contact 
-------

Public discussion list: [email protected]
Direct e-mail:          [email protected]

Web:                    http://openflowswitch.org/

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.