bitrot.
- ovs-appctl:
* New "vlog/close" command.
+ - ovs-ctl:
+ * Added the ability to selectively start the forwarding and database
+ functions (ovs-vswitchd and ovsdb-server, respectively).
- ovsdb-server:
* Remove max number of sessions limit, to enable connection scaling
testing.
upgrades it to the latest schema.
.
.IP 3.
-Starts \fBovsdb-server\fR.
+Starts \fBovsdb-server\fR, unless the \fB\-\-no\-ovsdb\-server\fR command
+option is given.
.
.IP 4.
Initializes a few values inside the database.
.
.PP
The \fBstart\fR command skips the following step if
-\fBovs\-vswitchd\fR is already running:
+\fBovs\-vswitchd\fR is already running, or if the \fB\-\-no\-ovs\-vswitchd\fR
+command option is given:
.IP 7.
Starts \fBovs\-vswitchd\fR.
.
.
.PP
The \fBstop\fR command does not unload the Open vSwitch kernel
-modules.
+modules. It can take the same \fB\-\-no\-ovsdb\-server\fR and
+\fB\-\-no\-ovs\-vswitchd\fR options as that of the \fBstart\fR
+command.
.
.PP
This command does nothing and finishes successfully if the OVS daemons
.
.PP
\fBforce\-kmod\-reload\fR internally stops and starts OVS, so it
-accepts all of the options accepted by the \fBstart\fR command.
+accepts all of the options accepted by the \fBstart\fR command except
+for the \fB\-\-no\-ovs\-vswitchd\fR option.
.
.SH "The ``load\-kmod'' command"
.
.
.SH "OPTIONS"
.PP
-In addition to the options listed for each command above, this option
-controls the behavior of several of \fBovs\-ctl\fR's commands.
+In addition to the options listed for each command above, these options
+control the behavior of several of \fBovs\-ctl\fR's commands.
+.
+.PP
+By default, \fBovs\-ctl\fR will control the \fBovsdb\-server\fR, and
+the \fBovs\-vswitchd\fR daemons. The following options restrict that control
+to exclude one or the other:
+.
+.IP "\fB\-\-no\-ovsdb-server\fR"
+Specifies that the \fBovs\-ctl\fR commands \fBstart\fR, \fBstop\fR, and
+\fBrestart\fR should not modify the running status of \fBovsdb\-server\fR.
+.
+.IP "\fB\-\-no\-ovs\-vswitchd\fR"
+Specifies that the \fBovs\-ctl\fR commands \fBstart\fR, \fBstop\fR, and
+\fBrestart\fR should not modify the running status of \fBovs\-vswitchd\fR.
+It is an error to include this option with the \fBforce\-reload\-kmod\fR
+command.
.
.SH "EXIT STATUS"
.
done
}
-start_ovsdb () {
+do_start_ovsdb () {
check_force_cores
if daemon_is_running ovsdb-server; then
fi
}
+start_ovsdb() {
+ if test X"$OVSDB_SERVER" = Xyes; then
+ do_start_ovsdb
+ fi
+}
+
add_managers () {
# Now that ovs-vswitchd has started and completed its initial
# configuration, tell ovsdb-server to conenct to the remote managers. We
db:Open_vSwitch,Open_vSwitch,manager_options
}
-start_forwarding () {
+do_start_forwarding () {
check_force_cores
insert_mod_if_required || return 1
fi
}
+start_forwarding () {
+ if test X"$OVS_VSWITCHD" = Xyes; then
+ do_start_forwarding
+ fi
+}
+
## ---- ##
## stop ##
## ---- ##
stop_ovsdb () {
- stop_daemon ovsdb-server
+ if test X"$OVSDB_SERVER" = Xyes; then
+ stop_daemon ovsdb-server
+ fi
}
stop_forwarding () {
- stop_daemon ovs-vswitchd
+ if test X"$OVS_VSWITCHD" = Xyes; then
+ stop_daemon ovs-vswitchd
+ fi
}
## ----------------- ##
}
flow_restore_wait () {
- ovs_vsctl set open_vswitch . other_config:flow-restore-wait="true"
+ if test X"$OVS_VSWITCHD" = Xyes; then
+ ovs_vsctl set open_vswitch . other_config:flow-restore-wait="true"
+ fi
}
flow_restore_complete () {
- ovs_vsctl --if-exists remove open_vswitch . other_config \
- flow-restore-wait="true"
+ if test X"$OVS_VSWITCHD" = Xyes; then
+ ovs_vsctl --if-exists remove open_vswitch . other_config \
+ flow-restore-wait="true"
+ fi
}
restore_flows () {
}
force_reload_kmod () {
+
+ if test X"$OVS_VSWITCHD" != Xyes; then
+ log_failure_msg "Reloading of kmod without ovs-vswitchd is an error"
+ exit 1
+ fi
+
ifaces=`internal_interfaces`
action "Detected internal interfaces: $ifaces" true
restart () {
if daemon_is_running ovsdb-server && daemon_is_running ovs-vswitchd; then
init_restore_scripts
- save_flows_if_required
+ if test X"$OVS_VSWITCHD" = Xyes; then
+ save_flows_if_required
+ fi
fi
# Restart the database first, since a large database may take a
DAEMON_CWD=/
FORCE_COREFILES=yes
MLOCKALL=yes
+ OVSDB_SERVER=yes
+ OVS_VSWITCHD=yes
OVSDB_SERVER_PRIORITY=-10
OVS_VSWITCHD_PRIORITY=-10
OVSDB_SERVER_WRAPPER=