[ovs-dev] [PATCH V2] utilities: On RHEL 7 systems clean up after upgrade
Gregory Rose
gvrose8192 at gmail.com
Fri Jun 29 18:19:42 UTC 2018
On 6/29/2018 10:48 AM, Aaron Conole wrote:
> Justin Pettit <jpettit at ovn.org> writes:
>
>>> On Jun 26, 2018, at 10:19 AM, Greg Rose <gvrose8192 at gmail.com> wrote:
>>>
>>> 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 at gmail.com>
>>>
>>> ---
>>>
>>> V2 - Move the changes to the ovs-kmod-ctl command as per Aaron
>>> Conole's suggestion.
>>> ---
>>> utilities/ovs-kmod-ctl.in | 19 +++++++++++++++++++
>>> utilities/ovs-lib.in | 2 +-
>>> 2 files changed, 20 insertions(+), 1 deletion(-)
>>>
>>> diff --git a/utilities/ovs-kmod-ctl.in b/utilities/ovs-kmod-ctl.in
>>> index 7c50d64..9b09e22 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 "ip link del link genev_sys_6081 dev genev_sys_6081" \
>>> + ip link del link genev_sys_6081 dev genev_sys_6081
>>> + fi
>>> + if test -e /sys/class/net/vxlan_sys_4789; then
>>> + action "ip link del link vxlan_sys_4789 dev vxlan_sys_4789" \
>>> + ip link del link vxlan_sys_4789 dev vxlan_sys_4789
>>> + fi
>>> +
>>> + if test -e /sys/module/geneve; then
>>> + action "rmmod geneve" rmmod geneve
>>> + fi
>>> + if test -e /sys/module/vxlan; then
>>> + action "rmmod vxlan" rmmod vxlan
>>> + fi
>>> }
>>>
>>> usage () {
>>> diff --git a/utilities/ovs-lib.in b/utilities/ovs-lib.in
>>> index 6a958cb..765cd06 100644
>>> --- a/utilities/ovs-lib.in
>>> +++ b/utilities/ovs-lib.in
>>> @@ -605,6 +605,7 @@ force_reload_kmod () {
>>> stop_ovsdb
>>> start_ovsdb || return 1
>>>
>>> + action "ovs-appctl dpctl/flush-conntrack" ovs-appctl dpctl/flush-conntrack
>>> stop_forwarding
>>>
>>> if action "Saving interface configuration" save_interfaces; then
>>> @@ -620,7 +621,6 @@ force_reload_kmod () {
>>> for dp in `ovs-dpctl dump-dps`; do
>>> action "Removing datapath: $dp" ovs-dpctl del-dp "$dp"
>>> done
>>> - action "ovs-appctl dpctl/flush-conntrack"
>> This looks like a separate bug fix that seems like it would be worth its own patch.
> +1 - I completely missed it the first time around.
>
>> I think the point of string is to be human-readable. What about
>> strings like "Flush conntrack entries" and "Delete geneve device", for
>> example?
>>
>> I assume these patches should be backported, correct?
>>
>> Aaron, since you commented on the previous version and have more
>> expertise in this area, can you take a look at this (or the respin if
>> Greg agrees with my comments)?
>>
>> Thanks,
> Will do. I have to admit, I don't understand why to prefer the compat
> interface over rtnetlink.
Purely to support ERSPAN which is not yet in RHEL 7. If Red Hat ports
ERSPAN back to RHEL 7 we will
be ecstatic and more than happy to go back to the rtnetlink interface.
Thanks,
- Greg
>
>> --Justin
More information about the dev
mailing list