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