User Documentation
Initialization and Configuration
All configuration is given as command line options in /etc/default/ivs. See the ivs CLI section. Any configuration change requires a restart of the switch.
The IVS packaging includes an upstart job. The init script will load the openvswitch kernel module if it isn't already loaded. If the IVS process dies for any reason it will be restarted.
Logging
Log level can be configured as default, verbose, or trace (see ivs CLI). Log levels cannot be adjusted on individual subsystems.
Syslog
When the --syslog command line option is given, as it is in the init scripts, Xenon will send all log messages to syslog instead of stderr. The facility is LOG_DAEMON and program name is "ivs".
Local Logging
Not directly supported. Users may configure their syslog daemon to copy Xenon log messages to a local file. Example configuration for rsyslogd::programname,isequal,"ivs" /var/log/ivs.log
Forwarding Features
Tables
Single table which supports all OpenFlow 1.0 match fields and actions, plus extensions.
Jumbo Frame support
Xenon supports MTU 9000 jumbo frames. This is not configurable. The correct MTU must be configured by the user on the interfaces connected to Xenon.
QoS support
Not supported.
Controller-less forwarding behaviour
The controller-less forwarding behavior is "failed-sticky" mode. When the switch is not connected to the controller, expirations are disabled. No new flow mods are inserted. See PAN-97and Fail behavior for an analysis and POR.
Bonding
Xenon does not include any NIC bonding features. The user may configure a bond interface, e.g. by following https://help.ubuntu.com/community/UbuntuBonding, and add that interface to Xenon.
OpenFlow Support
OpenFlow Protocol Version
OpenFlow 1.0 version will be supported using Indigo2 code. Following OpenFlow extensions are included in this implementation.
- Nicira role request
- Set-tunnel-dst action
- Get-interfaces request
- Packet-in suppression.
OpenFlow Transport
TCP connection between Switch and Controller is supported in Xenon A release. The TLS connection is not supported.
OpenFlow Controller connection and redundancy
Xenon supports parallel HA using the Nicira role request extension. Multiple controllers may be configured and the switch will connect to all of them.
Statistics
Switch to support OF 1.0 specified port and flow stats.
OVSDB and OF Config
Not supported.
OpenFlow Switch Data
This section details various fields that the switch needs to provide to a controller.
Field |
Default Value |
User configurable |
sw_desc |
Indigo 2 |
no |
serial_number |
empty |
no |
mfr_desc |
Big Switch Networks |
no |
hw_desc |
ivs 0.3 |
no |
dpid |
autogenerated |
yes |
dp_desc |
host.domain pid pid |
no |
CLI Reference
Name
ivs - OpenFlow virtual switch daemon
Usage
ivs [OPTION] ...
Options
-v, --verbose Verbose logging -t, --trace Very verbose logging -c, --controller=IP:PORT Connect to a controller at startup -min Set minimal veth configuration at startup (suitable for OFTest). -L host:port Add a listening connection. -i, --interface=INTERFACE Attach a network interface at startup --dpid=DPID Set datapath ID (default autogenerated) --syslog Log to syslog instead of stderr -h, --help Display this help message and exit --version Display version information and exit
Name
ivs-ctl - utility for configuring Indigo Virtual Switch
Usage
ivs-ctl COMMAND [ARG..]
DESCRIPTION
-h, --help Display this help message and exit add-port INTERFACE Add a port to the datapath del-port INTERFACE Remove a port from the datapath Note: INTERFACE argument must be a Linux interface name add-internal-port creates a Linux interface connected to the given datapath Note: This interface can have an IP address assigned to it and can generally be used like a normal net?dev, but traffic to and from it will flow through the datapath. show print information about each datapath
Examples
ivs-ctl help ivs-ctl show ivs-ctl add-port DATAPATH INTERFACE ivs-ctl add-internal-port DATAPATH INTERFACE ivs-ctl del-port DATAPATH INTERFACE