X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=utilities%2Fovs-vsctl.8.in;h=e3ca78b354844ea7a0f586be66ce3094ef854c6e;hb=401d5a6d16438ceb2e09c19677b97504593b4b51;hp=281756c90c885131e351452276beed23bef58960;hpb=bad973d7ae0ca5273b46c79b4bd9007e607f277c;p=sliver-openvswitch.git diff --git a/utilities/ovs-vsctl.8.in b/utilities/ovs-vsctl.8.in index 281756c90..e3ca78b35 100644 --- a/utilities/ovs-vsctl.8.in +++ b/utilities/ovs-vsctl.8.in @@ -25,19 +25,17 @@ ovs\-vsctl \- utility for querying and configuring \fBovs\-vswitchd\fR . .SH DESCRIPTION The \fBovs\-vsctl\fR program configures \fBovs\-vswitchd\fR(8) by -providing a high\-level interface to its configuration -database. This program is mainly intended for use when -\fBovs\-vswitchd\fR is running. If it is used when -\fBovs\-vswitchd\fR is not running, then \fB\-\-no\-wait\fR should be -specified and configuration changes will only take effect when -\fBovs\-vswitchd\fR is started. -.PP -By default, each time \fBovs\-vsctl\fR runs, it connects to an -\fBovsdb\-server\fR process that maintains an Open vSwitch -configuration database. Using this connection, it queries and -possibly applies changes to the database, depending on the supplied -commands. Then, if it applied any changes, it waits until -\fBovs\-vswitchd\fR has finished reconfiguring itself before it exits. +providing a high\-level interface to its configuration database. +See \fBovs\-vswitchd.conf.db\fR(5) for comprehensive documentation of +the database schema. +.PP +\fBovs\-vsctl\fR connects to an \fBovsdb\-server\fR process that +maintains an Open vSwitch configuration database. Using this +connection, it queries and possibly applies changes to the database, +depending on the supplied commands. Then, if it applied any changes, +by default it waits until \fBovs\-vswitchd\fR has finished +reconfiguring itself before it exits. (If you use \fBovs\-vsctl\fR +when \fBovs\-vswitchd\fR is not running, use \fB\-\-no\-wait\fR.) .PP \fBovs\-vsctl\fR can perform any number of commands in a single run, implemented as a single atomic transaction against the database. @@ -45,9 +43,9 @@ implemented as a single atomic transaction against the database. The \fBovs\-vsctl\fR command line begins with global options (see \fBOPTIONS\fR below for details). The global options are followed by one or more commands. Each command should begin with \fB\-\-\fR by -itself as a command-line argument, to separate it from the global -options and following commands. (If the first command does not have -any options, then the first \fB\-\-\fR may be omitted.) The command +itself as a command-line argument, to separate it from the following +commands. (The \fB\-\-\fR before the first command is optional.) The +command itself starts with command-specific options, if any, followed by the command name and any arguments. See \fBEXAMPLES\fR below for syntax examples. @@ -69,7 +67,8 @@ When such a ``fake bridge'' is active, \fBovs\-vsctl\fR will treat it much like a bridge separate from its ``parent bridge,'' but the actual implementation in Open vSwitch uses only a single bridge, with ports on the fake bridge assigned the implicit VLAN of the fake bridge of which -they are members. +they are members. (A fake bridge for VLAN 0 receives packets that +have no 802.1Q tag or a tag with VLAN 0.) . .SH OPTIONS . @@ -104,7 +103,7 @@ By default, \fBovs\-vsctl\fR logs its arguments and the details of any changes that it makes to the system log. This option disables this logging. .IP -This option is equivalent to \fB\-\-verbose=vvsctl:syslog:warn\fR. +This option is equivalent to \fB\-\-verbose=vsctl:syslog:warn\fR. . .IP "\fB\-\-oneline\fR" Modifies the output format so that the output for each command is printed @@ -112,6 +111,9 @@ on a single line. New-line characters that would otherwise separate lines are printed as \fB\\n\fR, and any instances of \fB\\\fR that would otherwise appear in the output are doubled. Prints a blank line for each command that has no output. +This option does not affect the formatting of output from the +\fBlist\fR or \fBfind\fR commands; see \fBTable Formatting Options\fR +below. . .IP "\fB\-\-dry\-run\fR" Prevents \fBovs\-vsctl\fR from actually modifying the database. @@ -125,6 +127,11 @@ to approximately \fIsecs\fR seconds. If the timeout expires, would normally happen only if the database cannot be contacted, or if the system is overloaded.) . +.SS "Table Formatting Options" +These options control the format of output from the \fBlist\fR and +\fBfind\fR commands. +.so lib/table.man +. .SS "Public Key Infrastructure Options" .so lib/ssl.man .so lib/ssl-bootstrap.man @@ -145,13 +152,16 @@ Any successful \fBovs\-vsctl\fR command automatically initializes the Open vSwitch database if it is empty. This command is provided to initialize the database without executing any other command. . +.IP "\fBshow\fR" +Prints a brief overview of the database contents. +. .IP "\fBemer\-reset\fR" Reset the configuration into a clean state. It deconfigures OpenFlow controllers, OVSDB servers, and SSL, and deletes port mirroring, -NetFlow, and sFlow configuration. This command also removes all -\fBother\-config\fR keys from all database records, except that -\fBother\-config:hwaddr\fR is preserved if it is present in a Bridge -record. Other networking configuration is left as-is. +\fBfail_mode\fR, NetFlow, and sFlow configuration. This command also +removes all \fBother\-config\fR keys from all database records, except +that \fBother\-config:hwaddr\fR is preserved if it is present in a +Bridge record. Other networking configuration is left as-is. . .SS "Bridge Commands" These commands examine and manipulate Open vSwitch bridges. @@ -161,20 +171,20 @@ Creates a new bridge named \fIbridge\fR. Initially the bridge will have no ports (other than \fIbridge\fR itself). .IP Without \fB\-\-may\-exist\fR, attempting to create a bridge that -exists is an error. With \fB\-\-may\-exist\fR, \fIbridge\fR may -already exist (but it must be a real bridge, not a VLAN bridge). +exists is an error. With \fB\-\-may\-exist\fR, this command does +nothing if \fIbridge\fR already exists as a real bridge. . .IP "[\fB\-\-may\-exist\fR] \fBadd\-br \fIbridge parent vlan\fR" Creates a ``fake bridge'' named \fIbridge\fR within the existing Open vSwitch bridge \fIparent\fR, which must already exist and must not itself be a fake bridge. The new fake bridge will be on 802.1Q VLAN -\fIvlan\fR, which must be an integer between 1 and 4095. Initially +\fIvlan\fR, which must be an integer between 0 and 4095. Initially \fIbridge\fR will have no ports (other than \fIbridge\fR itself). .IP Without \fB\-\-may\-exist\fR, attempting to create a bridge that -exists is an error. With \fB\-\-may\-exist\fR, \fIbridge\fR may -already exist (but it must have the specified \fIvlan\fR and -\fIparent\fR). +exists is an error. With \fB\-\-may\-exist\fR, this command does +nothing if \fIbridge\fR already exists as a VLAN bridge under +\fIparent\fR for \fIvlan\fR. . .IP "[\fB\-\-if\-exists\fR] \fBdel\-br \fIbridge\fR" Deletes \fIbridge\fR and all of its ports. If \fIbridge\fR is a real @@ -185,9 +195,10 @@ Without \fB\-\-if\-exists\fR, attempting to delete a bridge that does not exist is an error. With \fB\-\-if\-exists\fR, attempting to delete a bridge that does not exist has no effect. . -.IP "\fBlist\-br\fR" +.IP "[\fB\-\-real\fR|\fB\-\-fake\fR] \fBlist\-br\fR" Lists all existing real and fake bridges on standard output, one per -line. +line. With \fB\-\-real\fR or \fB\-\-fake\fR, only bridges of that type +are returned. . .IP "\fBbr\-exists \fIbridge\fR" Tests whether \fIbridge\fR exists as a real or fake bridge. If so, @@ -250,8 +261,8 @@ port for VLAN 9. The syntax is the same as that for the \fBset\fR command (see \fBDatabase Commands\fR below). .IP Without \fB\-\-may\-exist\fR, attempting to create a port that exists -is an error. With \fB\-\-may\-exist\fR, \fIport\fR may already exist -(but it must be on \fIbridge\fR and not be a bonded port). +is an error. With \fB\-\-may\-exist\fR, this command does nothing if +\fIport\fR already exists on \fIbridge\fR and is not a bonded port. . .IP "[\fB\-\-fake\-iface\fR] \fBadd\-bond \fIbridge port iface\fR\&... [\fIcolumn\fR[\fB:\fIkey\fR]\fR=\fIvalue\fR]\&...\fR" Creates on \fIbridge\fR a new port named \fIport\fR that bonds @@ -267,9 +278,9 @@ created. This should only be used for compatibility with legacy software that requires it. .IP Without \fB\-\-may\-exist\fR, attempting to create a port that exists -is an error. With \fB\-\-may\-exist\fR, \fIport\fR may already exist -(but it must be on \fIbridge\fR and bond together exactly the -specified interface). +is an error. With \fB\-\-may\-exist\fR, this command does nothing if +\fIport\fR already exists on \fIbridge\fR and bonds together exactly +the specified interfaces. . .IP "[\fB\-\-if\-exists\fR] \fBdel\-port \fR[\fIbridge\fR] \fIport\fR" Deletes \fIport\fR. If \fIbridge\fR is omitted, \fIport\fR is removed @@ -313,8 +324,13 @@ output. .SS "OpenFlow Controller Connectivity" . \fBovs\-vswitchd\fR can perform all configured bridging and switching -locally, or it can be configured to connect a given bridge to one or -more external OpenFlow controllers, such as NOX. +locally, or it can be configured to communicate with one or more +external OpenFlow controllers. The switch is typically configured to +connect to a primary controller that takes charge of the bridge's flow +table to implement a network policy. In addition, the switch can be +configured to listen to connections from service controllers. Service +controllers are typically used for occasional support and maintenance, +e.g. with \fBovs\-ofctl\fR. . .IP "\fBget\-controller\fR \fIbridge\fR" Prints the configured controller target. @@ -328,6 +344,7 @@ use any of the following forms: . .RS .so lib/vconn-active.man +.so lib/vconn-passive.man .RE . .ST "Controller Failure Settings" @@ -342,7 +359,7 @@ If the value is \fBstandalone\fR, or if neither of these settings is set, \fBovs\-vswitchd\fR will take over responsibility for setting up flows when no message has been received from the controller for three -times the inactivity probe interval (xxx needs to be exposed). In this mode, +times the inactivity probe interval. In this mode, \fBovs\-vswitchd\fR causes the datapath to act like an ordinary MAC-learning switch. \fBovs\-vswitchd\fR will continue to retry connecting to the controller in the background and, when the connection succeeds, @@ -360,21 +377,45 @@ Deletes the configured failure mode. .IP "\fBset\-fail\-mode\fR \fIbridge\fR \fBstandalone\fR|\fBsecure\fR" Sets the configured failure mode. . +.SS "Manager Connectivity" +. +These commands manipulate the \fBmanager_options\fR column in the +\fBOpen_vSwitch\fR table and rows in the \fBManagers\fR table. When +\fBovsdb\-server\fR is configured to use the \fBmanager_options\fR column for +OVSDB connections (as described in \fBINSTALL.Linux\fR and in the startup +scripts provided with Open vSwitch), this allows the administrator to use +\fBovs\-vsctl\fR to configure database connections. +. +.IP "\fBget\-manager\fR" +Prints the configured manager(s). +. +.IP "\fBdel\-manager\fR" +Deletes the configured manager(s). +. +.IP "\fBset\-manager\fR \fItarget\fR\&..." +Sets the configured manager target or targets. Each \fItarget\fR may +use any of the following forms: +. +.RS +.so ovsdb/remote-active.man +.so ovsdb/remote-passive.man +.RE +. .SS "SSL Configuration" When \fBovs\-vswitchd\fR is configured to connect over SSL for management or controller connectivity, the following parameters are required: .TP -\fBprivate\-key\fR +\fIprivate-key\fR Specifies a PEM file containing the private key used as the virtual switch's identity for SSL connections to the controller. .TP -\fBcertificate\fR +\fIcertificate\fR Specifies a PEM file containing a certificate, signed by the certificate authority (CA) used by the controller and manager, that certifies the virtual switch's private key, identifying a trustworthy switch. .TP -\fBca\-cert\fR +\fIca-cert\fR Specifies a PEM file containing the CA certificate used to verify that the virtual switch is connected to a trustworthy controller. .PP @@ -397,7 +438,8 @@ below. .ST "CA Certificate Bootstrap" .PP Ordinarily, all of the files named in the SSL configuration must exist -when \fBovs\-vswitchd\fR starts. However, if the \fB\-\-bootstrap\fR +when \fBovs\-vswitchd\fR starts. However, if the \fIca-cert\fR file +does not exist and the \fB\-\-bootstrap\fR option is given, then \fBovs\-vswitchd\fR will attempt to obtain the CA certificate from the controller on its first SSL connection and save it to the named PEM file. If it is successful, it will @@ -444,12 +486,24 @@ A bridge port. Records may be identified by port name. .IP "\fBInterface\fR" A network device attached to a port. Records may be identified by name. +.IP "\fBFlow_Table\fR" +Configuration for a particular OpenFlow flow table. Records may be +identified by name. +.IP "\fBQoS\fR" +Quality-of-service configuration for a \fBPort\fR. Records may be +identified by port name. +.IP "\fBQueue\fR" +Configuration for one queue within a \fBQoS\fR configuration. Records +may only be identified by UUID. .IP "\fBMirror\fR" A port mirroring configuration attached to a bridge. Records may be identified by mirror name. .IP "\fBController\fR" Configuration for an OpenFlow controller. A controller attached to a particular bridge may be identified by the bridge's name. +.IP "\fBManager\fR" +Configuration for an OVSDB connection. Records may be identified +by target (e.g. \fBtcp:1.2.3.4\fR). .IP "\fBNetFlow\fR" A NetFlow configuration attached to a bridge. Records may be identified by bridge name. @@ -507,14 +561,78 @@ follow the syntax for the column's key type and value type, respectively. When multiple pairs are present (separated by spaces or a comma), duplicate keys are not allowed, and again the order is not important. Duplicate values are allowed. An empty map is represented -as \fB{}\fR, and curly braces may be optionally enclose non-empty maps -as well. +as \fB{}\fR. Curly braces may optionally enclose non-empty maps as +well (but use quotes to prevent the shell from expanding +\fBother-config={0=x,1=y}\fR into \fBother-config=0=x +other-config=1=y\fR, which may not have the desired effect). . .ST "Database Command Syntax" -.IP "\fBlist \fItable \fR[\fIrecord\fR]..." -List the values of all columns of each specified \fIrecord\fR. If no +.IP "[\fB\-\-columns=\fIcolumn\fR[\fB,\fIcolumn\fR]...] \fBlist \fItable \fR[\fIrecord\fR]..." +Lists the data in each specified \fIrecord\fR. If no records are specified, lists all the records in \fItable\fR. .IP +If \fB\-\-columns\fR is specified, only the requested columns are +listed, in the specified order. Otherwise, all columns are listed, in +alphabetical order by column name. +. +.IP "[\fB\-\-columns=\fIcolumn\fR[\fB,\fIcolumn\fR]...] \fBfind \fItable \fR[\fIcolumn\fR[\fB:\fIkey\fR]\fB=\fIvalue\fR]..." +Lists the data in each record in \fItable\fR whose \fIcolumn\fR equals +\fIvalue\fR or, if \fIkey\fR is specified, whose \fIcolumn\fR contains +a \fIkey\fR with the specified \fIvalue\fR. The following operators +may be used where \fB=\fR is written in the syntax summary: +.RS +.IP "\fB= != < > <= >=\fR" +Selects records in which \fIcolumn\fR[\fB:\fIkey\fR] equals, does not +equal, is less than, is greater than, is less than or equal to, or is +greater than or equal to \fIvalue\fR, respectively. +.IP +Consider \fIcolumn\fR[\fB:\fIkey\fR] and \fIvalue\fR as sets of +elements. Identical sets are considered equal. Otherwise, if the +sets have different numbers of elements, then the set with more +elements is considered to be larger. Otherwise, consider a element +from each set pairwise, in increasing order within each set. The +first pair that differs determines the result. (For a column that +contains key-value pairs, first all the keys are compared, and values +are considered only if the two sets contain identical keys.) +.IP "\fB{=} {!=}\fR" +Test for set equality or inequality, respectively. +.IP "\fB{<=}\fR" +Selects records in which \fIcolumn\fR[\fB:\fIkey\fR] is a subset of +\fIvalue\fR. For example, \fBflood-vlans{<=}1,2\fR selects records in +which the \fBflood-vlans\fR column is the empty set or contains 1 or 2 +or both. +.IP "\fB{<}\fR" +Selects records in which \fIcolumn\fR[\fB:\fIkey\fR] is a proper +subset of \fIvalue\fR. For example, \fBflood-vlans{<}1,2\fR selects +records in which the \fBflood-vlans\fR column is the empty set or +contains 1 or 2 but not both. +.IP "\fB{>=} {>}\fR" +Same as \fB{<=}\fR and \fB{<}\fR, respectively, except that the +relationship is reversed. For example, \fBflood-vlans{>=}1,2\fR +selects records in which the \fBflood-vlans\fR column contains both 1 +and 2. +.RE +.IP +For arithmetic operators (\fB= != < > <= >=\fR), when \fIkey\fR is +specified but a particular record's \fIcolumn\fR does not contain +\fIkey\fR, the record is always omitted from the results. Thus, the +condition \fBother-config:mtu!=1500\fR matches records that have a +\fBmtu\fR key whose value is not 1500, but not those that lack an +\fBmtu\fR key. +.IP +For the set operators, when \fIkey\fR is specified but a particular +record's \fIcolumn\fR does not contain \fIkey\fR, the comparison is +done against an empty set. Thus, the condition +\fBother-config:mtu{!=}1500\fR matches records that have a \fBmtu\fR +key whose value is not 1500 and those that lack an \fBmtu\fR key. +.IP +Don't forget to escape \fB<\fR or \fB>\fR from interpretation by the +shell. +.IP +If \fB\-\-columns\fR is specified, only the requested columns are +listed, in the specified order. Otherwise all columns are listed, in +alphabetical order by column name. +.IP The UUIDs shown for rows created in the same \fBovs\-vsctl\fR invocation will be wrong. . @@ -532,6 +650,11 @@ For a map column, without \fB\-\-if\-exists\fR it is an error if If \fB@\fIname\fR is specified, then the UUID for \fIrecord\fR may be referred to by that name later in the same \fBovs\-vsctl\fR invocation in contexts where a UUID is expected. +.IP +Both \fB\-\-id\fR and the \fIcolumn\fR arguments are optional, but +usually at least one or the other should be specified. If both are +omitted, then \fBget\fR has no effect except to verify that +\fIrecord\fR exists in \fItable\fR. . .IP "\fBset \fItable record column\fR[\fB:\fIkey\fR]\fB=\fIvalue\fR..." Sets the value of each specified \fIcolumn\fR in the given @@ -575,10 +698,33 @@ If \fB@\fIname\fR is specified, then the UUID for the new row may be referred to by that name elsewhere in the same \fBovs\-vsctl\fR invocation in contexts where a UUID is expected. Such references may precede or follow the \fBcreate\fR command. +.IP +Records in the Open vSwitch database are significant only when they +can be reached directly or indirectly from the \fBOpen_vSwitch\fR +table. Except for records in the \fBQoS\fR or \fBQueue\fR tables, +records that are not reachable from the \fBOpen_vSwitch\fR table are +automatically deleted from the database. This deletion happens +immediately, without waiting for additional \fBovs\-vsctl\fR commands +or other database activity. Thus, a \fBcreate\fR command must +generally be accompanied by additional commands \fIwithin the same +\fBovs\-vsctl\fI invocation\fR to add a chain of references to the +newly created record from the top-level \fBOpen_vSwitch\fR record. +The \fBEXAMPLES\fR section gives some examples that show how to do +this. . .IP "\fR[\fB\-\-if\-exists\fR] \fBdestroy \fItable record\fR..." Deletes each specified \fIrecord\fR from \fItable\fR. Unless \fB\-\-if\-exists\fR is specified, each \fIrecord\fRs must exist. +.IP "\fB\-\-all destroy \fItable\fR" +Deletes all records from the \fItable\fR. +.IP +The \fBdestroy\fR command is only useful for records in the \fBQoS\fR +or \fBQueue\fR tables. Records in other tables are automatically +deleted from the database when they become unreachable from the +\fBOpen_vSwitch\fR table. This means that deleting the last reference +to a record is sufficient for deleting the record itself. For records +in these tables, \fBdestroy\fR is silently ignored. See the +\fBEXAMPLES\fR section below for more information. . .IP "\fBwait\-until \fItable record \fR[\fIcolumn\fR[\fB:\fIkey\fR]\fB=\fIvalue\fR]..." Waits until \fItable\fR contains a record named \fIrecord\fR whose @@ -606,6 +752,9 @@ initially connects to the database. Consider specifying \fB\-\-timeout=0\fR along with \fB\-\-wait\-until\fR, to prevent \fBovs\-vsctl\fR from terminating after waiting only at most 5 seconds. +.IP "\fBcomment \fR[\fIarg\fR]..." +This command has no effect on behavior, but any database log record +created by the command will include the command and its arguments. .SH "EXAMPLES" Create a new bridge named br0 and add port eth0 to it: .IP @@ -621,10 +770,9 @@ Delete bridge \fBbr0\fR, reporting an error if it does not exist: .IP .B "ovs\-vsctl del\-br br0" .PP -Delete bridge \fBbr0\fR if it exists (the \fB\-\-\fR is required to -separate \fBdel\-br\fR's options from the global options): +Delete bridge \fBbr0\fR if it exists: .IP -.B "ovs\-vsctl \-\- \-\-if\-exists del\-br br0" +.B "ovs\-vsctl \-\-if\-exists del\-br br0" .PP Set the \fBqos\fR column of the \fBPort\fR record for \fBeth0\fR to point to a new \fBQoS\fR record, which in turn points with its queue 0 @@ -641,6 +789,12 @@ access port for VLAN 10, and configure it with an IP address: .IP .B "ifconfig vlan10 192.168.0.123" . +.PP +Add a GRE tunnel port \fBgre0\fR to remote IP address 1.2.3.4 to +bridge \fBbr0\fR: +.IP +.B "ovs\-vsctl add\-port br0 gre0 \-\- set Interface gre0 type=gre options:remote_ip=1.2.3.4" +. .SS "Port Mirroring" .PP Mirror all packets received or sent on \fBeth0\fR or \fBeth1\fR onto @@ -658,10 +812,16 @@ ignored): .IP .B "\-\- \-\-id=@m create Mirror name=mymirror select-dst-port=@eth0,@eth1 select-src-port=@eth0,@eth1 output-port=@eth2" .PP -Remove the mirror created above from \fBbr0\fR and destroy the Mirror -record (to avoid having an unreferenced record in the database): +Remove the mirror created above from \fBbr0\fR, which also destroys +the Mirror record (since it is now unreferenced): .IP -.B "ovs\-vsctl destroy Mirror mymirror \-\- clear Bridge br0 mirrors" +.B "ovs\-vsctl \-\- \-\-id=@rec get Mirror mymirror \(rs" +.IP +.B "\-\- remove Bridge br0 mirrors @rec" +.PP +The following simpler command also works: +.IP +.B "ovs\-vsctl clear Bridge br0 mirrors" .SS "Quality of Service (QoS)" .PP Create a \fBlinux\-htb\fR QoS record that points to a few queues and @@ -682,14 +842,25 @@ Deconfigure the QoS record above from \fBeth1\fR only: .B "ovs\-vsctl clear Port eth1 qos" .PP To deconfigure the QoS record from both \fBeth0\fR and \fBeth1\fR and -then delete the QoS record: +then delete the QoS record (which must be done explicitly because +unreferenced QoS records are not automatically destroyed): .IP .B "ovs\-vsctl \-\- destroy QoS eth0 \-\- clear Port eth0 qos \-\- clear Port eth1 qos" .PP (This command will leave two unreferenced Queue records in the database. To delete them, use "\fBovs\-vsctl list Queue\fR" to find their UUIDs, then "\fBovs\-vsctl destroy Queue \fIuuid1\fR -\fIuuid2\fR" to destroy each of them.) +\fIuuid2\fR" to destroy each of them or use +"\fBovs\-vsctl -- --all destroy Queue\fR" to delete all records.) +.SS "Connectivity Monitoring" +.PP +Monitor connectivity to a remote maintenance point on eth0. +.IP +.B "ovs\-vsctl set Interface eth0 cfm_mpid=1" +.PP +Deconfigure connectivity monitoring from above: +.IP +.B "ovs\-vsctl clear Interface eth0 cfm_mpid" .SS "NetFlow" .PP Configure bridge \fBbr0\fR to send NetFlow records to UDP port 5566 on @@ -704,10 +875,10 @@ instead use an active timeout of 60 seconds: .IP .B "ovs\-vsctl set NetFlow br0 active_timeout=60" .PP -Deconfigure the NetFlow settings from \fBbr0\fR and delete the NetFlow -record (to avoid having an unreferenced record in the database): +Deconfigure the NetFlow settings from \fBbr0\fR, which also destroys +the NetFlow record (since it is now unreferenced): .IP -.B "ovs\-vsctl destroy NetFlow br0 \-\- clear Bridge br0 netflow" +.B "ovs\-vsctl clear Bridge br0 netflow" .SS "sFlow" .PP Configure bridge \fBbr0\fR to send sFlow records to a collector on @@ -718,10 +889,28 @@ with specific sampling parameters: .IP .B "\-\- set Bridge br0 sflow=@s" .PP -Deconfigure sFlow from br0 and destroy the sFlow record (to avoid -having an unreferenced record in the database): +Deconfigure sFlow from \fBbr0\fR, which also destroys the sFlow record +(since it is now unreferenced): +.IP +.B "ovs\-vsctl \-\- clear Bridge br0 sflow" +.SS "802.1D Spanning Tree Protocol (STP)" +.PP +Configure bridge \fBbr0\fR to participate in an 802.1D spanning tree: +.IP +.B "ovs\-vsctl set Bridge br0 stp_enable=true" +.PP +Set the bridge priority of \fBbr0\fR to 0x7800: .IP -.B "ovs\-vsctl \-\- destroy sFlow br0 \-\- clear Bridge br0 sflow" +.B "ovs\-vsctl set Bridge br0 other_config:stp-priority=0x7800" +.PP +Set the path cost of port \fBeth0\fR to 10: +.IP +.B "ovs\-vsctl set Port eth0 other_config:stp-path-cost=10" +.PP +Deconfigure STP from above: +.IP +.B "ovs\-vsctl clear Bridge br0 stp_enable" +.PP .SH "EXIT STATUS" .IP "0" Successful program execution. @@ -733,5 +922,5 @@ bridge that does not exist. .SH "SEE ALSO" . .BR ovsdb\-server (1), -.BR ovs\-vswitchd (8). -\ +.BR ovs\-vswitchd (8), +.BR ovs\-vswitchd.conf.db (5).