Skip to content
  • Gurucharan Shetty's avatar
    ovs-ctl: Don't remember vport-* kernel modules · a3c5fca1
    Gurucharan Shetty authored
    
    
    From OVS 2.8, ovs-vswitchd, when it starts, will
    load the kernel modules for tunnels. It has logic
    inside it to choose either upstream kernel module
    or vport-* kernel module.
    
    So, when we run 'force-reload-kmod' to upgrade to
    OVS 2.8 from a previous version,  we do not need to
    remember the vport-* kernel module that was previously
    loaded.  It is not really harmful to load vport-* kernel
    module though.
    
    On RHEL7.x and OVS 2.8, we use the upstream "geneve" kernel
    module for tunnels.
    
    But, on RHEL 7.x we have hit a bug caused by iptables
    startup script which tries to remove all kernel modules
    related to linux conntrack. It fails to unload openvswitch
    kernel module because it has a reference count on it. But it
    succeeds in unloading vport-geneve and in turn the upstream
    "geneve" kernel module.  This causes the tunnels to go down.
    
    With this patch, we avoid the above situation, by not loading
    vport-geneve kernel module.  ovs-vswitchd when it starts will
    load upstream geneve. And when "iptables stop" runs, since
    "geneve" has nothing to do with conntrack, it spares it.
    Ideally, we should fix this by incrementing the refcount
    on the kernel modules.
    
    Signed-off-by: default avatarGurucharan Shetty <guru@ovn.org>
    Acked-by: default avatarWilliam Tu <u9012063@gmail.com>
    a3c5fca1