1 # SPDX-License-Identifier: GPL-2.0-only
2 #
3 # Open vSwitch
4 #
5 
6 config OPENVSWITCH
7 	tristate "Open vSwitch"
8 	depends on INET
9 	depends on !NF_CONNTRACK || \
10 		   (NF_CONNTRACK && ((!NF_DEFRAG_IPV6 || NF_DEFRAG_IPV6) && \
11 				     (!NF_NAT || NF_NAT) && \
12 				     (!NETFILTER_CONNCOUNT || NETFILTER_CONNCOUNT)))
13 	depends on PSAMPLE || !PSAMPLE
14 	select LIBCRC32C
15 	select MPLS
16 	select NET_MPLS_GSO
17 	select DST_CACHE
18 	select NET_NSH
19 	select NF_CONNTRACK_OVS if NF_CONNTRACK
20 	select NF_NAT_OVS if NF_NAT
21 	help
22 	  Open vSwitch is a multilayer Ethernet switch targeted at virtualized
23 	  environments.  In addition to supporting a variety of features
24 	  expected in a traditional hardware switch, it enables fine-grained
25 	  programmatic extension and flow-based control of the network.  This
26 	  control is useful in a wide variety of applications but is
27 	  particularly important in multi-server virtualization deployments,
28 	  which are often characterized by highly dynamic endpoints and the
29 	  need to maintain logical abstractions for multiple tenants.
30 
31 	  The Open vSwitch datapath provides an in-kernel fast path for packet
32 	  forwarding.  It is complemented by a userspace daemon, ovs-vswitchd,
33 	  which is able to accept configuration from a variety of sources and
34 	  translate it into packet processing rules.
35 
36 	  See http://openvswitch.org for more information and userspace
37 	  utilities.
38 
39 	  To compile this code as a module, choose M here: the module will be
40 	  called openvswitch.
41 
42 	  If unsure, say N.
43 
44 config OPENVSWITCH_GRE
45 	tristate "Open vSwitch GRE tunneling support"
46 	depends on OPENVSWITCH
47 	depends on NET_IPGRE
48 	default OPENVSWITCH
49 	help
50 	  If you say Y here, then the Open vSwitch will be able create GRE
51 	  vport.
52 
53 	  Say N to exclude this support and reduce the binary size.
54 
55 	  If unsure, say Y.
56 
57 config OPENVSWITCH_VXLAN
58 	tristate "Open vSwitch VXLAN tunneling support"
59 	depends on OPENVSWITCH
60 	depends on VXLAN
61 	default OPENVSWITCH
62 	help
63 	  If you say Y here, then the Open vSwitch will be able create vxlan vport.
64 
65 	  Say N to exclude this support and reduce the binary size.
66 
67 	  If unsure, say Y.
68 
69 config OPENVSWITCH_GENEVE
70 	tristate "Open vSwitch Geneve tunneling support"
71 	depends on OPENVSWITCH
72 	depends on GENEVE
73 	default OPENVSWITCH
74 	help
75 	  If you say Y here, then the Open vSwitch will be able create geneve vport.
76 
77 	  Say N to exclude this support and reduce the binary size.
78