Note: This is a beta release of Red Hat Bugzilla 5.0. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Also email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback here.
Bug 1512575 - OVS: Tunnel driver may be unloaded while tunnel in use by OVS
Summary: OVS: Tunnel driver may be unloaded while tunnel in use by OVS
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: openvswitch
Version: 7.4
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: rc
: ---
Assignee: Eric Garver
QA Contact: Junhan
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2017-11-13 15:00 UTC by Eric Garver
Modified: 2017-12-11 13:49 UTC (History)
5 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-12-04 16:28:24 UTC


Attachments (Terms of Use)

Description Eric Garver 2017-11-13 15:00:41 UTC
As reported upstream [0] the tunnel driver (geneve, vxlan, gre) may be unloaded while OVS (>=2.8) is using the tunnel and the tunnel interfaces are deleted. In <2.8 this was not possible because the tunnel driver would be marked "in-use by" the associated vport-* module. That vport module would also have a non zero reference count due to the compat interface bumping the reference count in ovs_vport_add(). With 2.8, the tunnel is created via the rtnetlink interface and the vport-{geneve,vxlan,gre} modules are not used as such their reference count is zero. Now the geneve driver can be unloaded because any driver using it (vport-geneve) can also be unloaded.

Unfortunately during iptables upgrade, conntrack and all modules dependent upon it (openvswitch, geneve, etc) are also unloaded. In <2.8 this would have been blocked due to the above mentioned reference counts.

As noted in [0] this can be seen during the RHEL-7.3 to RHEL-7.4 upgrade.

[0] https://mail.openvswitch.org/pipermail/ovs-dev/2017-November/340809.html


Reproduce steps:
  1) Create OVS geneve tunnel
  2) modprobe -r vport-geneve geneve
  3) geneve interface gone

Comment 3 Eric Garver 2017-12-04 16:28:24 UTC
This can't be fixed in openvswitch as other packages are causing the modules to be unloaded. Manually unloading a kernel modules does indeed destroy tunnel/interfaces, but this expected behavior.

As such I created the following BZs:

  - bug 1520532
  - bug 1520534


Note You need to log in before you can comment on or make changes to this bug.