File: README.rst

package info (click to toggle)
python-openflow 1.1.0~alpha2-1
  • links: PTS
  • area: main
  • in suites: stretch
  • size: 692 kB
  • ctags: 1,027
  • sloc: python: 2,713; makefile: 207; sh: 8
file content (74 lines) | stat: -rw-r--r-- 2,838 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
Kytos - python-openflow
=======================

|Openflow| |Tag| |Release| |Tests| |License|

*python-openflow* is a low level library to parse OpenFlow messages. If you want
to read an OpenFlow packet from an open socket or send a message to an OpenFlow
switch, this is your best friend. The main features are: high performance,
latest specification compliance, short learning curve and free software license.

This library is part of `Kytos <http://kytos.io>`_ project, a collaborative
project between SPRACE (from São Paulo State University, Unesp) and Caltech
(California Institute of Technology). *python-openflow*  was developed to be
used with *Kytos* controller, but feel free to use this simple and intuitive
library in another project with another controller.

Overview
--------

This is just an overview for you to check whether this project fits your needs.
For a more detailed documentation, please check the `python-openflow API
Reference Manual <http://docs.kytos.io/python-openflow/>`_.

Usage
^^^^^

For example, see how it is easy to create a feature request message with this
library. You can use ipython3 to get the advantages of autocompletion:

.. The code in this section is replicated in docs/toc/usage.rst.

>>> from pyof.v0x01.controller2switch.features_request import FeaturesRequest
>>> request = FeaturesRequest(xid = 100)
>>> print(request.header.message_type)
Type.OFPT_FEATURES_REQUEST
>>> print(request.header.xid)
100

If you need to send this message via socket, call the ``pack()`` method to get
its binary representation:

.. code:: python

    >>> binary_msg = request.pack()

Support
^^^^^^^

We are available in IRC and there is also a development mailing list. Details
are available in the full documentation.

Contributing
^^^^^^^^^^^^

Contributions are welcome either by creating issues in GitHub or in the form of
pull requests. Before, please, read the contribution and hacking guides in the
main documentation.

License
^^^^^^^

This software is under *MIT-License*. For more information please read
the ``LICENSE`` file.

.. |Openflow| image:: https://img.shields.io/badge/Openflow-1.0.0-brightgreen.svg
   :target: https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.0.0.pdf
.. |Tag| image:: https://img.shields.io/github/tag/kytos/python-openflow.svg
   :target: https://github.com/kytos/python-openflow/tags
.. |Release| image:: https://img.shields.io/github/release/kytos/python-openvpn.svg
   :target: https://github.com/kytos/python-openflow/releases
.. |Tests| image:: http://kytos.io/imgs/tests-status.svg
   :target: https://github.com/kytos/python-openflow
.. |License| image:: https://img.shields.io/github/license/kytos/python-openflow.svg
   :target: https://github.com/kytos/python-openflow/blob/master/LICENSE