Welcome to the OpenVirteX architecture docs! Here you will find information about the design, implementation, and operation of OpenVirteX (OVX). As with any on-going project, these docs may fall out of sync with the source, but we’ll try our best to keep them up-to-date. Volunteers are welcome to help us improve what we have!

I Overview
        1.1 Network Virtualization
        1.2 OpenVirtex: A High-level View
II Components
        2.1 Overview
        2.2 Component State Machines
        2.3 Switches
        2.4 Ports
        2.5 Links and Routes
        2.6 Addresses
        2.7 Hosts
        2.8 Network Topologies
        2.9 Shared Global Mappings
        2.10 Messages
III Operation and Subsystems
        3.1 System Overview
        3.2 Startup and Shutdown
        3.3 The Event Loops
        3.4 Network Discovery
        3.5 Virtualization and De-virtualization
        3.6 State Synchronization
        3.7 Resilience
        3.8 Persistence
        3.9 The JSONRPC API


These docs are separated into three main sections. Section I, Introduction, is a quick overview of OVX’s take on network virtualization, and a high-level view of how OVX achieves this through network representations presented to its tenants. Section II, Components, details the various abstractions used by OVX to build its network representations. Section III, Operations and Subsystems, describes OVX’s functional subsystems and features that allow it to virtualize networks by manipulating the components introduced in Section II.

Some conventions used throughout these docs include the use of bold font for file names, monospace for methods and variables, and [square brackets] to indicate package names.

Finally, the intended audience should be somewhat familiar with SDN architecture, the OpenFlow protocol, and Java. We also recommend that the audience have access to the OpenVirteX source that they can reference as they follow along with the docs.

Next Section

Please send feedback and questions to ovx-discuss – at –