ovs: Turn vports with dependencies into separate modules

The internal and netdev vport remain part of openvswitch.ko. Encap
vports including vxlan, gre, and geneve can be built as separate
modules and are loaded on demand. Modules can be unloaded after use.
Datapath ports keep a reference to the vport module during their
lifetime.

Allows to remove the error prone maintenance of the global list
vport_ops_list.

Signed-off-by: Thomas Graf <tgraf@suug.ch>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Thomas Graf
2014-10-22 17:29:06 +02:00
committed by David S. Miller
parent cf7b200386
commit 62b9c8d037
11 changed files with 199 additions and 68 deletions

View File

@@ -29,11 +29,11 @@ config OPENVSWITCH
If unsure, say N.
config OPENVSWITCH_GRE
bool "Open vSwitch GRE tunneling support"
tristate "Open vSwitch GRE tunneling support"
depends on INET
depends on OPENVSWITCH
depends on NET_IPGRE_DEMUX && !(OPENVSWITCH=y && NET_IPGRE_DEMUX=m)
default y
depends on NET_IPGRE_DEMUX
default OPENVSWITCH
---help---
If you say Y here, then the Open vSwitch will be able create GRE
vport.
@@ -43,11 +43,11 @@ config OPENVSWITCH_GRE
If unsure, say Y.
config OPENVSWITCH_VXLAN
bool "Open vSwitch VXLAN tunneling support"
tristate "Open vSwitch VXLAN tunneling support"
depends on INET
depends on OPENVSWITCH
depends on VXLAN && !(OPENVSWITCH=y && VXLAN=m)
default y
depends on VXLAN
default OPENVSWITCH
---help---
If you say Y here, then the Open vSwitch will be able create vxlan vport.
@@ -56,11 +56,11 @@ config OPENVSWITCH_VXLAN
If unsure, say Y.
config OPENVSWITCH_GENEVE
bool "Open vSwitch Geneve tunneling support"
tristate "Open vSwitch Geneve tunneling support"
depends on INET
depends on OPENVSWITCH
depends on GENEVE && !(OPENVSWITCH=y && GENEVE=m)
default y
depends on GENEVE
default OPENVSWITCH
---help---
If you say Y here, then the Open vSwitch will be able create geneve vport.