On 12/22/2017 7:00 AM, Timothy Redaelli wrote:
Move the functions related to "force-reload-kmod" and "restart" from
ovs-ctl.in to ovs-lib.in in order to permit other scripts to use them.
Signed-off-by: Timothy Redaelli <tredae...@redhat.com>
---
utilities/ovs-ctl.in | 173 ---------------------------------------------------
utilities/ovs-lib.in | 173 +++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 173 insertions(+), 173 deletions(-)
A few minor checkpatch errors:
== Checking
"0001-utilities-move-some-functions-from-ovs-ctl.in-to-ovs.patch" ==
WARNING: Line has non-spaces leading whitespace
#231 FILE: utilities/ovs-lib.in:465:
-- list-br) | sort -u`
WARNING: Line has non-spaces leading whitespace
#234 FILE: utilities/ovs-lib.in:468:
printf "%s " "$d"
WARNING: Line has non-spaces leading whitespace
#235 FILE: utilities/ovs-lib.in:469:
fi
Lines checked: 385, Warnings: 3, Errors: 0
Otherwise looks good to me.
Tested-by: Greg Rose <gvrose8...@gmail.com>
Reviewed-by: Greg Rose <gvrose8...@gmail.com>
diff --git a/utilities/ovs-ctl.in b/utilities/ovs-ctl.in
index f1b01d1d3..1df56c4a5 100755
--- a/utilities/ovs-ctl.in
+++ b/utilities/ovs-ctl.in
@@ -63,10 +63,6 @@ insert_mod_if_required () {
insert_mods
}
-ovs_vsctl () {
- ovs-vsctl --no-wait "$@"
-}
-
set_hostname () {
# 'hostname -f' needs network connectivity to work. So we should
# call this only after ovs-vswitchd is running.
@@ -270,175 +266,6 @@ stop_forwarding () {
fi
}
-## ----------------- ##
-## force-reload-kmod ##
-## ----------------- ##
-
-internal_interfaces () {
- # Outputs a list of internal interfaces:
- #
- # - There is an internal interface for every bridge, whether it
- # has an Interface record or not and whether the Interface
- # record's 'type' is properly set or not.
- #
- # - There is an internal interface for each Interface record whose
- # 'type' is 'internal'.
- #
- # But ignore interfaces that don't really exist.
- for d in `(ovs_vsctl --bare \
- -- --columns=name find Interface type=internal \
- -- list-br) | sort -u`
- do
- if test -e "/sys/class/net/$d"; then
- printf "%s " "$d"
- fi
- done
-}
-
-ovs_save () {
- bridges=`ovs_vsctl -- --real list-br`
- if [ -n "${bridges}" ] && \
- "$datadir/scripts/ovs-save" "$1" ${bridges} > "$2"; then
- chmod +x "$2"
- return 0
- fi
- [ -z "${bridges}" ] && return 0
-}
-
-save_flows_if_required () {
- if test X"$DELETE_BRIDGES" != Xyes; then
- action "Saving flows" ovs_save save-flows "${script_flows}"
- fi
-}
-
-save_interfaces () {
- "$datadir/scripts/ovs-save" save-interfaces ${ifaces} \
- > "${script_interfaces}"
-}
-
-flow_restore_wait () {
- if test X"$OVS_VSWITCHD" = Xyes; then
- ovs_vsctl set open_vswitch . other_config:flow-restore-wait="true"
- fi
-}
-
-flow_restore_complete () {
- if test X"$OVS_VSWITCHD" = Xyes; then
- ovs_vsctl --if-exists remove open_vswitch . other_config \
- flow-restore-wait="true"
- fi
-}
-
-restore_flows () {
- [ -x "${script_flows}" ] && \
- action "Restoring saved flows" "${script_flows}"
-}
-
-restore_interfaces () {
- [ ! -x "${script_interfaces}" ] && return 0
- action "Restoring interface configuration" "${script_interfaces}"
- rc=$?
- if test $rc = 0; then
- level=debug
- else
- level=err
- fi
- log="logger -p daemon.$level -t ovs-save"
- $log "interface restore script exited with status $rc:"
- $log -f "$script_interfaces"
-}
-
-init_restore_scripts () {
- script_interfaces=`mktemp`
- script_flows=`mktemp`
- trap 'rm -f "${script_interfaces}" "${script_flows}"' 0
-}
-
-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
-
- init_restore_scripts
- save_flows_if_required
-
- # Restart the database first, since a large database may take a
- # while to load, and we want to minimize forwarding disruption.
- stop_ovsdb
- start_ovsdb || return 1
-
- stop_forwarding
-
- if action "Saving interface configuration" save_interfaces; then
- :
- else
- log_warning_msg "Failed to save configuration, not replacing kernel
module"
- start_forwarding
- add_managers
- exit 1
- fi
- chmod +x "$script_interfaces"
-
- for dp in `ovs-dpctl dump-dps`; do
- action "Removing datapath: $dp" ovs-dpctl del-dp "$dp"
- done
-
- for vport in `awk '/^vport_/ { print $1 }' /proc/modules`; do
- action "Removing $vport module" rmmod $vport
- done
-
- if test -e /sys/module/openvswitch; then
- action "Removing openvswitch module" rmmod openvswitch
- fi
-
- # Start vswitchd by asking it to wait till flow restore is finished.
- flow_restore_wait
- start_forwarding || return 1
-
- # Restore saved flows and inform vswitchd that we are done.
- restore_flows
- flow_restore_complete
- add_managers
-
- restore_interfaces
-
- "$datadir/scripts/ovs-check-dead-ifs"
-}
-
-## ------- ##
-## restart ##
-## ------- ##
-
-restart () {
- if daemon_is_running ovsdb-server && daemon_is_running ovs-vswitchd; then
- init_restore_scripts
- if test X"$OVS_VSWITCHD" = Xyes; then
- save_flows_if_required
- fi
- fi
-
- # Restart the database first, since a large database may take a
- # while to load, and we want to minimize forwarding disruption.
- stop_ovsdb
- start_ovsdb || return 1
-
- stop_forwarding
-
- # Start vswitchd by asking it to wait till flow restore is finished.
- flow_restore_wait
- start_forwarding || return 1
-
- # Restore saved flows and inform vswitchd that we are done.
- restore_flows
- flow_restore_complete
- add_managers
-}
-
## --------------- ##
## enable-protocol ##
## --------------- ##
diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in
index 1bccea0c5..5e25f85c8 100644
--- a/utilities/ovs-lib.in
+++ b/utilities/ovs-lib.in
@@ -440,3 +440,176 @@ upgrade_db () {
fi
fi
}
+
+ovs_vsctl () {
+ ovs-vsctl --no-wait "$@"
+}
+
+## ----------------- ##
+## force-reload-kmod ##
+## ----------------- ##
+
+internal_interfaces () {
+ # Outputs a list of internal interfaces:
+ #
+ # - There is an internal interface for every bridge, whether it
+ # has an Interface record or not and whether the Interface
+ # record's 'type' is properly set or not.
+ #
+ # - There is an internal interface for each Interface record whose
+ # 'type' is 'internal'.
+ #
+ # But ignore interfaces that don't really exist.
+ for d in `(ovs_vsctl --bare \
+ -- --columns=name find Interface type=internal \
+ -- list-br) | sort -u`
+ do
+ if test -e "/sys/class/net/$d"; then
+ printf "%s " "$d"
+ fi
+ done
+}
+
+ovs_save () {
+ bridges=`ovs_vsctl -- --real list-br`
+ if [ -n "${bridges}" ] && \
+ "$datadir/scripts/ovs-save" "$1" ${bridges} > "$2"; then
+ chmod +x "$2"
+ return 0
+ fi
+ [ -z "${bridges}" ] && return 0
+}
+
+save_flows_if_required () {
+ if test X"$DELETE_BRIDGES" != Xyes; then
+ action "Saving flows" ovs_save save-flows "${script_flows}"
+ fi
+}
+
+save_interfaces () {
+ "$datadir/scripts/ovs-save" save-interfaces ${ifaces} \
+ > "${script_interfaces}"
+}
+
+flow_restore_wait () {
+ if test X"${OVS_VSWITCHD:-yes}" = Xyes; then
+ ovs_vsctl set open_vswitch . other_config:flow-restore-wait="true"
+ fi
+}
+
+flow_restore_complete () {
+ if test X"${OVS_VSWITCHD:-yes}" = Xyes; then
+ ovs_vsctl --if-exists remove open_vswitch . other_config \
+ flow-restore-wait="true"
+ fi
+}
+
+restore_flows () {
+ [ -x "${script_flows}" ] && \
+ action "Restoring saved flows" "${script_flows}"
+}
+
+restore_interfaces () {
+ [ ! -x "${script_interfaces}" ] && return 0
+ action "Restoring interface configuration" "${script_interfaces}"
+ rc=$?
+ if test $rc = 0; then
+ level=debug
+ else
+ level=err
+ fi
+ log="logger -p daemon.$level -t ovs-save"
+ $log "interface restore script exited with status $rc:"
+ $log -f "$script_interfaces"
+}
+
+init_restore_scripts () {
+ script_interfaces=`mktemp`
+ script_flows=`mktemp`
+ trap 'rm -f "${script_interfaces}" "${script_flows}"' 0
+}
+
+force_reload_kmod () {
+
+ if test X"${OVS_VSWITCHD:-yes}" != 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
+
+ init_restore_scripts
+ save_flows_if_required
+
+ # Restart the database first, since a large database may take a
+ # while to load, and we want to minimize forwarding disruption.
+ stop_ovsdb
+ start_ovsdb || return 1
+
+ stop_forwarding
+
+ if action "Saving interface configuration" save_interfaces; then
+ :
+ else
+ log_warning_msg "Failed to save configuration, not replacing kernel
module"
+ start_forwarding
+ add_managers
+ exit 1
+ fi
+ chmod +x "$script_interfaces"
+
+ for dp in `ovs-dpctl dump-dps`; do
+ action "Removing datapath: $dp" ovs-dpctl del-dp "$dp"
+ done
+
+ for vport in `awk '/^vport_/ { print $1 }' /proc/modules`; do
+ action "Removing $vport module" rmmod $vport
+ done
+
+ if test -e /sys/module/openvswitch; then
+ action "Removing openvswitch module" rmmod openvswitch
+ fi
+
+ # Start vswitchd by asking it to wait till flow restore is finished.
+ flow_restore_wait
+ start_forwarding || return 1
+
+ # Restore saved flows and inform vswitchd that we are done.
+ restore_flows
+ flow_restore_complete
+ add_managers
+
+ restore_interfaces
+
+ "$datadir/scripts/ovs-check-dead-ifs"
+}
+
+## ------- ##
+## restart ##
+## ------- ##
+
+restart () {
+ if daemon_is_running ovsdb-server && daemon_is_running ovs-vswitchd; then
+ init_restore_scripts
+ if test X"${OVS_VSWITCHD:-yes}" = Xyes; then
+ save_flows_if_required
+ fi
+ fi
+
+ # Restart the database first, since a large database may take a
+ # while to load, and we want to minimize forwarding disruption.
+ stop_ovsdb
+ start_ovsdb || return 1
+
+ stop_forwarding
+
+ # Start vswitchd by asking it to wait till flow restore is finished.
+ flow_restore_wait
+ start_forwarding || return 1
+
+ # Restore saved flows and inform vswitchd that we are done.
+ restore_flows
+ flow_restore_complete
+ add_managers
+}
_______________________________________________
dev mailing list
d...@openvswitch.org
https://mail.openvswitch.org/mailman/listinfo/ovs-dev