diff options
author | Greg Rose <gvrose8192@gmail.com> | 2018-06-29 11:18:13 -0700 |
---|---|---|
committer | Justin Pettit <jpettit@ovn.org> | 2018-06-29 15:57:47 -0700 |
commit | e95ce654b8dd3d85b4004364cb41883080f436f1 (patch) | |
tree | 5d364bc997b3239ae21a65fca67c15a578a7ca3e /utilities/ovs-kmod-ctl.in | |
parent | 6690de401904217e9c824197b0aa84d68d2c363a (diff) | |
download | openvswitch-e95ce654b8dd3d85b4004364cb41883080f436f1.tar.gz |
utilities: On RHEL 7 systems clean up after upgrade
When upgrading from older versions of OVS that used the built-in geneve
kernel module on RHEL 7 systems to newer versions that use the 'compat'
vport_geneve and vport_vxlan drivers we need to clean up some cruft
that might have been left over after the upgrade.
Remove any genev_sys_6081 and vxlan_sys_4789 interfaces and then if
the RHEL 7 geneve or vxlan built-in drivers are loaded remove them
before loading the new drivers.
Removing the geneve and vxlan built-in drivers will prevent occurrences
of the "unassociated datapath" errors that can sometimes occur in some
environments.
Signed-off-by: Greg Rose <gvrose8192@gmail.com>
Acked-by: Aaron Conole <aconole@redhat.com>
Signed-off-by: Justin Pettit <jpettit@ovn.org>
Diffstat (limited to 'utilities/ovs-kmod-ctl.in')
-rw-r--r-- | utilities/ovs-kmod-ctl.in | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/utilities/ovs-kmod-ctl.in b/utilities/ovs-kmod-ctl.in index 7c50d6422..13ccfcf73 100644 --- a/utilities/ovs-kmod-ctl.in +++ b/utilities/ovs-kmod-ctl.in @@ -72,6 +72,25 @@ remove_kmods() { if test -e /sys/module/openvswitch; then action "Removing openvswitch module" rmmod openvswitch fi + + # Older releases may be using the rtnetlink interface while a + # newer release will want to use the internal compat interface + # for geneve and vxlan. + if test -e /sys/class/net/genev_sys_6081; then + action "Removing geneve device" \ + ip link del link genev_sys_6081 dev genev_sys_6081 + fi + if test -e /sys/class/net/vxlan_sys_4789; then + action "Removing vxlan device" \ + ip link del link vxlan_sys_4789 dev vxlan_sys_4789 + fi + + if test -e /sys/module/geneve; then + action "Forcing removal of geneve module" rmmod geneve + fi + if test -e /sys/module/vxlan; then + action "Forcing removal of vxlan module" rmmod vxlan + fi } usage () { |