Skip to main content

SPP mechanism driver

Project description

Neutron ML2 mechanism driver for Soft Patch Panel

This provides ML2 mechanism driver and agent which makes high speed communication using Soft Patch Panel (SPP) possible in the OpenStack environment.

Introduction

SPP provides a high speed communication mechanism using DPDK. When this driver is used, the VM and the physical NIC are connected by vhostuser via SPP, and are transfrerred at high speed without going through the kernel or the virtual switch.

          compute node
+-------------------------------+
|              VM               |
|         +----------+          |
|         |          |          |
|         |  +----+  |          |
|         +--|vnic|--+          |
|            +----+             |
|              ^ |              |
|    SPP       | |              |
|  +-----------| |-----------+  |
|  |           | |           |  |
|  |           | | vhostuser |  |
|  |           | |           |  |
|  +-----------| |-----------+  |
|              | |              |
|              | v              |
|            +-----+            |
+------------| NIC |------------+
             +-----+

Comparison with SR-IOV

SR-IOV is used to realize high speed communication between the VM and the phsical NIC too. Compared with SR-IOV, it achieves equivalent performance and there is an advantage that VM does not need to be conscious of physical NIC.

Warning

This driver does not enable full function of SPP in the OpenStack environment. For example, wiring between ports can not be freely changed. Wiring is done in a predetermined pattern on the compute node.

For details, see architecture.

Assumed environment

SPP is assumed to be used as a high speed communication path between VMs, and is not used for VM operation. Therefore a normal network (ex. linuxbdidge) is required for operation of VM (login, metadata acquisition, etc.). When VM is started, ordinary network is specified first, and SPP network is specified as second and subsequent networks.

      control node          compute node     compute node  ...
 ---------+----------------------+----------------+-------  for control network
          |                      |                |         and for VM operation
+---------+-------------+  +-----+-------+  +-----+-------+ (using linuxbridge with
|                       |  |             |  |             |  vxlan for example)
|+----------+ +--------+|  |+----+ +----+|  |+----+ +----+|
||dhcp-agent| |l3-agent||  || VM | | VM ||  || VM | | VM ||
|+----------+ +--------+|  |+----+ +----+|  |+----+ +----+|
|                       |  |  |      |   |  |  |      |   |
+-----------------------+  +--+------+---+  +--+------+---+
                              |      |         |      |
                           ---+----------------+------------  for SPP network
                                     |                |
                           ----------+----------------+-----

Restrictions

  • flat or vlan type network only available.

  • security group is not supported. It does not cause an error as an API, but it is ignored even if it is set.

  • VM using an SPP network can not perform live migration.

  • communication between VMs on the same host is not available. That is, it can not be looped back inside the host, and only communicates via an external switch.

Installation

It supports installation with devstack.

See installation.

Usage

See usage.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

networking-spp-1.0.0.tar.gz (44.4 kB view hashes)

Uploaded Source

Built Distribution

networking_spp-1.0.0-py2-none-any.whl (37.4 kB view hashes)

Uploaded Python 2

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page