[ovs-dev] [PATCH] ovs-save: Handle cases of upgrades from very old OVS versions.
Ben Pfaff
blp at ovn.org
Thu May 9 21:09:22 UTC 2019
On Wed, May 08, 2019 at 07:11:56AM -0700, Gurucharan Shetty wrote:
> We have added code to ovs-save over the last few releases
> which makes the following bad assumptions.
>
> 1. The default OpenFlow version of running daemon is OpenFlow14.
>
> Impact: This causes upgrades from older OVS versions to end up with no
> flows in their bridges (even the default 'NORMAL' ones) causing traffic
> to stop.
>
> 2. That ovs-ofctl commands like dump-groups and dump-tlv-map
> will just work with old OVS versions.
>
> Impact: Does not look like it effects the upgrade in a bad away - except
> you get some errors.
>
> Since OpenFlow14 was enabled by default in OVS 2.8, this commit makes
> a lazy assumption that any upgrade of OVS from versions before 2.7
> will not attempt to save and restore flows.
>
> VMware-BZ: #2340482
> Signed-off-by: Gurucharan Shetty <guru at ovn.org>
> ---
> utilities/ovs-save | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/utilities/ovs-save b/utilities/ovs-save
> index 1ba36e9..4df0c4a 100755
> --- a/utilities/ovs-save
> +++ b/utilities/ovs-save
> @@ -110,6 +110,15 @@ save_flows () {
> exit 1
> fi
>
> + case `ovs-appctl version | sed 1q` in
> + "ovs-vswitchd (Open vSwitch) 1."*.*)
> + return
> + ;;
> + "ovs-vswitchd (Open vSwitch) 2."[0-7].*)
> + return
> + ;;
> + esac
> +
It took me a minute to figure out the logic here.
I recommend adding a comment, such as:
# OVS 2.7 and earlier do not enable OpenFlow 1.4 (by default) and lack
# other features needed to save and restore flows. Don't try.
Acked-by: Ben Pfaff <blp at ovn.org>
More information about the dev
mailing list