<commit_before>zof: OpenFlow Micro-Framework
=============================

|MIT licensed| |Build Status| |codecov.io|

*zof* is a Python framework for creating asyncio-based applications that control 
the network using the OpenFlow protocol.

Supported Features
------------------

- OpenFlow versions 1.0 - 1.4 (with partial support for 1.5)
- SSL connections
- Auxiliary OpenFlow connections over TCP and UDP
- Limited packet parsing and generation: ARP, LLDP, IPv4, IPv6, UDP, TCP, ICMPv4, ICMPv6
- App's can simulate switches; Supports both sides of the OpenFlow protocol

Requirements
------------

- Python 3.5.1 or later
- oftr command line tool

Install - Linux
---------------

.. code:: bash

    # Install /usr/bin/oftr dependency.
    sudo add-apt-repository ppa:byllyfish/oftr
    sudo apt-get update
    sudo apt-get install oftr

    # Create virtual environment and install latest zof.
    python3.5 -m venv myenv
    source myenv/bin/activate
    pip install zof

Demos
-----

To run the layer2 controller demo::<commit_msg>Add link to detailed oftr install instructions.<commit_after>zof: OpenFlow Micro-Framework
=============================

|MIT licensed| |Build Status| |codecov.io|

*zof* is a Python framework for creating asyncio-based applications that control 
the network using the OpenFlow protocol.

Supported Features
------------------

- OpenFlow versions 1.0 - 1.4 (with partial support for 1.5)
- SSL connections
- Auxiliary OpenFlow connections over TCP and UDP
- Limited packet parsing and generation: ARP, LLDP, IPv4, IPv6, UDP, TCP, ICMPv4, ICMPv6
- App's can simulate switches; Supports both sides of the OpenFlow protocol

Requirements
------------

- Python 3.5.1 or later
- oftr command line tool

Install - Linux
---------------

.. code:: bash

    # Install /usr/bin/oftr dependency.
    sudo add-apt-repository ppa:byllyfish/oftr
    sudo apt-get update
    sudo apt-get install oftr

    # Create virtual environment and install latest zof.
    python3.5 -m venv myenv
    source myenv/bin/activate
    pip install zof

The oftr command line tool can also be installed on a `Raspberry PI or using HomeBrew <https://github.com/byllyfish/oftr/blob/master/docs/INSTALL.rst>`_.

Demos
-----

To run the layer2 controller demo::
{'fraction_non_alphanumeric': 0.13418389793224814, 'fraction_numerical': 0.014078310602727673, 'mean_word_length': 3.039076376554174, 'pattern_counts': {'":': 0, '<': 4, '<?xml version=': 0, '>': 4, 'https://': 1, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3887735', 'n_tokens_mistral': 692, 'n_tokens_neox': 650, 'n_words': 258}