Blame man/nm-openvswitch.7

Packit Service b23acc
'\" t
Packit Service b23acc
.\"     Title: nm-openvswitch
Packit Service b23acc
.\"    Author: 
Packit Service b23acc
.\" Generator: DocBook XSL Stylesheets vsnapshot <http://docbook.sf.net/>
Packit Service b23acc
.\"      Date: 07/13/2020
Packit Service b23acc
.\"    Manual: Open vSwitch support overview
Packit Service b23acc
.\"    Source: NetworkManager 1.26.0
Packit Service b23acc
.\"  Language: English
Packit Service b23acc
.\"
Packit Service b23acc
.TH "NM\-OPENVSWITCH" "7" "" "NetworkManager 1\&.26\&.0" "Open vSwitch support overview"
Packit Service b23acc
.\" -----------------------------------------------------------------
Packit Service b23acc
.\" * Define some portability stuff
Packit Service b23acc
.\" -----------------------------------------------------------------
Packit Service b23acc
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit Service b23acc
.\" http://bugs.debian.org/507673
Packit Service b23acc
.\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
Packit Service b23acc
.\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Packit Service b23acc
.ie \n(.g .ds Aq \(aq
Packit Service b23acc
.el       .ds Aq '
Packit Service b23acc
.\" -----------------------------------------------------------------
Packit Service b23acc
.\" * set default formatting
Packit Service b23acc
.\" -----------------------------------------------------------------
Packit Service b23acc
.\" disable hyphenation
Packit Service b23acc
.nh
Packit Service b23acc
.\" disable justification (adjust text to left margin only)
Packit Service b23acc
.ad l
Packit Service b23acc
.\" -----------------------------------------------------------------
Packit Service b23acc
.\" * MAIN CONTENT STARTS HERE *
Packit Service b23acc
.\" -----------------------------------------------------------------
Packit Service b23acc
.SH "NAME"
Packit Service b23acc
nm-openvswitch \- overview of NetworkManager Open vSwitch support
Packit Service b23acc
.SH "OVERVIEW"
Packit Service b23acc
.PP
Packit Service b23acc
NetworkManager includes basic Open vSwitch support, good enough to be capable of setting up simple Open vSwitch configurations\&. It is not extensive and does not expose all functionality of Open vSwitch provides\&. For large or complicated deployments users are advised to use native tools shipped with Open vSwitch\&. This document seeks to provide overview of functionality currently provided by NetworkManager, its capabilities and limitations\&.
Packit Service b23acc
.PP
Packit Service b23acc
First and foremost: NetworkManager applies the configuration by modifying the OVSDB directly\&. Its configuration model follows the OVSDB database model closely and it does not provide the level of abstraction
Packit Service b23acc
\fBovs\-vsctl\fR
Packit Service b23acc
provides\&.
Packit Service b23acc
.PP
Packit Service b23acc
In practical terms it means the following:
Packit Service b23acc
.sp
Packit Service b23acc
.RS 4
Packit Service b23acc
.ie n \{\
Packit Service b23acc
\h'-04'\(bu\h'+03'\c
Packit Service b23acc
.\}
Packit Service b23acc
.el \{\
Packit Service b23acc
.sp -1
Packit Service b23acc
.IP \(bu 2.3
Packit Service b23acc
.\}
Packit Service b23acc
NetworkManager only ever talks to a single OVSDB instance via an UNIX domain socket\&.
Packit Service b23acc
.RE
Packit Service b23acc
.sp
Packit Service b23acc
.RS 4
Packit Service b23acc
.ie n \{\
Packit Service b23acc
\h'-04'\(bu\h'+03'\c
Packit Service b23acc
.\}
Packit Service b23acc
.el \{\
Packit Service b23acc
.sp -1
Packit Service b23acc
.IP \(bu 2.3
Packit Service b23acc
.\}
Packit Service b23acc
The configuration is made up of Bridges, Ports and Interfaces\&. Interfaces are always enslaved to Ports, and Ports are always enslaved to Bridges\&.
Packit Service b23acc
.RE
Packit Service b23acc
.sp
Packit Service b23acc
.RS 4
Packit Service b23acc
.ie n \{\
Packit Service b23acc
\h'-04'\(bu\h'+03'\c
Packit Service b23acc
.\}
Packit Service b23acc
.el \{\
Packit Service b23acc
.sp -1
Packit Service b23acc
.IP \(bu 2.3
Packit Service b23acc
.\}
Packit Service b23acc
NetworkManager only creates Bridges, Ports and Interfaces you ask it to\&. Unlike
Packit Service b23acc
\fBovs\-vsctl\fR, it doesn\*(Aqt create the local interface nor its port automatically\&.
Packit Service b23acc
.RE
Packit Service b23acc
.sp
Packit Service b23acc
.RS 4
Packit Service b23acc
.ie n \{\
Packit Service b23acc
\h'-04'\(bu\h'+03'\c
Packit Service b23acc
.\}
Packit Service b23acc
.el \{\
Packit Service b23acc
.sp -1
Packit Service b23acc
.IP \(bu 2.3
Packit Service b23acc
.\}
Packit Service b23acc
You can\*(Aqt enslave Interface directly to a Bridge\&. You always need a Port, even if it has just one interface\&.
Packit Service b23acc
.RE
Packit Service b23acc
.sp
Packit Service b23acc
.RS 4
Packit Service b23acc
.ie n \{\
Packit Service b23acc
\h'-04'\(bu\h'+03'\c
Packit Service b23acc
.\}
Packit Service b23acc
.el \{\
Packit Service b23acc
.sp -1
Packit Service b23acc
.IP \(bu 2.3
Packit Service b23acc
.\}
Packit Service b23acc
There are no VLANs\&. The VLAN tagging is enabled by setting a
Packit Service b23acc
ovs\-port\&.tag
Packit Service b23acc
property on a Port\&.
Packit Service b23acc
.RE
Packit Service b23acc
.sp
Packit Service b23acc
.RS 4
Packit Service b23acc
.ie n \{\
Packit Service b23acc
\h'-04'\(bu\h'+03'\c
Packit Service b23acc
.\}
Packit Service b23acc
.el \{\
Packit Service b23acc
.sp -1
Packit Service b23acc
.IP \(bu 2.3
Packit Service b23acc
.\}
Packit Service b23acc
There are no bonds either\&. The bonding is enabled by enslaving multiple Interfaces to a Port and configured by setting properties on a port\&.
Packit Service b23acc
.RE
Packit Service b23acc
.sp
Packit Service b23acc
.SS "Bridges"
Packit Service b23acc
.PP
Packit Service b23acc
Bridges are represented by connections of ovs\-bridge
Packit Service b23acc
type\&. Due to the limitations of OVSDB, "empty" Bridges (with no Ports) can\*(Aqt exist\&. NetworkManager inserts the records for Bridges into OVSDB when a Port is enslaved\&.
Packit Service b23acc
.SS "Ports"
Packit Service b23acc
.PP
Packit Service b23acc
Ports are represented by connections of ovs\-port
Packit Service b23acc
type\&. Due to the limitations of OVSDB, "empty" Ports (with no Interfaces) can\*(Aqt exist\&. Ports can also be configured to do VLAN tagging or Bonding\&. NetworkManager inserts the records for Ports into OVSDB when an Interface is enslaved\&. Ports must be enslaved to a Bridge\&.
Packit Service b23acc
.SS "Interfaces"
Packit Service b23acc
.PP
Packit Service b23acc
Interfaces are represented by a connections enslaved to a Port\&. The system interfaces (that have a corresponding Linux link) have a respective
Packit Service b23acc
connection\&.type
Packit Service b23acc
of the link (e\&.g\&. "wired", "bond", "dummy", etc\&.)\&. Other interfaces ("internal" or "patch" interfaces) are of ovs\-interface type\&. The OVSDB entries are inserted upon enslavement to a Port\&.
Packit Service b23acc
.SH "EXAMPLES"
Packit Service b23acc
.PP
Packit Service b23acc
\fBExample\ \&1.\ \&Creating a Bridge with a single internal Interface\fR
Packit Service b23acc
.sp
Packit Service b23acc
.if n \{\
Packit Service b23acc
.RS 4
Packit Service b23acc
.\}
Packit Service b23acc
.nf
Packit Service b23acc
$ \fBnmcli conn add type ovs\-bridge conn\&.interface bridge0\fR
Packit Service b23acc
Connection \*(Aqovs\-bridge\-bridge0\*(Aq (d10fc64d\-1d48\-4394\-a1b8\-e1aea72f27d5) successfully added\&.
Packit Service b23acc
$ \fBnmcli conn add type ovs\-port conn\&.interface port0 master bridge0\fR
Packit Service b23acc
Connection \*(Aqovs\-port\-port0\*(Aq (5ae22bae\-bba4\-4815\-9ade\-7e635633e1f0) successfully added\&.
Packit Service b23acc
$ \fBnmcli conn add type ovs\-interface slave\-type ovs\-port conn\&.interface iface0 \e
Packit Service b23acc
  master port0 ipv4\&.method manual ipv4\&.address 192\&.0\&.2\&.1/24\fR
Packit Service b23acc
Connection \*(Aqovs\-interface\-iface0\*(Aq (3640d2a1\-a2fd\-4718\-92f1\-cffadb5b6cdc) successfully added\&.
Packit Service b23acc
.fi
Packit Service b23acc
.if n \{\
Packit Service b23acc
.RE
Packit Service b23acc
.\}
Packit Service b23acc
.PP
Packit Service b23acc
As said above, you need to create a Port even for a single interface\&. Also, before you add the Interface, the Bridge and Port devices appear active, but are not configured in OVSDB yet\&. You can inspect the results with
Packit Service b23acc
\fBovs\-vsctl show\fR\&.
Packit Service b23acc
.PP
Packit Service b23acc
\fBExample\ \&2.\ \&Adding a Linux interface to a Bridge\fR
Packit Service b23acc
.sp
Packit Service b23acc
.if n \{\
Packit Service b23acc
.RS 4
Packit Service b23acc
.\}
Packit Service b23acc
.nf
Packit Service b23acc
$ \fBnmcli conn add type ovs\-port conn\&.interface port1 master bridge0\fR
Packit Service b23acc
Connection \*(Aqovs\-port\-port1\*(Aq (67d041eb\-8e7b\-4458\-afee\-a1d07c9c4552) successfully added\&.
Packit Service b23acc
$ \fBnmcli conn add type ethernet conn\&.interface eth0 master port1\fR
Packit Service b23acc
Connection \*(Aqovs\-slave\-eth0\*(Aq (d459c45c\-cf78\-4c1c\-b4b7\-505e71379624) successfully added\&.
Packit Service b23acc
.fi
Packit Service b23acc
.if n \{\
Packit Service b23acc
.RE
Packit Service b23acc
.\}
Packit Service b23acc
.PP
Packit Service b23acc
Again, you need a port\&.
Packit Service b23acc
.PP
Packit Service b23acc
\fBExample\ \&3.\ \&Creating a VLAN\fR
Packit Service b23acc
.sp
Packit Service b23acc
.if n \{\
Packit Service b23acc
.RS 4
Packit Service b23acc
.\}
Packit Service b23acc
.nf
Packit Service b23acc
$ \fBnmcli conn add type ovs\-port conn\&.interface port2 master bridge0 ovs\-port\&.tag 120\fR
Packit Service b23acc
Connection \*(Aqovs\-port\-port2\*(Aq (3994c093\-4ef7\-4549\-a4fd\-627b831c3cb8) successfully added\&.
Packit Service b23acc
$ \fBnmcli conn add type ethernet conn\&.interface eth1 master port2\fR
Packit Service b23acc
Connection \*(Aqovs\-slave\-eth1\*(Aq (099be06e\-71ad\-484d\-8d5a\-fcadc5f207f5) successfully added\&.
Packit Service b23acc
.fi
Packit Service b23acc
.if n \{\
Packit Service b23acc
.RE
Packit Service b23acc
.\}
Packit Service b23acc
.PP
Packit Service b23acc
It\*(Aqs just a port with a tag\&.
Packit Service b23acc
.PP
Packit Service b23acc
\fBExample\ \&4.\ \&Creating a Bond\fR
Packit Service b23acc
.sp
Packit Service b23acc
.if n \{\
Packit Service b23acc
.RS 4
Packit Service b23acc
.\}
Packit Service b23acc
.nf
Packit Service b23acc
$ \fBnmcli conn add type ovs\-port conn\&.interface bond0 master bridge0\fR
Packit Service b23acc
Connection \*(Aqovs\-port\-bond0\*(Aq (d154ebf9\-e999\-4e1b\-a084\-a3de53d25d8a) successfully added\&.
Packit Service b23acc
$ \fBnmcli conn add type ethernet conn\&.interface eth2 master bond0\fR
Packit Service b23acc
Connection \*(Aqovs\-slave\-eth2\*(Aq (475ac1bf\-30b2\-4534\-a877\-27f33f58b082) successfully added\&.
Packit Service b23acc
$ \fBnmcli conn add type ethernet conn\&.interface eth3 master bond0\fR
Packit Service b23acc
Connection \*(Aqovs\-slave\-eth3\*(Aq (8dedeecb\-ed12\-482b\-b77a\-24a4fb835136) successfully added\&.
Packit Service b23acc
.fi
Packit Service b23acc
.if n \{\
Packit Service b23acc
.RE
Packit Service b23acc
.\}
Packit Service b23acc
.PP
Packit Service b23acc
It\*(Aqs just a Port with multiple interfaces\&. See nm\-settings manual for Bonding options you can use with "nmcli c add" or "nmcli c modify"\&. You could even set a VLAN tag on the same Port to do VLAN tagging and bonding at the same time\&.
Packit Service b23acc
.SH "BUGS"
Packit Service b23acc
.sp
Packit Service b23acc
.RS 4
Packit Service b23acc
.ie n \{\
Packit Service b23acc
\h'-04'\(bu\h'+03'\c
Packit Service b23acc
.\}
Packit Service b23acc
.el \{\
Packit Service b23acc
.sp -1
Packit Service b23acc
.IP \(bu 2.3
Packit Service b23acc
.\}
Packit Service b23acc
Not all Open vSwitch capabilities are supported\&.
Packit Service b23acc
.RE
Packit Service b23acc
.sp
Packit Service b23acc
.RS 4
Packit Service b23acc
.ie n \{\
Packit Service b23acc
\h'-04'\(bu\h'+03'\c
Packit Service b23acc
.\}
Packit Service b23acc
.el \{\
Packit Service b23acc
.sp -1
Packit Service b23acc
.IP \(bu 2.3
Packit Service b23acc
.\}
Packit Service b23acc
Open vSwitch devices don\*(Aqt expose many useful properties on D\-Bus\&.
Packit Service b23acc
.RE
Packit Service b23acc
.PP
Packit Service b23acc
Probably many more\&.
Packit Service b23acc
.SH "SEE ALSO"
Packit Service b23acc
.PP
Packit Service b23acc
\m[blue]\fBRFC 7047: The Open vSwitch Database Management Protocol\fR\m[]\&\s-2\u[1]\d\s+2,
Packit Service b23acc
\fBovs-vsctl\fR(8),
Packit Service b23acc
\fBovs-vswitchd.conf.db\fR(5),
Packit Service b23acc
\fBnm-settings\fR(5),
Packit Service b23acc
\fBnmcli\fR(1)
Packit Service b23acc
.SH "NOTES"
Packit Service b23acc
.IP " 1." 4
Packit Service b23acc
RFC 7047: The Open vSwitch Database Management Protocol
Packit Service b23acc
.RS 4
Packit Service b23acc
\%https://www.rfc-editor.org/rfc/rfc7047.txt
Packit Service b23acc
.RE