# FD.IO #### Table of Contents 1. [Overview](#overview) 1. [Module Description](#module-description) 1. [Setup](#setup) 1. [Usage](#usage) 1. [Reference ](#reference) 1. [Limitations](#limitations) 1. [Development](#development) 1. [Release Notes/Contributors](#release-notescontributors) ## Overview Puppet module that installs and configures [FD.IO][7]. ## Module Description Deploys FD.IO to various OSs via package. All configuration should be handled through the Puppet module's [params](#parameters). ## Setup * Installs VPP and Honeycomb * Assumes pre-exiting DPDK bindings * Configures VPP's startup.conf * Ensures services are running ## Usage The most basic usage, passing no parameters to the fdio class, will install and start vpp and honeycomb with a default configuration. ```puppet class { 'fdio': } ``` ### Ports To change the port vpp listens use the `vpp_port` param. ```puppet class { 'fdio': vpp_port => '5002', } ``` ### Set uio-driver To set the uio-driver use the `dpdk_pmd_driver` param. ```puppet class { 'fdio': dpdk_pmd_driver => 'vfio_pci', } ``` ## Reference ### Classes #### Public classes * `::fdio`: Main entry point to the module. #### Private classes * `::fdio::params`: Contains default class param values. * `::fdio::install`: Installs VPP and Honeycomb from packages. * `::fdio::config`: Manages vpp config * `::fdio::service`: Starts the services. ### `::fdio` #### Parameters ##### `vpp_port` Sets the VPP port. Default: `8080` Valid options: A valid port number for VPP to listen on. ##### `dpdk_pmd_driver` Sets the uio-driver for vpp Default: `uio_pci_generic` Valid options: Driver names are specifed as strings. ## Limitations * Tested on CentOS 7. ## Development We welcome contributions and work to make them easy! TODO ## Release Notes/Contributors TODO [1]: